recommendation systemssrijan/teaching/cse6240/... · •recommendation systems are ubiquitous...

41
Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 1 CSE 6240: Web Search and Text Mining. Spring 2020 Recommendation Systems Prof. Srijan Kumar http://cc.gatech.edu/~srijan

Upload: others

Post on 11-Jun-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 1

CSE 6240: Web Search and Text Mining. Spring 2020

Recommendation Systems

Prof. Srijan Kumarhttp://cc.gatech.edu/~srijan

Page 2: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 2

Today’s Lecture• Introduction• Content-based Models• Collaborative Filtering• Latent Factor Models • Deep Learning Models

Reference material: http://mmds.org/

Page 3: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 3

RecSys Drives The World

• Recommendation systems are ubiquitous– E-commerce: Products to buyers – Job applications: Jobs to applicants, Applicants

to recruiters – Dating: Partners– Services: Doctors, lawyers, restaurants– Social networks: News that you read, posts that

you see• Most of what you do is powered or

influenced by some recommender system!

Page 4: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 4

Types of Recommendations• Editorial and hand curated

– List of favorites– Lists of “essential” items

• Simple aggregates– Top 10, Most Popular, Recent Uploads

• Personalized to individual users– Amazon, Netflix, …– Main focus of this class

Page 5: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 5

General Setting • Input:

– U = Set of users – I = Set of items – R = Set of observed

ratings between subset of users and subset of items

• Output: – Predict ratings for any

(user, item) pair

Avatar LOTR Matrix Pirates

Alice 1 5

Bob 3 1

Carol 1

David 4

Page 6: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 6

Recommendations: Key Challenges

• (1) Gathering “known” ratings for matrix– How to collect the data in the utility matrix

• (2) Extrapolate unknown ratings from the known ones– Mainly interested in high unknown ratings

• We are not interested in knowing what you don’t like but what you like

• (3) Evaluating extrapolation methods– How to measure success/performance of

recommendation methods

Page 7: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 7

Challenge 1: Gathering Ratings• Explicit

– 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?

Page 8: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 8

Challenge 2: Extrapolating Utilities• Key problem: Utility matrix U is sparse

– Most people have not rated most items– Cold start:

• New items have no ratings• New users have no history

• Four approaches:– 1) Content-based– 2) Collaborative– 3) Latent factor based– 4) Deep learning based

Our focus

Page 9: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 9

Challenge 3: Evaluations • Metrics to evaluate recommendations and

ranking lists • Online setting: Purchase rate, Click-through

rate • Offline setting: which metrics to use?

• How do we evaluate recommender systems? – Need evaluation setting and metric

Page 10: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining

Evaluation Setting

1 3 4

3 5 5

4 5 5

3

3

2 2 2

5

2 1 1

3 3

1

movies

users

14

• Input: rating matrix

Page 11: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining

Evaluation Setting

1 3 4

3 5 5

4 5 5

3

3

2 ? ?

?

2 1 ?

3 ?

1

Test Data Set

users

movies

11

•Hide some known ratings and try to predict it correctly

Page 12: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 12

Evaluation Metrics

• Compare predictions with known ratings– Root-mean-square error (RMSE)

• ∑ 𝑟#$ − 𝑟#$∗'�

#$�

where 𝒓𝒙𝒊 is predicted, 𝒓𝒙𝒊∗ is the true rating of x on i

– Precision at top 10: • % of correct item in top 10

– Rank Correlation: • Spearman’s correlation between system’s and user’s

complete rankings

Page 13: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 13

Evaluation Metrics

• 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

Page 14: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 14

Problems with Evaluation Measures• Narrow focus on accuracy sometimes

misses the point– Prediction Diversity– Prediction Context– Order of predictions

• In practice, we care only to predict high ratings:– RMSE might penalize a method that does well

for high ratings and badly for others

Page 15: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 15

RecSys: Approach Styles1. Content-based: which items have

properties similar to the items you already like?

2. Collaborative filtering: what do similar users like?

3. Latent factor based: learn latent representation of all users’ behavior

4. Deep learning based: combine everything together in a unified, deep framework

Page 16: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 16

Recommendation Systems• Content-based Models• Collaborative Filtering• Latent Factor Models • Deep Learning Models

Page 17: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 17

Content-based Recommendations• Main idea: Recommend items to customer x

similar to previous items rated highly by x

Example:• Movie recommendations

– Recommend movies with same actor(s), director, genre, …

• Websites, blogs, news– Recommend other sites with “similar” content

Page 18: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 18

Plan of Action

likes

Item profiles

RedCircles

Triangles

User profile

match

recommendbuild

Page 19: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 19

Item Profiles• For each item, create an item profile i

• Profile is a set (vector) of features– Movies: author, title, actor, director,…– Text: Set of “important” words in document

• How to pick important features?– Usual heuristic from text mining is TF-IDF

(Term frequency * Inverse Doc Frequency)• Feature = term• Item = Document

Page 20: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 20

Recall: TF-IDF• fij = frequency of term (feature) i in doc (item) j

• 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

Page 21: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 21

User Profiles and Prediction

• User profile possibilities:– Weighted average of rated item profiles

• Prediction heuristic:– Given user profile x and item profile i,

estimate 𝑢(𝒙, 𝒊) = cos(𝒙, 𝒊) = 𝒙·𝒊| 𝒙 |⋅| 𝒊 |

Page 22: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 22

Pros: 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 & unpopular items– No first-rater problem

• Able to provide explanations– Can provide explanations of recommended

items by listing content-features that caused an item to be recommended

Page 23: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 23

Cons: Content-based Approach

• Finding the appropriate features is hard– E.g., images, movies, music

• Recommendations for new users– How to build a user profile?

• Overspecialization– Never recommends items outside user’s

content profile– People might have multiple interests– Unable to exploit quality judgments of other

users

Page 24: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 24

Recommendation Systems• Content-based• Collaborative Filtering• Latent Factor Models • Deep Learning Models

Page 25: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 25

Collaborative Filtering• Harnessing quality judgments of other

users• Consider user x• Find set N of other

users whose ratings are “similar” to x’s ratings

• Estimate x’s ratings based on ratings of users in N

x

N

Page 26: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 26

Finding “Similar” Users• How to find similarity between users? • rx = vector of user x’s ratings; ry = y’s ratings

• Metric 1: Jaccard similarity measure– Jaccard = (Number of common items rated by

both) / (Number of items rated by either)– Problem: Ignores the value of the rating

rx = [*, _, _, *, ***]ry = [*, _, **, **, _]

Page 27: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 27

Finding “Similar” Users• Metric 2: Cosine similarity measure

– Treats rx and ry as vectors– sim(x, y) = cos(rx, ry) = 89⋅8:

||89||⋅||8:||

– Problem: Treats missing ratings as “negative”• Metric 3: Pearson correlation coefficient

– Find degree of similarity of ratings– Sxy = items rated by both users x and y– Problem: Ignores items rated by only one

rx, ry as vectors:rx = {1, 0, 0, 1, 3}ry = {1, 0, 2, 2, 0}

rx, ry = avg.rating of x, y

𝒔𝒊𝒎 𝒙, 𝒚 =∑ 𝒓𝒙𝒔 − 𝒓𝒙 𝒓𝒚𝒔 − 𝒓𝒚�𝒔∈𝑺𝒙𝒚

∑ 𝒓𝒙𝒔 − 𝒓𝒙 𝟐�𝒔∈𝑺𝒙𝒚

� ∑ 𝒓𝒚𝒔 − 𝒓𝒚𝟐�

𝒔∈𝑺𝒙𝒚�

Page 28: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 28

Similarity Metric: Solution

• Intuitively we want: sim(A, B) > sim(A, C)• But, Jaccard similarity: 1/5 < 2/4• Cosine similarity: 0.386 > 0.322

– Problem: Considers missing ratings as “negative”– Solution: Normalize by subtracting the row mean.

Then calculate the cosine similarity.– Note: Cosine similarity is correlation when the

data is centered at 0

Page 29: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 29

Similarity Metric: Solution

sim(A,B) vs sim(A,C):0.092 > -0.559

sim(A,B) vs sim(A,C):0.386 > 0.322

Subtract the row mean

Page 30: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 30

Rating PredictionsFrom similarity metric to recommendations:• Let rx be the vector of user x’s ratings• Let N be the set of k users most similar to x

who have rated item i• Prediction for item s of user x:

– 𝑟#$ =AB∑ 𝑟C$�

C∈D

– 𝑟#$ =∑ E9:⋅8:F�:∈G∑ E9:�:∈G

Shorthand:𝑠#C = 𝑠𝑖𝑚 𝑥, 𝑦

Page 31: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 31

Item-Item Collaborative Filtering

• So far: User-user collaborative filtering• Another view: Item-item

– For item i, find other similar items– Estimate rating for item i based on ratings for

similar items– Can use same similarity metrics and

prediction functions as in user-user model

åå

Î

Î×

=);(

);(

xiNj ij

xiNj xjijxi s

rsr

sij = similarity of items i and jrxj = rating of user u on item jN(i;x)= set items rated by x similar to i

Page 32: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 32

Item-Item CF (|N|=2)

121110987654321

455311

3124452

534321423

245424

5224345

423316

users

mov

ies

unknown rating

rating between 1 to 5

estimate rating of movie 1 by user 5

Neighbor selection: Identify movies similar to movie 1, rated by user 5

Page 33: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 33

Item-Item CF (|N|=2)users

mov

ies

1.00

-0.18

0.41

-0.10

-0.31

0.59

sim(1,m)

Use Pearson correlation as similarity: Subtract mean rating mi from each movie i. Mean m1 = (1+3+5+5+4)/5 = 3.6

row 1: [-2.6, 0, -0.6, 0, 0, 1.4, 0, 0, 1.4, 0, 0.4, 0]Then, compute cosine similarities between rows.

121110987654321

455311

3124452

534321423

245424

5224345

423316

Page 34: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 34

Item-Item CF (|N|=2)users

mov

ies

1.00

-0.18

0.41

-0.10

-0.31

0.59

sim(1,m)121110987654321

455311

3124452

534321423

245424

5224345

423316

Predict by taking weighted average:

r1,5 = (0.41*2 + 0.59*3) / (0.41+0.59) = 2.6𝑟$# =

∑ 𝑠$M ⋅ 𝑟M#�M∈D($;#)

∑𝑠$M

Page 35: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 35

CF: Extended Version• Define similarity sij of items i and j• Select k nearest neighbors N(i; x)

– Items most similar to i, that were rated by x• Estimate rating rxi as the weighted average:

baseline estimate for rxi

¡ μ =overallmeanmovierating¡ bx =ratingdeviationofuserx

=(avg.ratingofuserx) – μ¡ bi =ratingdeviationofmoviei

åå

Î

Î-×

+=);(

);()(

xiNj ij

xiNj xjxjijxixi s

brsbr

𝒃𝒙𝒊 = 𝝁 + 𝒃𝒙 + 𝒃𝒊

Page 36: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 36

Item-Item vs. User-User¡ In practice, it has been observed that item-

item often works better than user-user¡ Why? Items are simpler, users have

multiple tastes

Page 37: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 37

Pros of Collaborative Filtering

• Works for any kind of item– No feature selection needed

• Leverages other users’ behavior– Incorporates community actions

Page 38: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 38

Cons of Collaborative Filtering

• Cold Start:– Need enough users in the system to find a match

• Sparsity:– The user/ratings matrix is sparse– Hard to find users that have rated the same items

• First rater: – Cannot recommend an item that has not been

previously rated. What about new items, esoteric items?

• Popularity bias: – Cannot recommend items to someone with

unique taste – Tends to recommend popular items

Page 39: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 39

Collaborative Filtering: Complexity• Expensive step is finding k most similar

customers: O(|X|) • Too expensive to do at runtime

– Could pre-compute• Naïve pre-computation takes time O(k ·|X|)

– X … set of customers

• We already know how to do this!– Near-neighbor search in high dimensions (LSH)– Clustering– Dimensionality reduction

Page 40: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 40

Hybrid Methods• Implement two or more different

recommenders and combine predictions– Perhaps using a linear model

• Add content-based methods to collaborative filtering– Item profiles for new item problem– Demographics to deal with new user problem

Page 41: Recommendation Systemssrijan/teaching/cse6240/... · •Recommendation systems are ubiquitous –E-commerce: Products to buyers –Job applications: Jobs to applicants, Applicants

Srijan Kumar, Georgia Tech, CSE6240 Spring 2020: Web Search and Text Mining 41

Recommendation Systems• Content-based• Collaborative Filtering• Latent Factor Models • Deep Learning Models