OpenRecommender is a project to create the world's leading open source Recommendation Engine, based on a combination of all the best known techniques for creating Recommender Systems. OpenRecommender is designed to be open, transparent and free for all to use, and builds upon a number of existing open source technologies and specifications.
There are a few criteria for OpenRecommender recommendations:
- The data has a descriptive title <title>
- The data has a thumbnail to preview, or at least a site logo <image>
- The data can be viewed (image/video), listened to (audio), or read (text) in full on the open web* <link>
- The data has an (optional) textual, informational description <description> and many metadata extensions which support the Data Portability family of specifications
- The user should be in full control of the types of data collected/recommended (i.e. which categories and formats), access rights to that data (i.e. who can access the data and what they can do with it), geolocation/temporal storage (i.e. "local servers only not cloud", "Rackspace ok but not Amazon-AWS, Google-AppEngine or Microsoft-Azure", "P2P-only, no centralized server at all", "data must not enter the US at rest or in-transit", "must be stored on PCI-compliant servers at all times", etc) and transit settings of the data (i.e. HTTP(S)-only, FTP, Email, SMS, Notifications, etc)
- Partially Observable
- Hidden Markov models
- Stochastic = process + randomness
The timeline for this project is based on the limited amount of time that can be devoted by the project's initial creators. However, since the project is open for contribution from all individuals, the timeline could be greatly accelerated by mass collaboration.
The basic XML Schema, DTD, WSDL, XML, XSL and XSLT for the project were released on Monday, July 14th, 2008; while the first ontology in the OpenRecommender data model will be released January 31st, 2009 as a first draft and RFC.
Future improvements are expected to be made to the underlying architecture, as well as optimizations in speed, efficiency and completeness of the recommendations. While the initial focus is on multimedia content of particular relevance to the MobileTV domain, the project is designed for scalability from the beginning, in order to branch out to a great many other disciplines and areas of interest.
The project is considered open-ended, and as such has no expected end time. The goal is to grow the knowledge, sophistication and resistance to manipulation of the Recommendation Engine over time. In practical terms though, the end date will be the culmination of the project with the release of SkipSearch, a user-centric, web-based, mobile-friendly view of the Recommendations provided by OpenRecommender (and as such, a living, breathing, constantly evolving demo of the technology, the first Intelligent Agent if you like, powered by OpenRecommender and its associated software stack).
The estimated release date of SkipSearch is December 12, 2012.
The fundamental technologies going into the core of the recommender are RDF, OWL and SPARQL, while knowledge of these technologies is not required by the end-user, as results from the recommender can also be exchanged over a SOAP messaging interface, following a basic XML syntax.
Over time, the OpenRecommender project will come to encompass a very large number of domains. In order to deal with the growing number of areas to which recommendations will be applied, a scalable approach to integrating existing ontologies will be taken. To do this, the Recommendation Engine must be capable of parsing an OWL file (as n3, RDF or XML), then building a model for the domain area, and using that in identifying, representing and filtering the web of data for recommendation items.
The MobileTV ontology is the first ontology in the OpenRecommender database. As such, it represents the core learning area for the training and improving the recommender.
MobileTV was chosen because it is an extremely popular area of research of late, and because it represents a world-wide problem that is non life-threatening, namely, what to watch at a given point in time.
- BCmoney MobileTV Ontology (1st test for OpenRecommender): http://bcmoney-mobiletv.com/ontology
A large number of music discovery services exist, many of which propose themselves as the ultimate music recommender. However, none of these (to this contributor's knowledge) are backed by a fully Semantic Web solution utilizing an ontology to understand the nature of a particular piece of music and recommend based on its musical composition as opposed to user-generated ratings or collaborative filters on artists that users have considered to be "similar".
- W3C Music Ontology: SIOC Core Ontology Specification: http://motools.svn.sourceforge.net/viewvc/motools/mo/doc/musicontology-level1.rdfs?revision=289&view=markup
- Music Ontology website: http://musicontology.com/
- Wiki Music Ontology: http://wiki.musicontology.com
- Music Ontology Examples: http://wiki.musicontology.com/index.php/Examples
- Echonest Music Analyze XML (service for musical analysis): http://blog.dbtune.org/post/2008/07/01/Echonest-Analyze-XML-to-Music-Ontology-RDF
The Nutrition recommender is set to be developed in partnership with LifeWatcher Japan
- W3C's Sample Food Ontology: http://www.w3.org/TR/owl-guide/food.rdf
- Canada's Healthy Food Guide: http://www.hc-sc.gc.ca/fn-an/food-guide-aliment/
- Food Ontology Project: http://gensc.org/gc_wiki/index.php/Food_Ontology_Project
- W3C Wine Ontology: http://www.w3.org/TR/2003/PR-owl-guide-20031215/wine
Somelier was the name of the original W3C prototype for a Semantic Wine label recommender.
- Details of the Somelier's inner-workings: http://www.devx.com/semantic/Article/34591/1954?pf=true
- Sample Freebase-based Somelier Mashup: http://ontologyonline.org/demo/connaisseur.html
- Call for a better Sommelier program: http://wineenabler.com/developing-a-standard-online-wine-sommelier-ontology/
- OpenRecommender SDKs: http://github.com/bcmoney/OpenRecommender-SDK
- OpenRecommender - Swagger spec v1.0.0: http://app.swaggerhub.com/api/bcmoney/OpenRecommender/1.0.0
- OpenRecommender Schema: http://web.archive.org/web/20120123093003/http://openrecommender.org/node/3/
- How to use the OpenRecommender SDKs: http://web.archive.org/web/20120123164211/http://openrecommender.org/node/228
- OpenRecommender: https://bcmoney.github.io/OpenRecommender/
- Recommender - CRM Personalization Engine: http://sourceforge.net/projects/recommender/
- Duine Framework: http://www.duineframework.org (now an Apache project, dwarfed by Apache Mahout after integration of Taste)
- Recommender systems make learning more fun: http://www.alphagalileo.org/ViewItem.aspx?ItemId=61889&CultureCode=en
- Building a Lifestyle Recommender System: http://www10.org/cdrom/posters/p1039/index.htm
- Open Source Search-Engine-based Recommender System for Multiple Websites: http://webmining.spd.louisville.edu/open-source-recommender/
- RISE project - Open Recommender data: http://www.open.ac.uk/blogs/RISE/2011/05/06/open-recommender-data/
- Taxonomy Recommender: http://www.openobjects.com/taxonomy-tools/
- OER Recommender (now FolkSemantic): http://www.oerrecommender.org/ | http://folksemantic.com
- Open Source Search-Engine-based Recommender System for Multiple Websites http://webmining.spd.louisville.edu/open-source-recommender/
- Trust-aware Bootstrapping of Recommender Systems: http://www.gnuband.org/files/papers/trustaware_bootstrapping_of_recommender_systems_paolo_massa_wrs_ecai_2006/
- Using Linked Data to Build Open, Collaborative Recommender Systems: http://uimr.deri.ie/sites/default/files/LinkedAI-LinkedData_CollabRecommendations.pdf
- E-Commerce Recommendation Applications: http://www.grouplens.org/papers/pdf/ECRA.pdf
- Can I 'Marie Kondo' My Media Consumption?: https://www.mediapost.com/publications/article/332843/can-i-marie-kondo-my-media-consumption.html
- LifeWatcher: https://www.lifewatcher.com/english/index.php