Job of a recommender
At the root level, the job of a recommender is to automatically predict how much a user will like an item.
The input for a recommender can be:
- Past behavior
- Relation to other users
- Item similarity
The core of recommendation system can be dialed down to a data mining problem.
The main requirements for recommender systems are:
- Serendipity - recommend good new items that are different from my direct taste
- Diversity - recommend different type of items
- Explanation - ability to explain any given recommendation
- User Interface - conveying the recommendation to user in a friendly way
When you start looking into recommender system papers, there are two types of feedback classifications that are mentioned regularly:
When I go and rate an app 4.5 star on the app store, that is an explicit feedback.
Keeping the same analogy, when I search for an app on the app store and I click on an app in results and then return back immediately, that’s an implicit feedback that the app I saw was not what I was looking for.
Evolution of recommender systems
The recommender systems can optimized to accurately predict the rating users was going to give to any given item. This gave rise to the famous million dollars Netflix Prize competition.
But as time evolved, the relevancy of optimizing for ratings reduced. Case in point is that users are less likely to give explicit feedback as compared to implicit feedback in new products. There are tons of implicit signals all across products, which make them much more exhaustive and important data.
Learning to rank
Learning to rank aims to apply machine learning to create models for ranking data. More concretely, given a training data that consists of lists of items in some order, the ranking model’s purpose is to rank/reorder the items in new, unseen lists in a way which is “similar” to rankings in the training data in some sense.
Types of recommenders
Problems with different recommenders
Google Scholars has a comprehensive list of authors with influential papers in the field of recommender systems.