推荐系统资源列表(List of Recommender Systems)
分为SaaS推荐系统、开源推荐系统、非SaaS产品推荐系统、学术推荐系统、基准推荐系统以及媒体推荐应用等几大类。
Software as a Service Recommender Systems
SaaS Recommender systems have many challenges to their development including having to handle multi-tenancy, store and process a massive amount of data and other softer concerns like keeping a clients sensitive data safe on remote servers.
The benefits to using a SaaS recommender system is that you can pay for value with a low overhead rather than having a large upfront investment, they generally have a clear integration path for you to use, and they provide continual development and improvement while you use it.
The SaaS recommender systems I have found are:
- Rcmmndr which I first came across as a Heroku add-on. It is based on Hadoop but seems to be based abandoned
- Mortar Recommendation Engine is a kind of do-it-yourself recommender system, where by using their PaaS Mortar and MongoDB there are instructions to create a recommender system.
- Peerius closed, product and e-commerce focused for live and email recommendations. Active and seems very interesting, although little information about the actual product and how it works is available.
- Strands is a closed, product and e-commerce focused system. I think it works by including tracking scripts (a la Google Analytics) on the website, and recommendations widgets. What I really like about Strands is their publishing of case-studies e.g. Wireless Emporium and white papers like The Big promise of recommender systems. Although these do not discuss the exact solutions provided, they give a good overview of their vision and goals of providing recommendations.
- SLI Systems Recommender A closed recommender system focused on e-commerce, search and mobile.
- Google Cloud Prediction API Googles offering of cloud computed prediction API
- Using Hadoop on Google Cloud an example use of Google cloud with benchmarks from recommender system.
- ParallelDots tool to relate published content
- Amazon Machine Learning machine learning platform to model data and create predictions
- Azure ML machine learning platform to model data and create predictions
- Gravity R&D is a company built by some of the winners from the 2009 Netflix prize. They offer a solution that provides targeted, customized recommendations to users of websites. They have some pretty big clients including DailyMotion and a technology page which describes their architecture, algorithms, and a list of publications. (suggested by Martin Vetes)
- GraphFlow provides is a user event analytics and recommendations API, with integration into the [WooCommerce(http://www.woothemes.com/woocommerce/) WordPress store] plugin.
Open Source Recommender Systems
Most of the non-SaaS recommender systems that I came across were open-source. This may have been because recommender systems are more tailored to clients so not easily made into a product.
The open-source recommender systems I found are:
- PredictionIO is built on technologies Apache Spark, Apache HBase and Spray. It is a machine learning server that can be used to create a recommender system. The source can be located on github and it looks very active.
- Racoon Recommendation Engine is an open source Node.js based collaborative filter that uses Redis as a store. It is effectively abandoned.
- HapiGER is an open source Node.js collaborative filtering engine, which can use in-memory, PostgreSQL or rethinkdb. Reasonably active development (when I have time :)
- EasyRec Java and Rest based recommendations. Abandoned
- Mahout Hadoop/linear algebra based data mining
- Seldon is a Java based prediction engine built on technologies like Apache Spark. It provides a demo movie recommendations application here.
- LensKit is a Java based research recommender system designed for small-to-medium scale.
- Oryx v2 a large scale architecture for machine learning and prediction (suggested by Lorand)
Non-Sass Product Recommender Systems
Not very many Non-SaaS Non-OpenSource recommender systems seem to exist. Below is a list:
- Dato is a company that provides a python package and servers for business machine learning including many predictive algorithms for recommendations. They also integrate with Apache Spark and have great blog posts like Why is building custom recommender systems hard? Does it have to be?. Their customers include Pandora and StumbleUpon, must be a good product.
Academic Recommender Systems
Recommender systems are a very active area of research in academia, though few of the generated systems make it out of the lab. Here are a few I have found that did:
- Duine Framework a Java based recommendation system that has been abandoned
- MyMediaLite C# based in-memory recommender system that has been abandoned
- Bonus: List of Recommender System Dissertations, a useful list to keep up with the current state of recommendations systems in academia
- LibRec A Java based Recommendations engine with loads of implemented algorithms (suggested by Saúl Vargas)
- RankSys Java Recommendation system for novelty and diversity created by Saúl Vargas)
Benchmarking Recommender Systems
It is very difficult to benchmark recommender systems, not only because getting good datasets is hard, but different methods and algorithms have different advantages and disadvantages that are dificult to expose.
Here is a list of some benchmarking tools:
- TagRec Tag Recommender Benchmarking Framework
- RiVaL an open source toolkit for recommender system evaluation. Some results are posted here.
Media Recommendation Applications
In addition to generic recommender systems, I decided to add a list of applications where recommendations are a core offering, specifically in the domain of media recommendations:
- Yeah, Nah Movie recommendations site based on GER source
- Jinni Movie recommendations site
- Gyde Streaming media recommendations
- TasteKid movies, books, music recommendations. sent to me by thelinuxlich
- Gnoosic music based on bands. sent to me by thelinuxlich
- Pandora music recommendations based on likes and dislikes or songs