Tuesday, November 3, 2015

What is a recommender system?

(excerpt from my new book)

Recommender systems produce a list of recommendations such as news to read, movies to see, music to listen, research articles to read, books to buy, and so on and so forth. The recommendations are generated through two main approaches which are often combined

  • 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: 
  1. 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 
  2. 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.
Recommenders have generally to deal with a bootstrap problem for suggesting recommendations to new unseen users for whom very few information about their tastes are available. In this case a solution could be to cluster new users according to different criteria such us gender, age, location and/or to leverage a complete set of signals such as time of the day, day of the week, etc. One easy approach is to recommend what is popular where the definition of popularity could be either global or conditioned to few and simple criteria.

 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.

No comments:

Post a Comment