Recommender Systems. Collaborative Filtering & Content-Based Recommending

Similar documents
Thanks to Jure Leskovec, Anand Rajaraman, Jeff Ullman

Mining of Massive Datasets Jure Leskovec, Anand Rajaraman, Jeff Ullman Stanford University Infinite data. Filtering data streams

Introduction to Data Mining

CS246: Mining Massive Datasets Jure Leskovec, Stanford University

BBS654 Data Mining. Pinar Duygulu

CS 124/LINGUIST 180 From Languages to Information

CS 124/LINGUIST 180 From Languages to Information

CS246: Mining Massive Datasets Jure Leskovec, Stanford University

Web Personalization & Recommender Systems

Part 11: Collaborative Filtering. Francesco Ricci

A PERSONALIZED RECOMMENDER SYSTEM FOR TELECOM PRODUCTS AND SERVICES

CS 124/LINGUIST 180 From Languages to Information

Recommendation Algorithms: Collaborative Filtering. CSE 6111 Presentation Advanced Algorithms Fall Presented by: Farzana Yasmeen

Explaining Recommendations: Satisfaction vs. Promotion

A Scalable, Accurate Hybrid Recommender System

Web Personalization & Recommender Systems

Part 11: Collaborative Filtering. Francesco Ricci

Recap: Project and Practicum CS276B. Recommendation Systems. Plan for Today. Sample Applications. What do RSs achieve? Given a set of users and items

CS246: Mining Massive Datasets Jure Leskovec, Stanford University

Part I: Data Mining Foundations

Movie Recommender System - Hybrid Filtering Approach

Project Report. An Introduction to Collaborative Filtering

Content-based Dimensionality Reduction for Recommender Systems

Diversity in Recommender Systems Week 2: The Problems. Toni Mikkola, Andy Valjakka, Heng Gui, Wilson Poon

Comparison of Recommender System Algorithms focusing on the New-Item and User-Bias Problem

CS224W Project: Recommendation System Models in Product Rating Predictions

Mining Web Data. Lijun Zhang

Introduction p. 1 What is the World Wide Web? p. 1 A Brief History of the Web and the Internet p. 2 Web Data Mining p. 4 What is Data Mining? p.

University of Virginia Department of Computer Science. CS 4501: Information Retrieval Fall 2015

The influence of social filtering in recommender systems

Part 12: Advanced Topics in Collaborative Filtering. Francesco Ricci

Author(s): Rahul Sami, 2009

Towards a hybrid approach to Netflix Challenge

Real-time Recommendations on Spark. Jan Neumann, Sridhar Alla (Comcast Labs) DC Spark Interactive Meetup East May

LECTURE 12. Web-Technology

Evaluation Metrics. (Classifiers) CS229 Section Anand Avati

Machine Learning using MapReduce

Recommender Systems New Approaches with Netflix Dataset

Performance Comparison of Algorithms for Movie Rating Estimation

COMP6237 Data Mining Making Recommendations. Jonathon Hare

Composite Likelihood Data Augmentation for Within-Network Statistical Relational Learning

Mining of Massive Datasets Jure Leskovec, Anand Rajaraman, Jeff Ullman Stanford University

Hybrid Recommendation System Using Clustering and Collaborative Filtering

Recommender Systems: User Experience and System Issues

Available online at ScienceDirect. Procedia Technology 17 (2014 )

CS 5614: (Big) Data Management Systems. B. Aditya Prakash Lecture #16: Recommenda2on Systems

CS6375: Machine Learning Gautam Kunapuli. Mid-Term Review

Recommender Systems - Content, Collaborative, Hybrid

Recommender Systems (RSs)

A Constrained Spreading Activation Approach to Collaborative Filtering

Personalized Web Search

Data Mining Lecture 2: Recommender Systems

Recommender Systems. Nivio Ziviani. Junho de Departamento de Ciência da Computação da UFMG

Mining Web Data. Lijun Zhang

CS249: ADVANCED DATA MINING

Preference Learning in Recommender Systems

CSE 158 Lecture 8. Web Mining and Recommender Systems. Extensions of latent-factor models, (and more on the Netflix prize)

Recommender Systems - Introduction. Data Mining Lecture 2: Recommender Systems

How to use search, recommender systems and online community to help users find what they want. Rashmi Sinha

Using Machine Learning to Optimize Storage Systems

Predict the box office of US movies

KDD 10 Tutorial: Recommender Problems for Web Applications. Deepak Agarwal and Bee-Chung Chen Yahoo! Research

A Constrained Spreading Activation Approach to Collaborative Filtering

Property1 Property2. by Elvir Sabic. Recommender Systems Seminar Prof. Dr. Ulf Brefeld TU Darmstadt, WS 2013/14

CSE 258 Lecture 8. Web Mining and Recommender Systems. Extensions of latent-factor models, (and more on the Netflix prize)

Recommender System. What is it? How to build it? Challenges. R package: recommenderlab

Bing Liu. Web Data Mining. Exploring Hyperlinks, Contents, and Usage Data. With 177 Figures. Springer

Use of KNN for the Netflix Prize Ted Hong, Dimitris Tsamis Stanford University

1 Document Classification [60 points]

Using Data Mining to Determine User-Specific Movie Ratings

An Unsupervised Approach for Combining Scores of Outlier Detection Techniques, Based on Similarity Measures

Author(s): Rahul Sami, 2009

A Survey on Various Techniques of Recommendation System in Web Mining

Assignment 5: Collaborative Filtering

Collaborative Filtering using Euclidean Distance in Recommendation Engine

TGNet: Learning to Rank Nodes in Temporal Graphs. Qi Song 1 Bo Zong 2 Yinghui Wu 1,3 Lu-An Tang 2 Hui Zhang 2 Guofei Jiang 2 Haifeng Chen 2

Document Information

Slides for Data Mining by I. H. Witten and E. Frank

Recommender Systems. Techniques of AI

Social Search Networks of People and Search Engines. CS6200 Information Retrieval

Personalized Information Retrieval

Prowess Improvement of Accuracy for Moving Rating Recommendation System

Combining Review Text Content and Reviewer-Item Rating Matrix to Predict Review Rating

Personalized News Recommender using Twitter

CSE 158. Web Mining and Recommender Systems. Midterm recap

ECS289: Scalable Machine Learning

Correlation Based Feature Selection with Irrelevant Feature Removal

Slides based on those in:

Network-based recommendation: Using graph structure in user-product rating networks to generate product recommendations

Youtube Graph Network Model and Analysis Yonghyun Ro, Han Lee, Dennis Won

A probabilistic model to resolve diversity-accuracy challenge of recommendation systems

A Bayesian Approach to Hybrid Image Retrieval

Syskill & Webert: Identifying interesting web sites

CSE 258. Web Mining and Recommender Systems. Advanced Recommender Systems

CS 229 Final Project - Using machine learning to enhance a collaborative filtering recommendation system for Yelp

Trust-aware Collaborative Filtering for Recommender Systems

Predictive Analysis: Evaluation and Experimentation. Heejun Kim

amount of available information and the number of visitors to Web sites in recent years

Introduction to Data Mining

CS224W: Social and Information Network Analysis Project Report: Edge Detection in Review Networks

Transcription:

Recommender Systems Collaborative Filtering & Content-Based Recommending 1

Recommender Systems Systems for recommending items (e.g. books, movies, CD s, web pages, newsgroup messages) to users based on examples of their preferences. Many on-line stores provide recommendations (e.g. Amazon, CDNow). Recommenders have been shown to substantially increase sales at on-line stores. There are two basic approaches to recommending: Collaborative Filtering (a.k.a. social filtering) Content-based 2

Book Recommender Red Mars Found ation Jurassic Park Lost World Machine Learning User Profile 2001 Neuromancer 2010 Difference Engine 3

Personalization Recommenders are instances of personalization software. Personalization concerns adapting to the individual needs, interests, and preferences of each user. Includes: Recommending Filtering Predicting (e.g. form or calendar appt. completion) From a business perspective, it is viewed as part of Customer Relationship Management (CRM). 4

Machine Learning and Personalization Machine Learning can allow learning a user model or profile of a particular user based on: Sample interaction Rated examples This model or profile can then be used to: Recommend items Filter information Predict behavior 5

Collaborative Filtering Maintain a database of many users ratings of a variety of items. For a given user, find other similar users whose ratings strongly correlate with the current user. Recommend items rated highly by these similar users, but not rated by the current user. Almost all existing commercial recommenders use this approach (e.g. Amazon). 6

Collaborative Filtering User Database A 9 B 3 C : : Z 5 A B C 9 : : Z 10 A 5 B 3 C : : Z 7 A B C 8 : : Z A 6 B 4 C : : Z A 10 B 4 C 8.. Z 1 Correlation Match A 9 B 3 C : : Z 5 A 10 B 4 C 8.. Z 1 Active User A 9 B 3 C.. Z 5 Extract Recommendations C 7

Collaborative Filtering Method Weight all users with respect to similarity with the active user. Select a subset of the users (neighbors) to use as predictors. Normalize ratings and compute a prediction from a weighted combination of the selected neighbors ratings. Present items with highest predicted ratings as recommendations. 8

Similarity Weighting Typically look for similarity of ratings for active user, a, and another user, u. Idea is to for a vectors r a and r u of the ratings of items that both a and u have both rated. Then determine how alike a and u are based of the similarity of those vectors. How do you determine how similar? With others rated can: Average over population of raters and find gaps in active user Pick a highly ranked rater and find a gap What is the difference 9

Significance Weighting Important not to trust correlations based on very few co-rated items. Include significance weights, s a,u, based on number of co-rated items, m. 10

Neighbor Selection For a given active user, a, select correlated users to serve as source of predictions. Standard approach is to use the most similar n users, u, based on similarity weights, w a,u Alternate approach is to include all users whose similarity weight is above a given threshold. 11

Rating Prediction Predict a rating, p a,i, for each item i, for active user, a, by using the n selected neighbor users. To account for users different ratings levels, base predictions on differences from a user s average rating. Weight users ratings contribution by their similarity to the active user. 12

Problems with Collaborative Filtering Cold Start: There needs to be enough other users already in the system to find a match. Sparsity: If there are many items to be recommended, even if there are many users, the user/ratings matrix is sparse, and it is hard to find users that have rated the same items. First Rater: Cannot recommend an item that has not been previously rated. New items Esoteric items Popularity Bias: Cannot recommend items to someone with unique tastes. Tends to recommend popular items. 13

Content-Based Recommending Recommendations are based on information on the content of items rather than on other users opinions. Uses a machine learning algorithm to induce a profile of the users preferences from examples based on a featural description of content. Some previous applications: Newsweeder (Lang, 1995) Syskill and Webert (Pazzani et al., 1996) 14

Advantages of Content-Based Approach No need for data on other users. No cold-start or sparsity problems. Able to recommend to users with unique tastes. Able to recommend new and unpopular items No first-rater problem. Can provide explanations of recommended items by listing content-features that caused an item to be recommended. 15

Disadvantages of Content-Based Method Requires content that can be encoded as meaningful features. Users tastes must be represented as a learnable function of these content features. Unable to exploit quality judgments of other users. Unless these are somehow included in the content features. 16

Evaluating Collaborative Filtering Different problems require different solutions More users than topics More topic than users Most users have seen / are aware of most of the universe Most users have seen very little of the universe 17

What is Accuracy in CF Predicting what the user would have picked? ie., look only at single best Frequency of ourtrageous incorrectness Ability to predict / suggest novel behavior ROC curves Explainability Increase in purchases Recommendations followed On the EachMovie dataset all Cfs systems have about the same accuracy 18

Definition of accuracy is task dependent Annotation in Context Find the best amazon? Find all good pagerank? Recommend a sequence The DJ task pandora.com Make browsing interesting find like souls so I can use their recommendations in the future. itunes? 19

Why do people put in recommendations? Improve profile I want to see better things in the future Self expression Many on-line reviews fall into this category Help others Most of the rest of on-line reviews fall here Influence Others Reviews that are really commercials Each motivation puts a different bias into recommendations 20

Domain Features affect recommendations Novelty vs Quality Users want things that they did not know about but not something they definitely would not have picked TiVo my TiVo thinks I am a gay man for the 1970's In ML reinforcement learning, this is the exploration/exploitation tradeoff Cost / Benefit What is the cost of a bad recommendation? Netflicks, book of the month club True Granularity Is a 1-10 scale right or is it really just y/n 21

LIBRA Learning Intelligent Book Recommending Agent Content-based recommender for books using information about titles extracted from Amazon. Uses information extraction from the web to organize text into fields: Author Title Editorial Reviews Customer Comments Subject terms Related authors Related titles 22

LIBRA System Amazon Pages Information Extraction LIBRA Database Rated Examples Machine Learning Learner Recommendations 1.~~~~~~ 2.~~~~~~~ 3.~~~~~ : : : Predictor User Profile 23

Sample Extracted Information Title: <The Age of Spiritual Machines: When Computers Exceed Human Intelligence> Author: <Ray Kurzweil> Price: <11.96> Publication Date: <January 2000> ISBN: <0140282025> Related Titles: <Title: <Robot: Mere Machine or Transcendent Mind> Author: <Hans Moravec> > Reviews: <Author: <Amazon.com Reviews> Text: <How much do we humans > > Comments: <Stars: <4> Author: <Stephen A. Haines> Text:<Kurzweil has > > Related Authors: <Hans P. Moravec> <K. Eric Drexler> Subjects: <Science/Mathematics> <Computers> <Artificial Intelligence> 24

Libra Content Information Libra uses this extracted information to form bags of words for the following slots: Author Title Description (reviews and comments) Subjects Related Titles Related Authors 25

Libra Overview User rates selected titles on a 1 to 10 scale. Libra uses a naïve Bayesian text-categorization algorithm to learn a profile from these rated examples. Rating 6 10: Positive Rating 1 5: Negative The learned profile is used to rank all other books as recommendations based on the computed posterior probability that they are positive. User can also provide explicit positive/negative keywords, which are used as priors to bias the role of these features in categorization. 26

Bayesian Categorization in LIBRA Model is generalized to generate a vector of bags of words (one bag for each slot). Instances of the same word in different slots are treated as separate features: Chrichton in author vs. Chrichton in description Training examples are treated as weighted positive or negative examples when estimating conditional probability parameters: An example with rating 1 r 10 is given: positive probability: (r 1)/9 negative probability: (10 r)/9 27

Implementation Stopwords removed from all bags. A book s title and author are added to its own related title and related author slots. All probabilities are smoothed using Laplace estimation to account for small sample size. Lisp implementation is quite efficient: Training: 20 exs in 0.4 secs, 840 exs in 11.5 secs Test: 200 books per second 28

Movie Domain EachMovie Dataset [Compaq Research Labs] Contains user ratings for movies on a 0 5 scale. 72,916 users (avg. 39 ratings each). 1,628 movies. Sparse user-ratings matrix (2.6% full). Crawled Internet Movie Database (IMDb) Extracted content for titles in EachMovie. Basic movie information: Title, Director, Cast, Genre, etc. Popular opinions: User comments, Newspaper and Newsgroup reviews, etc. 29

Content-Boosted Collaborative Filtering EachMovie Web Crawler IMDb User Ratings Matrix (Sparse) Movie Content Database Content-based Predictor Full User Ratings Matrix Active User Ratings Collaborative Filtering Recommendations 30

Content-Boosted CF - I User-ratings Vector Training Examples Content-Based Predictor User-rated Items Unrated Items Items with Predicted Ratings Pseudo User-ratings Vector 31

Content-Boosted CF - II User Ratings Matrix Content-Based Predictor Pseudo User Ratings Matrix Compute pseudo user ratings matrix Full matrix approximates actual full user ratings matrix Perform CF Using Pearson corr. between pseudo user-rating vectors 32

Experimental Method Used subset of EachMovie (7,893 users; 299,997 ratings) Test set: 10% of the users selected at random. Test users that rated at least 40 movies. Train on the remainder sets. Hold-out set: 25% items for each test user. Predict rating of each item in the hold-out set. Compared CBCF to other prediction approaches: Pure CF Pure Content-based Naïve hybrid (averages CF and content-based predictions) 33

Metrics Mean Absolute Error (MAE) Compares numerical predictions with user ratings ROC sensitivity [Herlocker 99] How well predictions help users select high-quality items Ratings 4 considered good ; < 4 considered bad Paired t-test for statistical significance 34

Active Learning (Sample Section, Learning with Queries) Used to reduce the number of training examples required. System requests ratings for specific items from which it would learn the most. Several existing methods: Uncertainty sampling Committee-based sampling 35

Semi-Supervised Learning (Weakly Supervised, Bootstrapping) Use wealth of unlabeled examples to aid learning from a small amount of labeled data. Several recent methods developed: Semi-supervised EM (Expectation Maximization) Co-training 36

Conclusions Recommending and personalization are important approaches to combating information over-load. Machine Learning is an important part of systems for these tasks. Collaborative filtering has problems. Content-based methods address these problems (but have problems of their own). Integrating both is best. 37

Tivo Recommendations from an article in KDD 2004 Determines k nearest neighbors to a user based on similarity their ranking Explicit -- their thumbs rankings (claim is that average household has rated 98 items) Implicit user chooses to record a show Could also use simply watching based on number of minutes watched (problems?) What else? e.g., selecting a recorded show to watch 38

Tivo in practice Viewer gives feedback Feedback downloaded to Tivo (nightly) Feedback anonymized Determine highly correlated users upload correlations (28000 pairs) Predict ratings of unrated shows Build a suggestions list Record suggestions if there is space 39

Tivo Augment collaborative filtering with a Bayesian content-based system to help with cold start Pick recommended shows to record First, high thumbs that got missed because something else was recorded Collaborative filtering Content-based 40