Primer: Recommender Systems

posted on May 11th, 2020

The modern era of recommender systems (RS) research is largely considered to have begun in the mid 1990's with projects such as GroupLens [1] and Tapestry [2]. Since that time the field has seen rapid growth in terms of applications and techniques. An early and important survey in the field says that the defining characteristice establishing RS as its own field was the focus on user ratings of items [3]. More recently however, authors have tended to define the field simply as the study of statistical relationships between users and items [4-8]. This later definition creates room for important sub-topics within RS such as knowledge-based systems and association rules.

Taxonomy of Techniques

Within the RS corpus there is relative agreement over the following taxonomy [5-6]:

  • Collaborative recommendation methods (aka, collaborative filtering (CF))
  • Content recommendation methods (aka, content-based recommendations)
  • Knowledge recommendation methods (aka, knowledge-based recommendations)
  • Hybrid recommendation methods

The primary characteristic distinguishing these methods is the ratings information assumed to be available to make a recommendation. Collaborative methods assume all observed ratings for all users and items are available. Content methods assume that all ratings are available either for a single user or a single item. Knowledge methods make no assumptions about ratings information and instead simply rely on comprehensive knowledge of their items to make recommendations.

Additionally, the duality of user-item ratings gives each method two interpretations:

Collaborative Content Knowledge User-Centric Item-Centric Traditional CF Item-based CF Content-Based (assumes all user ratings) Demographic-Based (assumes all item ratings) ??? Constraint or Use-Case

It is worth noting that the usage of "Demographic-Based" in the above image doesn't fit perfectly with the usage of the term within the literature. Nevertheless, we feel it is close in spirit and by that measure still helpful to place within our hierarchy.

Finally, one may notice that two common sub-categories have been left out above: (1) memory-based collaborative recommendations and model-based collaborative recommendations. While it is useful to be aware of these terms due to their usage within the literature, the terms themselves add nothing to our understanding of recommendation methods. If this were all then we'd probably keep them, however, including the terms also carries the very real risk of misleading new students. It is because of the risk of misleading while at the same time not providing any benefit that we remove them.

The terms themselves seem to be carried on primarily because of their historical usage (cf. [3,9]). Unfortunately, by only highlighting memory and model based approaches for CF it is implied that these distinctions don't exist for other methods or are somehow extra special for CF methods. However, this simply isn't the case, nor was it the argument of the original authors [9]. The original authors simply didn't consider methods of recommendation beyond CF when making these distinctions [9]. Furthermore, it is easy to show that many statistical estimation problems can be solved via both model-free (e.g., local regression) and model-based (e.g., ordinary least squares) approaches implying that there is nothing special about these approaches with CF methods.

Considering Context

An open research question regarding RS is how to best incorporate context. Perhaps the most popular model for representing context in an RS is the multidimensional (MD) model [5-6, 10-11]. This model was originally proposed in [12] with the refined version presented below developed in [11]. The model is written as follows: \[ r: U \times I \times C \to \mathbb{R}, \] where \( U \) is the set of users, \(I\) is the set of items, \(C\) is the set of contexts and \(r\) is a function determining the rating. With this model the RS problem can be expressed as: given a set of observations \(O \subseteq U \times I \times C \times \mathbb{R} \) determine \(r\). Many methods have been proposed to solve for \(r\) in the MD model: optimization [13], matrix factorization [14], pre-filtering [10-11], post-filtering [11, 15], and reducing the MD model to the traditional \(r: U \times I \to \mathbb{R}\) by defining either \(I \times C \mapsto IC \) [16] or \(U \times C \mapsto UC \) [17].


[1] Resnick, Paul, et al. "Grouplens: An open architecture for collaborative filtering of netnews." Proceedings of the 1994 ACM conference on Computer supported cooperative work. 1994.

[2] Goldberg, David, et al. "Using collaborative filtering to weave an information tapestry." Communications of the ACM 35.12 (1992): 61-70.

[3] Adomavicius, Gediminas, and Alexander Tuzhilin. "Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions." IEEE transactions on knowledge and data engineering 17.6 (2005): 734-749.

[4] Shi, Yue, Martha Larson, and Alan Hanjalic. "Collaborative filtering beyond the user-item matrix: A survey of the state of the art and future challenges." ACM Computing Surveys (CSUR) 47.1 (2014): 1-45.

[5] Aggarwal, Charu C. Recommender systems. Vol. 1. Cham: Springer International Publishing, 2016.

[6] Ricci, Francesco, Lior Rokach, and Bracha Shapira. "Recommender systems: introduction and challenges." Recommender systems handbook (2015): 1-34.

[7] Bobadilla, Jesús, et al. "Recommender systems survey." Knowledge-based systems 46 (2013): 109-132.

[8] Lü, Linyuan, et al. "Recommender systems." Physics reports 519.1 (2012): 1-49.

[9] Breese, John S., David Heckerman, and Carl Kadie. "Empirical analysis of predictive algorithms for collaborative filtering." arXiv preprint arXiv:1301.7363 (2013).

[10] Adomavicius, Gediminas, et al. "Incorporating contextual information in recommender systems using a multidimensional approach." ACM Transactions on Information systems (TOIS) 23.1 (2005): 103-145.

[11] Adomavicius, Gediminas, and Alexander Tuzhilin. "Context-aware recommender systems." Recommender systems handbook. Boston, MA: Springer US, 2010. 217-253.

[12] Adomavicius, Gediminas, and Alexander Tuzhilin. "Expert-driven validation of rule-based user models in personalization applications." Data Mining and Knowledge Discovery 5 (2001): 33-58.

[13] Oku, Kenta, et al. "Context-aware SVM for context-dependent information recommendation." 7th International Conference on Mobile Data Management (MDM'06). IEEE, 2006.

[14] Karatzoglou, Alexandros, et al. "Multiverse recommendation: n-dimensional tensor factorization for context-aware collaborative filtering." Proceedings of the fourth ACM conference on Recommender systems. 2010.

[15] Panniello, Umberto, et al. "Experimental comparison of pre-vs. post-filtering approaches in context-aware recommender systems." Proceedings of the third ACM conference on Recommender systems. 2009.

[16] Baltrunas, Linas, and Francesco Ricci. "Context-based splitting of item ratings in collaborative filtering." Proceedings of the third ACM conference on Recommender systems. 2009.

[17] Baltrunas, Linas, and Xavier Amatriain. "Towards time-dependant recommendation based on implicit feedback." Workshop on context-aware recommender systems (CARS’09). 2009.