20
Personalized Playlists @ Spotify Rohan Agrawal RE-WORK Machine Intelligence Summit New York Nov 2, 2016

Personalized Playlists at Spotify

Embed Size (px)

Citation preview

Page 1: Personalized Playlists at Spotify

Personalized Playlists @

Spotify

Rohan Agrawal

RE-WORK Machine Intelligence Summit• New York• Nov 2, 2016

Page 2: Personalized Playlists at Spotify

Spotify in Numbers• Started in 2006, now available in 59

markets• 100+ Million active users• 30 Million + tracks• 20,000 new songs added per day• 2+ Billion user generated playlists

Page 3: Personalized Playlists at Spotify

What to recommend?

Page 4: Personalized Playlists at Spotify

Personalization @ Spotify

‣ Features: • Discover Weekly • Release Radar • Discover Page • Playlist

Recommendations • Radio • Concerts

Recommendations …

Page 5: Personalized Playlists at Spotify

Focus on track recommendations

‣Discover Weekly

‣Release Radar

Page 6: Personalized Playlists at Spotify

Our ML Models seem to be working!

Page 7: Personalized Playlists at Spotify

Today, we’ll talk about 3 types of models

‣ Latent Factor Models

‣ Deep Learning Audio models

‣ NLP models (which are also latent factor models …)

Page 8: Personalized Playlists at Spotify

Lets start off with Latent Factor Models“Compact” representation for each user and items(songs): f-dimensional vectors

Rohan Track a

.. . . . .

.. . . . .

.. . . . .

.. . . . .

.. . . . .

.. .

.. .

.. .

.. . . .

.. .

.. .

.. .

.. .

. .mUsers

SongsUser Vector Matrix: X: (m x f) Song Vector Matrix: Y: (n x f)

Page 9: Personalized Playlists at Spotify

If we were to visualize a few Artist Latent Factors

Page 10: Personalized Playlists at Spotify

Implicit Feedback (Hu et al. 2008)

‣ If a user u, listens to an item i, dot product of the user vector and item vector should be as close to 1 as possible.

‣ Also takes into account confidence of a user liking an item i

‣ Solve with Alternating Gradient Descent or Alternating Least squares.

Page 11: Personalized Playlists at Spotify

Logistic Matrix Factorization (Johnson 2014)

‣ Model the probability of a user clicking on an item as the logistic function.

‣ Maximize the likelihood of observations R, given ….

Page 12: Personalized Playlists at Spotify

Recent Advances in MF

‣ Different loss functions (rank loss)

‣ Use of side information (demographics, metadata)

‣ Use of context (where, when)

‣ Deep Learning CF models

Page 13: Personalized Playlists at Spotify

Deep Learning on Audio

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

Page 14: Personalized Playlists at Spotify

Document : User Session

Word : Song

NLP Models For Recommendations

Page 15: Personalized Playlists at Spotify

Word2Vec (Mikolov et al. 2013)

‣ Each word / track has an input and output vector representation.

‣ Output is a vector space with similar items living close to each other in cosine distance. (and awesome vector algebra property)

Softmax

skipgram

Page 16: Personalized Playlists at Spotify

Sequential Data? RNN ?

‣ Output layer is same as word2vec, softmax. Make a prediction of the next item based on hidden state

‣ Recurrent connection

‣ Learning output weights and b’s for each item

https://erikbern.com/2014/06/28/recurrent-neural-networks-for-collaborative-filtering/

Page 17: Personalized Playlists at Spotify

User Representations?

‣ Word2vec can output word / track representation but what about user representations.

‣ Simple Aggregation (Bag of words) ?

Averaging problems

‣ Doc2Vec ?

Retrain every time there is new user activity

‣ Clustering?

Losing vector addition information

‣ Learn user vector through RNN ?

Page 18: Personalized Playlists at Spotify

Another RNN approach

‣ Assume item vectors are fixed

‣ Try to learn the next item vector in the sequence

‣ Long term intents, train RNN to predict longer ahead in the future

Page 19: Personalized Playlists at Spotify

Challenges, what lies ahead

Side information in embedding models, remove regional biases, external genre information, lyrics, Facebook / Twitter account data, [ cover art, who knows :) ]

Deep Learning

Transfer Learning

Outlier Detection

Page 20: Personalized Playlists at Spotify

Thank You!You can reach me @Email: [email protected]: @rohanag

20