Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender...

35
Online Recommender Systems CS 780/880

Transcript of Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender...

Page 1: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Online Recommender Systems

CS 780/880

Page 2: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Outline

I Content-based o�er recommendations

I Collaborative filteringI Recommender systemsI Online travel recommendationsI Collaborative filteringI Matrix factorization and completion

Page 3: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Outline

I Content-based o�er recommendations

I Collaborative filteringI Recommender systemsI Online travel recommendationsI Collaborative filteringI Matrix factorization and completion

Page 4: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Example recommender systems

I Movie recommendations (Netflix)I Personalized music (Pandora)I Relevant product recommendations (Amazon)I Online advertising (Facebook)I Online dating (OK Cupid)I Special o�ers, coupons, and discounts (Stores)

Page 5: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Google Play recommendations

Page 6: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Amazon recommendations

Page 7: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

IBM travel recommendations

I Recommend relevant products on website of a tour operator

Page 8: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Travel recommendation steps

Unknown customer

Browsing history (trips)

Best guess Recommended trips

Page 9: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Travel recommendation steps

Unknown customer

Browsing history (trips)

Best guess Recommended trips

Page 10: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Travel recommendation steps

Unknown customer

Browsing history (trips)

Best guess

Recommended trips

Page 11: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Travel recommendation steps

Unknown customer

Browsing history (trips)

Best guess Recommended trips

Page 12: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Benefits of online recommendations

I What are the benefits?I For users/customer:

1. Find the right product or information2. See only relevant advertising3. Discover diverse products or information sources

I For businesses/websites:1. Increase user satisfaction2. Sell more products and right products3. Discriminate between customers4. Predict and understand customer preferences

Page 13: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Benefits of online recommendations

I What are the benefits?I For users/customer:

1. Find the right product or information2. See only relevant advertising3. Discover diverse products or information sources

I For businesses/websites:1. Increase user satisfaction2. Sell more products and right products3. Discriminate between customers4. Predict and understand customer preferences

Page 14: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Benefits of online recommendations

I What are the benefits?I For users/customer:

1. Find the right product or information2. See only relevant advertising3. Discover diverse products or information sources

I For businesses/websites:1. Increase user satisfaction2. Sell more products and right products3. Discriminate between customers4. Predict and understand customer preferences

Page 15: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Types of recommender systems

I By delivery:I Item-to-item recommendations: e.g. Amazon productsI User-to-item recommendations: e.g. Netflix, Google Play

I By information used:I Content-based: Use item description and user profile

I Use when rich user profile and content information is availableI Collaborative filtering: Use preferences of other users

I When rich interaction history is availableI Hybrid: Combination

Page 16: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Types of recommender systems

I By delivery:I Item-to-item recommendations: e.g. Amazon productsI User-to-item recommendations: e.g. Netflix, Google Play

I By information used:I Content-based: Use item description and user profile

I Use when rich user profile and content information is availableI Collaborative filtering: Use preferences of other users

I When rich interaction history is availableI Hybrid: Combination

Page 17: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Types of recommender systems

I By delivery:I Item-to-item recommendations: e.g. Amazon productsI User-to-item recommendations: e.g. Netflix, Google Play

I By information used:I Content-based: Use item description and user profile

I Use when rich user profile and content information is availableI Collaborative filtering: Use preferences of other users

I When rich interaction history is availableI Hybrid: Combination

Page 18: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Types of recommender systems

I By delivery:I Item-to-item recommendations: e.g. Amazon productsI User-to-item recommendations: e.g. Netflix, Google Play

I By information used:I Content-based: Use item description and user profile

I Use when rich user profile and content information is availableI Collaborative filtering: Use preferences of other users

I When rich interaction history is availableI Hybrid: Combination

Page 19: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Types of recommender systems

I By delivery:I Item-to-item recommendations: e.g. Amazon productsI User-to-item recommendations: e.g. Netflix, Google Play

I By information used:I Content-based: Use item description and user profile

I Use when rich user profile and content information is availableI Collaborative filtering: Use preferences of other users

I When rich interaction history is availableI Hybrid: Combination

Page 20: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Content-based or collaborative filtering?

Unknown customer

Browsing history (trips)

Best guess Recommended trips

Page 21: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Content-based recommender systems

I Learn user preference model based on a�ributesI Use historical user preference data

User MovieGender Age Genre Year Rating

Male 16 Comedy 1998 1Male 98 Horror 1912 5Female 43 Action 2016 3

I Use supervised learning methods

Page 22: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Collaborative-filtering recommender systems

I Very flexible: no need to know content or user profilesI Simple and powerful methodsI Training data: Partial user-item preferences

3 ? ? 1 3 1 1 5 ? 5

? 2 3 ? 3 ? 2 ? ? ?

? 5 ? ? 1 ? ? 2 ? 4

4 3 ? 3 ? ? ? ? ? ?

2 3 5 2 ? ? ? 5 ? 4

? ? 1 2 5 3 4 ? ? ?

useritem

I Making recommendations: Fill in the blanks (?)

Page 23: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Nearest neighbors: Use similar users

I Infer preferences from similar usersI Other users:

3 ? ? 1 3 1 1 5 ? 5

4 3 ? 3 ? ? ? ? 5 ?

user

item

I Current user:

? 3 3 3 ? ? 1 5 ? ?

( )

user

I Basic algorithm:1. Find similar user (e.g. 2 ratings same)2. Infer unknown preferences

I Why does this fail?

Page 24: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Nearest neighbors: Use similar users

I Infer preferences from similar usersI Other users:

3 ? ? 1 3 1 1 5 ? 5

4 3 ? 3 ? ? ? ? 5 ?

user

item

I Current user:

? 3 3 3 ? ? 1 5 ? ?

( )

user

I Basic algorithm:1. Find similar user (e.g. 2 ratings same)2. Infer unknown preferences

I Why does this fail?

Page 25: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Nearest neighbors: Use similar users

I Infer preferences from similar usersI Other users:

3 ? ? 1 3 1 1 5 ? 5

4 3 ? 3 ? ? ? ? 5 ?

user

item

I Current user:

? 3 3 3 ? ? 1 5 ? ?

( )

user

I Basic algorithm:1. Find similar user (e.g. 2 ratings same)2. Infer unknown preferences

I Why does this fail?

Page 26: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Nearest neighbors: Use similar users

I Infer preferences from similar usersI Other users:

3 ? ? 1 3 1 1 5 ? 5

4 3 ? 3 ? ? ? ? 5 ?

user

item

I Current user:

4 3 3 3 ? ? 1 5 5 ?

( )

user

I Basic algorithm:1. Find similar user (e.g. 2 ratings same)2. Infer unknown preferences

I Why does this fail?

Page 27: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Nearest neighbors: Use similar users

I Infer preferences from similar usersI Other users:

3 ? ? 1 3 1 1 5 ? 5

4 3 ? 3 ? ? ? ? 5 ?

user

item

I Current user:

4 3 3 3 ? ? 1 5 5 ?

( )

user

I Basic algorithm:1. Find similar user (e.g. 2 ratings same)2. Infer unknown preferences

I Why does this fail?

Page 28: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Nearest neighbors: Use similar users

I Infer preferences from similar usersI Other users:

3 ? ? 1 3 1 1 5 ? 5

4 3 ? 3 ? ? ? ? 5 ?

user

item

I Current user:

4 3 3 3 ? ? 1 5 5 ?

( )

user

I Basic algorithm:1. Find similar user (e.g. 2 ratings same)2. Infer unknown preferences

I Why does this fail? Conflicting preferences!

Page 29: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Matrix factorizationI Be�er model for addressing incompatible preferencesI Assumption: Latent (unobserved) customer type, e.g.

1. Adventure seeking2. Luxury oriented

I Low-rank matrix decomposition:

2 3 3 1 1

2 3 3 1 1

4 3 1 1 3

4 3 1 1 3

4 3 1 1 3

user

item

=

0 1

0 1

1 0

1 0

1 0

}

user

type

4 3 1 1 3

2 3 3 1 1

( )

type

item

D U QT=

I D11 = U1QT1

I Not integral in general!

Page 30: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Matrix factorizationI Be�er model for addressing incompatible preferencesI Assumption: Latent (unobserved) customer type, e.g.

1. Adventure seeking2. Luxury oriented

I Low-rank matrix decomposition:

2 3 3 1 1

2 3 3 1 1

4 3 1 1 3

4 3 1 1 3

4 3 1 1 3

user

item

=

0 1

0 1

1 0

1 0

1 0

}

user

type

4 3 1 1 3

2 3 3 1 1

( )

type

item

D U QT=

I D11 = U1QT1

I Not integral in general!

Page 31: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Computing matrix factorization

I Given a small constant kI How to compute the best factorization U,Q?

D?= UQT s.t. rank(U) = rank(Q) = k

I Solve optimization problem:

minU,Q‖D − UQT‖2F s.t. rank(U) = rank(Q) = k

I Frobenius norm: ‖A‖2F =∑

i,j A2ij =

∑i σ

2i

I Solve optimally by SVD when D is completeI NP-hard when D is incompleteI Simple, practical, and e�ective method

1. Fix U and solve: minQ ‖D − UQT‖2F s.t. rank(Q) = k2. Fix Q and solve: minU ‖D − UQT‖2F s.t. rank(U) = k

Page 32: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Computing matrix factorization

I Given a small constant kI How to compute the best factorization U,Q?

D?= UQT s.t. rank(U) = rank(Q) = k

I Solve optimization problem:

minU,Q‖D − UQT‖2F s.t. rank(U) = rank(Q) = k

I Frobenius norm: ‖A‖2F =∑

i,j A2ij =

∑i σ

2i

I Solve optimally by SVD when D is completeI NP-hard when D is incompleteI Simple, practical, and e�ective method

1. Fix U and solve: minQ ‖D − UQT‖2F s.t. rank(Q) = k2. Fix Q and solve: minU ‖D − UQT‖2F s.t. rank(U) = k

Page 33: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Matrix factorization: Results

I One year worth of website click-stream dataI Dependence on number of previously visited sitesI Matrix factorization (green) vs baseline (blue)

Page 34: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Beyond simple models: Dynamic user behavior

I Hidden Markov Model

I Strategic recommendations: optimal in long run(conversion/satisfaction)

Page 35: Online Recommender Systems - Computer Sciencempetrik/teaching/intro_ml...Types of recommender systems I By delivery: I Item-to-item recommendations: e.g. Amazon products I User-to-item

Recommendations on social media (Twi�er)

I Challenges1. Large volume: (6000 t/s)2. Short (cryptic) text:

“Cruise with me on thiswild ride”

I Approach:1. Use language models to

identify travel intent2. Matrix factorization to

match catalogdescriptions with tweets

I Positive engagement: 15%