National Research Council CanadaSkip all menusSkip first menu Menu
National Research Council Canada Government of Canada
NRC-IIT - Institute for Information Technology
NRC-IIT - Institute for Information Technology
Research Programs
3D Technologies
Artificial Intelligence Technologies
Broadband Visual Communication
Computational Video
e-Learning
Health Initiative
High Performance Computing
Human-Computer Interaction
Information Analysis and Retrieval
Interactive Language Technologies
Internet Logic
EstablishIT
MarketPlace NB
Policy RuleML
PolicyValidator
RACOFI Composerâ„¢
Semantic Web Laboratory
People-Centred Technologies
Security and Privacy
Software Engineering
Research in NRC-IIT Locations
Research Success Stories
Printable version Printable
version
Home | Research | Research Programs | Internet Logic | RACOFI Composerâ„¢

Internet Logic

RACOFI Composer™


Image of the inDiscover™ interface

inDiscover™ is a web portal powered by the RACOFI Composer™ technology for rating and recommending music. It implements the strategy “I rate, therefore I get personalized recommendations”.

RACOFI Composer™ is a framework for rating-based collaborative filtering and rule-based recommendation on the web. This can be instantiated for arbitrary web areas: from music & movies to people & products, to software & services.

Earlier recommender systems gave recommendations with low precision; often, recommendations by the system did not capture what is of interest to the user. RACOFI Composer™ offers a framework for building high-precision, adaptable recommender systems.

While there exists a range of collaborative filtering techniques, most of them are of a machine-learning type: they consider the data and learn from it, then make recommendations. There also exist a number of rule-based recommender systems. Sometimes coupled with a domain taxonomy, they apply rules to infer recommendations based on the users' interests and on area characteristics. Combining both technologies in a web environment has permitted the Internet Logic group to generate higher-precision online recommendations than either technology has allowed on its own.

RACOFI Composer™ is a first-of-its-kind system offering the combined power of running rating-based collaborative filtering with a rule engine to create easy-to-tailor recommendations. The collaborative filtering technology simultaneously considers ratings from all other users who have rated some items in common, and uses the Slope-One algorithm to predict how a user may rate items they have not seen.  Those items with high predictions are then recommended to the user.

The commercial flagship instantiation of RACOFI Composer™ is inDiscover™.  inDiscover™ is a computer software program in the form of a web application. It offers personalized song recommendations (in the form of playlists) to users based on how they and others have rated the songs that musicians have submitted to the website. It also organizes the songs submitted into a taxonomy, where users can browse and search for songs and artists. For the user, inDiscover™ consists of two parts: the web interface and the collaborative filtering engine.

The main components of the web interface are; registering a new account, logging in, rating/downloading/streaming songs, adding/removing a song to/from their 'favorites', generating personalized playlists, sending comments to an artist regarding a particular song, and adding a new artist and songs to the website. The content displayed on the web interface is determined from the underlying PHP code and MySQL database. The PHP, Javascript and HTML source code for the collaborative filtering API is provided to the licensee in order to allow further development.

The collaborative filtering engine is based partly on the Slope One algorithm that makes use of several database tables and is implemented in the form of an API (written in PHP). The collaborative filtering engine is multidimensional in the sense that it supports the rating and recommendation of songs along an arbitrary number of dimensions (or attributes). There are two main actions handled by the collaborative filtering engine: rating and recommending. When a user rates a song, several tables in the database need to be updated depending on what dimensions the song was rated against. These tables, called deviation tables, are then used by the recommendation algorithms to determine a predicted rating for songs the user hasn't yet rated. The recommendation algorithms work on one dimension at a time and analyze the deviation table for that dimension in order to predict how the user would rate every song relative to it. The ensuing multidimensional support for all recommendations is key to the high precision of inDiscover™ and RACOFI Composer™. The performance of Slope-One is remarkable; recommendations can be culled from collection of a million rated songs in a matter of seconds.

Research Contact

Dr. Bruce Spencer
Group Leader
Internet Logic

NRC Institute for Information Technology
46 Dineen Drive
Fredericton, NB E3B 9W4
Telephone: +1 (506) 444-0384
E-mail: Bruce.Spencer@nrc-cnrc.gc.ca

Business Contact

Marc-Alain Mallet
Business Development Officer
Business Development Office, New Brunswick

NRC Institute for Information Technology
46 Dineen Drive
Fredericton, NB E3B 9W4
Telephone: +1 (506) 444-0394
Fax: +1 (506) 452-3859
E-mail: Marc-Alain.Mallet@nrc-cnrc.gc.ca


Date Published: 2006-01-24
Top of Page