Interactive Recommender Systems with Netflix and Spotify

100
Interactive Recommender Systems RecSys 2015 Harald Steck Netflix Inc. hsteck@netflix.com Roelof van Zwol Netflix Inc. roelofvanzwol@netflix.com Chris Johnson Spotify Inc. [email protected]

Transcript of Interactive Recommender Systems with Netflix and Spotify

Page 1: Interactive Recommender Systems with Netflix and Spotify

InteractiveRecommender Systems

RecSys 2015

Harald SteckNetflix Inc.

[email protected]

Roelof van ZwolNetflix Inc.

[email protected]

Chris JohnsonSpotify Inc.

[email protected]

Page 2: Interactive Recommender Systems with Netflix and Spotify

Outline

IntroductionUse cases

NetflixSpotify

Challenges

Deep DiveNetflixSpotify

InsightsDiscussion

Page 3: Interactive Recommender Systems with Netflix and Spotify

Introduction

Page 4: Interactive Recommender Systems with Netflix and Spotify

Section name 4

Page 5: Interactive Recommender Systems with Netflix and Spotify

What are Interactive RSs?Define Interactive:

Influencing or having an effect on each other.Allowing a two-way flow of informationResponding to a user’s input

Forms of InteractionImplicit vs explicit feedback

User experiences

SearchBrowseInteractive

RS

Page 6: Interactive Recommender Systems with Netflix and Spotify

Need for Interactive RSs?To better serve the user’s (entertainment) needsFill the gap between browse and search

Lean-back vs precise need

To establish trust and credibilityInstant gratification

Page 7: Interactive Recommender Systems with Netflix and Spotify

Interactive RS in practice?Most online services offer different levels of personalization

Video: Netflix, YouTube, Hulu, Amazon Video, HBO, …Browse (homepage/genre) and search

Music: Spotify, Pandora, Apple Music, Google Music, …Browse, Radio, Search

Books/Apps/Shopping: Amazon, Apple, Google(Video and Image) Search: Google, Bing, Yahoo

Left rail suggestions (explore), search completionTravel: Booking.com, Kayak, Orbitz, Expedia, …

Guided experience: Pick destination —> pick flight and hotel, arrange local transport, plan activities, go dining and sightseeing…

Page 8: Interactive Recommender Systems with Netflix and Spotify

Research on Interactive RS“A successful recommender system must balance the needs to explore user preferences and to exploit this information for recommendation.”

Exploration in Interactive Personalized Music Recommendation: A Reinforcement Learning Approach. X. Wang, Y. Wang, D. Hsu, Y. Wang (2013)

Active learning / Multi-Armed Bandits (𝜀-greedy, UCB, Thompson sampling)Papers at RecSys this year and in the past :)

When do explicit taste preferences trump play data?When we have insufficient knowledge about the userWhen context changes

TasteWeights: A Visual Interactive Hybrid Recommender System. S. Bostandjiev, J. O’Donovan, T. Höllerer (RecSys 2012)

When the user has a vague idea of what they want

IntRS: Workshop on Interfaces and Human Decision Making for Recommender Systems

Page 9: Interactive Recommender Systems with Netflix and Spotify

Use-case:

Page 10: Interactive Recommender Systems with Netflix and Spotify

Section name 10

Page 11: Interactive Recommender Systems with Netflix and Spotify

Section name 11

Page 12: Interactive Recommender Systems with Netflix and Spotify

Section name 12

Page 13: Interactive Recommender Systems with Netflix and Spotify

Section name 13

Page 14: Interactive Recommender Systems with Netflix and Spotify

Interactive RSs @ NetflixHelp user’s find a great video to watch as an alternative to browse and search.

Address browse fatigue; failed search experience; or user has vague notion of what to watch; watching with friendsNot for everyone, not all the time…

Max - Rating GameSelect a topic, rate some videos, get recommendations

Hot-or-ColdTell us what you’re into, one video at a time

DiscoverSelect one or more videos of interest to explore other similar options

Page 15: Interactive Recommender Systems with Netflix and Spotify

Max - Rating Game

Page 16: Interactive Recommender Systems with Netflix and Spotify

Hot or Cold Game

Page 17: Interactive Recommender Systems with Netflix and Spotify

Discover App

Page 18: Interactive Recommender Systems with Netflix and Spotify

Use-case:

Page 19: Interactive Recommender Systems with Netflix and Spotify

Section name 19

Page 20: Interactive Recommender Systems with Netflix and Spotify

Spotify in NumbersStarted in 2006, now available in 58 markets75+ million active users, 20 million paying subscribers30+ million songs, 20,000 new songs added per day1.5 billion playlists1 TB user data logged per day1k node Hadoop cluster10,000+ Hadoop jobs run every day

Page 21: Interactive Recommender Systems with Netflix and Spotify

Challenge: 20 Million songs... how do we recommendmusic to users?

Page 22: Interactive Recommender Systems with Netflix and Spotify

Discover Weekly

Page 23: Interactive Recommender Systems with Netflix and Spotify

Discover

Page 24: Interactive Recommender Systems with Netflix and Spotify

Related Artists

Page 25: Interactive Recommender Systems with Netflix and Spotify

Radio

Page 26: Interactive Recommender Systems with Netflix and Spotify

Radio as an Interactive RS

User has a vague idea of what they would like to listen toUser starts a radio station seeded by an Artist, Album, Song, Playlist, or GenreGenerally a lean back experience, but with the ability to tune recommendations with (+) and (-) feedback ( )

Page 27: Interactive Recommender Systems with Netflix and Spotify

Section name 27

SmartBox: fully interactive radio experience

Page 28: Interactive Recommender Systems with Netflix and Spotify

Challenges

Page 29: Interactive Recommender Systems with Netflix and Spotify

Challenges

Understanding when to present interactive experience- Binging, trying to find something new, experiencing browse fatigue

X

User Interaction Design- UI affordance - Messaging task - Efficient mechanism to collect user input - Instant gratification - Choice penalty - Navigation options (user control)

X X

Page 30: Interactive Recommender Systems with Netflix and Spotify

Challenges

Workflow and Algorithmic Design- Computational efficient - Balancing relevancy, diversity and popularity of the

recommendations - Support user navigation - Allow for both exploration and exploitation, e.g. avoid

overfitting based on limited input from the user

X X

Page 31: Interactive Recommender Systems with Netflix and Spotify

Deep Dive: Discover

Page 32: Interactive Recommender Systems with Netflix and Spotify

Discover: Understanding the user

Page 33: Interactive Recommender Systems with Netflix and Spotify

Meeting the users expectationsIntroducing interactive RS as a full page experience or integrate with other rows on the homepage?

Page 34: Interactive Recommender Systems with Netflix and Spotify

Meeting the users expectationsIntroducing interactive RS as a full page experience or integrate with other rows on the homepage?

Avoid conflict: browse vs discovery modeBrowsing on the homepage is a lean-back experienceDiscover, is interactive… that means work

Page 35: Interactive Recommender Systems with Netflix and Spotify

Understanding the user’s needIntroducing Discover feature as a new destination

Allow users to quickly navigate to feature

Page 36: Interactive Recommender Systems with Netflix and Spotify

Understanding the user’s needIntroducing Discover feature as a new destinationHelp users find new feature through

messaging at top of homepageAt session startAfter scrolling X rows downAfter 45 secs

Page 37: Interactive Recommender Systems with Netflix and Spotify

Understanding the user’s needIntroducing Discover feature as a new destinationHelp users find new feature through:

messaging at top of homepageinvitation in row on homepage

Page 38: Interactive Recommender Systems with Netflix and Spotify

Understanding the user’s needIntroducing Discover feature as a new destinationHelp users find new feature through:

messaging at top of homepageinvitation in rowrow-based invitation

In position of Nth row or as last row on homepage

Page 39: Interactive Recommender Systems with Netflix and Spotify

Understanding the user’s needContext is crucial for the success of the integration of interactive experiences into the product

Never interrupt a user that knows what they wantMessage at start of user session

Showing the invitation at the right moment (and place) is crucialAllow the user to explore options on the homepage first

Challenge is to find the right trade-off between rate at which user tries the interactive experience, versus success

Success rate can vary from 30-70%Not a goal to reach all users, just need to reach those who need help

Page 40: Interactive Recommender Systems with Netflix and Spotify

Discover: Inside the interactive RS

Page 41: Interactive Recommender Systems with Netflix and Spotify

Section name 41

Page 42: Interactive Recommender Systems with Netflix and Spotify

Section name 42

Page 43: Interactive Recommender Systems with Netflix and Spotify

Interaction Workflow for Discover

Init - At start of new session, create an initial seed of videos to show to the userSee Suggestions - After receiving input from the user (selected videos), compute recommendations

Page 44: Interactive Recommender Systems with Netflix and Spotify

Interaction Workflow for Discover

Need to find balance between relevancy, diversity and popularity of the videos shown to the user

Page 45: Interactive Recommender Systems with Netflix and Spotify

Videos in a Latent Space Representationnormalized item-vectors

Page 46: Interactive Recommender Systems with Netflix and Spotify

Videos in a Latent Space Representationuser-vector in same space

Page 47: Interactive Recommender Systems with Netflix and Spotify

Relevance Score

Page 48: Interactive Recommender Systems with Netflix and Spotify

Diversity Score

note:

Page 49: Interactive Recommender Systems with Netflix and Spotify

Popularity Score

Page 50: Interactive Recommender Systems with Netflix and Spotify

“See Suggestions” stepScore of item i:

, for adjusting the balancescore(i) determined by “closest” item j in S“diminishing returns”

Page 51: Interactive Recommender Systems with Netflix and Spotify

“See Suggestions” stepGreedy computation of recommendation set S:

Page 52: Interactive Recommender Systems with Netflix and Spotify

Interaction Workflow for Discover

See Suggestions - After receiving input from the user (selected videos), compute recommendations

What if the selected videos cover more than 1 genre?

Page 53: Interactive Recommender Systems with Netflix and Spotify

User may select diverse set of videos Challenge:

Recommendations should reflect all genres of the shows selected by user

Solution:Multiple user-vectors, one per selected group of similar shows (clustering)Compute recommendations for each user vectorDisplay clusters in separate rows, or combine via reciprocal rank aggregation

Page 54: Interactive Recommender Systems with Netflix and Spotify

Interaction Workflow for Discover

Init - At start of new session, create an initial seed of videos to show to the user

Show diverse set of recognizable videos that are familiar to the user, and which is fresh across sessions

Page 55: Interactive Recommender Systems with Netflix and Spotify

Producing the initial set of videosObjective: Show diverse set of recognizable videos that are familiar to the user, and which is fresh across sessions

How?Sample videos from user’s play history

score: no popularity & relevance componentSample shows from catalog with popularity bias

score: no relevance componentRandomize initial set for freshness

Page 56: Interactive Recommender Systems with Netflix and Spotify

Learning the Latent Vectors

Page 57: Interactive Recommender Systems with Netflix and Spotify

Learning the Latent Vectors

Use implicit feedback dataCompute item-item similarity matrix:

covariance matrixtransition matrix…

Train (spectral) matrix factorization model

Page 58: Interactive Recommender Systems with Netflix and Spotify

Graph Cut—Simplistic Example

Page 59: Interactive Recommender Systems with Netflix and Spotify

Graph Cut—Simplistic Example

Page 60: Interactive Recommender Systems with Netflix and Spotify

Graph Cut—Simplistic Example

Cut  here

…not  similar  to  Ballerina  any  more

new  similarof  Ballerina:

Page 61: Interactive Recommender Systems with Netflix and Spotify

Graph Cut à Spectral Clustering

1. Graph à Affinity Matrix A  2.      Laplacian:     L =    

D …  diagonal  matrix,    D = sum (A ) popularity  removed  prior  to  factorization  

3.      factorize  the  Laplacian  L 4.      normalize  the  latent  vectors  5.      (kmeans)  clustering  of  latent  vectors  

ii j ij

Page 62: Interactive Recommender Systems with Netflix and Spotify

Graph Cut à Spectral Clustering

1. Graph à Affinity Matrix A  2.      Laplacian:     L =    

D …  diagonal  matrix,    D = sum (A ) popularity  removed  prior  to  factorization  

3.      factorize  the  Laplacian  L 4.      normalize  the  latent  vectors  5.      (kmeans)  clustering  of  latent  vectors  

ii j ij

Page 63: Interactive Recommender Systems with Netflix and Spotify

Graph Cut à Spectral Clustering

1. Graph à Affinity Matrix A  2.      Laplacian:     L =    

D …  diagonal  matrix,    D = sum (A ) popularity  removed  prior  to  factorization  

3.      factorize  the  Laplacian  L 4.      normalize  the  latent  vectors  5.      (kmeans)  clustering  of  latent  vectors  

ii j ij

Page 64: Interactive Recommender Systems with Netflix and Spotify

Graph Cut à Spectral Clustering

1. Graph à Affinity Matrix A  2.      Laplacian:     L =    

D …  diagonal  matrix,    D = sum (A ) popularity  (largely)  removed  prior  to  factorization  

3.      factorize  the  Laplacian  L 4.      normalize  the  latent  vectors  5.      (kmeans)  clustering  of  latent  vectors  

ii j ij

Page 65: Interactive Recommender Systems with Netflix and Spotify

Graph Cut à Spectral Clustering

1. Graph à Affinity Matrix A  2.      Laplacian:     L =    

D …  diagonal  matrix,    D = sum (A ) popularity  (largely)  removed  prior  to  factorization  

3.      factorize  the  Laplacian  L 4.      normalize  the  latent  vectors  5.      (kmeans)  clustering  of  latent  vectors  

ii j ij

Page 66: Interactive Recommender Systems with Netflix and Spotify

Graph Cut à Spectral Clustering

1. Graph à Affinity Matrix A  2.      Laplacian:     L =    

D …  diagonal  matrix,    D = sum (A ) popularity  (largely)  removed  prior  to  factorization  

3.      factorize  the  Laplacian  L 4.      normalize  the  latent  vectors  (remove  remaining  popularity)  

5.      (kmeans)  clustering  of  latent  vectors  

ii j ij

Page 67: Interactive Recommender Systems with Netflix and Spotify

Graph Cut à Spectral Clustering

1. Graph à Affinity Matrix A  2.      Laplacian:     L =    

D …  diagonal  matrix,    D = sum (A ) popularity  (largely)  removed  prior  to  factorization  

3.      factorize  the  Laplacian  L 4.      normalize  the  latent  vectors  (remove  remaining  popularity)  5.      (kmeans)  clustering  of  latent  vectors  

ii j ij

Page 68: Interactive Recommender Systems with Netflix and Spotify

Example: DjangoMovies similar to:

Viennese-born Christoph Waltz won Oscar for best supporting role

only play-data used, no content information

Page 69: Interactive Recommender Systems with Netflix and Spotify

Similar to Django via basic MF

Page 70: Interactive Recommender Systems with Netflix and Spotify

Similar to Django via spectral MF

Page 71: Interactive Recommender Systems with Netflix and Spotify

Example: Hercules in New YorkMovies similar to:

Austrian-born Arnold Schwarzenegger’s debut movie

only play-data used, no content information

Page 72: Interactive Recommender Systems with Netflix and Spotify

Similar to Hercules in NY via basic MF

Page 73: Interactive Recommender Systems with Netflix and Spotify

Similar to Hercules in NY via spectral MF

Page 74: Interactive Recommender Systems with Netflix and Spotify

Deep Dive: Radio

Page 75: Interactive Recommender Systems with Netflix and Spotify

Radio as an Interactive RS

User has a vague idea of what they would like to listen toUser starts a radio station seeded by an Artist, Album, Song, Playlist, or GenreGenerally a lean back experience, but with the ability to tune recommendations with (+) and (-) feedback ( )

Page 76: Interactive Recommender Systems with Netflix and Spotify

Overview of Radio Dataflow

Page 77: Interactive Recommender Systems with Netflix and Spotify

Step 1:

Train batch recommendation models

Page 78: Interactive Recommender Systems with Netflix and Spotify

Implicit Matrix Factorization [1] 78

1 0 0 0 1 0 0 10 0 1 0 0 1 0 0 1 0 1 0 0 0 1 10 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1

•Aggregate all (user, track) streams into a large matrix•Goal: Approximate binary preference matrix by inner product of 2 smaller matrices by minimizing the

weighted RMSE (root mean squared error) using a function of plays, context, and recency as weight

X YUsers

Songs

• = bias for user• = bias for item• = regularization parameter

• = 1 if user streamed track else 0• • = user latent factor vector• = item latent factor vector

[1] Hu Y. & Koren Y. & Volinsky C. (2008) Collaborative Filtering for Implicit Feedback Datasets 8th IEEE International Conference on Data Mining

Page 79: Interactive Recommender Systems with Netflix and Spotify

Can also use Logistic Loss! [2] 79

1 0 0 0 1 0 0 10 0 1 0 0 1 0 0 1 0 1 0 0 0 1 10 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1

•Aggregate all (user, track) streams into a large matrix•Goal: Model probability of user playing a song as logistic, then maximize log likelihood of binary

preference matrix, weighting positive observations by a function of plays, context, and recency

X YUsers

Songs

• = bias for user• = bias for item• = regularization parameter

• = user latent factor vector• = item latent factor vector

[2] Johnson C. (2014) Logistic Matrix Factorization for Implicit Feedback Data NIPS Workshop on Distributed Matrix Computations

Page 80: Interactive Recommender Systems with Netflix and Spotify

NLP models on News, Blogs, and Text 80

Page 81: Interactive Recommender Systems with Netflix and Spotify

81NLP models also work on playlists!

Playlist itself is a document

Songs in playlist are words

Page 82: Interactive Recommender Systems with Netflix and Spotify

82Deep Learning on Audio [3]

[3] http://benanne.github.io/2014/08/05/spotify-cnns.html

Page 83: Interactive Recommender Systems with Netflix and Spotify

Songs in a Latent Space Representationnormalized item-vectors

Page 84: Interactive Recommender Systems with Netflix and Spotify

Songs in a Latent Space Representationuser-vector in same space

Page 85: Interactive Recommender Systems with Netflix and Spotify

Step 2:

Ensemble of batch models using explicit thumbs data

Page 86: Interactive Recommender Systems with Netflix and Spotify

Ensemble of Batch Models

Page 87: Interactive Recommender Systems with Netflix and Spotify

Explicit feedback at the expense of presentation bias…

Page 88: Interactive Recommender Systems with Netflix and Spotify

Augment explicit feedback with random negatives

Page 89: Interactive Recommender Systems with Netflix and Spotify

Thumbs also carry a subjective bias…

Thumbs used to personally tune a user’s station

But with enough data, they’re a pretty good signal

Page 90: Interactive Recommender Systems with Netflix and Spotify

Interesting fact…

Ratio of to does not always correlate with user engagement!

Page 91: Interactive Recommender Systems with Netflix and Spotify

Step 3:

Static song pools adaptively personalized as user interacts

Page 92: Interactive Recommender Systems with Netflix and Spotify

Should be Simple, fast, and instantly gratifying

Page 93: Interactive Recommender Systems with Netflix and Spotify

Adaptive personalization

Probability of choosing song given user , station , at time

= global rank of track in song pool = relevancy to user based on implicit CF vector = relevancy to user based on explicit thumbs = diversity of artist and album within radio session

Page 94: Interactive Recommender Systems with Netflix and Spotify

Step 4:

Radio thumbs feed back into ensemble!

Page 95: Interactive Recommender Systems with Netflix and Spotify

Interactive feedback loop

Page 96: Interactive Recommender Systems with Netflix and Spotify

Key Take AwaysImplicit feedback used to train batch recommendation modelsExplicit feedback is augmented with random negatives and used as training data to combine batch models (feedback loop)Adaptive shuffling is a function of song pool rank, user’s implicit CF relevancy, user’s thumbs relevancy, and diversity of artist and albumInteraction needs to be simple, fast, and instantly gratifying to the user

Page 97: Interactive Recommender Systems with Netflix and Spotify

Insights

Page 98: Interactive Recommender Systems with Netflix and Spotify

Insights - User perspectivePositioning of interactive RS in a product is crucial to success

Natural transition from browse and search to interactionInteractive RS needs to be lightweight..

Most users prefer lean-back experienceInteraction means work —> instant gratificationEvidence helps build trust and transparency

Choice penaltyHow much input is needed and how many results to return

Page 99: Interactive Recommender Systems with Netflix and Spotify

Insights - Algorithmic perspectiveNeed to balance popularity, relevancy, and diversity of the recommendations during different phases of the interactive workflow.Real-time scoring vs offline computation of recommendations

Video and music domain share many algorithmic characteristics, yet the application requires vastly different implementation

On using implicit vs explicit feedback:What users say they like is not always what they watch/listen

Page 100: Interactive Recommender Systems with Netflix and Spotify

Section name 100

Discussion