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 - DPC16Christophe Willemsen
 
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 paperChangsung Moon
 
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 systemASHISH PANNU
 
Recommendation Engine Project Presentation
Recommendation Engine Project PresentationRecommendation Engine Project Presentation
Recommendation Engine Project Presentation19Divya
 
Recommender Systems and Active Learning
Recommender Systems and Active LearningRecommender Systems and Active Learning
Recommender Systems and Active LearningDain Kaplan
 
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 factorisationMarcus Ljungblad
 
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 SystemsYONG ZHENG
 
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 SystemsStoitsis Giannis
 
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 GhoshBigDataCloud
 
Overview of recommender system
Overview of recommender systemOverview of recommender system
Overview of recommender systemStanley Wang
 
Recommendation Engine Demystified
Recommendation Engine DemystifiedRecommendation Engine Demystified
Recommendation Engine DemystifiedDKALab
 
Recommender Systems in E-Commerce
Recommender Systems in E-CommerceRecommender Systems in E-Commerce
Recommender Systems in E-CommerceRoger Chen
 
Item Based Collaborative Filtering Recommendation Algorithms
Item Based Collaborative Filtering Recommendation AlgorithmsItem Based Collaborative Filtering Recommendation Algorithms
Item Based Collaborative Filtering Recommendation Algorithmsnextlib
 
How to build a Recommender System
How to build a Recommender SystemHow to build a Recommender System
How to build a Recommender SystemVõ Duy Tuấn
 
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...Alan Said
 
genetic algorithm based music recommender system
genetic algorithm based music recommender systemgenetic algorithm based music recommender system
genetic algorithm based music recommender systemneha pevekar
 
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 Neo4jNeo4j
 
[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 ClassificationYONG ZHENG
 
Matrix Factorization In Recommender Systems
Matrix Factorization In Recommender SystemsMatrix Factorization In Recommender Systems
Matrix Factorization In Recommender SystemsYONG ZHENG
 
Recommender system introduction
Recommender system   introductionRecommender system   introduction
Recommender system introductionLiang 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

Introduction to Recommendation Systems
Introduction to Recommendation SystemsIntroduction to Recommendation Systems
Introduction to Recommendation SystemsZia Babar
 
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...Rajasekar Nonburaj
 
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)Trieu Nguyen
 
Introduction to recommender systems
Introduction to recommender systemsIntroduction to recommender systems
Introduction to recommender systemsAndrea Gigli
 
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 learningInstitute of Contemporary Sciences
 
Product Recommendations Enhanced with Reviews
Product Recommendations Enhanced with ReviewsProduct Recommendations Enhanced with Reviews
Product Recommendations Enhanced with Reviewsmaranlar
 
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 MendeleyKris Jack
 
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 techniqueeSAT Journals
 
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.pptxSatyam Sharma
 
Recommender system
Recommender systemRecommender system
Recommender systemSaiguru P.v
 
Applied Data Science for E-Commerce
Applied Data Science for E-CommerceApplied Data Science for E-Commerce
Applied Data Science for E-CommerceArul Bharathi
 
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 FilteringAminaRepo
 
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 BusinessIvo Andreev
 
Teacher training material
Teacher training materialTeacher training material
Teacher training materialVikram Parmar
 
Movie Recommender System Using Artificial Intelligence
Movie Recommender System Using Artificial Intelligence Movie Recommender System Using Artificial Intelligence
Movie Recommender System Using Artificial Intelligence Shrutika Oswal
 
User personalization
User personalizationUser personalization
User personalizationSandeep Kath
 
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

How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
WomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneWomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneUiPathCommunity
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Français Patch Tuesday - Avril
Français Patch Tuesday - AvrilFrançais Patch Tuesday - Avril
Français Patch Tuesday - AvrilIvanti
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 

Kürzlich hochgeladen (20)

How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
WomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneWomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyone
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Français Patch Tuesday - Avril
Français Patch Tuesday - AvrilFrançais Patch Tuesday - Avril
Français Patch Tuesday - Avril
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 

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.