Knowing which song you also might like seems to be quite difficult. Especially if you don’t want to hear the same songs over and over again.
One solution might be to evaluate the playlists of radio stations and DJ sets. It allows you to not always chose the best matching path, but also some “unusual” path.
In my mind you first have to build a graph where the nodes are the songs and the edges the number of times on song follows another.
“Red Hot Chili Peppers - Charlie” ->1293 “R.E.M. - Losing My Religion”
Meaning: “R.E.M. - Losing My Religion” was played 1293 times after “Red Hot Chili Peppers - Charlie”
Next steps would be: