We are essentially trying to draw a line between the embeddings of the two songs and find "close" songs to points along that line. This should give us a somewhat smooth transition - at least that's the hope.
I suspect some of it may be that we are using a euclidean line through the vector space, but using cosine distance for similarity. We're still trying to get the hang of using the vectors to build a smooth transition between songs.
We are also tuning our model and training variables, as well as pulling in more playlists, which should help (I hope).
We used thousands of Spotify playlists to train on, but obviously more popular genres are going to be heavily represented. For rarer songs, it may not pick up on the association between two songs.
We are still trying to tune our heuristics and scrape more playlists, which should help it to learn rarer songs better.