Recommendation Systems

Slides:



Advertisements
Similar presentations
Recommender System A Brief Survey.
Advertisements

Recommender Systems & Collaborative Filtering
Prediction Modeling for Personalization & Recommender Systems Bamshad Mobasher DePaul University Bamshad Mobasher DePaul University.
Similarity and Distance Sketching, Locality Sensitive Hashing
Jeff Howbert Introduction to Machine Learning Winter Collaborative Filtering Nearest Neighbor Approach.
Oct 14, 2014 Lirong Xia Recommender systems acknowledgment: Li Zhang, UCSC.
COLLABORATIVE FILTERING Mustafa Cavdar Neslihan Bulut.
Recommender Systems Aalap Kohojkar Yang Liu Zhan Shi March 31, 2008.
Rubi’s Motivation for CF  Find a PhD problem  Find “real life” PhD problem  Find an interesting PhD problem  Make Money!
CS 345A Data Mining Lecture 1
CS345 Data Mining Recommendation Systems Netflix Challenge Anand Rajaraman, Jeffrey D. Ullman.
Database Management Systems, R. Ramakrishnan1 Computing Relevance, Similarity: The Vector Space Model Chapter 27, Part B Based on Larson and Hearst’s slides.
CS 345A Data Mining Lecture 1 Introduction to Web Mining.
1 Collaborative Filtering and Pagerank in a Network Qiang Yang HKUST Thanks: Sonny Chee.
RECOMMENDATION SYSTEMS
Recommendations via Collaborative Filtering. Recommendations Relevant for movies, restaurants, hotels…. Recommendation Systems is a very hot topic in.
Hinrich Schütze and Christina Lioma
Near Duplicate Detection
Recommender systems Ram Akella February 23, 2011 Lecture 6b, i290 & 280I University of California at Berkeley Silicon Valley Center/SC.
1 Introduction to Recommendation System Presented by HongBo Deng Nov 14, 2006 Refer to the PPT from Stanford: Anand Rajaraman, Jeffrey D. Ullman.
CS 345 Data Mining Lecture 1 Introduction to Web Mining.
Recommender systems Ram Akella November 26 th 2008.
Finding Similar Items.
Mining of Massive Datasets Jure Leskovec, Anand Rajaraman, Jeff Ullman Stanford University Note to other teachers and users of these.
Chapter 5: Information Retrieval and Web Search
CSCI 5417 Information Retrieval Systems Jim Martin Lecture 6 9/8/2011.
CS 277: Data Mining Recommender Systems
Distributed Networks & Systems Lab. Introduction Collaborative filtering Characteristics and challenges Memory-based CF Model-based CF Hybrid CF Recent.
1 Information Filtering & Recommender Systems (Lecture for CS410 Text Info Systems) ChengXiang Zhai Department of Computer Science University of Illinois,
1 Recommender Systems and Collaborative Filtering Jon Herlocker Assistant Professor School of Electrical Engineering and Computer Science Oregon State.
Sarah Fatima Varda Sarfraz.  What is Recommendation systems?  Three recommendation approaches  Content-based  Collaborative  Hybrid approach  Conclusions.
Chengjie Sun,Lei Lin, Yuan Chen, Bingquan Liu Harbin Institute of Technology School of Computer Science and Technology 1 19/11/ :09 PM.
Toward the Next generation of Recommender systems
1 Recommender Systems Collaborative Filtering & Content-Based Recommending.
1 Computing Relevance, Similarity: The Vector Space Model.
EigenRank: A Ranking-Oriented Approach to Collaborative Filtering IDS Lab. Seminar Spring 2009 강 민 석강 민 석 May 21 st, 2009 Nathan.
Collaborative Filtering  Introduction  Search or Content based Method  User-Based Collaborative Filtering  Item-to-Item Collaborative Filtering  Using.
A Content-Based Approach to Collaborative Filtering Brandon Douthit-Wood CS 470 – Final Presentation.
Evaluation of Recommender Systems Joonseok Lee Georgia Institute of Technology 2011/04/12 1.
1 Collaborative Filtering & Content-Based Recommending CS 290N. T. Yang Slides based on R. Mooney at UT Austin.
Recommender Systems Debapriyo Majumdar Information Retrieval – Spring 2015 Indian Statistical Institute Kolkata Credits to Bing Liu (UIC) and Angshul Majumdar.
Recommender Systems. Recommender Systems (RSs) n RSs are software tools providing suggestions for items to be of use to users, such as what items to buy,
DATA MINING LECTURE 5 Similarity and Distance Recommender Systems.
CS425: Algorithms for Web Scale Data Most of the slides are from the Mining of Massive Datasets book. These slides have been modified for CS425. The original.
Pairwise Preference Regression for Cold-start Recommendation Speaker: Yuanshuai Sun
CS425: Algorithms for Web Scale Data Most of the slides are from the Mining of Massive Datasets book. These slides have been modified for CS425. The original.
Google News Personalization Big Data reading group November 12, 2007 Presented by Babu Pillai.
Netflix Challenge: Combined Collaborative Filtering Greg Nelson Alan Sheinberg.
Online Social Networks and Media Recommender Systems Collaborative Filtering Social recommendations Thanks to: Jure Leskovec, Anand Rajaraman, Jeff Ullman.
User Modeling and Recommender Systems: recommendation algorithms
Recommender Systems Based Rajaraman and Ullman: Mining Massive Data Sets & Francesco Ricci et al. Recommender Systems Handbook.
What do you recommend? THOSE … THIS … THAT 1. what you’ll read next summer (Amazon, Barnes&Noble) what movies you should watch… (Reel, RatingZone, Amazon)
Analysis of massive data sets Prof. dr. sc. Siniša Srbljić Doc. dr. sc. Dejan Škvorc Doc. dr. sc. Ante Đerek Faculty of Electrical Engineering and Computing.
Item-Based Collaborative Filtering Recommendation Algorithms
COMP9313: Big Data Management Lecturer: Xin Cao Course web site: COMP9313: Big Data Management Lecturer: Xin Cao Course web site:
Announcements Paper presentation Project meet with me ASAP
High dim. data Graph data Infinite data Machine learning Apps
Data Mining: Concepts and Techniques
Recommender Systems & Collaborative Filtering
Recommender Systems: Content-based Systems & Collaborative Filtering
مهندسی سيستم‌هاي تجارت الکترونيک
Introduction to Web Mining
Similarity and Distance Recommender Systems
Recommender Systems.
Collaborative Filtering Nearest Neighbor Approach
CS 345A Data Mining Lecture 1
Recommendation Systems
CS 345A Data Mining Lecture 1
Introduction to Web Mining
CS 345A Data Mining Lecture 1
Presentation transcript:

Recommendation Systems CS345 Data Mining Recommendation Systems Anand Rajaraman, Jeffrey D. Ullman

Recommendations Search Recommendations Items Products, web sites, blogs, news items, …

The Long Tail Source: Chris Anderson (2004)

From scarcity to abundance Shelf space is a scarce commodity for traditional retailers Also: TV networks, movie theaters,… The web enables near-zero-cost dissemination of information about products From scarcity to abundance More choice necessitates better filters Recommendation engines How Into Thin Air made Touching the Void a bestseller Fundamental economic transformation wrought by the Internet

Recommendation Types Editorial Simple aggregates Top 10, Most Popular, Recent Uploads Tailored to individual users Amazon, Netflix, …

Formal Model C = set of Customers S = set of Items Utility function u: C £ S ! R R = set of ratings R is a totally ordered set e.g., 0-5 stars, real number in [0,1]

Utility Matrix King Kong LOTR Matrix National Treasure Alice Bob Carol David

Key Problems Gathering “known” ratings for matrix Extrapolate unknown ratings from known ratings Mainly interested in high unknown ratings Evaluating extrapolation methods

Gathering Ratings Explicit Implicit Ask people to rate items Doesn’t work well in practice – people can’t be bothered Implicit Learn ratings from user actions e.g., purchase implies high rating What about low ratings?

Extrapolating Utilities Key problem: matrix U is sparse most people have not rated most items Three approaches Content-based Collaborative Hybrid

Content-based recommendations Main idea: recommend items to customer C similar to previous items rated highly by C Movie recommendations recommend movies with same actor(s), director, genre, … Websites, blogs, news recommend other sites with “similar” content

Plan of action Item profiles User profile likes build recommend Red Circles Triangles match User profile

Item Profiles For each item, create an item profile Profile is a set of features movies: author, title, actor, director,… text: set of “important” words in document Think of profile as a vector in the feature space How to pick important words? Usual heuristic is TF.IDF (Term Frequency times Inverse Doc Frequency)

TF.IDF fij = frequency of term ti in document dj ni = number of docs that mention term i N = total number of docs TF.IDF score wij = TFij £ IDFi Doc profile = set of words with highest TF.IDF scores, together with their scores

User profiles and prediction User profile possibilities: Weighted average of rated item profiles Variation: weight by difference from average rating for item … User profile is a vector in the feature space

Prediction heuristic User profile and item profile are vectors in the feature space How to predict the rating by a user for an item? Given user profile c and item profile s, estimate u(c,s) = cos(c,s) = c.s/(|c||s|) Need efficient method to find items with high utility: later

Model-based approaches For each user, learn a classifier that classifies items into rating classes liked by user and not liked by user e.g., Bayesian, regression, SVM Apply classifier to each item to find recommendation candidates Problem: scalability Won’t investigate further in this class

Limitations of content-based approach Finding the appropriate features e.g., images, movies, music Overspecialization Never recommends items outside user’s content profile People might have multiple interests Recommendations for new users How to build a profile?

Collaborative Filtering Consider user c Find set D of other users whose ratings are “similar” to c’s ratings Estimate user’s ratings based on ratings of users in D

Similar users Let rx be the vector of user x’s ratings Cosine similarity measure sim(x,y) = cos(rx , ry) Pearson correlation coefficient Sxy = items rated by both users x and y

Rating predictions Many tricks possible… Let D be the set of k users most similar to c who have rated item s Possibilities for prediction function (item s): rcs = 1/k d2D rds rcs = (d2D sim(c,d)£ rds)/(d2 D sim(c,d)) Other options? Many tricks possible… Harry Potter problem

Complexity Expensive step is finding k most similar customers O(|U|) Too expensive to do at runtime Need to pre-compute Naïve precomputation takes time O(N|U|) Can use clustering, partitioning as alternatives, but quality degrades

Item-Item Collaborative Filtering So far: User-user collaborative filtering Another view For item s, find other similar items Estimate rating for item based on ratings for similar items Can use same similarity metrics and prediction functions as in user-user model In practice, it has been observed that item-item often works better than user-user

Pros and cons of collaborative filtering Works for any kind of item No feature selection needed New user problem New item problem Sparsity of rating matrix Cluster-based smoothing?

Hybrid Methods Implement two separate recommenders and combine predictions Add content-based methods to collaborative filtering item profiles for new item problem demographics to deal with new user problem

Evaluating Predictions Compare predictions with known ratings Root-mean-square error (RMSE) Another approach: 0/1 model Coverage Number of items/users for which system can make predictions Precision Accuracy of predictions Receiver operating characteristic (ROC) Tradeoff curve between false positives and false negatives

Problems with Measures Narrow focus on accuracy sometimes misses the point Prediction Diversity Prediction Context Order of predictions

Finding similar vectors Common problem that comes up in many settings Given a large number N of vectors in some high-dimensional space (M dimensions), find pairs of vectors that have high cosine-similarity Compare to min-hashing approach for finding near-neighbors for Jaccard similarity

Similarity-Preserving Hash Functions Suppose we can create a family F of hash functions, such that for any h2F, given vectors x and y: Pr[h(x) = h(y)] = sim(x,y) = cos(x,y) We could then use Eh2F[h(x) = h(y)] as an estimate of sim(x,y) Can get close to Eh2F[h(x) = h(y)] by using several hash functions

Similarity metric Let  be the angle between vectors x and y cos() = x.y/(|x||y|) It turns out to be convenient to use sim(x,y) = 1 - / instead of sim(x,y) = cos() Can compute cos() once we estimate 

Random hyperplanes u r v Vectors u, v subtend angle  Random hyperplane through origin (normal r) hr(u) = 1 if r.u ¸ 0 0 if r.u < 0 u r v

Random hyperplanes u r v hr(u) = 1 if r.u ¸ 0 0 if r.u < 0 Pr[hr(u) = hr(v)] = 1 - / u r v

Vector sketch For vector u, we can contruct a k-bit sketch by concatenating the values of k different hash functions sketch(u) = [h1(u) h2(u) … hk(u)] Can estimate  to arbitrary degree of accuracy by comparing sketches of increasing lengths Big advantage: each hash is a single bit So can represent 256 hashes using 32 bytes

Picking hyperplanes Picking a random hyperplane in M-dimensions requires M random numbers In practice, can randomly pick each dimension to be +1 or -1 So we need only M random bits

Finding all similar pairs Compute sketches for each vector Easy if we can fit random bits for each dimension in memory For k-bit sketch, we need Mk bits of memory Might need to use ideas similar to page rank computation (e.g., block algorithm) Can use DCM or LSH to find all similar pairs