Easyrec
Encyclopedia
easyrec is an open source
Web application
that provides personalized
recommendations using RESTful
Web service
s 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.
n 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”.
Concerning personalization functionality easyrec is providing the following services
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.
easyrec is designed as a multi-layer system consisting of
Moreover the generator server contains different item association generators which create business rules that define a relation between two items.
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
Web application
Web application
A web application is an application that is accessed over a network such as the Internet or an intranet. The term may also mean a computer software application that is coded in a browser-supported language and reliant on a common web browser to render the application executable.Web applications are...
that provides personalized
Personalization
Personalization involves using technology to accommodate the differences between individuals. Once confined mainly to the Web, it is increasingly becoming a factor in education, health care Personalization involves using technology to accommodate the differences between individuals. Once confined...
recommendations using RESTful
Representational State Transfer
Representational state transfer is a style of software architecture for distributed hypermedia systems such as the World Wide Web. The term representational state transfer was introduced and defined in 2000 by Roy Fielding in his doctoral dissertation...
Web service
Web service
A Web service is a method of communication between two electronic devices over the web.The W3C defines a "Web service" as "a software system designed to support interoperable machine-to-machine interaction over a network". It has an interface described in a machine-processable format...
s to be integrated into Web enabled applications. It is distributed under the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
by the Studio Smart Agent Technologies
Smart Agent Technologies
The Studio Smart Agent Technologies is part of theResearch Studios Austria ForschungsgesmbH, a non-profit research organization. It aims to facilitate the transfer of academic research into commercial applications thus implementing an innovation pipeline from universities into markets...
and hosted at SourceForge
SourceForge
SourceForge Enterprise Edition is a collaborative revision control and software development management system. It provides a front-end to a range of software development lifecycle services and integrates with a number of free software / open source software applications .While originally itself...
.
It is written in Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
, uses a MySQL
MySQL
MySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...
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 AustriaAustria
Austria , officially the Republic of Austria , is a landlocked country of roughly 8.4 million people in Central Europe. It is bordered by the Czech Republic and Germany to the north, Slovakia and Hungary to the east, Slovenia and Italy to the south, and Switzerland and Liechtenstein to the...
n 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
CeBIT
CeBIT is the world's largest and most international computer expo. CeBIT is held each year on the world's largest fairground in Hanover, Germany, and is a barometer of the state of the art in information technology...
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
MediaWiki
MediaWiki is a popular free web-based wiki software application. Developed by the Wikimedia Foundation, it is used to run all of its projects, including Wikipedia, Wiktionary and Wikinews. Numerous other wikis around the world also use it to power their websites...
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.