Every Monday, hundreds of millions of Spotify users find a new personalized playlist called Discover Weekly waiting for them …
This is a very magical arrangement proposal of a special 30 songs that they have never heard before but will probably love…
I’m a real fan of Spotify, however most of all Discover Weekly …
WHY???
More than just offering something new, it makes me feel seen and recognized as a customer…
It knows my musical taste and preferences better than any person in my life…
And it comes up with a piece suggestions that I will probably never find it myself,
And even with the ones I do not indeed have the awareness to find, but surprisingly all are consistent with my personal preferences…
So how does Spotify do such a great job of choosing these 30 songs for each of its users each and every week?
And when compared to all other music service providers, have you ever wondered how Spotify can implement this service much more successfully than any other???
In fact, it was not Spotify that took the first step to go with some suggestions to the user for sure…
As early as the 2000s, similar services were offered by different service providers; however it had been managed manually in the beginning, and after a while some simple algorithms had been began to be used…
In this process, the radical step towards personalized music came from a “music intelligence agency” from MIT Media Lab called The Echo Nest …
Echo Nest used some mixed algorithms to analyze the audio and textual content of the music, allowing for groundbreaking improvements such as music identification, personalized recommendation, playlist creation and analysis…
Last FM was one of the first service providers to implement collaborative filtering…
So what makes Spotify so different from others and makes its recommendations so accurate?
Spotify doesn’t actually use only a single revolutionary recommendation model…
As if preparing a Mojito that comes out of the skillful hands of a master bartender, it actually blends different ingredients in a reasonable and correct ratio…
Spotify is a service provider that has managed to combine some of the best strategies used by other services to create their own uniquely powerful discovery engine…
There are three main types of recommendation models Spotify uses to create Discover Weekly:
- Collaborative Filtering Models, are models that analyze the behavior of both you and others (that is, the model that LAST FM originally used)
- Natural Language Processing (NLP) models that analyze text
- Audio models that analyze raw audio tracks in addition to these two
Collaborative Filtering:
When you hear the definition of “Collaborative Filtering”, it is Netflix that usually comes to mind first…
Because Netflix was one of the first companies to use this method to strengthen a recommendation model, and it takes users’ star-based movie ratings to inform the situation…
The goal is to understand which movies to recommend to other similar users…
After Netflix succeeded in the Collaborative Filtering model, its use has spread rapidly and is now often the starting point for anyone trying to build a recommendation model…
Unlike Netflix, Spotify does not have a star-based system where users rate their music,
However…
Instead, Spotify’s data is a form of implicit, indirect feedback; it analyzes all additional stream data such as the number of streams of tracks, repetitive listening rates, a user saving the track to their playlist, or visiting the artist’s page after listening to a song…
So what does this mean to us???
Each of these people has a preference for a piece: the left one likes the A, B, C and C pieces, and the right one likes the B, C, D and E pieces…
Collaborative Filtering interprets this data as follows:
“Hmmm… you both like three of the same tracks in common, they are B, C and D – so you’re probably users of similar profile…
Therefore, each of you will likely enjoy other pieces that the other person is listening to that you haven’t heard yet.
In this way, he suggests that the right one should check the A piece, which is the only piece not mentioned in the joint analysis, but that the “similar” colleague likes, and the left one should check the E piece for the same reason …
So how does Spotify use this concept in practice to calculate recommended tracks from millions of users based on millions of other preferences?
And here comes matrix mathematics comes into the game…
Actually, there is a huge matrix here …
Each line represents one of Spotify’s 140 million users; so each Spotify user is a row in this matrix…
And each column represents one of the 30 million songs in Spotify’s database…
As a result of the analysis, two vectors represented by X and Y are obtained:
- X is a user vector representing the taste of a single user,
- Y is a song vector representing the profile of a single song
Now we have 140 million user vectors and 30 million song vectors…
The real content of these vectors is actually a bunch of numbers that are actually meaningless on their own, but quite useful when cross-comparing them….
Collaborative Filtering compares my vector to all other users’ vectors to find out which users’ musical tastes are most similar to mine, and finally finds which users are the closest match…
The same is true for vector Y, songs:
Compare the vector of each song with the others and determine which songs are most similar to the song in question….
While the collaborative filtering did a pretty good job, Spotify knew they could do better by adding another engine: an introduction to NLP…
NLP (Natural Language Processing):
Another type of recommendation method Spotify uses is NLP models…
The source data for these models, as the name suggests, are normal old and familiar word sets.
For this purpose it tracks metadata, news articles, blogs and all other texts on the internet….
NLP, which is the ability of a software to understand human speech, is a very wide field in itself…
I can only summarize so much of what I’ve read…
This creates a very detailed analysis of which adjectives and which language are frequently used in reference to artists and songs, as well as which other artists and songs are also discussed….
Spotify constantly scans the entire internet to understand what people are saying about artists and songs…
Briefly gathers some sort of intelligence…
Then, just like collaborative filtering, the NLP model uses these terms and weights to create a vector representation of the song that can be used to determine whether two pieces of music are similar…
Really impressive; isn’t it???
Raw Audio Models:
The first question may come to mind: “There is already a lot of data from the first two models; Why is there a need to analyze the raw sound itself?
First of all, adding a third model further improves the accuracy of the music recommendation service…
But this pattern also serves a secondary purpose: unlike the first two genres, raw sound models take new songs into account…
Take for example a song that a singer-songwriter put on Spotify…
Maybe it only has 50 listens, so there will only be a few other listeners to collectively filter…
Also, since it’s not mentioned anywhere on the internet yet, NLP models won’t consider it…
Whereas, the raw sound models don’t distinguish between new tracks and popular tracks, so all other songs along with popular ones can make it into the Discover Weekly playlist!
But how can it analyze raw audio data that seems so abstract?
Here it is managed with the system called Convolutional Neural Networks…
It’s basically the same technology used in facial recognition software…
In the Spotify example, they’ve been modified to be used in audio data instead of pixels.
Here is a complete example of neural architecture…
As a result, reading the key features of the song in this way allows Spotify to understand the key similarities between the songs and therefore what users might enjoy based on their own listening history….
So let’s answer our title question:
Is Spotify getting tips about us by listening to media???
Exactly NO !!!
It is a much more complex chain of systems than simply listening, and in fact it analyzes much more information than it can receive in such a way…
In fact, Spotify is doing its best to improve the customer experience with personalized services by mining Big Data !!!
You may also find interesting: