- Collaborative filtering approaches learn a model from a user's past behaviour (items previously purchased or clicked and/or numerical ratings attributed to those items) as well as similar choices made by other users. The learned model is then used to predict items (or ratings for items) that the user may have an interest in. Note that in some situations rating and choices can be explicitly made, while in other situations those are implicitly inferred by users’ actions. Collaborative filtering has two variants:
- User based collaborative filtering:user’ interest is taken into account by looking for users who are somehow similar to her. Each user is represented by a profile and different kinds of similarity metrics can be defined. For instance, a user can be represented by a vector and the similarity could be the cosine similarity
- Item based collaborative filtering: user’s interest is directly taken into account by aggregating similar classes of interest
- Content-based filtering approaches learn a model based a series of features of an item in order to recommend additional items with similar properties. For instance, a content based filtering system can recommend an article similar to other articles seen in the past, or it can recommend a song with a sound similar to ones implicitly liked in the past.
More sophisticate recommenders can also leverage additional structural information. For instance an item can be referred by other items and those can contribute to enrich the set of features. As an example, think about a scientific publication which is referred by other scientific publication. In this case, the citation graph is a very useful source of information for recommendations.