3 ms·
I did see it! I haven't looked into it deeply yet, but I think it'll be valuable for later when I need to make the algorithm scale better.
by jacobobryant 7y ago
I did see it! I haven't looked into it deeply yet, but I think it'll be valuable for later when I need to make the algorithm scale better.
- p1esk 7y agoTo me it seems like a recommendation can be based on two main factors: objective similarity (distance in some space, or matching some features), and the statistics from users who connect two pieces together by liking both. It's not clear how to balance them.
- jacobobryant 7y agoIn practice I think objective similarity ends up being a form of the latter, i.e. basically the average of all user's preferences. The plan with Lagukan is to have a hierarchical model that'll default to the objective/averaged similarity but then shift over to a more individualized model as data is collected on the given user. (Actually, it already contains a hierarchical model like this, but it's used for adapting to the user's current mood, not for recommending new music)
- p1esk 7y agoWait, are you saying you don't currently use any objective similarity metrics (distance or feature based) in your model?
- jacobobryant 7y agoNot directly. It starts out doing random shuffling over your existing collection (local mp3s, spotify playlists and spotify saved tracks), and then uses your skipping data to build the model. If you've got a spotify premium account, it'll use spotify's recommendation API to occasionally mix in new songs based on your current listening session. Presumably their API uses objective metrics.
- p1esk 7y agoDo you see the value of incorporating objective similarity metrics into your recommendation engine? I don't know if you can tap into something like Gracenote API, but I'm sure it would improve the quality of your recommendations.
- jacobobryant 7y agoYeah, I'm planning to integrate as many metrics as I can. The key thing is just that the system has to be able to adapt on the fly. So Lagukan will have all these different inputs/different recommendation engines, but it'll only use them as hypotheses to be tested rather than the final word. As we get more data about an individual user, the system will figure out how effective the different engines are for that particular user. So it's on the roadmap for sure. I'm hoping to get more scaffolding up so I can have some kind of revenue stream, and then I'll start to iterate much more heavily on the algorithm.