using navigation to improve recommendations in real-timecywu/recsys2016_slides.pdfusing navigation...

40
Using Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu 1 , Chris Alvino 2 , Alex Smola 3 , Justin Basilico 2 1 2 3

Upload: others

Post on 23-Mar-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

Using Navigation to Improve Recommendations in Real-Time

Chao-Yuan Wu1, Chris Alvino2, Alex Smola3, Justin Basilico2

1 2 3

Page 2: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

What contents to show?

Page 3: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

Traditional recommender systems

History data Future behavior

Page 4: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

Watching alone, with friends, or with children?

?

?

Page 5: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

?

?

Who is watching? (shared accounts)

Page 6: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

May depend on your mood, how much time you have, etc.

?

?

Page 7: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

1. User intention depends on unpredictable factors2. User intention can vary significantly between sessions

Challenges

??

Page 8: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

1. Use context informationa. Time of day, day or week, device etc.

2. Present a mixture

Current solutions

Page 9: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

1. Use context informationa. Time of day, day or week, device etc.

2. Present a mixture

Current solutions

Can we do better?

Page 10: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

Skip

Navigation gives valuable information about user intent

Scroll

Page 11: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

Observenavigationsignals

Skip

Scroll

Skip

Page 12: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

NavigationsignalUpdate unseen

rows in real-time

Scroll

Skip

Page 13: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

Online adaptation framework

Offline System Page

Navigation

online/browser

Page 14: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

Completely general - whenever contents don’t fit on single display

Page 15: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

1. Contents organized in rows2. Horizontal or vertical scrolls

Focus on a case based on Netflix PS3 UI

Page 16: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

1. Contents organized in rows2. Horizontal or vertical scrolls 3. Scrolls as navigation signals4. Consider reordering rows, while videos in a row are

fixed

Focus on a case based on Netflix PS3 UI

Page 17: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

Model & Algorithm

Page 18: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

Comedies

Documentaries

Action Movies

Sci-Fi

Videos organized in rows

Page 19: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

Comedies

Documentaries

Action Movies

Sci-Fi

Latent “interest” variable

Page 20: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

Only scroll or play from rows that user is interested in

Page 21: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

Comedies

Romantic comedies

Action Movies

Sci-Fi

Initial page

Page 22: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

Comedies

Romantic comedies

Action Movies

Sci-Fi

User interacts with the page

Skip

Page 23: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

Comedies

Romantic comedies

Action Movies

Sci-Fi

Update intent estimation

Skip

Page 24: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

Comedies

Romantic comedies

Action Movies

Sci-Fi

Rearrange page

Skip

Page 25: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

Model

row

video

Page 26: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

Model

Scroll

Play

Interest

Page 27: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

Online adaptation

Scroll

Play

Interest

1. Observe2. Update

session-specific parameters

3. Update marginal probability

Page 28: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

Offline training to estimate long-term preference by EM Algorithm

1. E-step: estimate “interest” .

2. M-step: optimize all other variables

Page 29: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

Choice of the model

1. Independent of the function classa. Inner product, FM, deep networks, etc. b. We use submodular functions

(see e.g. Ahmed et al. WSDM ‘12) .

2. Tightly coupled with the UI design

Page 30: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

Roundtrips to a server add latency

updateupdate

Page 31: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

Efficient in-browser updates with prefetching

updateupdate

Page 32: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

Experiments

Page 33: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

● Netflix PlayStation 3 sessions. ● Training: April-May 2015 (294k sessions)● Testing: June 2015 (59k sessions)● 40 rows per page● 75 videos per row (max)

Dataset

Page 34: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

Conditional play probability increases as the user delves into the list

Page 35: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

● Fix 10 rows, and update rows below● Row considered positive if any video in the row is played● Metrics:

○ Mean reciprocal rank (MRR)○ Precision @ 5

● Baseline: Factorization Machine over user and row○ libFM [S. Rendle 2012] implementation

Evaluating online adaptation

Page 36: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

Online adaptation improves recommendations

Page 37: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

Online adaptation helps with cold-start

Page 38: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

Model fatigue effects and repeated plays to get accurate predictions

Page 39: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

Model fatigue effects and repeated plays to get accurate predictions

Page 40: Using Navigation to Improve Recommendations in Real-Timecywu/RecSys2016_slides.pdfUsing Navigation to Improve Recommendations in Real-Time Chao-Yuan Wu1, Chris Alvino2, Alex Smola3,

1. Using navigation toa. improve recommendations in real-timeb. help with cold-start

2. Efficient in-browser update by pre-fetching3. Model fatigue effects and repeated plays to get

accurate play predictions4. General framework

a. Can be applied to many user interfaces

Summary