– Recommendation systems employ various filtering techniques. The most renowned
include content-based, item-based, or user-based approaches. Let’s review some
traditional techniques applied to song recommendations using those approaches.
– The content-based one identifies songs that share similarities with those already liked by
the client, relying on a set of selected features.
– In this technique, a predefined set of features is employed to establish an
“objective” similarity metric between songs. However, our goal is to conduct a
more subjective analysis, adapted to each client.
– The user-based one aims to discover similarities between users based on their liked or
disliked songs, subsequently recommending songs from users who exhibit the highest
similarity.
– Unlike content-based, this approach adapts directly to each client, evaluating the
similarity metric between the client and other users.
– The recommendation’s accuracy may be impacted by the lack of control we have
on the songs we decide to pool from our selected set of close users
– The item-based one detects similarity between songs based on how frequently liked or
disliked together by a specific group of users, suggesting songs similar to the ones
appreciated by the client.
– This approach can also be adaptive if we consider our set of users as a
hyperparameter to be fine-tuned.
– The recommendation’s accuracy depends on the user group of user upon which
we base our analysis
– For the latter two techniques, the similarity analysis is computed out of a user-item
matrix that reflects the preferences of those users, generally expressed by likes and
dislikes, or rating.
– We then compare the vectors of this matrix to extract similarity values between users
and songs , that we will use to predict the rating or liking of songs that our client hasn’t
listened to yet.
– For this purpose we often use basic vector similarity metrics like pearson distance,
euclidean distance or sin/cosin similarity.
– For those different similarity metrics we need vectors that reflects the preferences of the
users. Which means we need to have a minima, a sense of what songs our user prefer
over the others. This can be expressed as a grade rating or as a binary liked/disliked
rating.
– Unfortunately in our case, we only know when a song was liked, but not when disliked,
or even ignored (which could have been a good alternative to “dislike”).
– This partial feedback is gonna lead to an incomplete similarity analysis.
– To get around this issue we need to define new similarity metrics and use them to
develop our own user based and item based techniques.
– We will even try to combine those two approaches into a unified model in order to reduce
the impact of both of their flaws.
– Additionally, we will incorporate feedback analysis to enhance our recommendations
continually, based on client feedback (including likes and dislikes from previous
suggestion batches).