Context-aware recommender systems -
Context-Aware Recommender Systems Gediminas Adomavicius, Alexander Tuzhilin Abstract The importance of contextual information has been recognized by re- searchers and practitioners in many disciplines, including e-commerce personal- ization, information retrieval, ubiquitous and mobile computing, data mining, mar- keting, and management. While a substantial amount of research has already been performed in the area of recommender systems, most existing approaches focus on recommending the most relevant items to users without taking into account any ad- ditional contextual information, such as time, location, or the company of other peo- ple (e.g., for watching movies or dining out). In this chapter we argue that relevant contextual information does matter in recommender systems and that it is important to take this information into account when providing recommendations. We discuss the general notion of context and how it can be modeled in recommender systems. Furthermore, we introduce three different algorithmic paradigms ��� contextual pre- filtering, post-filtering, and modeling ��� for incorporating contextual information into the recommendation process, discuss the possibilities of combining several context- aware recommendation techniques into a single unifying approach, and provide a case study of one such combined approach. Finally, we present additional capabil- ities for context-aware recommenders and discuss important and promising direc- tions for future research. Gediminas Adomavicius Department of Information and Decision Sciences Carlson School of Management, University of Minnesota e-mail: gedas@umn.edu Alexander Tuzhilin Department of Information, Operations and Management Sciences Stern School of Business, New York University e-mail: atuzhili@stern.nyu.edu 1
2 Gediminas Adomavicius, Alexander Tuzhilin 1 Introduction and Motivation The majority of existing approaches to recommender systems focus on recommend- ing the most relevant items to individual users and do not take into consideration any contextual information, such as time, place and the company of other people (e.g., for watching movies or dining out). In other words, traditionally recommender sys- tems deal with applications having only two types of entities, users and items, and do not put them into a context when providing recommendations. However, in many applications, such as recommending a vacation package, per- sonalized content on a Web site, or a movie, it may not be sufficient to consider only users and items ��� it is also important to incorporate the contextual information into the recommendation process in order to recommend items to users in certain cir- cumstances. For example, using the temporal context, a travel recommender system would provide a vacation recommendation in the winter that can be very different from the one in the summer. Similarly, in the case of personalized content delivery on a Web site, it is important to determine what content needs to be delivered (rec- ommended) to a customer and when. More specifically, on weekdays a user might prefer to read world news when she logs on in the morning and the stock market report in the evening, and on weekends to read movie reviews and do shopping. These observations are consistent with the findings in behavioral research on consumer decision making in marketing that have established that decision making, rather than being invariant, is contingent on the context of decision making. There- fore, accurate prediction of consumer preferences undoubtedly depends upon the degree to which the recommender system has incorporated the relevant contextual information into a recommendation method. More recently, companies started incorporating some contextual information into their recommendation engines. For example, when selecting a song for the customer, Sourcetone interactive radio (www.sourcetone.com) takes into the consideration the current mood of the listener (the context) that she specified. In case of music recom- menders, some of the contextual information, such as listener���s mood, may matter for providing better recommendations. However, it is still not clear if context matters for a broad range of other recommendation applications. In this chapter we discuss the topic of context-aware recommender systems (CARS), address this and several other related questions, and demonstrate that, de- pending on the application domain and the available data, at least certain contextual information can be useful for providing better recommendations. We also propose three major approaches in which the contextual information can be incorporated into recommender systems, individually examine these three approaches, and also discuss how these three separate methods can be combined into one unified ap- proach. Finally, the inclusion of the contextual information into the recommenda- tion process presents opportunities for richer and more diverse interactions between the end-users and recommender systems. Therefore, in this chapter we also discuss novel flexible interaction capabilities in the form of the recommendation query lan- guage for context-aware recommender systems.
Context-Aware Recommender Systems 3 The rest of the chapter is organized as follows. Section 2 discusses the general notion of context as well as how it can be modeled in recommender systems. Sec- tion 3 presents three different algorithmic paradigms for incorporating contextual information into the recommendation process. Section 4 discusses the possibilities of combining several context-aware recommendation techniques and provides a case study of one such combined approach. Additional important capabilities for context- aware recommender systems are described in Section 5, and the conclusions and some opportunities for future work are presented in Section 6. 2 Context in Recommender Systems Before discussing the role and opportunities of contextual information in recom- mender systems, in Section 2.1 we start by discussing the general notion of context. Then, in Section 2.2, we focus on recommender systems and explain how context is specified and modeled there. 2.1 What is Context? Context is a multifaceted concept that has been studied across different research dis- ciplines, including computer science (primarily in artificial intelligence and ubiqui- tous computing), cognitive science, linguistics, philosophy, psychology, and orga- nizational sciences. In fact, an entire conference ��� CONTEXT (see, for example, http://context-07.ruc.dk) ��� is dedicated exclusively to studying this topic and incor- porating it into various other branches of science, including medicine, law, and busi- ness. In reference to the latter, a well-known business researcher and practitioner C. K. Prahalad has stated that ���the ability to reach out and touch customers anywhere at anytime means that companies must deliver not just competitive products but also unique, real-time customer experiences shaped by customer context��� and that this would be the next main issue (���big thing���) for the CRM practitioners [56]. Since context has been studied in multiple disciplines, each discipline tends to take its own idiosyncratic view that is somewhat different from other disciplines and is more specific than the standard generic dictionary definition of context as ���conditions or circumstances which affect some thing��� [69]. Therefore, there ex- ist many definitions of context across various disciplines and even within specific subfields of these disciplines. Bazire and Brezillon �� [16] present and examine 150 different definitions of context from different fields. This is not surprising, given the complexity and the multifaceted nature of the concept. As Bazire and Brezillon �� [16] observe: ���... it is difficult to find a relevant definition satisfying in any discipline. Is context a frame for a given object? Is it the set of elements that have any influence on the object? Is it possible to define context a priori or just state the effects a posteriori? Is it something static
4 Gediminas Adomavicius, Alexander Tuzhilin or dynamic? Some approaches emerge now in Artificial Intelligence [...]. In Psychology, we generally study a person doing a task in a given situation. Which context is relevant for our study? The context of the person? The context of the task? The context of the interaction? The context of the situation? When does a context begin and where does it stop? What are the real relationships between context and cognition?��� Since we focus on recommender systems in this paper and since the general concept of context is very broad, we try to focus on those fields that are directly related to recommender systems, such as data mining, e-commerce personalization, databases, information retrieval, ubiquitous and mobile context-aware systems, mar- keting, and management. We follow Palmisano et al. [53] in this section when de- scribing these areas. Data Mining. In the data mining community, context is sometimes defined as those events which characterize the life stages of a customer and that can determine a change in his/her preferences, status, and value for a company [17]. Examples of context include a new job, the birth of a child, marriage, divorce, and retirement. Knowledge of this contextual information helps (a) mining patterns pertaining to this particular context by focusing only on the relevant data for example, the data pertaining to the daughter���s wedding, or (b) selecting only relevant results, i.e., those data mining results that are applicable to the particular context, such as the discov- ered patterns that are related to the retirement of a person. E-commerce Personalization. Palmisano et al. [53] use the intent of a purchase made by a customer in an e-commerce application as contextual information. Dif- ferent purchasing intents may lead to different types of behavior. For example, the same customer may buy from the same online account different products for dif- ferent reasons: a book for improving her personal work skills, a book as a gift, or an electronic device for her hobby. To deal with different purchasing intentions, Palmisano et al. [53] build a separate profile of a customer for each purchasing con- text, and these separate profiles are used for building separate models predicting customer���s behavior in specific contexts and for specific segments of customers. Such contextual segmentation of customers is useful, because it results in better predictive models across different e-commerce applications [53]. Recommender systems are also related to e-commerce personalization, since per- sonalized recommendations of various products and services are provided to the customers. The importance of including and using the contextual information in rec- ommendation systems has been demonstrated in [3], where the authors presented a multidimensional approach that can provide recommendations based on contextual information in addition to the typical information on users and items used in many recommendation applications. It was also demonstrated by Adomavicius et al. [3] that the contextual information does matter in recommender systems: it helps to increase the quality of recommendations in certain settings. Similarly, Oku et al. [52] incorporate additional contextual dimensions (such as time, companion, and weather) into the recommendation process and use machine learning techniques to provide recommendations in a restaurant recommender sys- tem. They empirically show that the context-aware approach significantly outper-
Context-Aware Recommender Systems 5 forms the corresponding non-contextual approach in terms of recommendation ac- curacy and user���s satisfaction with recommendations. Since we focus on the use of context in recommender systems in this paper, we will describe these and similar approaches later in the chapter. Ubiquitous and mobile context-aware systems. In the literature pertaining to the context-aware systems, context was initially defined as the location of the user, the identity of people near the user, the objects around, and the changes in these ele- ments [62]. Other factors have been added to this definition subsequently. For in- stance, Brown et al. [22] include the date, the season, and the temperature. Ryan et al. [60] add the physical and conceptual statuses of interest for a user. Dey et al. [32] include the user���s emotional status and broaden the definition to any informa- tion which can characterize and is relevant to the interaction between a user and an application. Some associate the context with the user [32, 34], while others empha- size how context relates to the application [59, 68]. More recently, a number of other techniques for context-aware systems have been discussed in research literature, in- cluding hybrid techniques for mobile applications [58, 70] and graphical models for visual recommendation [19]. This contextual information is crucial for providing a broad range of Location- Based Services (LBSes) to the mobile customers [63]. For example, a Broadway the- ater may want to recommend heavily discounted theater tickets to the Time Square visitors in New York thirty minutes before the show starts (since these tickets will be wasted anyway after the show begins) and send this information to the visitors��� smart phones or other communication devices. Note that time, location, and the type of the communication device (e.g., smart phone) constitute contextual information in this application. Brown et al. [21] introduce another interesting application that allows tourists interactively share their sightseeing experiences with remote users, demonstrating the value that context-aware techniques can provide in supporting social activities. A survey of context-aware mobile computing research can be found in [29], which discusses different models of contextual information, context-sensing tech- nologies, different possible architectures, and a number of context-aware application examples. Databases. Contextual capabilities have been added to some of the database man- agement systems by incorporating user preferences and returning different answers to database queries depending on the context in which the queries have been ex- pressed and the particular user preferences corresponding to specific contexts. More specifically, in Stephanidis et al. [65] a set of contextual parameters is introduced and preferences are defined for each combination of regular relational attributes and these contextual parameters. Then Stephanidis et al. [65] present a context-aware extension of SQL to accommodate for such preferences and contextual informa- tion. Agrawal et al. [7] present another method for incorporating context and user preferences into query languages and develop methods of reconciling and ranking different preferences in order to expeditiously provide ranked answers to contextual queries. Mokbel and Levandoski [51] describe the context-aware and location-aware