Recommender systems use algorithms to provide users with product or service recommendations. Recently, these systems have been using machine learning algorithms from the field of artificial intelligence. However, choosing a suitable machine learning algorithm for a recommender system is difficult because of the number of algorithms described in the literature. Researchers and practitioners developing recommender systems are left with little information about the current approaches in algorithm usage. Moreover, the development of recommender systems using machine learning algorithms often faces problems and raises questions that must be resolved. This paper presents a systematic review of the literature that analyzes the use of machine learning algorithms in recommender systems and identifies new research opportunities. The goals of this study are to (i) identify trends in the use or research of machine learning algorithms in recommender systems; (ii) identify open questions in the use or research of machine learning algorithms; and (iii) assist new researchers to position new research activity in this domain appropriately. The results of this study identify existing classes of recommender systems, characterize adopted machine learning approaches, discuss the use of big data technologies, identify types of machine learning algorithms and their application domains, and analyzes both main and alternative performance metrics.
Recommender systems (RSs) are used to help users find new items or services, such as books, music, transportation or even people, based on information about the user, or the recommended item (Adomavicius & Tuzhilin, 2005). These systems also play an important role in decision-making, helping users to maximize profits (L.-S. Chen, Hsu, Chen, & Hsu, 2008) or minimize risks (Bouneffouf, Bouzeghoub, & Gancarski, 2013). Today, RSs are used in many information-based companies such as Google (J. Liu, Dolan, & Pedersen, 2010), Twitter (Ahmed et al., 2013), LinkedIn (Rodriguez, Posse, & Zhang, 2012), and Netflix (Steck, 2013). The field of RS has its origins in the mid-1990s with the introduction of Tapestry (Goldberg, Nichols, Oki, & Terry, 1992), the first RS. As the RS field evolved, researchers studied the use of algorithms from machine learning (ML), an area of artificial intelligence (AI). ML has been studied since the late 1950s (Martens, 1959), with the emergence of the field of AI. Today, there is a plethora of ML algorithms (k-nearest neighbor (Patrick & Fischer III, 1970), clustering (Jain, Murty, & Flynn, 1999), Bayes network (Friedman, Geiger, & Goldszmidt, 1997), to name a few types), which are used in applications that range from vacuum cleaner robots (Burhans & Kandefer, 2004) and assistance for disabled people (Karimanzira, Otto, & Wernstedt, 2006) to pattern recognition in images (Torralba, Fergus, & Weiss, 2008), or self-driving vehicles (Thrun, 2007). The potential application of ML algorithms is vast and the field looks very promising. ML algorithms are being used in RSs to provide users with better recommendations. However, the ML field does not have a clear classification scheme for its algorithms, mainly because of the number of approaches and the variations proposed in the literature (Lv & Tang, 2011). As a consequence, it becomes difficult and confusing to choose an ML algorithm that fits one’s need when developing an RS. In addition, researchers may find it challenging to track the use and the trends of ML algorithms in RSs. One way to assist researchers and practitioners (e.g. software engineers and developers (Pressman, 2015; Isazadeh, 2004)) in choosing which ML algorithm to use in an RS is the study of the RS and ML fields. Research about RSs containing ML algorithms implemented in the literature can help show trends and provide a direction for future studies.