推荐系统大全Recommender Systems

jopen 9年前

Recommender systems (or recommendation engines) are useful and interesting pieces of software. I wanted to compare other recommender systems to mine (HapiGER) but couldn't find a decent list of them, so I decided to create one. In this post I will list the recommender systems that I have come across with links and some basic information about them. I intend on keeping this list up-to-date, so comment below if I am missing one or tweet me@grahamjenson.

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:

  1. Rcmmndr which I first came across as a Heroku add-on. It is based on Hadoop but seems to be based abandoned
  2. 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.
  3. 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.
  4. 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.
  5. SLI Systems Recommender A closed recommender system focused on e-commerce, search and mobile.
  6. Google Cloud Prediction API Googles offering of cloud computed prediction API
  7. Using Hadoop on Google Cloud an example use of Google cloud with benchmarks from recommender system.
  8. ParallelDots tool to relate published content

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:

  1. 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.
  2. Racoon Recommendation Engine is an open source Node.js based collaborative filter that uses Redis as a store. It is effectively abandoned.
  3. 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 :)
  4. EasyRec Java and Rest based recommendations. Abandoned
  5. Mahout Hadoop/linear algebra based data mining
  6. Seldon is a Java based prediction engine built on technologies like Apache Spark. It provides a demo movie recommendations application here.

Non-Sass Product Recommender Systems

Not very many Non-SaaS Non-OpenSource recommender systems seem to exist. Below is a list:

  1. 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:

  1. Duine Framework a Java based recommendation system that has been abandoned
  2. MyMediaLite C# based in-memory recommender system that has been abandoned
  3. Bonus: List of Recommender System Dissertations, a useful list to keep up with the current state of recommendations systems in academia

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:

  1. Yeah, Nah Movie recommendations site based on GER source
  2. Jinni Movie recommendations site
  3. Gyde Streaming media recommendations
  4. TasteKid movies, books, music recommendations. sent to me by thelinuxlich
  5. Gnoosic music based on bands. sent to me by thelinuxlich
  6. Pandora music recommendations based on likes and dislikes or songs
来自:http://www.maori.geek.nz/post/list_of_recommender_systems