music recommendation at spotify

38
Music Recommendation at Spotify HOW SPOTIFY RECOMMENDS MUSIC Frederik Prüfer xx.xx.2016

Upload: lemien

Post on 14-Feb-2017

238 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Music Recommendation at Spotify

Music Recommendation at SpotifyHOW SPOTIFY RECOMMENDS MUSIC

Frederik Prüferxx.xx.2016

Page 2: Music Recommendation at Spotify

• Introduction

• Explicit / Implicit Feedback

• Content-Based Filtering

• Spotify Radio

• Collaborative Filtering

• Discover Weekly Playlist

• Conclusion

2

Table of Contents

Page 3: Music Recommendation at Spotify

Formerly

3

Page 4: Music Recommendation at Spotify

4

Nowadays

Page 5: Music Recommendation at Spotify

Spotify

• > 100 Mio monthly active users

• > 30 Mio songs

• > 2 billion Spotify playlists

5

Page 6: Music Recommendation at Spotify

Spotify

„ We now have more technology than ever before to ensure that if you’re […]

doing something that only 20 people in the world will dig, we can now find those

20 people and connect the dots between the artist and listeners “ - Matthew Ogle

6

Sonnad, Nikhil. “The magic that makes Spotify’s Discover Weekly Playlist so damn good”. URL: http://qz.com/571007. [Online; last accessed June 2016]

Page 7: Music Recommendation at Spotify

Explicit Feedback Implicit Feedback

7

• Introduction• Explicit/Implicit Feedback• Content-Based Filtering• Collaborative Filtering• Conclusion

Page 8: Music Recommendation at Spotify

Explicit Feedback Implicit Feedback

• relies on the explicit input by

users

Actual Rating

7

Page 9: Music Recommendation at Spotify

Explicit Feedback Implicit Feedback

• relies on the explicit input by

users

Actual Rating

7

• extracted out of the users

behavior

Predicted Rating

Page 10: Music Recommendation at Spotify

8

Track: May 16

Artist: Lagawagon

Album: Let‘s Talk About Feelings

Release: 1998

Content-Based Filtering

Page 11: Music Recommendation at Spotify

9

3. Content-Based Filtering

Basic Idea:

Compare sets of features which represent the items in a meaningful way

Usage:

Spotify Radio

• Introduction• Explicit/Implicit Feedback• Content-Based Filtering• Collaborative Filtering• Conclusion

Page 12: Music Recommendation at Spotify

10

- Artist

- Album Cover

- Lyrical Meaning

- Audio Signals

- …

But which features to compare?

Page 13: Music Recommendation at Spotify

11

Figure 1. Audio Features for a Spotify-Track

Page 14: Music Recommendation at Spotify

The semantic gap in music

• the characteristics that affect user preference aren’t equal to the corresponding

audio signal.

• some properties are impossible to obtain from audio signals

12

Page 15: Music Recommendation at Spotify

Predictable Recommendations

13

Page 16: Music Recommendation at Spotify

Spotify Radio

Create a Radio Channel based on:

• Song

• Album

• Artist

• Playlist

14

Page 17: Music Recommendation at Spotify
Page 18: Music Recommendation at Spotify

Spotify Radio

• User plays radio -> load 250 nearest neighbors and shuffle

• Thumbs up -> Load more tracks from the thumbed-up song

• Thumbs down -> remove that song / re-weight tracks

16

Page 19: Music Recommendation at Spotify

Nearest Neighbors

17

May 16

Page 20: Music Recommendation at Spotify

Spotify Radio

• User plays radio -> load 250 nearest neighbors and shuffle

• Thumbs up -> Load more tracks from the thumbed-up song

• Thumbs down -> remove that song / re-weight tracks

18

Page 21: Music Recommendation at Spotify

Collaborative Filtering

19

Basic Idea:

What do other people (with a similar music taste) listen to?

Usage:

Discovery Weekly Playlist

• Introduction• Explicit/Implicit Feedback• Content-Based Filtering• Collaborative Filtering• Conclusion

Page 22: Music Recommendation at Spotify

20

B:A:

Page 23: Music Recommendation at Spotify

A very big matrix…

21

30mio items

100mio users

Page 24: Music Recommendation at Spotify

Nearest Neighbors

22

Person A

Page 25: Music Recommendation at Spotify

Implicit Matrix Factorization

23

Users

Songs

min𝑥,𝑦

𝑢,𝑖

𝑐𝑢𝑖 𝑝𝑢𝑖 − 𝑥𝑢𝑇 ∗ 𝑦𝑖

2 + λ(

𝑢

𝑥𝑢2 +

𝑖

𝑦𝑖2)

• 𝑝𝑢𝑖 =1, 𝑢𝑠𝑒𝑟 𝑢 ℎ𝑎𝑠 𝑙𝑖𝑠𝑡𝑒𝑛𝑒𝑑 𝑡𝑜 𝑠𝑜𝑛𝑔 𝑖

0, 𝑢𝑠𝑒𝑟 𝑢 ℎ𝑎𝑠𝑛′𝑡 𝑙𝑖𝑠𝑡𝑒𝑛𝑒𝑑 𝑡𝑜 𝑠𝑜𝑛𝑔 𝑖

• Goal : 𝑥𝑢*𝑦𝑖 = 𝑝𝑢𝑖

• 𝑐𝑢𝑖 : describes the confidence, that user u likessong i

• λ : regularization penalty to avoid overfitting

≈ X Yቐ

f

e

Page 26: Music Recommendation at Spotify

Alternating Least Squares

1. Initialize user & item vectors

2. Fix item vectors and solve for optimal user vectors

- Take the derivative of loss function with respect to user‘s vector,

set equl to 0 and solve

3. Fix user vectors and solve for optimal item vectors

4. Repeat until convergence

24

Page 27: Music Recommendation at Spotify

25

B:A:

Page 28: Music Recommendation at Spotify

26

The Harry-Potter Effect:

Page 29: Music Recommendation at Spotify

26

The Cold-Start Problem:The Harry-Potter Effect:

Page 30: Music Recommendation at Spotify
Page 31: Music Recommendation at Spotify

Discover Weekly Playlist

28

Page 32: Music Recommendation at Spotify

Discover Weekly Playlist

29

Spotifyfinds songs

that fit your

profile

DiscoverWeekly Playlist

- ….- ….- ….- ….- ….- ….- ….

Spotifyidentifies

similarsongs

Develops„Taste

Profile“

You listen toand save songs

Other users createbillions of Playlists

Page 33: Music Recommendation at Spotify

30

Figure 2. The Spotify Blob

Page 34: Music Recommendation at Spotify

Conclusion

Music Profile Content

Other Songs Content

31

Content-Based Filtering

• Introduction• Explicit/Implicit Feedback• Content-Based Filtering• Collaborative Filtering• Conclusion

Page 35: Music Recommendation at Spotify

Conclusion

Music Profile Content Music Profile Other users

Other Songs Content Songs they listened to

31

Content-Based Filtering Collaborative Filtering

Page 36: Music Recommendation at Spotify

Conclusion

32

Page 37: Music Recommendation at Spotify

References

• Balabanović, Marko, and Yoav Shoham. "Fab: content-based, collaborative recommendation." Communications of the ACM 40.3 (1997): 66-72.

• Bernhardsson, Erik. “Recommendations at Spotify v4” [Presentation Slides], URL: http://de.slideshare.net/MrChrisJohnson/algorithmic-music-recommendations-at-spotify, [Online; last accessed June 2016]

• Bernhardsson, Erik. “Nearest neighbor methods and vector models – part 1“. URL: https://erikbern.com/2015/09/24/nearest-neighbor-methods-vector-models-part-1/. [Online; last accessed June 2016]

• Dieleman, Sander. “Recommendig music on Spotify with deep learning”. URL: http://benanne.github.io/2014/08/05/spotify-cnns.html August 05, 2014 . [Online; last accessed June 2016].

• Hu, Yifan, Yehuda Koren, and Chris Volinsky. "Collaborative filtering for implicit feedback datasets." Data Mining, 2008. ICDM'08. Eighth IEEE International Conference on. Ieee, 2008.

• Koren, Yehuda, Robert Bell, and Chris Volinsky. "Matrix factorization techniques for recommender systems." Computer 8 (2009): 30-37.

33

Page 38: Music Recommendation at Spotify

References

• Pazzani, Michael J., and Daniel Billsus. "Content-based recommendation systems." The adaptive web. Springer Berlin Heidelberg, 2007. 325-341.

• Spotify Developers. Audio Features [Table File]. URL: https://developer.spotify.com/web-api/console/get-audio-features-track/#complete. [Online; last accessed June 2016]

• Spotify Webpage. N.p. URL: https://www.spotify.com/de/. [Online; last accessed June 2016]

• Statista. N.p. URL: http://www.statista.com/statistics/244995/number-of-paying-spotify-subscribers/. [Online; last accessed June 2016]

• Steck, Harald, van Zwol, Roelof, Johnson, Chris. “Interactive Recommender Systems” [Presentation Slides], URL: http://de.slideshare.net/MrChrisJohnson/interactive-recommender-systems-with-netflix-and-Spotify, [Online; last accessed June 2016]

• Sonnad, Nikhil. The Spotify Blob [Image File]. URL: http://qz.com/571007. [Online; last accessed June 2016]

• Van den Oord, Aaron, Sander Dieleman, and Benjamin Schrauwen. "Deep content-based music recommendation." Advances in Neural Information Processing Systems. 2013.

33