Hacker News new | ask | show | jobs
by madmountaingoat 687 days ago
I don't work at Spotify anymore and I didn't work on the tech I'm describing, but I picked up a bit about what was going on while there.

First, there is/was no single algorithm, but the core ideas driving a lot of recommendations is:

1. Create user taste vectors

2. Match those vectors to other users or collections of tracks

3. Use that information and combinations of other things to find recommendations.

Each step of the process is constantly being experimented with. Different custom playlists might be using a different combination of tech doing those basic steps.

2 comments

"Other things" including intentional commercial biases presumably?

No matter what I do in Spotify, under several different rounds of accounts, it always seems to gravitate towards the tastes of the general public, i.e. some form of mass-market pop.

Their recent "ai" assistant was a slight improvement because you can ask it for less popular music which is typically better for music discovery.

So collaborative filtering?
Collaborative filtering is similar but for huge recommender systems they’re not going to create a huge MxN matrix where M is users and N is items. I think what they’re referring to would be called a “two tower” model where you have a learned vector for the user, a learned vector for the song, and the cosine similarity is their affinity. It’s pretty performant because you can cache the song vectors.
Google has a great free online course on Recommendation Systems that goes through the various common approaches, with working code in Colab notebooks: https://developers.google.com/machine-learning/recommendatio...

[Disclosure: Work at Google, but not on that. Just thought that course was particularly well-designed.]