Skip to main content



Strong Ties and Spotify’s Recommendation Algorithms

https://medium.com/s/story/spotifys-discover-weekly-how-machine-learning-finds-your-new-music-19a41ab76efe

This article by Medium covers three different processes that have built up Spotify’s song recommendation algorithms. These three processes laid out in the article are Collaborative Filtering, Natural Language Processing, and Raw Audio Models. Collaborative filtering essentially involves comparing users’ song preferences by building matrices where each row is a user and each column is one of 30 million songs in Spotify’s library. After a bunch of math, a user vector, X, and a song vector, Y, are outputted. User vectors of different people can be compared to determine whether two users are similar—and would therefore enjoy similar songs. Also, song vectors can be compared to determine whether songs are similar. Natural Language Processing involves Spotify scraping the web for keywords about artists and their songs, and then Spotify’s algorithms assign a score or weight to each artist and song. These weights then create a vector representation of a certain artist or song which can then be used to determine similarity. The final process, using raw audio models, involves using neural networks and the audio profile of a song. The neural network analyzes various characteristics of a song with the goal of understanding characteristics like time signature, key, loudness, and others. With this data, similarities between songs can be determined. This process is often used for new artists’ songs because there would not be enough data to use the two previously mentioned processes.

Two of these processes involve ideas similar to the Strong Triadic Closure Property described in class. The first, collaborative filtering, involves using nodes of two different types: users and songs. With nodes as songs and edges as degree of similarity, it could be suggested that if a song has strong ties to two other songs (very similar) then those two songs would have some sort of tie to each other (meaning they are similar in some way). Another way this could be used is with user nodes. If user, A has strong ties to users B and C (meaning user A has similar taste to those two other users), it could be suggested that users B and C would enjoy each other’s music too.

The raw audio model also uses the STCP model. If one song, A, has a strong tie to songs B and C (meaning a similar song profile determined by the neural network), then most likely songs B and C would have a tie between each other (they would be similar sounding songs as well).

With all of this data present it is easy to see why Spotify’s recommendation platform is so accurate.

Comments

Leave a Reply

Blogging Calendar

September 2019
M T W T F S S
 1
2345678
9101112131415
16171819202122
23242526272829
30  

Archives