Implementing your own recommender systems in Python
online.cambridgecoding.com
online.cambridgecoding.com
Ipython notebook used: https://s3-eu-west-1.amazonaws.com/com.cambridgecoding.stude...
Spotify tries to accommodate this by offering curated playlists based on moods, but knowing a user's mood to make that type of recommendations is hard. (it's a bit intrusive for a music streaming service to ask you how you feel every time you start it up)
I listen to very different music during working hours, during a commute, and near bed time, for example.
What kind of instruments are used? What key is it in? What structure is the song in? i.e does it have a standard format, is it prog, is it a symphony etc What language is it in? What Rhythms are used?
That information, used properly, should be able to actually recommend music that the listener enjoys, not just guesswork that is usually rubbish. The Spotify algorithm for example...
You're a fan of a local band, listen to them a lot. This band is sampled, and actually praised, by a Korean rap artist. Suddenly thousands of Koreans are listening to it. Will the recommender system now recommend Korean rap to you?
Most recommender systems will.
And people that like lots of viral songs should get Gangnam Style recommended.
I think most recommendation systems can cluster similar users together, and so avoid your problem. But I think very few recommendation systems do "exploration" instead of "exploitation". Ie just recommending whatever you are the most likely to like, and never trying new things.
If you want to get real fancy you can use variants in combination with the uncentered Pearson correlation including variants of KL distance to RV distance calculations if you can fit your such that those become effective.