SlideShare uma empresa Scribd logo
1 de 100
Baixar para ler offline
Interactive
Recommender Systems
RecSys 2015
Harald Steck
Netflix Inc.
hsteck@netflix.com
Roelof van Zwol
Netflix Inc.
roelofvanzwol@netflix.com
Chris Johnson
Spotify Inc.
cjohnson@spotify.com
Outline
Introduction
Use cases
Netflix
Spotify
Challenges
Deep Dive
Netflix
Spotify
Insights
Discussion
Introduction
Section name 4
What are Interactive RSs?
Define Interactive:
Influencing or having an effect on each other.
Allowing a two-way flow of information
Responding to a user’s input
Forms of Interaction
Implicit vs explicit feedback
User experiences
SearchBrowse
Interactive
RS
Need for Interactive RSs?
To better serve the user’s (entertainment) needs
Fill the gap between browse and search
Lean-back vs precise need
To establish trust and credibility
Instant gratification
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 completion
Travel: Booking.com, Kayak, Orbitz, Expedia, …
Guided experience: Pick destination —> pick flight and hotel, arrange local
transport, plan activities, go dining and sightseeing…
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 user
When 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
Use-case:
Section name 10
Section name 11
Section name 12
Section name 13
Interactive RSs @ Netflix
Help 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 friends
Not for everyone, not all the time…
Max - Rating Game
Select a topic, rate some videos, get recommendations
Hot-or-Cold
Tell us what you’re into, one video at a time
Discover
Select one or more videos of interest to explore other similar options
Max - Rating Game
Hot or Cold Game
Discover App
Use-case:
Section name 19
Spotify in Numbers
Started in 2006, now available in 58 markets
75+ million active users, 20 million paying subscribers
30+ million songs, 20,000 new songs added per day
1.5 billion playlists
1 TB user data logged per day
1k node Hadoop cluster
10,000+ Hadoop jobs run every day
Challenge: 20 Million songs... how do we recommend
music to users?
Discover Weekly
Discover
Related Artists
Radio
Radio as an Interactive RS
User has a vague idea of what they would like to listen to
User starts a radio station seeded by an Artist, Album, Song,
Playlist, or Genre
Generally a lean back experience, but with the ability to tune
recommendations with (+) and (-) feedback ( )
Section name 27
SmartBox: fully interactive radio experience
Challenges
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
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
Deep Dive: Discover
Discover: Understanding the user
Meeting the users expectations
Introducing interactive RS as a full page experience or
integrate with other rows on the homepage?
Meeting the users expectations
Introducing interactive RS as a full page experience or
integrate with other rows on the homepage?
Avoid conflict: browse vs discovery mode
Browsing on the homepage is a lean-back experience
Discover, is interactive… that means work
Understanding the user’s need
Introducing Discover feature as a new destination
Allow users to quickly navigate to feature
Understanding the user’s need
Introducing Discover feature as a new destination
Help users find new feature through
messaging at top of homepage
At session start
After scrolling X rows down
After 45 secs
Understanding the user’s need
Introducing Discover feature as a new destination
Help users find new feature through:
messaging at top of homepage
invitation in row on homepage
Understanding the user’s need
Introducing Discover feature as a new destination
Help users find new feature through:
messaging at top of homepage
invitation in row
row-based invitation
In position of Nth row or as last row on homepage
Understanding the user’s need
Context is crucial for the success of the integration of interactive
experiences into the product
Never interrupt a user that knows what they want
Message at start of user session
Showing the invitation at the right moment (and place) is crucial
Allow 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
Discover: Inside the interactive RS
Section name 41
Section name 42
Interaction Workflow for Discover
Init - At start of new session, create an initial seed of videos to show to
the user
See Suggestions - After receiving input from the user (selected
videos), compute recommendations
Interaction Workflow for Discover
Need to find balance between relevancy, diversity and popularity
of the videos shown to the user
Videos in a Latent Space Representation
normalized item-vectors
Videos in a Latent Space Representation
user-vector in same space
Relevance Score
Diversity Score
note:
Popularity Score
“See Suggestions” step
Score of item i:
, for adjusting the balance
score(i) determined by “closest” item j in S
“diminishing returns”
“See Suggestions” step
Greedy computation of recommendation set S:
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?
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 vector
Display clusters in separate rows, or combine via reciprocal
rank aggregation
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
Producing the initial set of videos
Objective: 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 component
Sample shows from catalog with popularity bias
score: no relevance component
Randomize initial set for freshness
Learning the Latent Vectors
Learning the Latent Vectors
Use implicit feedback data
Compute item-item similarity matrix:
covariance matrix
transition matrix
…
Train (spectral) matrix factorization model
Graph Cut—Simplistic Example
Graph Cut—Simplistic Example
Graph Cut—Simplistic Example
Cut	
  here
…not	
  
similar	
  to	
  
Ballerina	
  
any	
  more
new	
  similar

of	
  Ballerina:
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
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
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
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
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
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
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
Example: Django
Movies similar to:
Viennese-born Christoph
Waltz won Oscar for best
supporting role
only play-data used, no
content information
Similar to Django via basic MF
Similar to Django via spectral MF
Example: Hercules in New York
Movies similar to:
Austrian-born Arnold
Schwarzenegger’s debut
movie
only play-data used, no
content information
Similar to Hercules in NY via basic MF
Similar to Hercules in NY via spectral MF
Deep Dive: Radio
Radio as an Interactive RS
User has a vague idea of what they would like to listen to
User starts a radio station seeded by an Artist, Album, Song,
Playlist, or Genre
Generally a lean back experience, but with the ability to tune
recommendations with (+) and (-) feedback ( )
Overview of Radio Dataflow
Step 1:
Train batch recommendation models
Implicit Matrix Factorization [1] 78
1 0 0 0 1 0 0 1
0 0 1 0 0 1 0 0
1 0 1 0 0 0 1 1
0 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
Can also use Logistic Loss! [2] 79
1 0 0 0 1 0 0 1
0 0 1 0 0 1 0 0
1 0 1 0 0 0 1 1
0 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
NLP models on News, Blogs, and Text 80
81
NLP models also work on playlists!
Playlist itself is a
document
Songs in
playlist are
words
82
Deep Learning on Audio [3]
[3] http://benanne.github.io/2014/08/05/spotify-cnns.html
Songs in a Latent Space Representation
normalized item-vectors
Songs in a Latent Space Representation
user-vector in same space
Step 2:
Ensemble of batch models using
explicit thumbs data
Ensemble of Batch Models
Explicit feedback at the expense of presentation bias…
Augment explicit feedback with random negatives
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
Interesting fact…
Ratio of to does not always
correlate with user engagement!
Step 3:
Static song pools adaptively
personalized as user interacts
Should be Simple, fast, and instantly gratifying
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
Step 4:
Radio thumbs feed back into
ensemble!
Interactive feedback loop
Key Take Aways
Implicit feedback used to train batch recommendation models
Explicit 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 album
Interaction needs to be simple, fast, and instantly gratifying to the
user
Insights
Insights - User perspective
Positioning of interactive RS in a product is crucial to
success
Natural transition from browse and search to interaction
Interactive RS needs to be lightweight..
Most users prefer lean-back experience
Interaction means work —> instant gratification
Evidence helps build trust and transparency
Choice penalty
How much input is needed and how many results to return
Insights - Algorithmic perspective
Need 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
Section name 100
Discussion

Mais conteúdo relacionado

Mais procurados

Sequential Decision Making in Recommendations
Sequential Decision Making in RecommendationsSequential Decision Making in Recommendations
Sequential Decision Making in RecommendationsJaya Kawale
 
Interactive Recommender Systems
Interactive Recommender SystemsInteractive Recommender Systems
Interactive Recommender SystemsRoelof van Zwol
 
Déjà Vu: The Importance of Time and Causality in Recommender Systems
Déjà Vu: The Importance of Time and Causality in Recommender SystemsDéjà Vu: The Importance of Time and Causality in Recommender Systems
Déjà Vu: The Importance of Time and Causality in Recommender SystemsJustin Basilico
 
Personalizing "The Netflix Experience" with Deep Learning
Personalizing "The Netflix Experience" with Deep LearningPersonalizing "The Netflix Experience" with Deep Learning
Personalizing "The Netflix Experience" with Deep LearningAnoop Deoras
 
Crafting Recommenders: the Shallow and the Deep of it!
Crafting Recommenders: the Shallow and the Deep of it! Crafting Recommenders: the Shallow and the Deep of it!
Crafting Recommenders: the Shallow and the Deep of it! Sudeep Das, Ph.D.
 
Missing values in recommender models
Missing values in recommender modelsMissing values in recommender models
Missing values in recommender modelsParmeshwar Khurd
 
Collaborative Filtering at Spotify
Collaborative Filtering at SpotifyCollaborative Filtering at Spotify
Collaborative Filtering at SpotifyErik Bernhardsson
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender SystemsJustin Basilico
 
Shallow and Deep Latent Models for Recommender System
Shallow and Deep Latent Models for Recommender SystemShallow and Deep Latent Models for Recommender System
Shallow and Deep Latent Models for Recommender SystemAnoop Deoras
 
Making Netflix Machine Learning Algorithms Reliable
Making Netflix Machine Learning Algorithms ReliableMaking Netflix Machine Learning Algorithms Reliable
Making Netflix Machine Learning Algorithms ReliableJustin Basilico
 
Recent Trends in Personalization at Netflix
Recent Trends in Personalization at NetflixRecent Trends in Personalization at Netflix
Recent Trends in Personalization at NetflixJustin Basilico
 
Recommendation at Netflix Scale
Recommendation at Netflix ScaleRecommendation at Netflix Scale
Recommendation at Netflix ScaleJustin Basilico
 
Personalized Page Generation for Browsing Recommendations
Personalized Page Generation for Browsing RecommendationsPersonalized Page Generation for Browsing Recommendations
Personalized Page Generation for Browsing RecommendationsJustin Basilico
 
Homepage Personalization at Spotify
Homepage Personalization at SpotifyHomepage Personalization at Spotify
Homepage Personalization at SpotifyOguz Semerci
 
A Multi-Armed Bandit Framework For Recommendations at Netflix
A Multi-Armed Bandit Framework For Recommendations at NetflixA Multi-Armed Bandit Framework For Recommendations at Netflix
A Multi-Armed Bandit Framework For Recommendations at NetflixJaya Kawale
 
ML+Hadoop at NYC Predictive Analytics
ML+Hadoop at NYC Predictive AnalyticsML+Hadoop at NYC Predictive Analytics
ML+Hadoop at NYC Predictive AnalyticsErik Bernhardsson
 
Deeper Things: How Netflix Leverages Deep Learning in Recommendations and Se...
 Deeper Things: How Netflix Leverages Deep Learning in Recommendations and Se... Deeper Things: How Netflix Leverages Deep Learning in Recommendations and Se...
Deeper Things: How Netflix Leverages Deep Learning in Recommendations and Se...Sudeep Das, Ph.D.
 
Recent advances in deep recommender systems
Recent advances in deep recommender systemsRecent advances in deep recommender systems
Recent advances in deep recommender systemsNAVER Engineering
 

Mais procurados (20)

Sequential Decision Making in Recommendations
Sequential Decision Making in RecommendationsSequential Decision Making in Recommendations
Sequential Decision Making in Recommendations
 
Interactive Recommender Systems
Interactive Recommender SystemsInteractive Recommender Systems
Interactive Recommender Systems
 
Déjà Vu: The Importance of Time and Causality in Recommender Systems
Déjà Vu: The Importance of Time and Causality in Recommender SystemsDéjà Vu: The Importance of Time and Causality in Recommender Systems
Déjà Vu: The Importance of Time and Causality in Recommender Systems
 
Personalizing "The Netflix Experience" with Deep Learning
Personalizing "The Netflix Experience" with Deep LearningPersonalizing "The Netflix Experience" with Deep Learning
Personalizing "The Netflix Experience" with Deep Learning
 
Crafting Recommenders: the Shallow and the Deep of it!
Crafting Recommenders: the Shallow and the Deep of it! Crafting Recommenders: the Shallow and the Deep of it!
Crafting Recommenders: the Shallow and the Deep of it!
 
Missing values in recommender models
Missing values in recommender modelsMissing values in recommender models
Missing values in recommender models
 
Collaborative Filtering at Spotify
Collaborative Filtering at SpotifyCollaborative Filtering at Spotify
Collaborative Filtering at Spotify
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
 
Shallow and Deep Latent Models for Recommender System
Shallow and Deep Latent Models for Recommender SystemShallow and Deep Latent Models for Recommender System
Shallow and Deep Latent Models for Recommender System
 
Making Netflix Machine Learning Algorithms Reliable
Making Netflix Machine Learning Algorithms ReliableMaking Netflix Machine Learning Algorithms Reliable
Making Netflix Machine Learning Algorithms Reliable
 
Recent Trends in Personalization at Netflix
Recent Trends in Personalization at NetflixRecent Trends in Personalization at Netflix
Recent Trends in Personalization at Netflix
 
Recommendation at Netflix Scale
Recommendation at Netflix ScaleRecommendation at Netflix Scale
Recommendation at Netflix Scale
 
Personalized Page Generation for Browsing Recommendations
Personalized Page Generation for Browsing RecommendationsPersonalized Page Generation for Browsing Recommendations
Personalized Page Generation for Browsing Recommendations
 
Homepage Personalization at Spotify
Homepage Personalization at SpotifyHomepage Personalization at Spotify
Homepage Personalization at Spotify
 
A Multi-Armed Bandit Framework For Recommendations at Netflix
A Multi-Armed Bandit Framework For Recommendations at NetflixA Multi-Armed Bandit Framework For Recommendations at Netflix
A Multi-Armed Bandit Framework For Recommendations at Netflix
 
ML+Hadoop at NYC Predictive Analytics
ML+Hadoop at NYC Predictive AnalyticsML+Hadoop at NYC Predictive Analytics
ML+Hadoop at NYC Predictive Analytics
 
Deeper Things: How Netflix Leverages Deep Learning in Recommendations and Se...
 Deeper Things: How Netflix Leverages Deep Learning in Recommendations and Se... Deeper Things: How Netflix Leverages Deep Learning in Recommendations and Se...
Deeper Things: How Netflix Leverages Deep Learning in Recommendations and Se...
 
Recommender Systems
Recommender SystemsRecommender Systems
Recommender Systems
 
Recent advances in deep recommender systems
Recent advances in deep recommender systemsRecent advances in deep recommender systems
Recent advances in deep recommender systems
 
Recommender Systems
Recommender SystemsRecommender Systems
Recommender Systems
 

Semelhante a Interactive Recommender Systems with Netflix and Spotify

DeepakRawat_APMF.pdf
DeepakRawat_APMF.pdfDeepakRawat_APMF.pdf
DeepakRawat_APMF.pdfDeepak Rawat
 
Personalizing the listening experience
Personalizing the listening experiencePersonalizing the listening experience
Personalizing the listening experienceMounia Lalmas-Roelleke
 
Introduction to recommendation system
Introduction to recommendation systemIntroduction to recommendation system
Introduction to recommendation systemAravindharamanan S
 
[UMAP 2016] User-Oriented Context Suggestion
[UMAP 2016] User-Oriented Context Suggestion[UMAP 2016] User-Oriented Context Suggestion
[UMAP 2016] User-Oriented Context SuggestionYONG ZHENG
 
Building Visual Thinking Communities Upload
Building Visual Thinking Communities   UploadBuilding Visual Thinking Communities   Upload
Building Visual Thinking Communities UploadRyan Coleman
 
Personalization Palooza 2016
Personalization Palooza 2016Personalization Palooza 2016
Personalization Palooza 2016Pancrazio Auteri
 
Audience projection of target consumers over multiple domains a ner and baye...
Audience projection of target consumers over multiple domains  a ner and baye...Audience projection of target consumers over multiple domains  a ner and baye...
Audience projection of target consumers over multiple domains a ner and baye...Data Science Milan
 
DataEngConf: Talkographics: Using What Viewers Say Online to Measure TV and B...
DataEngConf: Talkographics: Using What Viewers Say Online to Measure TV and B...DataEngConf: Talkographics: Using What Viewers Say Online to Measure TV and B...
DataEngConf: Talkographics: Using What Viewers Say Online to Measure TV and B...Hakka Labs
 
God Mode for designing scenario-driven skills for DeepPavlov Dream
God Mode for designing scenario-driven skills for DeepPavlov DreamGod Mode for designing scenario-driven skills for DeepPavlov Dream
God Mode for designing scenario-driven skills for DeepPavlov DreamDaniel Kornev
 
How UX/UI Optimization Can Drive Revenue
How UX/UI Optimization Can Drive RevenueHow UX/UI Optimization Can Drive Revenue
How UX/UI Optimization Can Drive RevenueDavid R. Iannone Jr.
 
How to present creative 2017
How to present creative   2017How to present creative   2017
How to present creative 2017Joel Eby
 
2011 10-05-virtual user group
2011 10-05-virtual user group2011 10-05-virtual user group
2011 10-05-virtual user groupjhennelly
 
Frontiers of Computational Journalism week 3 - Information Filter Design
Frontiers of Computational Journalism week 3 - Information Filter DesignFrontiers of Computational Journalism week 3 - Information Filter Design
Frontiers of Computational Journalism week 3 - Information Filter DesignJonathan Stray
 
Explainable Recommendation for Repeat Consumption (RecSys 2020)
Explainable Recommendation for Repeat Consumption (RecSys 2020)Explainable Recommendation for Repeat Consumption (RecSys 2020)
Explainable Recommendation for Repeat Consumption (RecSys 2020)Kosetsu Tsukuda
 
Recsys 2018 overview and highlights
Recsys 2018 overview and highlightsRecsys 2018 overview and highlights
Recsys 2018 overview and highlightsSandra Garcia
 
Social Recommender Systems Tutorial - WWW 2011
Social Recommender Systems Tutorial - WWW 2011Social Recommender Systems Tutorial - WWW 2011
Social Recommender Systems Tutorial - WWW 2011idoguy
 
Introduction to recommender systems
Introduction to recommender systemsIntroduction to recommender systems
Introduction to recommender systemsRami Alsalman
 

Semelhante a Interactive Recommender Systems with Netflix and Spotify (20)

DeepakRawat_APMF.pdf
DeepakRawat_APMF.pdfDeepakRawat_APMF.pdf
DeepakRawat_APMF.pdf
 
Personalizing the listening experience
Personalizing the listening experiencePersonalizing the listening experience
Personalizing the listening experience
 
Introduction to recommendation system
Introduction to recommendation systemIntroduction to recommendation system
Introduction to recommendation system
 
[UMAP 2016] User-Oriented Context Suggestion
[UMAP 2016] User-Oriented Context Suggestion[UMAP 2016] User-Oriented Context Suggestion
[UMAP 2016] User-Oriented Context Suggestion
 
Building Visual Thinking Communities Upload
Building Visual Thinking Communities   UploadBuilding Visual Thinking Communities   Upload
Building Visual Thinking Communities Upload
 
Personalization Palooza 2016
Personalization Palooza 2016Personalization Palooza 2016
Personalization Palooza 2016
 
Audience projection of target consumers over multiple domains a ner and baye...
Audience projection of target consumers over multiple domains  a ner and baye...Audience projection of target consumers over multiple domains  a ner and baye...
Audience projection of target consumers over multiple domains a ner and baye...
 
Beyond Usability
Beyond UsabilityBeyond Usability
Beyond Usability
 
DataEngConf: Talkographics: Using What Viewers Say Online to Measure TV and B...
DataEngConf: Talkographics: Using What Viewers Say Online to Measure TV and B...DataEngConf: Talkographics: Using What Viewers Say Online to Measure TV and B...
DataEngConf: Talkographics: Using What Viewers Say Online to Measure TV and B...
 
God Mode for designing scenario-driven skills for DeepPavlov Dream
God Mode for designing scenario-driven skills for DeepPavlov DreamGod Mode for designing scenario-driven skills for DeepPavlov Dream
God Mode for designing scenario-driven skills for DeepPavlov Dream
 
TTT 2012 slide deck
TTT  2012 slide deckTTT  2012 slide deck
TTT 2012 slide deck
 
How UX/UI Optimization Can Drive Revenue
How UX/UI Optimization Can Drive RevenueHow UX/UI Optimization Can Drive Revenue
How UX/UI Optimization Can Drive Revenue
 
How to present creative 2017
How to present creative   2017How to present creative   2017
How to present creative 2017
 
2011 10-05-virtual user group
2011 10-05-virtual user group2011 10-05-virtual user group
2011 10-05-virtual user group
 
Frontiers of Computational Journalism week 3 - Information Filter Design
Frontiers of Computational Journalism week 3 - Information Filter DesignFrontiers of Computational Journalism week 3 - Information Filter Design
Frontiers of Computational Journalism week 3 - Information Filter Design
 
Explainable Recommendation for Repeat Consumption (RecSys 2020)
Explainable Recommendation for Repeat Consumption (RecSys 2020)Explainable Recommendation for Repeat Consumption (RecSys 2020)
Explainable Recommendation for Repeat Consumption (RecSys 2020)
 
Free software basics
Free software basicsFree software basics
Free software basics
 
Recsys 2018 overview and highlights
Recsys 2018 overview and highlightsRecsys 2018 overview and highlights
Recsys 2018 overview and highlights
 
Social Recommender Systems Tutorial - WWW 2011
Social Recommender Systems Tutorial - WWW 2011Social Recommender Systems Tutorial - WWW 2011
Social Recommender Systems Tutorial - WWW 2011
 
Introduction to recommender systems
Introduction to recommender systemsIntroduction to recommender systems
Introduction to recommender systems
 

Último

Copilot para Microsoft 365 y Power Platform Copilot
Copilot para Microsoft 365 y Power Platform CopilotCopilot para Microsoft 365 y Power Platform Copilot
Copilot para Microsoft 365 y Power Platform CopilotEdgard Alejos
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorTier1 app
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdfAndrey Devyatkin
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfPros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfkalichargn70th171
 

Último (20)

Copilot para Microsoft 365 y Power Platform Copilot
Copilot para Microsoft 365 y Power Platform CopilotCopilot para Microsoft 365 y Power Platform Copilot
Copilot para Microsoft 365 y Power Platform Copilot
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryError
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfPros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
 

Interactive Recommender Systems with Netflix and Spotify

  • 1. Interactive Recommender Systems RecSys 2015 Harald Steck Netflix Inc. hsteck@netflix.com Roelof van Zwol Netflix Inc. roelofvanzwol@netflix.com Chris Johnson Spotify Inc. cjohnson@spotify.com
  • 5. What are Interactive RSs? Define Interactive: Influencing or having an effect on each other. Allowing a two-way flow of information Responding to a user’s input Forms of Interaction Implicit vs explicit feedback User experiences SearchBrowse Interactive RS
  • 6. Need for Interactive RSs? To better serve the user’s (entertainment) needs Fill the gap between browse and search Lean-back vs precise need To establish trust and credibility Instant gratification
  • 7. 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 completion Travel: Booking.com, Kayak, Orbitz, Expedia, … Guided experience: Pick destination —> pick flight and hotel, arrange local transport, plan activities, go dining and sightseeing…
  • 8. 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 user When 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
  • 14. Interactive RSs @ Netflix Help 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 friends Not for everyone, not all the time… Max - Rating Game Select a topic, rate some videos, get recommendations Hot-or-Cold Tell us what you’re into, one video at a time Discover Select one or more videos of interest to explore other similar options
  • 15. Max - Rating Game
  • 16. Hot or Cold Game
  • 20. Spotify in Numbers Started in 2006, now available in 58 markets 75+ million active users, 20 million paying subscribers 30+ million songs, 20,000 new songs added per day 1.5 billion playlists 1 TB user data logged per day 1k node Hadoop cluster 10,000+ Hadoop jobs run every day
  • 21. Challenge: 20 Million songs... how do we recommend music to users?
  • 25. Radio
  • 26. Radio as an Interactive RS User has a vague idea of what they would like to listen to User starts a radio station seeded by an Artist, Album, Song, Playlist, or Genre Generally a lean back experience, but with the ability to tune recommendations with (+) and (-) feedback ( )
  • 27. Section name 27 SmartBox: fully interactive radio experience
  • 29. 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
  • 30. 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
  • 33. Meeting the users expectations Introducing interactive RS as a full page experience or integrate with other rows on the homepage?
  • 34. Meeting the users expectations Introducing interactive RS as a full page experience or integrate with other rows on the homepage? Avoid conflict: browse vs discovery mode Browsing on the homepage is a lean-back experience Discover, is interactive… that means work
  • 35. Understanding the user’s need Introducing Discover feature as a new destination Allow users to quickly navigate to feature
  • 36. Understanding the user’s need Introducing Discover feature as a new destination Help users find new feature through messaging at top of homepage At session start After scrolling X rows down After 45 secs
  • 37. Understanding the user’s need Introducing Discover feature as a new destination Help users find new feature through: messaging at top of homepage invitation in row on homepage
  • 38. Understanding the user’s need Introducing Discover feature as a new destination Help users find new feature through: messaging at top of homepage invitation in row row-based invitation In position of Nth row or as last row on homepage
  • 39. Understanding the user’s need Context is crucial for the success of the integration of interactive experiences into the product Never interrupt a user that knows what they want Message at start of user session Showing the invitation at the right moment (and place) is crucial Allow 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
  • 40. Discover: Inside the interactive RS
  • 43. Interaction Workflow for Discover Init - At start of new session, create an initial seed of videos to show to the user See Suggestions - After receiving input from the user (selected videos), compute recommendations
  • 44. Interaction Workflow for Discover Need to find balance between relevancy, diversity and popularity of the videos shown to the user
  • 45. Videos in a Latent Space Representation normalized item-vectors
  • 46. Videos in a Latent Space Representation user-vector in same space
  • 50. “See Suggestions” step Score of item i: , for adjusting the balance score(i) determined by “closest” item j in S “diminishing returns”
  • 51. “See Suggestions” step Greedy computation of recommendation set S:
  • 52. 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?
  • 53. 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 vector Display clusters in separate rows, or combine via reciprocal rank aggregation
  • 54. 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
  • 55. Producing the initial set of videos Objective: 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 component Sample shows from catalog with popularity bias score: no relevance component Randomize initial set for freshness
  • 57. Learning the Latent Vectors Use implicit feedback data Compute item-item similarity matrix: covariance matrix transition matrix … Train (spectral) matrix factorization model
  • 60. Graph Cut—Simplistic Example Cut  here …not   similar  to   Ballerina   any  more new  similar
 of  Ballerina:
  • 61. 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
  • 62. 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
  • 63. 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
  • 64. 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
  • 65. 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
  • 66. 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
  • 67. 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
  • 68. Example: Django Movies similar to: Viennese-born Christoph Waltz won Oscar for best supporting role only play-data used, no content information
  • 69. Similar to Django via basic MF
  • 70. Similar to Django via spectral MF
  • 71. Example: Hercules in New York Movies similar to: Austrian-born Arnold Schwarzenegger’s debut movie only play-data used, no content information
  • 72. Similar to Hercules in NY via basic MF
  • 73. Similar to Hercules in NY via spectral MF
  • 75. Radio as an Interactive RS User has a vague idea of what they would like to listen to User starts a radio station seeded by an Artist, Album, Song, Playlist, or Genre Generally a lean back experience, but with the ability to tune recommendations with (+) and (-) feedback ( )
  • 76. Overview of Radio Dataflow
  • 77. Step 1: Train batch recommendation models
  • 78. Implicit Matrix Factorization [1] 78 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 1 0 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
  • 79. Can also use Logistic Loss! [2] 79 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 1 0 0 0 1 1 0 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
  • 80. NLP models on News, Blogs, and Text 80
  • 81. 81 NLP models also work on playlists! Playlist itself is a document Songs in playlist are words
  • 82. 82 Deep Learning on Audio [3] [3] http://benanne.github.io/2014/08/05/spotify-cnns.html
  • 83. Songs in a Latent Space Representation normalized item-vectors
  • 84. Songs in a Latent Space Representation user-vector in same space
  • 85. Step 2: Ensemble of batch models using explicit thumbs data
  • 87. Explicit feedback at the expense of presentation bias…
  • 88. Augment explicit feedback with random negatives
  • 89. 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
  • 90. Interesting fact… Ratio of to does not always correlate with user engagement!
  • 91. Step 3: Static song pools adaptively personalized as user interacts
  • 92. Should be Simple, fast, and instantly gratifying
  • 93. 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
  • 94. Step 4: Radio thumbs feed back into ensemble!
  • 96. Key Take Aways Implicit feedback used to train batch recommendation models Explicit 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 album Interaction needs to be simple, fast, and instantly gratifying to the user
  • 98. Insights - User perspective Positioning of interactive RS in a product is crucial to success Natural transition from browse and search to interaction Interactive RS needs to be lightweight.. Most users prefer lean-back experience Interaction means work —> instant gratification Evidence helps build trust and transparency Choice penalty How much input is needed and how many results to return
  • 99. Insights - Algorithmic perspective Need 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