SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
Introduction to Recommender Systems
Bob Brehm
Intro to Recommenders
Intro to Recommenders
Intro to Recommenders
What is a recommender?
● Wikipedia [3]:
● A subclass of [an] information filtering system that seek to
predict the 'rating' or 'preference' that user would give to
an item
● My addition: A subclass of machine-learning.
● Recommender model [2]:
● Users
● Items
● Ratings
● Community
What is a recommender? [2]
What is a recommender [2]
● Simple use case
● Tripadviser hotel recommender. Hotels
ratings are averaged, and then the user
examines the ratings.
● More complex use case
● News article recommender. A user model
is built of user preferences. The items
attributes are ranked. A matrix operation
is performed to predict recommendations
for a given user.
History of recommenders
● Konstan - Of Ants and Caveman [1]
● Ants will follow a chemical trail – similar to
recommenders
● Paleolithic ancestors would follow
recommendations on edible items vs.
poisonous items
● Suggests psychological and/or biological
need to follow recommendations
History of recommenders
● Manual filtering
● Usenet – recommenders based on TFIDF
and user profile. [2]
● PARC tapestry (1992) - database of
comments and contents. [1]
● Active CF (1005) – forwarding content to
relevant readers. [1]
History of recommenders
● Automatic filtering [2]
● Grouplens project (1994) – User ratings for
Usenet, Nearest Neigbor algorithm
● Commercial era
– Movielens.org
– Phoaks system – helped users locate
information on web using collaborative
filtering.
– Cdnow – dot.bomb purchased by Amazon
History of recommenders
● Automatic filtering [3]
● Netflix Prize (2006-2009) – sought to
award a prize for improving the predictive
ability to match a user's preferences to
movie selections by 10%.
● Neflix awared a $1M prize to “BellKor’s
Pragmatic Chaos” - a team from Bell
Labs.
● BellKor’s Pragmatic Chaos blended earlier
work with better predictive models to win.
Recommender types
● Non-personalized recommender [2]
● Simple average of item ratings
● Can be misleading lacking context. What if
favorite sauce is ketchup and you order
ice cream?
● If X then Y recommenders can be
improved by considering X! then Y
● Example: Zagat restaurant ratings,
Tripadvisor hotel ratings
Recommender types
● Content-based filtering (user-item) [2]
● Model items by attribute keywords. Each item then has
a position in the keyword vector space.
● Model user test profile by attribute keywords. The user
profile also has a position in the keyword vector
space.
● The relevance ranking is the cosine between these
vectors.
● Factor in item ratings by threshold, +/- weight, etc.
● Term Frequency – Inverse Document Frequency (TF-
IDF) to represent items in vector.
● Multi-linear regression for analysis.
Recommender types
● Collaborative filtering (user-user, item-item) [2]
● User-user CF is used extensively for social media
friends linking – Facebook, LinkedIn, etc. [1][4]
Recommender types
● Hybrid Recommender [3]
● Combination of collaborative and content-
based filtering[3]
● Netflix uses a hybrid system – they use
collaborative filtering to find similar user
habits and content filtering to find similar
items. [2]
● Hybrids exist to overcome inherent
difficulties such as the cold-start problem
which is how to deal with a new user or
new item. [4]
Algorithms
● Simple averages (Non-personalized)
● Cosine similarity (Content-based)
● TF-IDF (Content-based)
● Multi-linear regression (Content-based)
● Pearson Correlation (Collaborative)
● K-nearest neighbor (Collaborative)
Lenskit
● Lenskit is a recommender system open-source tool suite
that can be used for production but is primarily useful for
research and prototyping IMHO.
● Features of lenskit:
● Mavenized project including goals and archetypes.
● Data Access Objects (DAOs) and cursors.
● ItemScorer – implement this however you want.
● RatingPredictor – output is in the desired scale.
● ItemRecommender – provides Top-N
recommendations.
Lenskit
● Features of Lenskit (cont.):
● Handy annotation classes.
● Support for Groovy.
● Post processing in R.
● MovieLens data sets (through Grouplens
Research)
● Support for sparse matrices.
● Speed optimizations and profiling.
Mahout
● Started as a subproject of Lucene in 2008.
● Idea behind Mahout is that is provides a
framework for the development and
deployment of Machine Learning
algorithms.
● Currently it has three distinct branches:
● Classification
● Clustering
● Recommenders
Mahout
● Support for recommenders include:
● Data model – provides connections to data
● UserSimilarity – provides similarity to users
● ItemSimilarity – provides similarity to items
● UserNeighborhood – find a neighborhood (mini cluster) of
like-minded users.
● Recommender – the producer of recommendations.
● Algorithms!
Demo
Lenskit
Implementing Recommenders
● Decide whether you want to make or buy.
There are commercial companies out there
that already do this.
● If you decide to make some hints:
● Get your user to login.
● Build the user's profile explicitly through preferences
and implicitly through logging.
● Choose the simplest algorithms that get the job done.
● Test, test, test.
??
Thanks
● A special thanks to Professor Joseph
Konstan of the University of Minnesota who
has put together an excellent MOOC called
“Intro to Recommenders” through
Coursera. Some of the material in this
presentation is based on that class.
● Thanks for your time!
References
● [1] Introduction to recommender systems. Joseph Konstan. Sigmod
2008.
● [2] Intro to recommendations. Coursera. Retrieved from
https://class.coursera.org.
● [3] Recommender system. Wikipedia.
● [4] An Algorithmic Framework for Performing Collaborative Filtering.
● [5] Hybrid Web Recommender Systems.

Weitere ähnliche Inhalte

Andere mochten auch

Your own recommendation engine with neo4j and reco4php - DPC16
Your own recommendation engine with neo4j and reco4php - DPC16Your own recommendation engine with neo4j and reco4php - DPC16
Your own recommendation engine with neo4j and reco4php - DPC16
Christophe Willemsen
 
Requirements for Processing Datasets for Recommender Systems
Requirements for Processing Datasets for Recommender SystemsRequirements for Processing Datasets for Recommender Systems
Requirements for Processing Datasets for Recommender Systems
Stoitsis Giannis
 
Recommender Systems in E-Commerce
Recommender Systems in E-CommerceRecommender Systems in E-Commerce
Recommender Systems in E-Commerce
Roger Chen
 
Item Based Collaborative Filtering Recommendation Algorithms
Item Based Collaborative Filtering Recommendation AlgorithmsItem Based Collaborative Filtering Recommendation Algorithms
Item Based Collaborative Filtering Recommendation Algorithms
nextlib
 
Recommender system introduction
Recommender system   introductionRecommender system   introduction
Recommender system introduction
Liang Xiang
 

Andere mochten auch (20)

Your own recommendation engine with neo4j and reco4php - DPC16
Your own recommendation engine with neo4j and reco4php - DPC16Your own recommendation engine with neo4j and reco4php - DPC16
Your own recommendation engine with neo4j and reco4php - DPC16
 
Summary of a Recommender Systems Survey paper
Summary of a Recommender Systems Survey paperSummary of a Recommender Systems Survey paper
Summary of a Recommender Systems Survey paper
 
Profile injection attack detection in recommender system
Profile injection attack detection in recommender systemProfile injection attack detection in recommender system
Profile injection attack detection in recommender system
 
Recommendation Engine Project Presentation
Recommendation Engine Project PresentationRecommendation Engine Project Presentation
Recommendation Engine Project Presentation
 
Recommender Systems and Active Learning
Recommender Systems and Active LearningRecommender Systems and Active Learning
Recommender Systems and Active Learning
 
Online recommendations at scale using matrix factorisation
Online recommendations at scale using matrix factorisationOnline recommendations at scale using matrix factorisation
Online recommendations at scale using matrix factorisation
 
Tutorial: Context-awareness In Information Retrieval and Recommender Systems
Tutorial: Context-awareness In Information Retrieval and Recommender SystemsTutorial: Context-awareness In Information Retrieval and Recommender Systems
Tutorial: Context-awareness In Information Retrieval and Recommender Systems
 
Requirements for Processing Datasets for Recommender Systems
Requirements for Processing Datasets for Recommender SystemsRequirements for Processing Datasets for Recommender Systems
Requirements for Processing Datasets for Recommender Systems
 
Recommendation Engine Powered by Hadoop - Pranab Ghosh
Recommendation Engine Powered by Hadoop - Pranab GhoshRecommendation Engine Powered by Hadoop - Pranab Ghosh
Recommendation Engine Powered by Hadoop - Pranab Ghosh
 
Overview of recommender system
Overview of recommender systemOverview of recommender system
Overview of recommender system
 
Recommendation Engine Demystified
Recommendation Engine DemystifiedRecommendation Engine Demystified
Recommendation Engine Demystified
 
Recommender Systems in E-Commerce
Recommender Systems in E-CommerceRecommender Systems in E-Commerce
Recommender Systems in E-Commerce
 
Item Based Collaborative Filtering Recommendation Algorithms
Item Based Collaborative Filtering Recommendation AlgorithmsItem Based Collaborative Filtering Recommendation Algorithms
Item Based Collaborative Filtering Recommendation Algorithms
 
How to build a Recommender System
How to build a Recommender SystemHow to build a Recommender System
How to build a Recommender System
 
Comparative Recommender System Evaluation: Benchmarking Recommendation Frame...
Comparative Recommender System Evaluation: Benchmarking Recommendation Frame...Comparative Recommender System Evaluation: Benchmarking Recommendation Frame...
Comparative Recommender System Evaluation: Benchmarking Recommendation Frame...
 
genetic algorithm based music recommender system
genetic algorithm based music recommender systemgenetic algorithm based music recommender system
genetic algorithm based music recommender system
 
How to Design Retail Recommendation Engines with Neo4j
How to Design Retail Recommendation Engines with Neo4jHow to Design Retail Recommendation Engines with Neo4j
How to Design Retail Recommendation Engines with Neo4j
 
[WI 2014]Context Recommendation Using Multi-label Classification
[WI 2014]Context Recommendation Using Multi-label Classification[WI 2014]Context Recommendation Using Multi-label Classification
[WI 2014]Context Recommendation Using Multi-label Classification
 
Matrix Factorization In Recommender Systems
Matrix Factorization In Recommender SystemsMatrix Factorization In Recommender Systems
Matrix Factorization In Recommender Systems
 
Recommender system introduction
Recommender system   introductionRecommender system   introduction
Recommender system introduction
 

Ähnlich wie Recommender.system.presentation.pjug.01.21.2014

Product Recommendations Enhanced with Reviews
Product Recommendations Enhanced with ReviewsProduct Recommendations Enhanced with Reviews
Product Recommendations Enhanced with Reviews
maranlar
 
Recommender System _Module 1_Introduction to Recommender System.pptx
Recommender System _Module 1_Introduction to Recommender System.pptxRecommender System _Module 1_Introduction to Recommender System.pptx
Recommender System _Module 1_Introduction to Recommender System.pptx
Satyam Sharma
 
PyCon Balkans 2018 // Recommender systems - collaborative filtering and dimen...
PyCon Balkans 2018 // Recommender systems - collaborative filtering and dimen...PyCon Balkans 2018 // Recommender systems - collaborative filtering and dimen...
PyCon Balkans 2018 // Recommender systems - collaborative filtering and dimen...
Mladen Jovanovic
 

Ähnlich wie Recommender.system.presentation.pjug.01.21.2014 (20)

Introduction to Recommendation Systems
Introduction to Recommendation SystemsIntroduction to Recommendation Systems
Introduction to Recommendation Systems
 
Recommender systems
Recommender systemsRecommender systems
Recommender systems
 
Building a Recommender systems by Vivek Murugesan - Technical Architect at Cr...
Building a Recommender systems by Vivek Murugesan - Technical Architect at Cr...Building a Recommender systems by Vivek Murugesan - Technical Architect at Cr...
Building a Recommender systems by Vivek Murugesan - Technical Architect at Cr...
 
Introduction to Recommendation Systems (Vietnam Web Submit)
Introduction to Recommendation Systems (Vietnam Web Submit)Introduction to Recommendation Systems (Vietnam Web Submit)
Introduction to Recommendation Systems (Vietnam Web Submit)
 
Mahout
MahoutMahout
Mahout
 
Introduction to recommender systems
Introduction to recommender systemsIntroduction to recommender systems
Introduction to recommender systems
 
Further enhancements of recommender systems using deep learning
Further enhancements of recommender systems using deep learningFurther enhancements of recommender systems using deep learning
Further enhancements of recommender systems using deep learning
 
Product Recommendations Enhanced with Reviews
Product Recommendations Enhanced with ReviewsProduct Recommendations Enhanced with Reviews
Product Recommendations Enhanced with Reviews
 
Modern Perspectives on Recommender Systems and their Applications in Mendeley
Modern Perspectives on Recommender Systems and their Applications in MendeleyModern Perspectives on Recommender Systems and their Applications in Mendeley
Modern Perspectives on Recommender Systems and their Applications in Mendeley
 
Book recommendation system using opinion mining technique
Book recommendation system using opinion mining techniqueBook recommendation system using opinion mining technique
Book recommendation system using opinion mining technique
 
Recommender System _Module 1_Introduction to Recommender System.pptx
Recommender System _Module 1_Introduction to Recommender System.pptxRecommender System _Module 1_Introduction to Recommender System.pptx
Recommender System _Module 1_Introduction to Recommender System.pptx
 
Recommender system
Recommender systemRecommender system
Recommender system
 
Applied Data Science for E-Commerce
Applied Data Science for E-CommerceApplied Data Science for E-Commerce
Applied Data Science for E-Commerce
 
Aaa ped-19-Recommender Systems: Neighborhood-based Filtering
Aaa ped-19-Recommender Systems: Neighborhood-based FilteringAaa ped-19-Recommender Systems: Neighborhood-based Filtering
Aaa ped-19-Recommender Systems: Neighborhood-based Filtering
 
Filtering content bbased crs
Filtering content bbased crsFiltering content bbased crs
Filtering content bbased crs
 
Architecting AI Solutions in Azure for Business
Architecting AI Solutions in Azure for BusinessArchitecting AI Solutions in Azure for Business
Architecting AI Solutions in Azure for Business
 
Teacher training material
Teacher training materialTeacher training material
Teacher training material
 
Movie Recommender System Using Artificial Intelligence
Movie Recommender System Using Artificial Intelligence Movie Recommender System Using Artificial Intelligence
Movie Recommender System Using Artificial Intelligence
 
User personalization
User personalizationUser personalization
User personalization
 
PyCon Balkans 2018 // Recommender systems - collaborative filtering and dimen...
PyCon Balkans 2018 // Recommender systems - collaborative filtering and dimen...PyCon Balkans 2018 // Recommender systems - collaborative filtering and dimen...
PyCon Balkans 2018 // Recommender systems - collaborative filtering and dimen...
 

Kürzlich hochgeladen

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Kürzlich hochgeladen (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

Recommender.system.presentation.pjug.01.21.2014

  • 1. Introduction to Recommender Systems Bob Brehm
  • 5. What is a recommender? ● Wikipedia [3]: ● A subclass of [an] information filtering system that seek to predict the 'rating' or 'preference' that user would give to an item ● My addition: A subclass of machine-learning. ● Recommender model [2]: ● Users ● Items ● Ratings ● Community
  • 6. What is a recommender? [2]
  • 7. What is a recommender [2] ● Simple use case ● Tripadviser hotel recommender. Hotels ratings are averaged, and then the user examines the ratings. ● More complex use case ● News article recommender. A user model is built of user preferences. The items attributes are ranked. A matrix operation is performed to predict recommendations for a given user.
  • 8. History of recommenders ● Konstan - Of Ants and Caveman [1] ● Ants will follow a chemical trail – similar to recommenders ● Paleolithic ancestors would follow recommendations on edible items vs. poisonous items ● Suggests psychological and/or biological need to follow recommendations
  • 9. History of recommenders ● Manual filtering ● Usenet – recommenders based on TFIDF and user profile. [2] ● PARC tapestry (1992) - database of comments and contents. [1] ● Active CF (1005) – forwarding content to relevant readers. [1]
  • 10. History of recommenders ● Automatic filtering [2] ● Grouplens project (1994) – User ratings for Usenet, Nearest Neigbor algorithm ● Commercial era – Movielens.org – Phoaks system – helped users locate information on web using collaborative filtering. – Cdnow – dot.bomb purchased by Amazon
  • 11. History of recommenders ● Automatic filtering [3] ● Netflix Prize (2006-2009) – sought to award a prize for improving the predictive ability to match a user's preferences to movie selections by 10%. ● Neflix awared a $1M prize to “BellKor’s Pragmatic Chaos” - a team from Bell Labs. ● BellKor’s Pragmatic Chaos blended earlier work with better predictive models to win.
  • 12. Recommender types ● Non-personalized recommender [2] ● Simple average of item ratings ● Can be misleading lacking context. What if favorite sauce is ketchup and you order ice cream? ● If X then Y recommenders can be improved by considering X! then Y ● Example: Zagat restaurant ratings, Tripadvisor hotel ratings
  • 13. Recommender types ● Content-based filtering (user-item) [2] ● Model items by attribute keywords. Each item then has a position in the keyword vector space. ● Model user test profile by attribute keywords. The user profile also has a position in the keyword vector space. ● The relevance ranking is the cosine between these vectors. ● Factor in item ratings by threshold, +/- weight, etc. ● Term Frequency – Inverse Document Frequency (TF- IDF) to represent items in vector. ● Multi-linear regression for analysis.
  • 14. Recommender types ● Collaborative filtering (user-user, item-item) [2] ● User-user CF is used extensively for social media friends linking – Facebook, LinkedIn, etc. [1][4]
  • 15. Recommender types ● Hybrid Recommender [3] ● Combination of collaborative and content- based filtering[3] ● Netflix uses a hybrid system – they use collaborative filtering to find similar user habits and content filtering to find similar items. [2] ● Hybrids exist to overcome inherent difficulties such as the cold-start problem which is how to deal with a new user or new item. [4]
  • 16. Algorithms ● Simple averages (Non-personalized) ● Cosine similarity (Content-based) ● TF-IDF (Content-based) ● Multi-linear regression (Content-based) ● Pearson Correlation (Collaborative) ● K-nearest neighbor (Collaborative)
  • 17. Lenskit ● Lenskit is a recommender system open-source tool suite that can be used for production but is primarily useful for research and prototyping IMHO. ● Features of lenskit: ● Mavenized project including goals and archetypes. ● Data Access Objects (DAOs) and cursors. ● ItemScorer – implement this however you want. ● RatingPredictor – output is in the desired scale. ● ItemRecommender – provides Top-N recommendations.
  • 18. Lenskit ● Features of Lenskit (cont.): ● Handy annotation classes. ● Support for Groovy. ● Post processing in R. ● MovieLens data sets (through Grouplens Research) ● Support for sparse matrices. ● Speed optimizations and profiling.
  • 19. Mahout ● Started as a subproject of Lucene in 2008. ● Idea behind Mahout is that is provides a framework for the development and deployment of Machine Learning algorithms. ● Currently it has three distinct branches: ● Classification ● Clustering ● Recommenders
  • 20. Mahout ● Support for recommenders include: ● Data model – provides connections to data ● UserSimilarity – provides similarity to users ● ItemSimilarity – provides similarity to items ● UserNeighborhood – find a neighborhood (mini cluster) of like-minded users. ● Recommender – the producer of recommendations. ● Algorithms!
  • 22. Implementing Recommenders ● Decide whether you want to make or buy. There are commercial companies out there that already do this. ● If you decide to make some hints: ● Get your user to login. ● Build the user's profile explicitly through preferences and implicitly through logging. ● Choose the simplest algorithms that get the job done. ● Test, test, test.
  • 23. ??
  • 24. Thanks ● A special thanks to Professor Joseph Konstan of the University of Minnesota who has put together an excellent MOOC called “Intro to Recommenders” through Coursera. Some of the material in this presentation is based on that class. ● Thanks for your time!
  • 25. References ● [1] Introduction to recommender systems. Joseph Konstan. Sigmod 2008. ● [2] Intro to recommendations. Coursera. Retrieved from https://class.coursera.org. ● [3] Recommender system. Wikipedia. ● [4] An Algorithmic Framework for Performing Collaborative Filtering. ● [5] Hybrid Web Recommender Systems.