Recommender System

From BC$ MobileTV Wiki
(Redirected from Mahout)
Jump to: navigation, search

"Recommender Systems are software applications that aim to support users in their decision-making while interacting with large information spaces. They recommend items of interest to users based on preferences they have expressed, either explicitly or implicitly. The ever-expanding volume and increasing complexity of information on the Web has therefore made such systems essential tools for users in a variety of information seeking or e-commerce activities. Recommender systems help overcome the information overload problem by exposing users to the most interesting items, and by offering novelty, surprise, and relevance. Recommender technology is hence the central piece of the information seeking puzzle. Major e-commerce sites such as Amazon and Yahoo! are using recommendation technology in ubiquitous ways. Many new comers are on their way and entrepreneurs are competing in order to find the right approach to use this technology effectively."[1]



Recommender

A Recommender can be defined as any platform (electronic device, software, internal/external system, widget, menu, list, etc...) whose primary function is to receive a set of inputs and - based on the nature of those inputs - deliver meaningful, relevant and reliable recommendations as corresponding outputs.


OpenRecommender

OpenRecommender is a project to create the world's leading Open Source Recommendation Engine.


Recommender System .vs. Recommendation Engine

Many would say that the two are basically synonymous but one useful way of thinking about the difference between the two is that a Recommendation Engine is a platform or library which could be (but isn't necessarily) deployed as part of some larger system; whereas a Recommender System is a complete application with a GUI (or one dedicated UI component within another larger GUI) whose aim is to use recommendations to enhance the overall experience.

A Recommender System focuses on how to display recommendations in the most timely (i.e. no waiting) and efficient (i.e. profitable or site usage-increasing) manner possible; thus a Recommender System takes into consideration a broader array of concerns including that of application development such as caching, performance, design. A Recommendation Engine focuses only on how to do mathematical computations efficiently and could thus be anythign from nightly job run on the backend which does information filtering, classification or analysis, to being the core component on the backend of a Recommender System (i.e. one whose purpose is to display products on a retail chain's E-Commerce website).

What this means, is that you can have a Recommendation Engine without a user-facing Recommender System in which to display the recommendations and have them interacted with; and by the same token. you can have a Recommender System without necessarily building a complex Recommendation Engine with multiple algorithms and support for big data sets. However, you can't have a particularly useful Recommender System without a good Recommendation Engine behind the scenes powering the recommendations; since most alternatives such as basic popularity sorting or filtering by recency do not tend to produce the highest quality recommendations; potential user engagement, conversion rates, and satisfaction may therefore suffer.


Types

There have been a number of companies that have employed Recommendation Engine technologies on their databases, to offer a fully-featured Recommender System:

             Text                       Audio                                  Video                         People
                 |                              |                                          |                                 |
Books | News | Messages | Music | Podcasts | Radio | Movies | TV | UGC | Friends | Business partners | Customers


Money

Mint

MoneyStrands


Chubby Brain


Products

Google

Amazon

The Amazon store currently utilizes what is by far the most well-known and perhaps one of the most widely distributed and longest running Recommendation Engines. It uses previous purchase histories of customers to determine a set of recommendations for their personal profile, and will furthermore use these profile recommendations plus some data from other similar users' previous purchase histories to create recommendation on-the-fly while you browse through different items in their online store.

Though Amazon has never formally released any detailed information about how their algorithm works, there have been a number of studies conducted on it, which have brought to light some of the exploitations the recommender might be subject to, as well as comparisons to other recommenders and overall evaluations of its strengths and weaknesses.

Strands

Strands is the prime example of a company built from the accumulated knowledge of a wide group of academics, experts and professionals, and is quickly emerging as one of the most successful and diverse Recommendation Engine and Recommender System companies. Their work originated with the MyStrands social music Recommendation Engine.

Audio

Last.FM

inSuggest

inSuggest provides website and other content recommendations based on a variety of algorithms (primarily "users who liked this also liked" style, collaborative filering).

inDiscover

dbrec

  • dbrec - music recommendations for and from the Web of Data (implements the Recommendation Ontology in RDFa): http://dbrec.net/

Musicovery

[3]


Video

BCmoney MobileTV

The BCmoney MobileTV Recommender has three parts:

  1. passive (unsolicited) recommendations are powered by the OpenRecommender project and its associated (beta) algorithms
  2. cross-site recommendations are powered by the BCmoney MobileTV API
  3. active recommendations are obtained via a user clicking on the Recommend button beneath a video, and is based on Proto! Multi-Friend Select tool by EGBlue at InteRiders:

NoTube

MovieLens

Taking the academic approach to recommendations, MovieLens is the leading single academic project exploring Recommendation Engine technologies. [5]

IMDB

Also an Amazon company property, IMDB has an extremely popular hybrid Related/Recommended Movies Algorithm. It is powered by a combination of its user base, statistical analysis, and other techniques for matching similar movies by Genre, Category, Year, Title, Filming Location, and other (possibly proprietary) methods.

NetFlix

NetFlix is another champion internet brand that emerged out of the dot com bubble burst with a sound business model, thanks in large part to its innovative business model, strength in customer relations and fast-processing on orders compared to rivals at the time. After reaching a plateau in sales by the end of 2005, the company sought to create strategic advantage over the existing brock-and-mortar video rental chains such as Blockbuster and Niko Video. It also faces increasing competition from retail outlets such as Wal-Mart, Circuit City, FutureShop and Best Buy and others, as they begin to lower DVD retail prices in preparation for the incoming wave of [Blue-Ray] offerings while at the same time increasing their online presence and size/reach of their online stores.

As a result of the competition and market situation, they created the NetFlix challenge, a long-running competition to create the best possible Recommendation Engine.

WhatToRent

Long before the NetFlix team sense the need for an improved and highly scalable/reliable Recommendation Engine, WhatToRent created an excellent and almost unbeatable little service on a website of their own. This service requires new users to fill out a 20 question server and, using slider-bar technology to "evaluate a person's feelings and personality" will generate a dynamic personality profile that can easily be changed/updated each time you use the system. The movies you watch based on recommendations can help teach the system, as well as the movies you decline. Overall, the system claims to have a 78% satisfaction rate among its 350,000+ users.

jinni

Jinni is the first semantic discovery engine for movies, TV shows, with search and recommendations powered by the Movie Genome.

TV Genius

TV Genius is a privately held company, founded in 2005 by Tom Weiss, a former Vice President of T-Mobile, and author of the book “Mobile Strategies”, and Bob Eggington, the Project Director responsible for launching BBC News Online. Having spent 18 months developing and testing the software platform, we started licensing our technology in mid-2006 and have since done so to numerous clients including ITV, AOL, Sky, and IPC Magazines.


Education

FolkSemantic

You can access the real-time API here:

http://www.folksemantic.com/recommendations/real_time.html?u=http://bcmoney-mobiletv.com&show_header=false

You can also access the raw XML here:

http://www.folksemantic.com/recommendations.xml?u=http://bcmoney-mobiletv.com



News

NY Times

Google News/Reader


Books


Anime/Manga


Places

Food


Restaurants


People

Meet/Lunch with total strangers based on Recommendation Engine calculations:


Games


Automotive






Tools

[22] [23]

JAVA

Mahout

Large-scale dataset (primarily Item-based) Recommender. Mahout recently received the Taste library as a gift in order to provide better support for simple Ratings-based (Slope One) recommendations.

[26][27][28][29]

[30] [31] [32] [33] [34] [35]

[36][37] [38][39] [40] [41] [42] [43] [44] [45] [46] [47] [48]

JavaScript

PHP

Perl

Python

Ruby

C#

C++

Go


Resources

[55] [56]


Tutorials

[57] [58] [59] [60]


External Links


References

  1. Recommender Systems Conference (by ACM): http://recsys.acm.org/
  2. By Strands
  3. Musicovery -- Mood-matching music: http://www.digitalalchemy.tv/2006/11/musicovery-streams-mood-music.html
  4. Movie Recommendation APIs: http://stackoverflow.com/questions/4553792/movie-recommendation-apis/4632158
  5. Reference/proof needed
  6. Jinni’s Semantic Movie Search Now Works With Netflix: http://mashable.com/2009/03/16/jinni-netflix/
  7. Jinni’s Genius Way to Recommend Movies: http://mashable.com/2009/02/11/jinni/
  8. Jinni and the Movie Genome Project: http://www.pandia.com/sew/1495-jinni.html
  9. A Personal Recommendation Algorithm: http://www.joelduffin.com/blog/2009/11/23/a-personal-recommendation-algorithm/
  10. Book Lamp - A Book Recommendation Engine: http://www.freetech4teachers.com/2011/01/book-lamp-book-recommendation-engine.html
  11. ARengine takes a username from MyAnimeList: http://myanimelist.net
  12. FanFictionRecs takes a username from: http://www.fanfiction.net/
  13. Google Unveils Hotpot, a Recommendation Engine for Places: http://mashable.com/2010/11/16/google-hotpot/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Mashable+
  14. Snooth Launches Food & Wine Pairings Application, Reaches More than 40 Million Monthly Visitors: http://blog.snooth.com/2009/07/07/snooth-launches-food-wine-pairings-application-reaches-more-than-40-million-monthly-visitors/
  15. The Wine Sommelier: Let Semantics Bring Sophistication to Your Applications: http://www.devx.com/semantic/Article/34591/1954?pf=true
  16. Some data from Wine Searcher: http://www.wine-searcher.com/
  17. Bundle lets money do the talking with its new Restaurant Recommender: http://venturebeat.com/2010/12/13/bundle-restaurant-recommender/
  18. IAC buys restaurant recommender Urbanspoon: http://venturebeat.com/2009/04/29/iac-buys-restaurant-recommender-urbanspoon/
  19. MySpace Has Built Its Own Recommendation Engine, And They're Open-Sourcing It: http://techcrunch.com/2009/09/15/myspace-has-built-its-own-recommendation-engine-and-theyre-open-sourcing-it/
  20. How to Build a Recommendation Engine on Mortar: http://help.mortardata.com/data_apps/recommendation_engine/how_to_build_a_recommendation_engine
  21. SiteRecommender (now with LightWindow): http://www.hotscripts.com/listing/php-site-recommender-now-with-lightwindow/
  22. Top 5 Open-Source Machine Learning Recommender System Projects With Resources: https://becominghuman.ai/top-5-open-source-machine-learning-recommender-system-projects-with-resources-50583c4007c3
  23. List of Recommender Systems: https://maori.geek.nz/list-of-recommender-systems-4526f7c68964
  24. COFI - Project download: http://savannah.nongnu.org/projects/cofi/
  25. Licensed by NRC to Bell Media, powering: http://www.indiscover.net
  26. Building Mahout: https://cwiki.apache.org/MAHOUT/buildingmahout.html
  27. Introducing Apache Mahout: http://www.ibm.com/developerworks/java/library/j-mahout/
  28. Mahout for Newbies - How to Create a Recommender: http://code.google.com/p/unresyst/wiki/CreateMahoutRecommender
  29. Decision Forest - Partial Implementation: https://cwiki.apache.org/MAHOUT/partial-implementation.html
  30. An Inside Look at the Components of a Recommendation Engine: https://mapr.com/blog/inside-look-at-components-of-recommendation-engine/
  31. Recommender System in Java using Apache Mahout: http://blog.chapagain.com.np/recommender-system-using-java-apache-mahout/
  32. Coding a basic recommender: https://subscription.packtpub.com/book/big_data_and_business_intelligence/9781849518024/1/ch01lvl1sec11/coding-a-basic-recommender
  33. Recommendation algorithms with Apache Mahout: https://blog.guillaumeagis.eu/recommendation-algorithms-with-apache-mahout/
  34. Movie Recommender example project using Apache Mahout + Grouplens data: https://github.com/Akshayabhat/Movie_Recommender
  35. Movie Recommendation API using Apache Mahout machine learning library: https://github.com/julesbond007/movie-recommendation-api (and small dataset, but exposes as an API)
  36. Running Hadoop on Windows: http://hayesdavis.net/2008/06/14/running-hadoop-on-windows/
  37. Free Java hosting with the Google App Engine: http://blog.dutchworks.nl/2010/02/04/free-java-hosting-with-the-google-app-engine/
  38. Using a (local) Lucene index of Wikipedia as input to your Mahout Text Clustering job: http://www.searchworkings.org/blog/-/blogs/using-your-lucene-index-as-input-to-your-mahout-job-part-i
  39. Recommendation with Apache Mahout in CDH3: http://www.cloudera.com/blog/2011/11/recommendation-with-apache-mahout-in-cdh3/
  40. Integrating Apache Mahout with Apache Lucene and Solr: http://searchhub.org/2010/03/16/integrating-apache-mahout-with-apache-lucene-and-solr-part-i-of-3/
  41. Apache Mahout - 2 Demonstrations: http://java.dzone.com/articles/apache-mahout-2-demonstrations
  42. Learning Machine Learning with Apache Mahout: http://blog.isabel-drost.de/index.php/archives/349/apache-mahout-video-collection
  43. Mahout on Elastic MapReduce: https://cwiki.apache.org/MAHOUT/mahout-on-elastic-mapreduce.html
  44. Mahout Recommender documentation: https://cwiki.apache.org/MAHOUT/recommender-documentation.html
  45. Drupal - Recommender API (a recipe to use Mahout from PHP): http://drupal.org/node/1207634#how-does-recommender-api-work
  46. Integrating Apache Mahout with AEM: https://www.codebrains.co.in/deck/aem-integration-with-apache-mahout#/
  47. Edureka -- Apache Mahout course, Lesson #2 - Recommendations tutorial: https://www.youtube.com/watch?v=iMAMYzfRiS4
  48. Introduction to Mahout and Machine Learning: https://www.slideshare.net/VaradMeru/introduction-to-mahout-and-machine-learning
  49. C# implementation of Weighted Slope One: http://www.cnblogs.com/kuber/articles/SlopeOne_CSharp.html
  50. Microsoft Association Algorithm: http://msdn.microsoft.com/en-us/library/ms174916.aspx
  51. Gorse docs -- Chapter 2 - Build a Recommender: https://docs.gorse.io/chapter_2.html
  52. Gorse introduced on YCombinator: https://news.ycombinator.com/item?id=27866289
  53. Google Prediction API helps all apps to adapt and learn: http://googlecode.blogspot.com/2011/05/google-prediction-api-helps-all-apps-to.html
  54. Recommender Handbook: http://recommenderbook.net/
  55. Towards Open-World Recommendation - An Inductive Model-based Collaborative Filtering Approach: https://arxiv.org/pdf/2007.04833.pdf
  56. 15 Best New Recommender System Books To Read In 2022: https://bookauthority.org/books/new-recommender-system-books
  57. Book Recommendation System: https://cs.carleton.edu/cs_comps/1617/book_rec/final-results/paper.pdf
  58. Online Book Recommendation System using Collaborative Filtering (With Jaccard Similarity): https://iopscience.iop.org/article/10.1088/1742-6596/1362/1/012130/pdf
  59. Machine Learning Project on Book Recommendation System with Python: https://thecleverprogrammer.com/2021/01/17/book-recommendation-system/
  60. How to Build a Book Recommendation System: https://www.analyticsvidhya.com/blog/2021/06/build-book-recommendation-system-unsupervised-learning-project/

See Also

Recommendation Engine | Recommendation | Ontology | Personalization | Mahout | ML | AI | Big Data/LOD | Semantic Web | Analytics | Search Engine