# Easyrec

easyrec is an open-source program that provides personalized recommendations using RESTful Web services to be integrated into Web enabled applications. It is distributed under the GNU General Public License by the Studio Smart Agent Technologies and hosted at SourceForge.
It is written in Java, uses a MySQL database and comes with an administration tool.

## History

The development of easyrec, an implementation of the Adaptive Personalization approach, started in the course of several research and development projects conducted by the Studio Smart Agent Technologies in close cooperation with international companies. During the year of 2008 the core functionality of easyrec was developed forming the basis of research prototypes focusing on the music domain (e.g. MusicExplorer). In June 2009 a beta version of easyrec, containing basic administration features, was integrated into a movie streaming portal for evaluation purposes. Furthermore, in September 2009 easyrec was awarded a special recognition in the category “Award for Innovations – IT Innovations for an economic upswing” by the jury of the Austrian state prize for multimedia and e-business. After a comprehensive refactoring phase and the integration of the evaluation results easyrec was published on SourceForge on 18 February 2010. In course of the CeBIT tradeshow 2011 in Hanover easyrec has been awarded the German “INNOVATIONSPREIS-IT 2011”.

## Principles

The following five primary goals guided the development of easyrec.
* It should be a ready-to-use application, not another algorithmic framework
* It should be easy to use, concerning installation, integration and administration
* It should be robust and scalable for serving real world applications
* It should be free of charge, so that anyone can profit from personalization features
* It should rely on a community-driven development

## Uses

Although easyrec is a domain-agnostic, general purpose personalization system, the current Web service API is customized for providing online shops with item recommendations. Especially for small and medium enterprises, easyrec provides a low barrier entrance to personalization.

## Features

A major feature of easyrec is a set of usage statistics and other business relevant information presented via an administration and management interface. Furthermore, the easyrec administrator is supported by a variety of administration and configuration functions including the manual import or adaptation of business rules. Integrators or developers benefit from the lightweight Web service APIs (REST and SOAP) as well as from the guided installation wizard.
Concerning personalization functionality easyrec is providing the following services
* unpersonalized recommendations of the form "other users also bought/viewed/...", etc.
* personalized recommendation depending on individual preferences
* rankings such as "most bought items", "most viewed...", etc.
Additionally, as an integration showcase, a MediaWiki extension was developed and is bundled with the application.
Currently additional features like further recommender algorithms and a plugin-system are evaluated and prepared for integration into the easyrec system.

## Architecture

The underlying architecture of easyrec is designed to be robust and scalable—separating time-consuming computations from the task of online assembling of recommendations.
easyrec is designed as a multi-layer system consisting of
* a database layer as storage of user actions and pre-calculated business rules
* an application layer for hosting online and offline recommendation services and
* an API layer for various Web service interfaces.
Moreover, the generator server contains different item association generators which create business rules that define a relation between two items.

## Footnotes

* ↑ "GNU General Public License v3".
* ↑ Erich Gstrein; Florian Kleedorfer; Robert Mayer; Christoph Schmotzer; Gerhard Widmer; Oliver Holle; Silvia Miksch (July 2005). "Adaptive Personalization: A Multi-Dimensional Approach to Boosting a Large Scale Mobile Music Portal" (PDF). Vienna.
* ↑ Erich Gstrein; Brigitte Krenn (August 2006). "Mobile Music Personalization at Work" (PDF). Vienna.
* ↑ Erich Gstrein (November 2009). "Adaptive Personalization - A multi view personalization approach incorporating contextual information" (PDF). Vienna.
* ↑ Erich Gstrein; Florian Kleedorfer; Brigitte Krenn (2006). "Automated Meta Data Generation for Personalized Music Portals" (PDF). Vienna.
* ↑ Florian Kleedorfer; Ulf Harr; Brigitte Krenn (November 2007). "Making Large Music Collections Accessible using Enhanced Metadata and Lightweight Visualizations" (PDF). Vienna.
* 1 2 Roman Cerny (October 2008). "Design and Implementation of a Generic Recommender and Its Application to the Music Domain" (PDF). Vienna.
* ↑ Peter Hlavac; Brigitte Krenn; Erich Gstrein (2007). "SOUNDSCOUT: A SONG RECOMMENDER BASED ON SOUND SIMILARITY FOR HUGE COMMERCIAL MUSIC ARCHIVES" (PDF). Vienna.
* ↑ "Pure Magie Dank easyrec". www.flimmit.com (in German). Archived from the original on 13 March 2012. Retrieved 1 February 2013.
* ↑ "Staatspreis Gewinner 2009" (in German). Archived from the original on 31 January 2013. Retrieved 1 February 2013.
* ↑ "INNOVATIONSPREIS-IT 2011" (in German). Retrieved 1 February 2013.
* ↑ Patrick Marschik (March 2010). "Evaluation of Collaborative Filtering Algorithms" (PDF). Vienna.