In the introduction was mentioned, that recommendation engine can predict user’s preferences and so save his time. The system can do this based on what users have previously shown to be attracted to (what users like the most), what users similar to them have liked before (users are divided into multiple segments based on their preferences) or a mix between the former options. By collecting all these data, we can have information that is relevant for their interest selected.
The recommendation system becomes more accurate as the number of items rated by users increases. Also, the more precise the engine is, the more users will be encouraged to use it. As a result, is seems that building a valid system is a decisive task.
A Recommendation System is a scheme that predicts the item rating of a user and, by doing so, can choose the best option for him or her.
There are two main approaches: collaborative filtering (CF) and content-based (CB). In the former, CF, recommendation is based on ratings from users similar to the current one. In the later one, CB, recommendations are based on item descriptions the user previously rated.
Both approaches have pros and cons.
CF suffers from cold start problem. It rises when a new item is released, no user has previously rated it so the system will not recommend it, or when there is a new user who has not rated any item, the system cannot compare to any other user. Also, finding a set of users likeminded is not always an easy task as the probability of having several users rating the same items is low. CB lacks in novelty and needs to save content description for each item.
But the recommendations uncovered by CF are serendipitous. However, for CB the cold start problem is solved by making new user fill a short survey.
Efforts have been made to combine both approaches in several ways in order to minimize the drawbacks. These techniques include switching between the two approaches, weighting the output of both schemes, using them in cascade, etc.
Bayesian networks become very useful when thinking about modelling our Recommendation system. A Bayesian Network is a directed acyclic graph where the nodes represent a set of random variables and the arcs depict direct dependencies between the variables. The strength of the relationship between them is quantified by conditional probability distribution associated with each node.