Hacker News new | ask | show | jobs
by aljgz 694 days ago
In the age of internet, engagement optimization and recommendation algorithms create a new way that we are affected by the behaviour of others.

That annoying dark pattern on a piece of software you use? Because there are people who fall to it, clicking on an ad or "engaging" more. That stupid show that keeps being recommended to you? Because a lot of people just sit on the couch, watching something on the list that does not need too much mental processing.

I have a peculiar taste in Music. I love many many different types of music, but once I find a really good piece, I'm not interested in things that are very similar to this one. Looks like if we describe musical work with high dimensional vectors, I like to find good vectors that are not too close to each other. But as the author said, Spotify keeps showing me music that's similar to what I've listened. That's exactly what I don't like (with the occasional exception of something being better than the one I've already found and replacing it).

I assume I belong to a peculiar minority. The recommendation algorithms work very well for predictable majorities.

Maybe someday we have an interesting "musical embeddings" model, and then people can implement personalized discovery algorithms using that?

10 comments

I'm not sure how the Spotify recommendation algorithm works at all, but for some reason I imagined them doing fancier things than looking at my liked songs and finding similar ones. I would've thought they'd build a profile of you, and then find similar user profiles and show you songs those folks liked that you hadn't found yet.

That's gotta be how they do it, right? I'm probably wrong.

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.

"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.]

I feel those are how Pandora and Last.fm (used to?) work respectively. Nowadays everything seems to just put a bunch of tags on a track and suggest you things with the same tags to the tracks you liked. Doesn't even need to match the same combination of tags, just some number of them. The problem is, you probably care about the small, specific tags, and the system cares about wide "popular" tags. If you like a couple niche genre covers of songs that happen to be featured in TV openings/OSTs, you are not getting more songs in that genre - you are getting a bunch of covers and OSTs.
I wish I had a music recommendation service built on Pandora's immense dataset of music tags that could build me a playlist that I could link back to whichever music service I happen to be using at the time. I could have it do things like require at least 3 tags in common between adjacent tracks such that it could jump around between 2 dozen genres but the transaction between any 2 given tracks isn't too jarring. It'd also be nice if I could tell it to make a playlist where every song shares one particular tag in common.

Maybe I'll build that. Sure would be nice to have.

The primary advantage of Pandora's algorithm is the human-labelled Music Genome database. I haven't seen any other company do music discovery as well as Pandora, and don't expect that to change any time soon.
Right? I feel like it might be worth licensing access to the Music Genome db and building a small business off of that
I have no specific insider knowledge, but a decade+ ago they bought a company called the Echo Nest that was developing some of the best audio signal analysis algorithms around, I assume much of that influenced their recommender system.

Nowadays, they have a quite busy research department so I would imagine that recommendation is quite fancy indeed: https://research.atspotify.com

Glenn McDonald, formerly of the Echo Nest and Spotify, has a new book that talks a lot about music recommendations.

https://www.canburypress.com/products/you-have-not-yet-heard...

If you have any taste at all other than "maximally dissimilar to anything I have liked before," there should be a feature that predicts songs you would like.

If your taste is exactly "maximally dissimilar to anything I have liked before," that's actually pretty easy to calculate from the embeddings as well.

It didn't sound like op wanted maximally dissimilar from what they've liked before, but instead maximally dissimilar from what they've listened to recently.
Either way, a preference for novelty can be measured. They also let you edit your Taste Profile it seems: https://support.spotify.com/us/article/your-taste-profile/
> I'm not interested in things that are very similar to this one.

Are you sure this is an accurate description of your taste? Or do you mean "I'm not interested in things that are similar, but lower quality"?

I'm very much a weird-music enjoyer, and I often have the latter problem where "similar" songs actually just don't capture the same vibe as the truly engaging new song I just heard. But that's not because the algorithm is choosing music that's too similar; it's the opposite. It's trying to choose something similar but can't, so it just picks the next-best thing which I actually don't like.

You do belong to a minority! Most people prefer the same music. All roads lead back to Katy Perry for the majority.
Instead of relying on things like "Playlist made for you" I still like leveraging the algorithm to discover "new vectors" by actively going to a song that some aspect caught my attention and going to its radio (only tried on Spotify). Sometimes I'm surprised with new soundscapes.
> Looks like if we describe musical work with high dimensional vectors, I like to find good vectors that are not too close to each other.

It's the classic problem of "Ok, but how do I sort these by which ones are actually any good?!"

Yess! Thank you for commenting. I am very interested in this topic. Please do share with me if you find any interesting ways to explore new music for your taste
Same as GP. It takes times. Unless it’s party mode, I only listen to albums. To find new music, it takes time mostly. I decide to listen to a new genre and I seek a playlist or a compilation curated by someone. If I find someone I like, I check their albums. I also checkout the recommendations on bandcamp (people vote with their wallet there). Then there are forums and polls, and I may decide to try something out of the blue.

The more you curate, the more you define your own taste. It’s then easier to describe what you like in a music and triage.

This probably won't work for most people, but as I mostly like metal, I simply check all metal releases that seem slightly to my tastes according to the subgenre. Then when this sampling seems at least somewhat positive, I play the full album after release. That usually ends in sampling songs from 30 albums, listening to ten albums, and buying 1-2 every Friday. Never had an algorithmic recommendation system that worked for me.
local record store. talk to the people who work there, tell them the 5 albums you’ve been hooked on lately.

at the end of the day no matter how many times we beat our heads into the same wall, we’re not even close to an accurate discovery model, music nerds are far better at recommendations than any discovery models. far better.

don’t let their insufferability discourage you. you will be too once you start diving into and going on rants about music which is outside of mainstream fluff. it’s like this with any $subject involving wonks. we’re insufferable to anyone who isn’t into our particular genre of technology. food wonks are insufferable, car geeks are insufferable, gamers are insufferable. that’s ok, if you’re looking for someone who is a geek in a topic, you’re likely to become one too :p just be normal around $subject non-wonks and you’ll be fine.

but yeah, music nerds working in a good record store really do know their stuff.

other places:

- music nerd streams on twitch

- music reviewer youtube channels

- college radio stations (most have an online presence) 770 radiok out of minneapolis is incredible

- kexp out of seattle is absolutely amazing (they’re heavily online as well.)

- just about every mid+ sized city has some amazing radio, usually found in the low FM areas.

at the end of the day though, it’s other people. there are far too many variables for every individual which drives why they may or may not like a song at any given moment. other humans are still absolutely unmatched when it comes to navigating this.

> local record store. talk to the people who work there, tell them the 5 albums you’ve been hooked on lately.

Unless your interests are niche. A fun game I used to play as a teen was going with my parents to the record store and seeing if they had any music I listened to online while my parents shopped. Never found a single CD (but they couldn't be that niche, this story is about bands I found out about from my friends at school!). Employees tried to be helpful, but there's only so much they can do when someone comes in and asks for a list of bands they've never heard of.

last.fm & the likes, friends recommendations, asking every guest to put songs in the playlist if I have a party at home
I agree strongly. Listen to the radio stream for any reasonably niche artist (especially if they have had a single "hit") and you will be treated to 3 or 4 different mixes of the same song within the first hour. For some purposes Spotify is just unlistenable.
You aren't the only one. The algorithm recommends overplayed songs that may be related but I don't ever want to hear again.

Maybe these music services should ask you for music you hate, and start from there instead.

This is one of my main complaints. Back when Google Play Music was still a thing, I uploaded my library of ~30k tracks that had been ripped from the massive binder of CDs I'd accumulated over the years, plus stuff from friends, stuff I got off torrents to replace albums I'd already bought on tape, etc.

They have a huge sample set of stuff I like just from that (it's still accessibly via YouTube Music, but it sucks). Still, any time I fire up YouTube Music and play a song, the next 2 or 3 can be solidly appropriate and often stuff I wouldn't have thought to play - in a good way.

Then there's a sharp decline where it just starts playing the same thing it played last time or the most common song off the most popular album from the most well known artist adjacent to what played previously.

The whole reason I use the "algorithmic feed" is because it should be optimized for my tastes and what will keep me listening. I still "thumbs-up/down" stuff but it never seems to work. You would think with their insane library and huge dataset of my prefs and listening data they'd be able to generate something great.

Instead I just go back to the human programmed Shoutcast stations I have bookmarked after a few songs.

The same for me. Nowadays i make my own songs using Udio and i upload 'em to YT. It is unlikely i will ever listen to suggested songs ever again, by any service.