chapter 1 introduction to recommender systems handbookricci/papers/intro-rec-sys-handbook.pdf1.1...

35
Chapter 1 Introduction to Recommender Systems Handbook Francesco Ricci, Lior Rokach and Bracha Shapira Abstract Recommender Systems (RSs) are software tools and techniques providing suggestions for items to be of use to a user. In this introductory chapter we briefly discuss basic RS ideas and concepts. Our main goal is to delineate, in a coherent and structured way, the chapters included in this handbook and to help the reader navigate the extremely rich and detailed content that the handbook offers. 1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing sugges- tions for items to be of use to a user [60, 85, 25]. The suggestions relate to various decision-making processes, such as what items to buy, what music to listen to, or what online news to read. “Item” is the general term used to denote what the system recommends to users. A RS normally focuses on a specific type of item (e.g., CDs, or news) and accord- ingly its design, its graphical user interface, and the core recommendation technique used to generate the recommendations are all customized to provide useful and ef- fective suggestions for that specific type of item. RSs are primarily directed towards individuals who lack sufficient personal ex- perience or competence to evaluate the potentially overwhelming number of alter- Francesco Ricci Faculty of Computer Science, Free University of Bozen-Bolzano, Italy e-mail: fricci@unibz. it Lior Rokach Department of Information Systems Engineering, Ben-Gurion University of the Negev, Israel e- mail: [email protected] Bracha Shapira Department of Information Systems Engineering, Ben-Gurion University of the Negev, Israel e- mail: [email protected] 1 F. Ricci et al. (eds.), Recommender Systems Handbook, DOI 10.1007/978-0-387-85820-3_1, © Springer Science+Business Media, LLC 2011

Upload: others

Post on 01-Aug-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

Chapter 1Introduction to Recommender SystemsHandbook

Francesco Ricci, Lior Rokach and Bracha Shapira

Abstract Recommender Systems (RSs) are software tools and techniques providingsuggestions for items to be of use to a user. In this introductory chapter we brieflydiscuss basic RS ideas and concepts. Our main goal is to delineate, in a coherentand structured way, the chapters included in this handbook and to help the readernavigate the extremely rich and detailed content that the handbook offers.

1.1 Introduction

Recommender Systems (RSs) are software tools and techniques providing sugges-tions for items to be of use to a user [60, 85, 25]. The suggestions relate to variousdecision-making processes, such as what items to buy, what music to listen to, orwhat online news to read.

“Item” is the general term used to denote what the system recommends to users.A RS normally focuses on a specific type of item (e.g., CDs, or news) and accord-ingly its design, its graphical user interface, and the core recommendation techniqueused to generate the recommendations are all customized to provide useful and ef-fective suggestions for that specific type of item.

RSs are primarily directed towards individuals who lack sufficient personal ex-perience or competence to evaluate the potentially overwhelming number of alter-

Francesco RicciFaculty of Computer Science, Free University of Bozen-Bolzano, Italy e-mail: [email protected]

Lior RokachDepartment of Information Systems Engineering, Ben-Gurion University of the Negev, Israel e-mail: [email protected]

Bracha ShapiraDepartment of Information Systems Engineering, Ben-Gurion University of the Negev, Israel e-mail: [email protected]

1F. Ricci et al. (eds.), Recommender Systems Handbook, DOI 10.1007/978-0-387-85820-3_1, © Springer Science+Business Media, LLC 2011

Page 2: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

2 Francesco Ricci, Lior Rokach and Bracha Shapira

native items that a Web site, for example, may offer [85]. A case in point is a bookrecommender system that assists users to select a book to read. In the popular Website, Amazon.com, the site employs a RS to personalize the online store for eachcustomer [47]. Since recommendations are usually personalized, different users oruser groups receive diverse suggestions. In addition there are also non-personalizedrecommendations. These are much simpler to generate and are normally featured inmagazines or newspapers. Typical examples include the top ten selections of books,CDs etc. While they may be useful and effective in certain situations, these types ofnon-personalized recommendations are not typically addressed by RS research.

In their simplest form, personalized recommendations are offered as ranked listsof items. In performing this ranking, RSs try to predict what the most suitable prod-ucts or services are, based on the user’s preferences and constraints. In order tocomplete such a computational task, RSs collect from users their preferences, whichare either explicitly expressed, e.g., as ratings for products, or are inferred by inter-preting user actions. For instance, a RS may consider the navigation to a particularproduct page as an implicit sign of preference for the items shown on that page.

RSs development initiated from a rather simple observation: individuals oftenrely on recommendations provided by others in making routine, daily decisions[60, 70]. For example it is common to rely on what one’s peers recommend whenselecting a book to read; employers count on recommendation letters in their re-cruiting decisions; and when selecting a movie to watch, individuals tend to readand rely on the movie reviews that a film critic has written and which appear in thenewspaper they read.

In seeking to mimic this behavior, the first RSs applied algorithms to leveragerecommendations produced by a community of users to deliver recommendationsto an active user, i.e., a user looking for suggestions. The recommendations werefor items that similar users (those with similar tastes) had liked. This approach istermed collaborative-filtering and its rationale is that if the active user agreed in thepast with some users, then the other recommendations coming from these similarusers should be relevant as well and of interest to the active user.

As e-commerce Web sites began to develop, a pressing need emerged for pro-viding recommendations derived from filtering the whole range of available alter-natives. Users were finding it very difficult to arrive at the most appropriate choicesfrom the immense variety of items (products and services) that these Web sites wereoffering.

The explosive growth and variety of information available on the Web and therapid introduction of new e-business services (buying products, product compari-son, auction, etc.) frequently overwhelmed users, leading them to make poor deci-sions. The availability of choices, instead of producing a benefit, started to decreaseusers’ well-being. It was understood that while choice is good, more choice is notalways better. Indeed, choice, with its implications of freedom, autonomy, and self-determination can become excessive, creating a sense that freedom may come to beregarded as a kind of misery-inducing tyranny [96].

RSs have proved in recent years to be a valuable means for coping with the infor-mation overload problem. Ultimately a RS addresses this phenomenon by pointing

Page 3: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

1 Introduction to Recommender Systems Handbook 3

a user towards new, not-yet-experienced items that may be relevant to the userscurrent task. Upon a user’s request, which can be articulated, depending on the rec-ommendation approach, by the user’s context and need, RSs generate recommen-dations using various types of knowledge and data about users, the available items,and previous transactions stored in customized databases. The user can then browsethe recommendations. She may accept them or not and may provide, immediatelyor at a next stage, an implicit or explicit feedback. All these user actions and feed-backs can be stored in the recommender database and may be used for generatingnew recommendations in the next user-system interactions.

As noted above, the study of recommender systems is relatively new compared toresearch into other classical information system tools and techniques (e.g., databasesor search engines). Recommender systems emerged as an independent research areain the mid-1990s [35, 60, 70, 7]. In recent years, the interest in recommender sys-tems has dramatically increased, as the following facts indicate:

1. Recommender systems play an important role in such highly rated Internet sitesas Amazon.com, YouTube, Netflix, Yahoo, Tripadvisor, Last.fm, and IMDb.Moreover many media companies are now developing and deploying RSs as partof the services they provide to their subscribers. For example Netflix, the onlinemovie rental service, awarded a million dollar prize to the team that first suc-ceeded in improving substantially the performance of its recommender system[54].

2. There are dedicated conferences and workshops related to the field. We referspecifically to ACM Recommender Systems (RecSys), established in 2007 andnow the premier annual event in recommender technology research and appli-cations. In addition, sessions dedicated to RSs are frequently included in themore traditional conferences in the area of data bases, information systems andadaptive systems. Among these conferences are worth mentioning ACM SIGIRSpecial Interest Group on Information Retrieval (SIGIR), User Modeling, Adap-tation and Personalization (UMAP), and ACM’s Special Interest Group on Man-agement Of Data (SIGMOD).

3. At institutions of higher education around the world, undergraduate and graduatecourses are now dedicated entirely to RSs; tutorials on RSs are very popular atcomputer science conferences; and recently a book introducing RSs techniqueswas published [48].

4. There have been several special issues in academic journals covering researchand developments in the RS field. Among the journals that have dedicated issuesto RS are: AI Communications (2008); IEEE Intelligent Systems (2007); Inter-national Journal of Electronic Commerce (2006); International Journal of Com-puter Science and Applications (2006); ACM Transactions on Computer-HumanInteraction (2005); and ACM Transactions on Information Systems (2004).

In this introductory chapter we briefly discuss basic RS ideas and concepts. Ourmain goal is not much to present a self-contained comprehensive introduction orsurvey on RSs but rather to delineate, in a coherent and structured way, the chapters

Page 4: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

4 Francesco Ricci, Lior Rokach and Bracha Shapira

included in this handbook and to help the reader navigate the extremely rich anddetailed content that the handbook offers.

The handbook is divided into five sections: techniques; applications and evalua-tion of RSs; interacting with RSs; RSs and communities; and advanced algorithms.

The first section presents the techniques most popularly used today for build-ing RSs, such as collaborative filtering; content-based, data mining methods; andcontext-aware methods.

The second section surveys techniques and approaches that have been utilized toevaluate the quality of the recommendations. It also deals with the practical aspectsof designing recommender systems; describes design and implementation consider-ations; and sets guidelines for selecting the more suitable algorithms. The sectionalso considers aspects that may affect RS design (domain, device, users, etc.). Fi-nally, it discusses methods, challenges and measures to be applied in evaluating thedeveloped systems.

The third section includes papers dealing with a number of issues related to howrecommendations are presented, browsed, explained and visualized. The techniquesthat make the recommendation process more structured and conversational are dis-cussed here.

The fourth section is fully dedicated to a rather new topic, exploiting user-generated content (UGC) of various types (tags, search queries, trust evaluations,etc.) to generate innovative types of recommendations and more credible ones. De-spite its relative newness, this topic is essentially rooted in the core idea of a collab-orative recommender,

The last selection presents papers on various advanced topics, such as: the ex-ploitation of active learning principles to guide the acquisition of new knowledge;suitable techniques for protecting a recommender system against attacks of mali-cious users; and RSs that aggregate multiple types of user feedbacks and preferencesto build more reliable recommendations.

1.2 Recommender Systems Function

In the previous section we defined RSs as software tools and techniques providingusers with suggestions for items a user may wish to utilize. Now we want to refinethis definition illustrating a range of possible roles that a RS can play. First of all,we must distinguish between the role played by the RS on behalf of the serviceprovider from that of the user of the RS. For instance, a travel recommender systemis typically introduced by a travel intermediary (e.g., Expedia.com) or a destinationmanagement organization (e.g., Visitfinland.com) to increase its turnover (Expedia),i.e., sell more hotel rooms, or to increase the number of tourists to the destination[86]. Whereas, the user’s primary motivations for accessing the two systems is tofind a suitable hotel and interesting events/attractions when visiting a destination.

In fact, there are various reasons as to why service providers may want to exploitthis technology:

Page 5: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

1 Introduction to Recommender Systems Handbook 5

• Increase the number of items sold. This is probably the most important functionfor a commercial RS, i.e., to be able to sell an additional set of items comparedto those usually sold without any kind of recommendation. This goal is achievedbecause the recommended items are likely to suit the user’s needs and wants.Presumably the user will recognize this after having tried several recommenda-tions1. Non-commercial applications have similar goals, even if there is no costfor the user that is associated with selecting an item. For instance, a content net-work aims at increasing the number of news items read on its site.In general, we can say that from the service provider’s point of view, the primarygoal for introducing a RS is to increase the conversion rate, i.e., the number ofusers that accept the recommendation and consume an item, compared to thenumber of simple visitors that just browse through the information.

• Sell more diverse items. Another major function of a RS is to enable the userto select items that might be hard to find without a precise recommendation.For instance, in a movie RS such as Netflix, the service provider is interestedin renting all the DVDs in the catalogue, not just the most popular ones. Thiscould be difficult without a RS since the service provider cannot afford the riskof advertising movies that are not likely to suit a particular user’s taste. Therefore,a RS suggests or advertises unpopular movies to the right users

• Increase the user satisfaction. A well designed RS can also improve the expe-rience of the user with the site or the application. The user will find the recom-mendations interesting, relevant and, with a properly designed human-computerinteraction, she will also enjoy using the system. The combination of effective,i.e., accurate, recommendations and a usable interface will increase the user’ssubjective evaluation of the system. This in turn will increase system usage andthe likelihood that the recommendations will be accepted.

• Increase user fidelity. A user should be loyal to a Web site which, when visited,recognizes the old customer and treats him as a valuable visitor. This is a nor-mal feature of a RS since many RSs compute recommendations, leveraging theinformation acquired from the user in previous interactions, e.g., her ratings ofitems. Consequently, the longer the user interacts with the site, the more refinedher user model becomes, i.e., the system representation of the user’s preferences,and the more the recommender output can be effectively customized to match theuser’s preferences.

• Better understand what the user wants. Another important function of a RS,which can be leveraged to many other applications, is the description of theuser’s preferences, either collected explicitly or predicted by the system. Theservice provider may then decide to re-use this knowledge for a number of othergoals such as improving the management of the item’s stock or production. Forinstance, in the travel domain, destination management organizations can decideto advertise a specific region to new customer sectors or advertise a particular

1 This issue, convincing the user to accept a recommendation, is discussed again when we explainthe difference between predicting the user interest in an item and the likelihood that the user willselect the recommended item.

Page 6: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

6 Francesco Ricci, Lior Rokach and Bracha Shapira

type of promotional message derived by analyzing the data collected by the RS(transactions of the users).

We mentioned above some important motivations as to why e-service providersintroduce RSs. But users also may want a RS, if it will effectively support their tasksor goals. Consequently a RS must balance the needs of these two players and offera service that is valuable to both.

Herlocker et al. [25], in a paper that has become a classical reference in thisfield, define eleven popular tasks that a RS can assist in implementing. Some maybe considered as the main or core tasks that are normally associated with a RS,i.e., to offer suggestions for items that may be useful to a user. Others might beconsidered as more “opportunistic” ways to exploit a RS. As a matter of fact, thistask differentiation is very similar to what happens with a search engine, Its primaryfunction is to locate documents that are relevant to the user’s information need, butit can also be used to check the importance of a Web page (looking at the positionof the page in the result list of a query) or to discover the various usages of a wordin a collection of documents.

• Find Some Good Items: Recommend to a user some items as a ranked list alongwith predictions of how much the user would like them (e.g., on a one- to five-star scale). This is the main recommendation task that many commercial systemsaddress (see, for instance, Chapter 9). Some systems do not show the predictedrating.

• Find all good items: Recommend all the items that can satisfy some user needs.In such cases it is insufficient to just find some good items. This is especially truewhen the number of items is relatively small or when the RS is mission-critical,such as in medical or financial applications. In these situations, in addition to thebenefit derived from carefully examining all the possibilities, the user may alsobenefit from the RS ranking of these items or from additional explanations thatthe RS generates.

• Annotation in context: Given an existing context, e.g., a list of items, emphasizesome of them depending on the user’s long-term preferences. For example, aTV recommender system might annotate which TV shows displayed in the elec-tronic program guide (EPG) are worth watching (Chapter 18 provides interestingexamples of this task).

• Recommend a sequence: Instead of focusing on the generation of a single rec-ommendation, the idea is to recommend a sequence of items that is pleasing asa whole. Typical examples include recommending a TV series; a book on RSsafter having recommended a book on data mining; or a compilation of musicaltracks [99], [39].

• Recommend a bundle: Suggest a group of items that fits well together. For in-stance a travel plan may be composed of various attractions, destinations, andaccommodation services that are located in a delimited area. From the point ofview of the user these various alternatives can be considered and selected as asingle travel destination [87].

Page 7: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

1 Introduction to Recommender Systems Handbook 7

• Just browsing: In this task, the user browses the catalog without any imminentintention of purchasing an item. The task of the recommender is to help the userto browse the items that are more likely to fall within the scope of the user’s inter-ests for that specific browsing session. This is a task that has been also supportedby adaptive hypermedia techniques [23].

• Find credible recommender: Some users do not trust recommender systems thusthey play with them to see how good they are in making recommendations.Hence, some system may also offer specific functions to let the users test itsbehavior in addition to those just required for obtaining recommendations.

• Improve the profile: This relates to the capability of the user to provide (input)information to the recommender system about what he likes and dislikes. This isa fundamental task that is strictly necessary to provide personalized recommen-dations. If the system has no specific knowledge about the active user then it canonly provide him with the same recommendations that would be delivered to an“average” user.

• Express self: Some users may not care about the recommendations at all. Rather,what it is important to them is that they be allowed to contribute with their rat-ings and express their opinions and beliefs. The user satisfaction for that activitycan still act as a leverage for holding the user tightly to the application (as wementioned above in discussing the service provider’s motivations).

• Help others: Some users are happy to contribute with information, e.g., theirevaluation of items (ratings), because they believe that the community benefitsfrom their contribution. This could be a major motivation for entering informa-tion into a recommender system that is not used routinely. For instance, with acar RS, a user, who has already bought her new car is aware that the rating en-tered in the system is more likely to be useful for other users rather than for thenext time she will buy a car.

• Influence others: In Web-based RSs, there are users whose main goal is to ex-plicitly influence other users into purchasing particular products. As a matter offact, there are also some malicious users that may use the system just to promoteor penalize certain items (see Chapter 25).

As these various points indicate, the role of a RS within an information systemcan be quite diverse. This diversity calls for the exploitation of a range of differentknowledge sources and techniques and in the next two sections we discuss the dataa RS manages and the core technique used to identify the right recommendations.

1.3 Data and Knowledge Sources

RSs are information processing systems that actively gather various kinds of datain order to build their recommendations. Data is primarily about the items to sug-gest and the users who will receive these recommendations. But, since the dataand knowledge sources available for recommender systems can be very diverse,ultimately, whether they can be exploited or not depends on the recommendation

Page 8: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

8 Francesco Ricci, Lior Rokach and Bracha Shapira

technique (see also section 1.4). This will become clearer in the various chaptersincluded in this handbook (see in particular Chapter 11).

In general, there are recommendation techniques that are knowledge poor, i.e.,they use very simple and basic data, such as user ratings/evaluations for items(Chapters 5, 4). Other techniques are much more knowledge dependent, e.g., us-ing ontological descriptions of the users or the items (Chapter 3), or constraints(Chapter 6), or social relations and activities of the users (Chapter 19). In any case,as a general classification, data used by RSs refers to three kinds of objects: items,users, and transactions, i.e., relations between users and items.

Items. Items are the objects that are recommended. Items may be characterizedby their complexity and their value or utility. The value of an item may be positive ifthe item is useful for the user, or negative if the item is not appropriate and the usermade a wrong decision when selecting it. We note that when a user is acquiring anitem she will always incur in a cost, which includes the cognitive cost of searchingfor the item and the real monetary cost eventually paid for the item.

For instance, the designer of a news RS must take into account the complexity ofa news item, i.e., its structure, the textual representation, and the time-dependent im-portance of any news item. But, at the same time, the RS designer must understandthat even if the user is not paying for reading news, there is always a cognitive costassociated to searching and reading news items. If a selected item is relevant for theuser this cost is dominated by the benefit of having acquired a useful information,whereas if the item is not relevant the net value of that item for the user, and itsrecommendation, is negative. In other domains, e.g., cars, or financial investments,the true monetary cost of the items becomes an important element to consider whenselecting the most appropriate recommendation approach.

Items with low complexity and value are: news, Web pages, books, CDs, movies.Items with larger complexity and value are: digital cameras, mobile phones, PCs,etc. The most complex items that have been considered are insurance policies, fi-nancial investments, travels, jobs [72].

RSs, according to their core technology, can use a range of properties and fea-tures of the items. For example in a movie recommender system, the genre (suchas comedy, thriller, etc.), as well as the director, and actors can be used to describea movie and to learn how the utility of an item depends on its features. Items canbe represented using various information and representation approaches, e.g., in aminimalist way as a single id code, or in a richer form, as a set of attributes, but evenas a concept in an ontological representation of the domain (Chapter 3).

Users. Users of a RS, as mentioned above, may have very diverse goals and char-acteristics. In order to personalize the recommendations and the human-computerinteraction, RSs exploit a range of information about the users. This informationcan be structured in various ways and again the selection of what information tomodel depends on the recommendation technique.

For instance, in collaborative filtering, users are modeled as a simple list contain-ing the ratings provided by the user for some items. In a demographic RS, socio-demographic attributes such as age, gender, profession, and education, are used.User data is said to constitute the user model [21, 32]. The user model profiles the

Page 9: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

1 Introduction to Recommender Systems Handbook 9

user, i.e., encodes her preferences and needs. Various user modeling approacheshave been used and, in a certain sense, a RS can be viewed as a tool that generatesrecommendations by building and exploiting user models [19, 20]. Since no person-alization is possible without a convenient user model, unless the recommendation isnon-personalized, as in the top-10 selection, the user model will always play a cen-tral role. For instance, considering again a collaborative filtering approach, the useris either profiled directly by its ratings to items or, using these ratings, the systemderives a vector of factor values, where users differ in how each factor weights intheir model (Chapters 5 and 4).

Users can also be described by their behavior pattern data, for example, sitebrowsing patterns (in a Web-based recommender system) [107], or travel searchpatterns (in a travel recommender system) [60]. Moreover, user data may include re-lations between users such as the trust level of these relations between users (Chap-ter 20). A RS might utilize this information to recommend items to users that werepreferred by similar or trusted users.

Transactions. We generically refer to a transaction as a recorded interaction be-tween a user and the RS. Transactions are log-like data that store important infor-mation generated during the human-computer interaction and which are useful forthe recommendation generation algorithm that the system is using. For instance,a transaction log may contain a reference to the item selected by the user and adescription of the context (e.g., the user goal/query) for that particular recommen-dation. If available, that transaction may also include an explicit feedback the userhas provided, such as the rating for the selected item.

In fact, ratings are the most popular form of transaction data that a RS collects.These ratings may be collected explicitly or implicitly. In the explicit collection ofratings, the user is asked to provide her opinion about an item on a rating scale.According to [93], ratings can take on a variety of forms:

• Numerical ratings such as the 1-5 stars provided in the book recommender asso-ciated with Amazon.com.

• Ordinal ratings, such as “strongly agree, agree, neutral, disagree, strongly dis-agree” where the user is asked to select the term that best indicates her opinionregarding an item (usually via questionnaire).

• Binary ratings that model choices in which the user is simply asked to decide ifa certain item is good or bad.

• Unary ratings can indicate that a user has observed or purchased an item, orotherwise rated the item positively. In such cases, the absence of a rating indicatesthat we have no information relating the user to the item (perhaps she purchasedthe item somewhere else).

Another form of user evaluation consists of tags associated by the user with theitems the system presents. For instance, in Movielens RS (http://movielens.umn.edu)tags represent how MovieLens users feel about a movie, e.g.: “too long”, or “act-ing”. Chapter 19 focuses on these types of transactions.

In transactions collecting implicit ratings, the system aims to infer the users opin-ion based on the user’s actions. For example, if a user enters the keyword “Yoga” at

Page 10: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

10 Francesco Ricci, Lior Rokach and Bracha Shapira

Amazon.com she will be provided with a long list of books. In return, the user mayclick on a certain book on the list in order to receive additional information. At thispoint, the system may infer that the user is somewhat interested in that book.

In conversational systems, i.e., systems that support an interactive process, thetransaction model is more refined. In these systems user requests alternate with sys-tem actions (see Chapter 13). That is, the user may request a recommendation andthe system may produce a suggestion list. But it can also request additional userpreferences to provide the user with better results. Here, in the transaction model,the system collects the various requests-responses, and may eventually learn to mod-ify its interaction strategy by observing the outcome of the recommendation process[60].

1.4 Recommendation Techniques

In order to implement its core function, identifying the useful items for the user, aRS must predict that an item is worth recommending. In order to do this, the systemmust be able to predict the utility of some of them, or at least compare the utility ofsome items, and then decide what items to recommend based on this comparison.The prediction step may not be explicit in the recommendation algorithm but we canstill apply this unifying model to describe the general role of a RS. Here our goalis to provide the reader with a unifying perspective rather than an account of all thedifferent recommendation approaches that will be illustrated in this handbook.

To illustrate the prediction step of a RS, consider, for instance, a simple, non-personalized, recommendation algorithm that recommends just the most popularsongs. The rationale for using this approach is that in absence of more precise in-formation about the user’s preferences, a popular song, i.e., something that is liked(high utility) by many users, will also be probably liked by a generic user, at leastmore than another randomly selected song. Hence the utility of these popular songsis predicted to be reasonably high for this generic user.

This view of the core recommendation computation as the prediction of the util-ity of an item for a user has been suggested in [3]. They model this degree of utilityof the user u for the item i as a (real valued) function R(u, i), as is normally donein collaborative filtering by considering the ratings of users for items. Then the fun-damental task of a collaborative filtering RS is to predict the value of R over pairsof users and items, i.e., to compute R(u, i), where we denote with R the estimation,computed by the RS, of the true function R. Consequently, having computed thisprediction for the active user u on a set of items, i.e., R(u, i1), . . . , R(u, iN) the sys-tem will recommend the items i j1 , . . . , i jK (K ≤ N) with the largest predicted utility.K is typically a small number, i.e., much smaller than the cardinality of the item dataset or the items on which a user utility prediction can be computed, i.e., RSs “filter”the items that are recommended to users.

As mentioned above, some recommender systems do not fully estimate the utilitybefore making a recommendation but they may apply some heuristics to hypothe-

Page 11: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

1 Introduction to Recommender Systems Handbook 11

size that an item is of use to a user. This is typical, for instance, in knowledge-basedsystems. These utility predictions are computed with specific algorithms (see below)and use various kind of knowledge about users, items, and the utility function itself(see section 1.3) [25]. For instance, the system may assume that the utility functionis Boolean and therefore it will just determine whether an item is or is not usefulfor the user. Consequently, assuming that there is some available knowledge (possi-bly none) about the user who is requesting the recommendation, knowledge aboutitems, and other users who received recommendations, the system will leverage thisknowledge with an appropriate algorithm to generate various utility predictions andhence recommendations [25].

It is also important to note that sometimes the user utility for an item is observedto depend on other variables, which we generically call “contextual” [1]. For in-stance, the utility of an item for a user can be influenced by the domain knowledgeof the user (e.g., expert vs. beginning users of a digital camera), or can depend onthe time when the recommendation is requested. Or the user may be more inter-ested in items (e.g., a restaurant) closer to his current location. Consequently, therecommendations must be adapted to these specific additional details and as a resultit becomes harder and harder to correctly estimate what the right recommendationsare.

This handbook presents several different types of recommender systems that varyin terms of the addressed domain, the knowledge used, but especially in regard tothe recommendation algorithm, i.e., how the prediction of the utility of a recom-mendation, as mentioned at the beginning of this section, is made. Other differencesrelate to how the recommendations are finally assembled and presented to the user inresponse to user requests. These aspects are also discussed later in this introduction.

To provide a first overview of the different types of RSs, we want to quote ataxonomy provided by [25] that has become a classical way of distinguishing be-tween recommender systems and referring to them. [25] distinguishes between sixdifferent classes of recommendation approaches:

Content-based: The system learns to recommend items that are similar to theones that the user liked in the past. The similarity of items is calculated based on thefeatures associated with the compared items. For example, if a user has positivelyrated a movie that belongs to the comedy genre, then the system can learn to rec-ommend other movies from this genre. Chapter 3 provides an overview of content-based recommender systems, imposing some order among the extensive and diverseaspects involved in their design and implementation. It presents the basic conceptsand terminology of content-based RSs, their high level architecture, and their mainadvantages and drawbacks. The chapter then surveys state-of-the-art systems thathave been adopted in several application domains. The survey encompasses a thor-ough description of both classical and advanced techniques for representing itemsand user profiles. Finally, it discusses trends and future research which might leadtowards the next generation of recommender systems.

Collaborative filtering: The simplest and original implementation of this ap-proach [93] recommends to the active user the items that other users with similartastes liked in the past. The similarity in taste of two users is calculated based on

Page 12: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

12 Francesco Ricci, Lior Rokach and Bracha Shapira

the similarity in the rating history of the users. This is the reason why [94] refersto collaborative filtering as “people-to-people correlation.” Collaborative filtering isconsidered to be the most popular and widely implemented technique in RS.

Chapter 4 presents a comprehensive survey of neighborhood-based methods forcollaborative filtering. Neighborhood methods focus on relationships between itemsor, alternatively, between users. An item-item approach models the preference of auser to an item based on ratings of similar items by the same user. Nearest-neighborsmethods enjoy considerable popularity due to their simplicity, efficiency, and theirability to produce accurate and personalized recommendations. The authors will ad-dress the essential decisions that are required when implementing a neighborhood-based recommender system and provide practical information on how to make suchdecisions.

Finally, the chapter deals with problems of data sparsity and limited coverage,often observed in large commercial recommender systems. A few solutions to over-come these problems are presented.

Chapter 5 presents several recent extensions available for building CF recom-menders. Specifically, the authors discuss latent factor models, such as matrix fac-torization (e.g., Singular Value Decomposition, SVD). These methods transformboth items and users to the same latent factor space. The latent space is then usedto explain ratings by characterizing both products and users in term of factors auto-matically inferred from user feedback. The authors elucidate how SVD can handleadditional features of the data, including implicit feedback and temporal informa-tion. They also describe techniques to address shortcomings of neighborhood tech-niques by suggesting more rigorous formulations using global optimization tech-niques. Utilizing such techniques makes it possible to lift the limit on neighborhoodsize and to address implicit feedback and temporal dynamics. The resulting accuracyis close to that of matrix factorization models, while offering a number of practicaladvantages.

Demographic: This type of system recommends items based on the demo-graphic profile of the user. The assumption is that different recommendations shouldbe generated for different demographic niches. Many Web sites adopt simple andeffective personalization solutions based on demographics. For example, users aredispatched to particular Web sites based on their language or country. Or sugges-tions may be customized according to the age of the user. While these approacheshave been quite popular in the marketing literature, there has been relatively littleproper RS research into demographic systems [59].

Knowledge-based: Knowledge-based systems recommend items based on spe-cific domain knowledge about how certain item features meet users needs and pref-erences and, ultimately, how the item is useful for the user. Notable knowledge-based recommender systems are case-based [22, 87]. In these systems a similarityfunction estimates how much the user needs (problem description) match the rec-ommendations (solutions of the problem). Here the similarity score can be directlyinterpreted as the utility of the recommendation for the user.

Constraint-based systems are another type of knowledge-based RSs (Chapter 6).In terms of used knowledge, both systems are similar: user requirements are col-

Page 13: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

1 Introduction to Recommender Systems Handbook 13

lected; repairs for inconsistent requirements are automatically proposed in situationswhere no solutions could be found; and recommendation results are explained. Themajor difference lies in the way solutions are calculated. Case-based recommendersdetermine recommendations on the basis of similarity metrics whereas constraint-based recommenders predominantly exploit predefined knowledge bases that con-tain explicit rules about how to relate customer requirements with item features.

Knowledge-based systems tend to work better than others at the beginning oftheir deployment but if they are not equipped with learning components they may besurpassed by other shallow methods that can exploit the logs of the human/computerinteraction (as in CF).

Community-based: This type of system recommends items based on the pref-erences of the users friends. This technique follows the epigram “Tell me who yourfriends are, and I will tell you who you are”. [8, 14]. Evidence suggests that peopletend to rely more on recommendations from their friends than on recommendationsfrom similar but anonymous individuals [103]. This observation, combined withthe growing popularity of open social networks, is generating a rising interest incommunity-based systems or, as or as they usually referred to, social recommendersystems [34]. This type of RSs models and acquires information about the socialrelations of the users and the preferences of the user’s friends. The recommenda-tion is based on ratings that were provided by the user’s friends. In fact these RSsare following the rise of social-networks and enable a simple and comprehensiveacquisition of data related to the social relations of the users.

The research in this area is still in its early phase and results about the systemsperformance are mixed. For example, [34, 64] report that overall, social-network-based recommendations are no more accurate than those derived from traditionalCF approaches, except in special cases, such as when user ratings of a specific itemare highly varied (i.e. controversial items) or for cold-start situations, i.e., where theusers did not provide enough ratings to compute similarity to other users. Othershave showed that in some cases social-network data yields better recommendationsthan profile similarity data [37] and that adding social network data to traditionalCF improves recommendation results [36]. The chapter 20 provides a survey of thefindings in this field and analyzes current results.

Hybrid recommender systems: These RSs are based on the combination of theabove mentioned techniques. A hybrid system combining techniques A and B triesto use the advantages of A to fix the disadvantages of B. For instance, CF methodssuffer from new-item problems, i.e., they cannot recommend items that have noratings. This does not limit content-based approaches since the prediction for newitems is based on their description (features) that are typically easily available. Giventwo (or more) basic RSs techniques, several ways have been proposed for combiningthem to create a new hybrid system (see [25] for the precise descriptions).

As we have already mentioned, the context of the user when she is seeking arecommendation can be used to better personalize the output of the system. Forexample, in a temporal context, vacation recommendations in winter should be verydifferent from those provided in summer. Or a restaurant recommendation for a

Page 14: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

14 Francesco Ricci, Lior Rokach and Bracha Shapira

Saturday evening with your friends should be different from that suggested for aworkday lunch with co-workers.

Chapter 7 presents the general notion of context and how it can be modeled inRSs. Discussing the possibilities of combining several context-aware recommenda-tion techniques into a single unified approach, the authors also provide a case studyof one such combined approach.

Three different algorithmic paradigms for incorporating contextual informationinto the recommendation process are discussed: reduction-based (pre-filtering), con-textual post filtering, and context modeling. In reduction-based (pre-filtering) meth-ods, only the information that matches the current usage context, e.g., the ratingsfor items evaluated in the same context, are used to compute the recommendations.In contextual post filtering, the recommendation algorithm ignores the context in-formation. The output of the algorithm is filtered/adjusted to include only the rec-ommendations that are relevant in the target context. In the contextual modeling,the more sophisticated of the three approaches, context data is explicitly used in theprediction model.

1.5 Application and Evaluation

Recommender system research is being conducted with a strong emphasis on prac-tice and commercial applications, since, aside from its theoretical contribution, isgenerally aimed at practically improving commercial RSs. Thus, RS research in-volves practical aspects that apply to the implementation of these systems. Theseaspects are relevant to different stages in the life cycle of a RS, namely, the de-sign of the system, its implementation and its maintenance and enhancement duringsystem operation.

The aspects that apply to the design stage include factors that might affect thechoice of the algorithm. The first factor to consider, the application’s domain, has amajor effect on the algorithmic approach that should be taken. [72] provide a taxon-omy of RSs and classify existing RS applications to specific application domains.Based on these specific application domains, we define more general classes of do-mains for the most common recommender systems applications:

• Entertainment - recommendations for movies, music, and IPTV.• Content - personalized newspapers, recommendation for documents, recommen-

dations of Web pages, e-learning applications, and e-mail filters.• E-commerce - recommendations for consumers of products to buy such as books,

cameras, PCs etc.• Services - recommendations of travel services, recommendation of experts for

consultation, recommendation of houses to rent, or matchmaking services.

As recommender systems become more popular, interest is aroused in the po-tential advantages in new applications, such as recommending friends or tweets to

Page 15: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

1 Introduction to Recommender Systems Handbook 15

follow as in www.tweeter.com. Hence, the above list cannot cover all the applica-tion domains that are now being addressed by RS techniques; it gives only an initialdescription of the various types of application domains.

The developer of a RS for a certain application domain should understand thespecific facets of the domain, its requirements, application challenges and limita-tions. Only after analyzing these factors one could be able to select the optimalrecommender algorithm and to design an effective human-computer interaction.

Chapter 11 of this handbook provides guidelines for matching the applicationdomain to the recommendation technique. Burke and Ramezani in their chapterprovide a new classification of recommender systems. Unlike former classificationsof RSs (such as [25, 94, 3, 7]), Burke and Ramezani take an AI-centric approach, andfocus on the knowledge sources required for different recommendation approaches,and the constraints related to them as a primer guideline to choosing the algorithm.The chapter discusses the applicability of various recommendation techniques fordifferent types of problems and suggests decision-making guidelines in selectingthese techniques.

The chapter explicitly aims at system implementers as “recommenders” for theright recommendation approach. The authors describe the knowledge sources thatare available to a recommender systems in different domains and identify whatknowledge sources are required for each recommendation technique. This impliesthat the design of a recommender system should first emphasize the analysis of theavailable sources of knowledge, and then decide about the algorithm accordingly.

Another example of the need to adjust the recommender approach to the domainis described in Chapter 12, which deals with recommender systems for technology-enhanced learning (TEL). TEL, which generally covers technologies that supportall forms of teaching and learning activities, aims at designing, developing and test-ing new methods and technologies to enhance learning practices of both individualsand organizations. TEL may benefit greatly from integrating recommender systemstechnology to personalize the learning process and adjust it to the user’s formerknowledge, abilities and preferences. The chapter presents the particular require-ments of RSs for TEL; the user tasks that are supported in TEL settings; and howthese tasks compare to typical user tasks in other RSs. For example, one particu-lar user task for TEL –“find novel resources”– attempts to recommend only newor novel items. Or, to cite another example, – “find new pathways” – is concernedwith recommending alternative pathways through the learning resources. The chap-ter presents an analysis of the filtering approaches that could be useful for TEL alongwith a survey of existing TEL systems illustrating the recommendation techniquesthat have been deployed in these systems.

Chapter 10 discusses practical aspects of RS development and aims at providingpractical guidelines to the design, implementation and evaluation of personalizedsystems. Besides the prediction algorithm, many other factors need to be consideredwhen designing a RS. Chapter 10 lists some of these elements: the type of targetusers and their context; the devices that they would use; the role of the recommen-dation within the application; the goal of the recommendation; and, as mentionedpreviously, the data that is available.

Page 16: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

16 Francesco Ricci, Lior Rokach and Bracha Shapira

The authors propose to build a model of the environment based on three dimen-sions: system users; the characteristics of the data; and the overall application. Therecommender system design will be based on this model. The authors illustrate theirguidelines and the model on a news recommendation system that they have devel-oped.

Another important issue related to the practical side of RS deployment is thenecessity of evaluating them. Evaluation is required at different stages of the systemslife cycle for various purposes [25, 1]. At design time, evaluation is required toverify the selection of the appropriate recommender approach. In the design phase,evaluation should be implemented off-line and the recommendation algorithms arecompared with user interactions. The off-line evaluation consists of running severalalgorithms on the same datasets of user interactions (e.g., ratings) and comparingtheir performance. This type of evaluation is usually conducted on existing publicbenchmark data if appropriate data is available, or, otherwise, on collected data. Thedesign of the off-line experiments should follow known experiment design practices[11] in order to ensure reliable results.

Evaluation is also required after the system has been launched. The algorithmsmight be very accurate in solving the core recommendation problem, i.e., predictinguser ratings, but for some other reason the system may not be accepted by users, e.g.,because the performance of the system is not as expected. At this stage it is usuallybeneficial to perform on-line evaluation with real users of the system and analyzesystem logs in order to enhance system performance. In addition, most of the al-gorithms include parameters, such as weights thresholds, the number of neighbors,etc., requiring constant adjustment and calibration.

Another type of evaluation is a focused user study that can be conducted whenthe on-line evaluation is not feasible or too risky. In this type of evaluation, a con-trolled experiment is planned where a small group of users are asked to performdifferent tasks with various versions of the system. It is then possible to analyzethe users performance and to distribute questionnaires so that users may report ontheir experience. In such experiments it is possible to collect both quantitative andqualitative information about the systems.

Evaluation is also discussed in Chapter 12 in the context of TEL systems. Theauthors provide a detailed analysis of the evaluation methods and tools that can beemployed for evaluating TEL recommendation techniques against a set of criteriathat are proposed for each of the selected components (e.g., user model, domainmodel, recommendation strategy and algorithm).

Chapter 8 details three types of experiments that can be conducted in order toevaluate recommender systems. It presents their advantages and disadvantages, anddefines guidelines for choosing the methods for evaluation them. Unlike existingdiscussions of evaluation in the literature that usually speaks about the accuracy ofan algorithms prediction [25] and related measures, this chapter is unique in its ap-proach to the evaluation discussion since it focuses on property-directed evaluation.It provides a large set of properties (other than accuracy) that are relevant to thesystems success. For each of the properties, the appropriate type of experiment and

Page 17: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

1 Introduction to Recommender Systems Handbook 17

relevant measures are suggested. Among the list of properties are: coverage, coldstart, confidence, trust, novelty, risk, and serendipity.

When discussing the practical aspects of RSs, it may be beneficial to analyzereal system implementations. The idea is to test theoretically intuitive assumptionsin order to determine if they work in practice. The major problem that one must facein this case comes from the fact that the owners of commercial RSs are generallyunwilling to reveal their practices and there are only relatively few opportunities forsuch cooperation.

Chapter 9 reports on such an opportunity and describes the operation of a realRS, illustrating the practical aspects that apply to the implementation stage of theRS development and its evaluation. This description focuses on the integration ofa RS into the production environment of Fastweb, one of the largest European IPTelevision (IPTV) providers. The chapter describes the requirements and consider-ations, including scaling and accuracy, that led to the choice of the recommenderalgorithms. It also describes the off-line and on-line evaluations that took place andillustrates how the system is adjusted accordingly.

1.6 Recommender Systems and Human Computer Interaction

As we have illustrated in previous sections, researchers have chiefly been concernedwith designing a range of technical solutions, leveraging various sources of knowl-edge to achieve better predictions about what is liked and how much by the targetuser. The underlying assumption behind this research activity is that just presentingthese correct recommendations, i.e., the best options, should be enough. In otherwords, the recommendations should speak for themselves, and the user should def-initely accept the recommendations if they are correct. This is clearly an overlysimplified account of the recommendation problem and it is not so easy to deliverrecommendations.

In practice, users need recommendations because they do not have enoughknowledge to make an autonomous decision. Consequently, it may not be easy forthem to evaluate the proposed recommendation. Hence, various researchers havetried to understand the factors that lead to the acceptance of a recommendation by agiven user [105, 30, 24, 97, 33].

[105] was among the first to point out that the effectiveness of a RS is depen-dent on factors that go beyond the quality of the prediction algorithm. In fact, therecommender must also convince users to try (or read, buy, listen, watch) the rec-ommended items. This, of course, depends on the individual characteristics of theselected items and therefore on the recommendation algorithm. The process alsodepends, however, on the particular human/computer interaction supported by thesystem when the items are presented, compared, and explained. [105] found thatfrom a users perspective, an effective recommender system must inspire trust inthe system; it must have a system logic that is at least somewhat transparent; itshould point users towards new, not-yet-experienced items; it should provide details

Page 18: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

18 Francesco Ricci, Lior Rokach and Bracha Shapira

about recommended items, including pictures and community ratings; and finally, itshould present ways to refine recommendations.

[105] and other similarly oriented researchers do not diminish the importance ofthe recommendation algorithm, but claim that its effectiveness should not be evalu-ated only in terms of the accuracy of the prediction, i.e., with standard and popularIR metrics, such as MAE (Mean Absolute Error), precision, or NDCG (NormalizedDiscounted Cumulative Gain) (see also Chapters 8 5, 9). Other dimensions shouldbe measured that relate to the acceptance of the recommender system and its recom-mendations. These ideas have been remarkably well presented and discussed also by[33]. In that work the authors propose user-centric directions for evaluating recom-mender systems, including: the similarity of recommendation lists, recommendationserendipity, and the importance of user needs and expectations in a recommender.

Following the remarks made in [105], let us introduce some important pointsraised by HCI research that are further discussed in this handbook.

1.6.1 Trust, Explanations and Persuasiveness

First of all let us focus on trust. There are two different notions of trust that arediscussed in this handbook: trust about the other users of the recommender and trustabout a system’s recommendations.

Chapter 20 focuses on the first notion and considers a class of recommendersystems termed “social recommender systems”. These systems attempt to generatemore useful recommendations derived from information about user profiles and re-lationships between users that nowadays can be found virtually everywhere; e.g.in social networking sites such as Facebook, LinkedIn and MySpace. Since trust-based recommender systems mainly exploit the trust relationships found in thesesocial networking sites to build new recommendation algorithms (e.g., [34]), theystill operate on the core rating prediction problem but use trust relationships. Themain claimed advantage is that users will be aware of the nature of the recommen-dations, i.e., how they have been identified, and will tend to place greater trust inthese recommendations. In other words, the mutual trust of users can be exploitedalso for increasing the trust in the system.

Trust in system recommendations is discussed in Chapter 15. In this chapter themain scope is actually the role of explanations in RSs and trust emerges as one out ofseven roles that can be played by explanations in RSs. These roles are: transparency- explaining how the system works; scrutability - allowing users to tell the systemit is wrong [50]; trust - increasing user confidence in the system; effectiveness -helping users make good decisions; persuasiveness - convincing users to try or buy;efficiency - helping users make decisions faster; and satisfaction - increasing theease of use or enjoyment.

This chapter also illustrates a range of approaches for building explanations. Inthe collaborative filtering style, i.e., the explanation is of the form “Other users sim-ilar to you liked this item”. In content-based style explanations, the item’s attributes

Page 19: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

1 Introduction to Recommender Systems Handbook 19

which most affected the item to be recommended to the user are illustrated. For ex-ample, in a movie recommendation, an explanation may be of the form “This moviewas recommended because it stars Bruce Wills who you seem to like”, or “Item Xwas recommended because of features A and B which are shared by items Y andZ, which you rated highly”. In case-based style explanations, the system refers toitems that are similar to the recommended one, for example, “The item was recom-mended because you said you own item X” or “These items are recommended basedon your most recently viewed items”. And finally, in knowledge-based style expla-nations, the system explains the differences between the recommended item andanother item and how it serves the user’s goal: “This room has an ocean view and islarger than the previous recommended room, which will make it more romantic asyou requested”.

Moving back to trust, we see that it serves as a means of obtaining the main goalof the recommender, i.e., to convince the user to accept the recommendations andtry out one of the recommended items. This issue is ultimately related to the per-suasiveness of the full RS, i.e., how the various elements of the RS, including whatand how an item is recommended, actually operate during the human/computer in-teraction. This topic is discussed in the Chapter 14. Here the authors stress that arecommendation is seen as credible advice and is actually taken into account notonly because of the user’s perceptions of the recommendation but also due to thefundamental role of the system which is perceived as an advice-giver. Indeed, theliterature about persuasion suggests that people are likely to accept recommenda-tions from credible sources and we therefore conclude that the credibility of the RSis vital to increasing the likelihood of recommendation acceptance. Hence, the au-thors discuss how the credibility of RSs can be enhanced, providing a synopsis ofcredibility-related research.

1.6.2 Conversational Systems

Another severe limitation of many algorithmic approaches to RSs is due to the factthat these algorithms have been designed to collect all the input data only once.They then terminate their job by returning their recommendations. In many cases,this model is not effective since users may not be fully aware of their preferencesuntil they have interacted to a certain extent with the system and roughly understandthe range of alternatives. Or they may want to browse several alternative optionsbefore being convinced that some of the recommendations may suit them. There isalso the possibility that the system may be initially wrong in its suggestions and theuser may be willing to provide additional information that can fix these problems,and eventually obtain some better recommendations.

These aspects have been stressed and tackled by researchers engaged in followinga line of research that is commonly known as “conversational RSs” [27, 110, 67, 60].Conversational RSs use a diverse range of techniques for rating prediction or rank-ing. However, they all try to support an interactive process where both the user and

Page 20: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

20 Francesco Ricci, Lior Rokach and Bracha Shapira

the system may query or provide information to the other partner. The critical issuehere is how to design the dialogue, i.e., the conversational strategy and what actionsthe user and the system must perform in the various stages of the interaction. Thesupported dialogue must be effective, i.e., the user should terminate the conversationwith a solution of the task (e.g., book a flight) and in a quick way (small number ofconversational steps). In this handbook two chapters deal with this important topic.

Chapter 13 provides a comprehensive account of the research conducted incritiquing-based systems. Critiquing-based interfaces, or dialogue models, given aninitial set of user preferences (e.g., preferred values for some item features) presentto the user recommended items and support the user in formulating “critiques”, suchas “Show me more like item A, but cheaper”.

Critiquing-based systems have attracted great interest in domains where thereis a need for more sophisticated and interactive decision/recommendation supportsystems, such as in travel applications [88, 32, 100], or computer systems [82, 83].Critiquing-based systems were initially designed as effective approaches to userpreference elicitation problems, but have now become important for some additionalmotivations or applications, such as group recommendations, mixed-initiative rec-ommendations, adaptive user interface, recommendation explanation, mobile rec-ommenders.

Another approach related to conversational systems is preference-based [67].Preference-based are similar to critiquing-based approaches since they present up-front the user with some recommendations, which are not considered to be the bestbut then let the user express preferences about some items. This additional informa-tion is used to refine the system representation of the user’s preferences (user model)enabling the system to generate new and better recommendations.

Chapter 16 surveys these novel methods and systems focusing on three facets ofthe user-system interaction of such preference-based recommenders: initial prefer-ence elicitation; preference revision; and presentation of recommendation results.This chapter derives from the analysis of some systems as a collection of usabilityguidelines that can be applied in a wide and scalable way. Moreover, to select theguidelines, the authors do not focus on accuracy alone, but take into account thathumans have limited cognitive resources and are not likely to achieve a high levelof accuracy if the required effort is excessive. They identify and select methodsthat produce high recommendation accuracy involving an effort level that users arewilling to make.

Previously mentioned approaches (critiquing- and preference-based) have beenmostly applied to case-based reasoning systems [22], where the retrieval componentis based on a similarity metric. In such cases, a query can always retrieve and rankall the products contained in the catalogue since a product is always, to some extent,similar to a probe product (query). If the query language supports other constraints(e.g. equality or range constraints) the query may fail to return a product satisfy-ing the query [47, 71, 31]. In this case several techniques have been proposed forrepairing the query by relaxing the minimum amount of constraints to make it sat-isfiable. This topic is also covered in a chapter dedicated to constraint-based RSs(Chapter 6).

Page 21: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

1 Introduction to Recommender Systems Handbook 21

1.6.3 Visualization

We have highlighted so far some HCI issues that have been tackled in RS researchand which are discussed in this handbook. In summary, we have noted that how thesystem presents and visualizes the computed recommendation is obviously a criticalfactor for the acceptance of the recommendations and the RS.

Presentation and explanation techniques are not easily separable; a good presen-tation technique is also capable of explaining recommendations but also in moti-vating the user to make further requests, including requests for explanations. Onecommon aspect in the technologies presented so far is the fact that recommendationsare presented as a list of items. The length of this list can vary but the output of thecore recommendation algorithm is normally a ranked list and this has been alwaysexploited in the presentation.

In this handbook we include a chapter that illustrates a presentation approachthat deviates from this paradigm. In Chapter 17 the authors observe that much in-formation is lost in the ranked list visualization approach, since two products, bothof which match the user query or the user model, can differ from each other basedon a completely different set of product characteristics. If one is using a two dimen-sional, map-based visualization of the recommendations, it is possible to retain partof this information. In the map, one can position, in a restricted area of the map, rec-ommendations that are similar to each other. This chapter presents two approachesfor building this two-dimensional map of the recommendations and discusses itsadvantages and disadvantages.

1.7 Recommender Systems as a Multi-Disciplinary Field

Designing and developing RSs is a multi-disciplinary effort that has benefited fromresults obtained in various computer science fields especially machine learning anddata mining, information retrieval, and human-computer interaction. This is alsoclear in the chapters included in this handbook and the discussion presented above.Here we want to briefly address these relationships.

Machine learning and data mining, subfields of artificial intelligence, allow acomputer to learn to optimally perform a certain task using examples, data or pastexperiences [109]. For example, data mining can be used to learn from transactiondata that customers who bought “Da Vinci Code” also bought “The Five PeopleYou Meet in Heaven”. Consequently, recommendations can be constructed usingthe information provided by these associations.

Many RSs are centered around the use of various machine learning and data min-ing algorithms to predict user evaluations for items, or for learning how to correctlyrank items for a user. Chapter 2 of this handbook provides an overview of the maindata mining techniques used in the context of RSs preprocessing methods, such as:sampling or dimensionality reduction; classification techniques, such as Bayesian

Page 22: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

22 Francesco Ricci, Lior Rokach and Bracha Shapira

networks and support vector machines; clustering techniques such as k-means algo-rithm; and association rules.

Other chapters that illustrate and exemplify the relationships between RSs anddata mining are: Chapter 12, discussing the usage of active learning for selective in-formation acquisition; Chapter 5, devoted to advanced optimization techniques forbuilding rating prediction models; Chapter 7, presenting various rating predictionmethods that exploit contextually tagged transactional data; Chapter 24, presentingdata mining techniques that exploit the evaluations of items over several criteriato better predict the overall user evaluations; Chapter 25, focusing on data miningsolutions to detect attacks to a recommender system and for building more robust al-gorithmic solutions; Chapter 4, illustrating various instance based-learning optionscurrently used in collaborative filtering systems; Chapter 19 illustrating the use ofdata mining solutions operating on a multiway array or a hypergraph with hyper-edges, i.e., (user, resource, tag) triples; Chapter 20 presenting various data miningsolutions on trust networks.

Information retrieval (IR) aims to assist users in storing and searching variousforms of content, such as texts, images and videos [63]. With IR tools, users canquickly find information that is both relevant and comprehensive for their needs.While IR did not begin with the Web, the WWW played an important role in estab-lishing new ideas mainly due to the development of Web search engines.

Both IR and RSs are faced with similar filtering and ranking problems. IR gener-ally focuses on developing global retrieval techniques, often neglecting the individ-ual needs and preferences of users. Still [25] argues that recommender systems arenot clearly separated from information retrieval. The “individualized” and “interest-ing and useful” criteria that RSs try to achieve are the core differences between RSsand information retrieval or search engines.

Recently, modern Web search engine have also relied on recommendation tech-niques to address Web search challenges and to implement advanced search features.For example, search engines recommend similar queries to the current user query.Various engines also attempt to apply some form of personalization by generatingresults to a user query that are not only relevant to the query terms but are alsotailored to the users context (e.g., her location), and her search history.

Chapter 18 discusses the research goals of IR and personalized Web search fromthe RS perspective. The authors illustrate how techniques that originated in recentRS research may be applied to address search engine challenges. The chapter fo-cuses on two promising ideas for search engines improvement: personalization andcollaboration. The chapter describes a number of different approaches to personal-izing Web searches by exploiting user preferences and context information to affectsearch results. In addition, the chapter discusses recent work in the area of collab-orative information retrieval, which attempts to take advantage of the potential forcooperation between friends, colleagues or users with similar needs in implement-ing a variety of information-seeking tasks. This new line of research, termed socialsearch, benefits from the social medium property of the Web in providing searchresults that are affected by the experience and preferences of similar users. Theauthors foresee a “convergence of recommender systems and search systems” and

Page 23: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

1 Introduction to Recommender Systems Handbook 23

believe that integrating these sources in search engine algorithms would result inhighly satisfied users receiving the right information at the right time.

Other chapters that are related to IR research and illustrate techniques that arestudied in this area include: Chapter 19, addressing problems related to the retrievalof tag-based information content and Chapter 3, presenting an overview of content-based approaches that are strongly rooted in current search engine technologies.

Finally, RSs are ultimately targeted to provide useful information to users and forthat reason HCI plays a fundamental role in the ultimate acceptance of the computedrecommendations. In fact, several field studies have clearly indicated that from auser’s perspective, HCI aspects related to the usability of the system have a tremen-dous effect on the willingness of users to actually explore a systems recommenda-tions and provide input to the system in return for more effective recommendations.These topics were discussed previously in Section 1.6.

1.8 Emerging Topics and Challenges

1.8.1 Emerging Topics Discussed in the Handbook

It is clear from the previous pages that RS research is evolving in many and diversedirections and new topics are emerging or becoming more important subjects of in-vestigation. The reader is also referred to the proceedings of the last editions of theACM RecSys conferences and several other excellent review papers for additionalmaterial [7, 3]. In this handbook we cover some of these topics. Indeed, several havebeen already presented, such as: context-aware recommender (Chapter 7); new visu-alization techniques (Chapter 17); community-based personalized search (Chapter18); trust-based RS (Chapter 20). Other important topics are covered in the last twosections of this handbook and we want now to briefly introduce these chapters.

Chapter 19 presents social tagging systems (STS) a new RS-related topic that isemerging due to the growth of Web 2.0 applications. STS like Flickr, Bibsonomy,or Delicious, allow the ordinary user to publish and edit content as well as gen-erate and share tags (i.e., free keywords). STS users are experiencing informationoverload problems since STS are used by millions of users who enter into the sys-tem uncontrolled content and tags that pose retrieving difficulties for traditional IRsystems. Thus, RSs are required to assist users in finding relevant Information andsome commercial STS are starting to offer recommendations (e.g., Delicious).

The chapter discusses the new challenges that RSs for STS face, such as newrecommender tasks. These include not only traditional recommendations regardingcontent, but also recommendations for relevant tags and even other relevant users.Tag recommendation (i.e., recommending to the users relevant tags for an item),has different characteristics than traditional recommendations since the system canrecommend recurrent tags, unlike traditional RSs that usually do not recommendthe same item twice. In addition, RSs for STS deal with a three-dimensional prob-

Page 24: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

24 Francesco Ricci, Lior Rokach and Bracha Shapira

lem (user, resource, tag), rather than the traditional two-dimensional problem (user,item), and this affects the complexity of the algorithms. The chapter includes a state-of-the-art survey about the new generation of RSs built to serve STS. It also detailsthe challenges of deploying RS for real world STS, and offers new algorithms fordealing with the challenges of content in both STS and tag recommendation.

Chapter 21 deals with those situations when it would be good if the system couldrecommend information or items that are relevant to a group of users rather than toan individual. For instance, a RS may select television programs for a group to viewor a sequence of songs to listen to, based on models of all group members. Recom-mending to groups is clearly more complicated than recommending to individuals.Assuming that we know precisely what is good for individual users, the issue is howto combine individual user models. In this chapter, the authors discuss how grouprecommendation works, what its problems are, and what advances have been madeso far.

Chapter 22 discusses the ubiquitous issue of aggregating preferences, criteria orsimilarities. Normally such aggregation is done by using either the arithmetic meanor maximum/minimum functions. But many other aggregation functions whichcould deliver flexibility and adaptability, and ultimately more relevant recommen-dations, are often overlooked. In this chapter the authors review the basics of ag-gregation functions and their properties and present the most important families,including generalized means, Choquet and Sugeno integrals, ordered weighted av-eraging, triangular norms and conorms, as well as bipolar aggregation functions.Such functions can model various interactions between the inputs, including con-junctive, disjunctive and mixed behavior.

In Chapter 23, the authors focus on another fundamental problem of RSs, i.e., theneed to actively look for new data during the operational life of the recommender.This issue is normally neglected on the assumption that there is not much space forcontrolling what data (e.g., ratings) the system can collect since these decisions aretaken by the users when visiting the system. Actually, the RS provokes the userswith its recommendations and many systems actually explicitly ask for user prefer-ences during the recommendation process. Hence, by tuning the process, users canbe pushed to provide a range of different information. Specifically they can be re-quested to rate particular items and the knowledge of the users opinions about theseitems could be estimated as particularly beneficial according to various criteria, e.g.,to provide more diverse recommendations or simply to improve the prediction accu-racy of the system for some users or for the whole population of users. At this pointactive learning comes in; it can augment RSs, helping users to become more self-aware of their own likes/dislikes, leading to more meaningful and useful questions.At the same time active learning can provide new information to the system thatcan be analyzed for subsequent recommendations. Hence, applying active learningto RSs enables personalization of the recommending process [61]. This is accom-plished by allowing the system to actively influence the items the user is exposed to(e.g. the items displayed to the user during sign-up or during regular use), as well asby enabling the user to explore his/her interests freely.

Page 25: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

1 Introduction to Recommender Systems Handbook 25

Chapter 24 introduces another emerging topic, i.e., multi-criteria recommendersystems. In the majority of RSs the utility associated with an item is usually consid-ered a single criterion value, e.g., an overall evaluation or rating of an item by a user.But recently this assumption has been judged as limited because the suitability ofthe recommended item for a particular user may depend on several aspects that theuser can take into consideration when making his or her choice. The incorporationof multiple criteria that can affect the users opinions may lead to more effective andaccurate recommendations.

Chapter 24 provides an overview of multi-criteria RSs. First, it defines the rec-ommendation problem as a multi-criteria decision-making problem and reviewsmethods and techniques that can support the implementation of multi-criteria rec-ommenders. Then, it focuses on the category of multi-criteria rating recommendertechniques that provide recommendations by modeling the users utility for an itemas a vector of ratings along several criteria. A review of current algorithms thatuse multi-criteria ratings for calculating the rating prediction and generating recom-mendations is provided. The chapter concludes with a discussion on open issues andfuture challenges for these recommenders.

The last chapter of this handbook (Chapter 25) surveys articles dealing with se-curity issues. This topic has become a major issue in the past few years. Recentworks on the topic include [28, 45, 102, 112]. The chapter analyzes algorithms de-signed to generate more robust recommendations, i.e., recommendations that areharder for malicious users to influence. In fact, collaborative recommender systemsare dependent on the goodwill of their users, i.e., there is an implicit assumption thatusers will interact with the system with the aim of getting good recommendationsfor themselves while providing useful data for their neighbors. However, users willhave a range of purposes in interacting with RSs and in some cases, these purposesmay be counter to those of the system owner or those of the majority of its userpopulation. Namely these users may want to damage the Web site hosting the rec-ommender or to influence the recommendations provided to visitors, e.g., to scoresome items better or worse rather than to arrive at a fair evaluation.

In this chapter the authors provide a model of efficient attacks, i.e., attacks thatcan, with relatively low cost, produce a large impact on system output. Since theseattacks may very well be launched against a site, it makes sense to detect them sothat countermeasures can be taken as soon as possible. At the same time, researchershave studied a number of algorithms that are intended to robustly withstand attacksand which have lower impact curves relative to efficient attacks. These approachesare also surveyed in this chapter. With the combination of these techniques, re-searchers have sought, not to eliminate attacks, but to control their impact to thepoint where they are no longer cost-effective.

Page 26: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

26 Francesco Ricci, Lior Rokach and Bracha Shapira

1.8.2 Challenges

The list of newly emerging and challenging RS research topics is not limited tothose described in the chapters that we have mentioned above. Moreover, coveringall of them is not within the scope of this short introduction. The reader is referredto the final discussion sections in this handbook for other outstanding problems.

Below we briefly note additional challenging topics that we consider importantfor the development of the research on RSs and which are not covered in the hand-book.

• Scalability of the algorithms with large and real-world datasets. As the researchon core techniques progresses and matures, it becomes clear that a fundamentalissue for RSs is to determine how to embed the core recommendation techniquesin real operational systems and how to deal with massive and dynamic sets of dataproduced by the interactions of users with items (ratings, preferences, reviews,etc.). A solution that works fine when tested off-line on relatively small data setsmay become inefficient or even totally inapplicable on very large datasets. Newapproaches and large-scale evaluation studies are needed [91, 92, 33, 38, 116, 75,75].

• Proactive recommender systems, i.e., recommenders that decide to provide rec-ommendations even if not explicitly requested [90, 24, 62, 80]. The largest ma-jority of the recommender systems developed so far follow a “pull” model [94];where the user originates the request for a recommendation. In the scenariosemerging today, where computers are ubiquitous and users are always connected,it seems natural to imagine that a RS can detect implicit requests. It thereforeneeds to predict not only what to recommend, but also when and how to “push”its recommendations. In this way the RS can become proactive without beingperceived as disturbing.

• Privacy preserving recommender systems [81, 26, 79, 56, 17, 28, 102, 16, 5, 53,70, 114]. RSs exploit user data to generate personalized recommendations. Inthe attempt to build increasingly better recommendations, they collect as muchuser data as possible. This will clearly have a negative impact on the privacy ofthe users and the users may start feeling that the system knows too much abouttheir true preferences. Therefore, there is a need to design solutions that willparsimoniously and sensibly use user data. At the same time these solutions willensure that knowledge about the users cannot be freely accessed by malicioususers.

• Diversity of the items recommended to a target user [104, 66, 69, 55, 54, 46, 119].In a recommendation list, it is more likely that the user will find a suitable item ifthere is a certain degree of diversity among the included items. There is often novalue in having perfect recommendations for a restricted type of product, unlessthe user has expressed a narrow set of preferences. There are many situations, es-pecially in the early stage of a recommendation process, in which the users wantto explore new and diverse directions. In such cases, the user is using the recom-mender as a knowledge discovery tool. The research on this topic is still in an

Page 27: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

1 Introduction to Recommender Systems Handbook 27

early stage, and there is a need to characterize the nature of this “diversity”, i.e.,whether we are looking for diversity among different recommendation sessionsor within a session, and how to combine the diversity goal with the accuracy ofthe recommendation.

• Integration of long-term and short-term user preferences in the process of build-ing a recommendation list [6, 40, 74]. Recommender systems may be dividedin two classes: those that build a long-term profile, generated by aggregating allthe user transaction data collected by the system (e.g., collaborative filtering)and those that are more focused on capturing the ephemeral preferences of theuser, e.g., as in case-based approaches. Obviously both aspects are important andeither the precise user task or the availability of items may come under consid-eration in resolving the preference integration problem. In fact, new research isrequired to build hybrid models that can correctly decide to drift or not towardthe contingent user’s preferences when there is enough evidence to suggest thatthe user’s short-term preferences are departing from the long-term ones.

• Generic user models and cross domain recommender systems are able to mediateuser data through different systems and application domains [41, 18, 52, 19, 20,49, 15]. Using generic user model techniques, a single RS can produce recom-mendations about a variety of items. This is normally not possible for a generalRS which can combine more techniques in a hybrid approach, but cannot easilybenefit from user preferences collected in one domain to generate recommenda-tions in a different one.

• Distributed recommender systems that operate in open networks [38, 116, 92,113, 17, 102]. The computational model of the largest majority of RSs adheresto a typical client-server architecture, where the user-client requests recommen-dations to the server-recommender which replies with the suggestions. This isclearly a severe limitation and suffers from all the classical problems of central-ized systems. The emerging scenario of grid or cloud computing can becomean excellent opportunity to implement more robust and flexible computationalmodels for RSs.

• Recommender that optimize a sequence of recommendations [120, 99, 10, 59,61, 107, 106]. We mentioned already that conversational RSs have emerged inthe attempt to improve the quality of recommendations provided by the systemsbased on a simpler approach: a one-time request/response. Conversational RSscan be further improved by implementing learning capabilities that can optimizenot only the items that are recommended but also how the dialogue between theuser and the system must unfold in all possible situations.

• Recommenders designed to operate in mobile devices and usage contexts [117,98, 55, 51, 4, 115, 111, 57, 29, 9, 77, 76, 89, 73, 44, 95, 13]. Mobile computing isemerging as the most natural platform for personal computing. Many recommen-dation requests are likely to be made when the user is on the move, e.g., at shopsor hotels in a visited city. This necessitates “mobilizing” the user interface and todesign computational solutions that can efficiently use the still limited resources(computational power and screen size) of the mobile devices.

Page 28: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

28 Francesco Ricci, Lior Rokach and Bracha Shapira

Finally, before ending this introduction, we want to present some additional chal-lenges that were discussed in a tutorial held at the latest RecSys conference in NewYork, October 22-25, 2009 [http://recsys.acm.org/tutorial3.pdf]. John Riedl (Uni-versity of Minnesota), Todd Beaupre (Yahoo!) and John Sanders (Netflix) men-tioned eight important challenges for the research on recommender systems: trans-parency, exploration versus exploitation, guided navigation, time value, user ac-tion interpretation, evaluating recommenders, scalability, academic/industry part-nerships.

Some of these issues have already been discussed in this introduction. For exam-ple, transparency was introduced when we discussed the role of the explanation ofa recommendation, and we stressed the important role it plays in order to present arecommendation as more acceptable for the user. Also the evaluation of RSs, i.e., therange of possible and important dimensions that can be measured in an evaluationis a topic fully addressed in another chapter (Chapter 8).

The time value of recommendations is also partially discussed in our remarksabout context-aware recommenders (Chapter 7). However, the challenge refers tothe fact that a given set of recommendations may not be applicable forever but therecould be a time interval when these items can be recommended. This is clear, forinstance, when it comes to news items; people want to be informed about the mostrecent events and news cannot be meaningfully recommended even one day afterthe initial announcement.

Exploration vs. exploitation is touched upon in active learning (Chapter 23). Thischallenge refers to the fundamental dilemma that a designer must properly tackle,i.e., whether to keep recommending items that the system can now identify as goodrecommendations, given the data currently available for the system or to furtherexplore user preferences (e.g., asking to rate additional and particular items) in orderto build newer and possibly even better recommendations in the future.

indexGuided navigation Guided navigation refers to combining classical rec-ommendation lists, i.e., suggestions with tools that let the user navigate more au-tonomously in the space of possible options. User action interpretation refers tothe possibility that in addition to explicit ratings there could be many more actionsperformed by the user operating the recommender that can be detected, analyzedand used to build a better prediction model. The idea is that every single user actionshould be exploited in the recommendation process. But it is challenging to interpretthe user’s actions, i.e., the intent behind an action, and there are actions that shouldbe discarded because they were not produced by genuine users, such as, actions per-formed by different users on the same browser, or false and malicious registrationsor data or log data caused by robots or crawlers.

Scalability was also mentioned earlier. We stress again that this is clearly an issueabout which discussion is missing in the current literature since it has been mostlyinvestigated by practitioners.

Finally the discussion in that workshop became quite animated when the matterof cooperation between industry and academia was touched upon. Industry has spe-cific problems but is not making them clearly visible. This is happening for manyreasons, including the need to not disclose to competitors critical information. Con-

Page 29: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

1 Introduction to Recommender Systems Handbook 29

versely, academia is looking for problems that can be tackled in a framework of theresources and time available to them and will generally address a topic only if it islikely to have an impact in the scientific community. This has made and will makeindustry-academic cooperation difficult. But RSs is a research field that requiresnew concrete challenges and there is a real risk of stagnation if we fail to tackle theuseful but risky challenges in favor of solved or mature problems.

We hope that this handbook, as a useful tool for practitioners and researchers,will contribute to further develop knowledge in this exciting and useful researcharea. In this way we believe that we can reduce the risk that these two groups willfollow different roads. Currently the research on RSs has greatly benefited fromthe combined interest and efforts that industry and academia have invested in thisfield. We therefore wish the best to both groups as they read this handbook and wehope that it will attract even more researchers to work in this highly interesting andchallenging field.

References

1. Adomavicius, G., Sankaranarayanan, R., Sen, S., Tuzhilin, A.: Incorporating contextual in-formation in recommender systems using a multidimensional approach. ACM Trans. Inf.Syst. 23(1), 103–145 (2005)

2. Adomavicius, G., Tuzhilin, A.: Personalization technologies: a process-oriented perspective.Commun. ACM 48(10), 83–90 (2005)

3. Adomavicius, G., Tuzhilin, A.: Toward the next generation of recommender systems: A sur-vey of the state-of-the-art and possible extensions. IEEE Transactions on Knowledge andData Engineering 17(6), 734–749 (2005)

4. Ahn, H., Kim, K.J., Han, I.: Mobile advertisement recommender system using collaborativefiltering: Mar-cf. In: Proceedings of the 2006 Conference of the Korea Society of Manage-ment Information Systems, pp. 709–715 (2006)

5. Aımeur, E., Brassard, G., Fernandez, J.M., Onana, F.S.M.: Alambic : a privacy-preservingrecommender system for electronic commerce. Int. J. Inf. Sec. 7(5), 307–334 (2008)

6. Aimeur, E., Vezeau, M.: Short-term profiling for a case-based reasoning recommendationsystem. In: R.L. de Mantaras, E. Plaza (eds.) Machine Learning: 2000, 11th European Con-ference on Machine Learning, pp. 23–30. Springer (2000)

7. Anand, S.S., Mobasher, B.: Intelligent techniques for web personalization. In: IntelligentTechniques for Web Personalization, pp. 1–36. Springer (2005)

8. Arazy, O., Kumar, N., Shapira, B.: Improving social recommender systems. IT Professional11(4), 38–44 (2009)

9. Averjanova, O., Ricci, F., Nguyen, Q.N.: Map-based interaction with a conversational mobilerecommender system. In: The Second International Conference on Mobile Ubiquitous Com-puting, Systems, Services and Technologies, 2008. UBICOMM ’08, pp. 212–218 (2008)

10. Baccigalupo, C., Plaza, E.: Case-based sequential ordering of songs for playlist recommen-dation. In: T. Roth-Berghofer, M.H. Goker, H.A. Guvenir (eds.) ECCBR, Lecture Notes inComputer Science, vol. 4106, pp. 286–300. Springer (2006)

11. Bailey, R.A.: Design of comparative experiments. Cambridge University Press Cambridge(2008)

12. Balabanovic, M., Shoham, Y.: Content-based, collaborative recommendation. Communica-tion of ACM 40(3), 66–72 (1997)

13. Bellotti, V., Begole, J.B., hsin Chi, E.H., Ducheneaut, N., Fang, J., Isaacs, E., King, T.H.,Newman, M.W., Partridge, K., Price, B., Rasmussen, P., Roberts, M., Schiano, D.J., Walen-

Page 30: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

30 Francesco Ricci, Lior Rokach and Bracha Shapira

dowski, A.: Activity-based serendipitous recommendations with the magitti mobile leisureguide. In: M. Czerwinski, A.M. Lund, D.S. Tan (eds.) CHI, pp. 1157–1166. ACM (2008)

14. Ben-Shimon, D., Tsikinovsky, A., Rokach, L., Meisels, A., Shani, G., Naamani, L.: Recom-mender system from personal social networks. In: K. Wegrzyn-Wolska, P.S. Szczepaniak(eds.) AWIC, Advances in Soft Computing, vol. 43, pp. 47–55. Springer (2007)

15. Berkovsky, S.: Mediation of User Models: for Enhanced Personalization in RecommenderSystems. VDM Verlag (2009)

16. Berkovsky, S., Borisov, N., Eytani, Y., Kuflik, T., Ricci, F.: Examining users’ attitude towardsprivacy preserving collaborative filtering. In: International Workshop on Data Mining forUser Modeling, at User Modeling 2007, 11th International Conference, UM 2007, Corfu,Greece, June 25, 2007, Proceedings (2007)

17. Berkovsky, S., Eytani, Y., Kuflik, T., Ricci, F.: Enhancing privacy and preserving accuracyof a distributed collaborative filtering. In: RecSys ’07: Proceedings of the 2007 ACM con-ference on Recommender systems, pp. 9–16. ACM Press, New York, NY, USA (2007)

18. Berkovsky, S., Kuflik, T., Ricci, F.: Cross-technique mediation of user models. In: Proceed-ings of International Conference on Adaptive Hypermedia and Adaptive Web-Based Systems[AH2006], pp. 21–30. Dublin (2006)

19. Berkovsky, S., Kuflik, T., Ricci, F.: Mediation of user models for enhanced personalization inrecommender systems. User Modeling and User-Adapted Interaction 18(3), 245–286 (2008)

20. Berkovsky, S., Kuflik, T., Ricci, F.: Cross-representation mediation of user models. UserModeling and User-Adapted Interaction 19(1-2), 35–63 (2009)

21. Billsus, D., Pazzani, M.: Learning probabilistic user models. In: UM97 Workshop on Ma-chine Learning for User Modeling (1997). URL http://www.dfki.de/˜bauer/um-ws/

22. Bridge, D., Goker, M., McGinty, L., Smyth, B.: Case-based recommender systems. TheKnowledge Engineering review 20(3), 315–320 (2006)

23. Brusilovsky, P.: Methods and techniques of adaptive hypermedia. User Modeling and User-Adapted Interaction 6(2-3), 87–129 (1996)

24. Bulander, R., Decker, M., Schiefer, G., Kolmel, B.: Comparison of different approaches formobile advertising. Mobile Commerce and Services, 2005. WMCS ’05. The Second IEEEInternational Workshop on pp. 174–182 (2005)

25. Burke, R.: Hybrid web recommender systems. In: The Adaptive Web, pp. 377–408. SpringerBerlin / Heidelberg (2007)

26. Canny, J.F.: Collaborative filtering with privacy. In: IEEE Symposium on Security and Pri-vacy, pp. 45–57 (2002)

27. Carenini, G., Smith, J., Poole, D.: Towards more conversational and collaborative recom-mender systems. In: Proceedings of the 2003 International Conference on Intelligent UserInterfaces, January 12-15, 2003, Miami, FL, USA, pp. 12–18 (2003)

28. Cheng, Z., Hurley, N.: Effective diverse and obfuscated attacks on model-based recom-mender systems. In: RecSys ’09: Proceedings of the third ACM conference on Recommendersystems, pp. 141–148. ACM, New York, NY, USA (2009)

29. Church, K., Smyth, B., Cotter, P., Bradley, K.: Mobile information access: A study of emerg-ing search behavior on the mobile internet. ACM Trans. Web 1(1), 4 (2007)

30. Cosley, D., Lam, S.K., Albert, I., Konstant, J.A., Riedl, J.: Is seeing believing? how rec-ommender system interfaces affect users’ opinions. In: In Proceedings of the CHI 2003Conference on Human factors in Computing Systems. Fort Lauderdale, FL (2003)

31. Felfernig, A., Friedrich, G., Schubert, M., Mandl, M., Mairitsch, M., Teppan, E.: Plausiblerepairs for inconsistent requirements. In: Proceedings of the 21st International Joint Confer-ence on Artificial Intelligence (IJCAI’09), pp. 791–796. Pasadena, California, USA (2009)

32. Fisher, G.: User modeling in human-computer interaction. User Modeling and User-AdaptedInteraction 11, 65–86 (2001)

33. George, T., Merugu, S.: A scalable collaborative filtering framework based on co-clustering.In: Proceedings of the 5th IEEE Conference on Data Mining (ICDM), pp. 625–628. IEEEComputer Society, Los Alamitos, CA, USA (2005)

Page 31: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

1 Introduction to Recommender Systems Handbook 31

34. Golbeck, J.: Generating predictive movie recommendations from trust in social networks. In:Trust Management, 4th International Conference, iTrust 2006, Pisa, Italy, May 16-19, 2006,Proceedings, pp. 93–104 (2006)

35. Goldberg, D., Nichols, D., Oki, B.M., Terry, D.: Using collaborative filtering to weave aninformation tapestry. Commun. ACM 35(12), 61–70 (1992)

36. Groh, G., Ehmig, C.: Recommendations in taste related domains: collaborative filtering vs.social filtering. In: GROUP ’07: Proceedings of the 2007 international ACM conference onSupporting group work, pp. 127–136. ACM, New York, NY, USA (2007)

37. Guy, I., Zwerdling, N., Carmel, D., Ronen, I., Uziel, E., Yogev, S., Ofek-Koifman, S.: Per-sonalized recommendation of social software items based on social relations. In: RecSys’09: Proceedings of the third ACM conference on Recommender systems, pp. 53–60. ACM,New York, NY, USA (2009)

38. Han, P., Xie, B., Yang, F., Sheng, R.: A scalable p2p recommender system based on dis-tributed collaborative filtering. Expert systems with applications (2004)

39. Hayes, C., Cunningham, P.: Smartradio-community based music radio. Knowledge BasedSystems 14(3-4), 197–201 (2001)

40. He, L., Zhang, J., Zhuo, L., Shen, L.: Construction of user preference profile in a personalizedimage retrieval. In: Neural Networks and Signal Processing, 2008 International Conferenceon, pp. 434–439 (2008)

41. Heckmann, D., Schwartz, T., Brandherm, B., Schmitz, M., von Wilamowitz-Moellendorff,M.: Gumo - the general user model ontology. In: User Modeling 2005, 10th InternationalConference, UM 2005, Edinburgh, Scotland, UK, July 24-29, 2005, Proceedings, pp. 428–432 (2005)

42. Herlocker, J., Konstan, J., Riedl, J.: Explaining collaborative filtering recommendations. In:In proceedings of ACM 2000 Conference on Computer Supported Cooperative Work, pp.241–250 (2000)

43. Herlocker, J.L., Konstan, J.A., Terveen, L.G., Riedl, J.T.: Evaluating collaborative filteringrecommender systems. ACM Transaction on Information Systems 22(1), 5–53 (2004)

44. Horozov, T., Narasimhan, N., Vasudevan, V.: Using location for personalized POI recommen-dations in mobile environments. In: Proc. Int’l Sym. Applications on Internet, pp. 124–129.EEE Computer Society (2006)

45. Hurley, N., Cheng, Z., Zhang, M.: Statistical attack detection. In: RecSys ’09: Proceedingsof the third ACM conference on Recommender systems, pp. 149–156. ACM, New York, NY,USA (2009)

46. Hwang, C.S., Kuo, N., Yu, P.: Representative-based diversity retrieval. In: Innovative Com-puting Information and Control, 2008. ICICIC ’08. 3rd International Conference on, pp.155–155 (2008)

47. Jannach, D.: Finding preferred query relaxations in content-based recommenders. In: 3rdInternational IEEE Conference on Intelligent Systems, pp. 355–360 (2006)

48. Jannach, D., Zanker, M., Felfernig, A., Friedrich, G.: Recommender Systems An Introduc-tion. Cambridge University Press (2010)

49. Jessenitschnig, M., Zanker, M.: A generic user modeling component for hybrid recommen-dation strategies. E-Commerce Technology, IEEE International Conference on 0, 337–344(2009). DOI http://doi.ieeecomputersociety.org/10.1109/CEC.2009.83

50. Kay, J.: Scrutable adaptation: Because we can and must. In: Adaptive Hypermedia andAdaptive Web-Based Systems, 4th International Conference, AH 2006, Dublin, Ireland, June21-23, 2006, Proceedings, pp. 11–19 (2006)

51. Kim, C.Y., Lee, J.K., Cho, Y.H., Kim, D.H.: Viscors: A visual-content recommender for themobile web. IEEE Intelligent Systems 19(6), 32–39 (2004)

52. Kobsa, A.: Generic user modeling systems. In: P. Brusilovsky, A. Kobsa, W. Nejdl (eds.) TheAdaptive Web, Lecture Notes in Computer Science, vol. 4321, pp. 136–154. Springer (2007)

53. Kobsa, A.: Privacy-enhanced personalization. In: D. Wilson, H.C. Lane (eds.) FLAIRS Con-ference, p. 10. AAAI Press (2008)

54. Koren, Y., Bell, R.M., Volinsky, C.: Matrix factorization techniques for recommender sys-tems. IEEE Computer 42(8), 30–37 (2009)

Page 32: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

32 Francesco Ricci, Lior Rokach and Bracha Shapira

55. Kramer, R., Modsching, M., ten Hagen, K.: Field study on methods for elicitation of prefer-ences using a mobile digital assistant for a dynamic tour guide. In: SAC ’06: Proceedingsof the 2006 ACM symposium on Applied computing, pp. 997–1001. ACM Press, New York,NY, USA (2006)

56. Lam, S.K., Frankowski, D., Riedl, J.: Do you trust your recommendations? an exploration ofsecurity and privacy issues in recommender systems. In: G. Muller (ed.) ETRICS, LectureNotes in Computer Science, vol. 3995, pp. 14–29. Springer (2006)

57. Lee, H., Park, S.J.: Moners: A news recommender for the mobile web. Expert Systems withApplications 32(1), 143 – 150 (2007)

58. Linden, G., Smith, B., York, J.: Amazon.com recommendations: Item-to-item collaborativefiltering. IEEE Internet Computing 7(1), 76–80 (2003)

59. Mahmood, T., Ricci, F.: Towards learning user-adaptive state models in a conversational rec-ommender system. In: A. Hinneburg (ed.) LWA 2007: Lernen - Wissen - Adaption, Halle,September 2007, Workshop Proceedings, pp. 373–378. Martin-Luther-University Halle-Wittenberg (2007)

60. Mahmood, T., Ricci, F.: Improving recommender systems with adaptive conversationalstrategies. In: C. Cattuto, G. Ruffo, F. Menczer (eds.) Hypertext, pp. 73–82. ACM (2009)

61. Mahmood, T., Ricci, F., Venturini, A., Hopken, W.: Adaptive recommender systems for travelplanning. In: W.H. Peter OConnor, U. Gretzel (eds.) Information and Communication Tech-nologies in Tourism 2008, proceedings of ENTER 2008 International Conference, pp. 1–11.Springer, Innsbruck (2008)

62. Mahmoud, Q.: Provisioning context-aware advertisements to wireless mobile users. Multi-media and Expo, 2006 IEEE International Conference on pp. 669–672 (2006)

63. Manning, C.: Introduction to Information Retrieval. Cambridge University Press, Cambridge(2008)

64. Massa, P., Avesani, P.: Trust-aware collaborative filtering for recommender systems. In:Proceedings of the International Conference on Cooperative Information Systems, CoopIS,pp. 492–508 (2004)

65. McCarthy, K., Salamo, M., Coyle, L., McGinty, L., Smyth, B., Nixon, P.: Group recom-mender systems: a critiquing based approach. In: C. Paris, C.L. Sidner (eds.) IUI, pp. 267–269. ACM (2006)

66. McGinty, L., Smyth, B.: On the role of diversity in conversational recommender systems. In:A. Aamodt, D. Bridge, K. Ashley (eds.) ICCBR 2003, the 5th International Conference onCase-Based Reasoning, pp. 276–290. Trondheim, Norway (2003)

67. McGinty, L., Smyth, B.: Adaptive selection: An analysis of critiquing and preference-basedfeedback in conversational recommender systems. International Journal of Electronic Com-merce 11(2), 35–57 (2006)

68. McNee, S.M., Riedl, J., Konstan, J.A.: Being accurate is not enough: how accuracy metricshave hurt recommender systems. In: CHI ’06: CHI ’06 extended abstracts on Human factorsin computing systems, pp. 1097–1101. ACM Press, New York, NY, USA (2006)

69. McSherry, D.: Diversity-conscious retrieval. In: S. Craw, A. Preece (eds.) Advances in Case-Based Reasoning, Proceedings of the 6th European Conference on Case Based Reasoning,ECCBR 2002, pp. 219–233. Springer Verlag, Aberdeen, Scotland (2002)

70. McSherry, F., Mironov, I.: Differentially private recommender systems: building privacy intothe net. In: KDD ’09: Proceedings of the 15th ACM SIGKDD international conference onKnowledge discovery and data mining, pp. 627–636. ACM, New York, NY, USA (2009)

71. Mirzadeh, N., Ricci, F.: Cooperative query rewriting for decision making support and rec-ommender systems. Applied Artificial Intelligence 21, 1–38 (2007)

72. Montaner, M., Lopez, B., de la Rosa, J.L.: A taxonomy of recommender agents on the inter-net. Artificial Intelligence Review 19(4), 285–330 (2003)

73. Nguyen, Q.N., Ricci, F.: Replaying live-user interactions in the off-line evaluation of critique-based mobile recommendations. In: RecSys ’07: Proceedings of the 2007 ACM conferenceon Recommender systems, pp. 81–88. ACM Press, New York, NY, USA (2007)

Page 33: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

1 Introduction to Recommender Systems Handbook 33

74. Nguyen, Q.N., Ricci, F.: Conversational case-based recommendations exploiting a structuredcase model. In: Advances in Case-Based Reasoning, 9th European Conference, ECCBR2008, Trier, Germany, September 1-4, 2008. Proceedings, pp. 400–414 (2008)

75. Papagelis, M., Rousidis, I., Plexousakis, D., Theoharopoulos, E.: Incremental collaborativefiltering for highly-scalable recommendation algorithms. In: M.S. Hacid, N.V. Murray, Z.W.Ras, S. Tsumoto (eds.) ISMIS, Lecture Notes in Computer Science, vol. 3488, pp. 553–561.Springer (2005)

76. Park, M.H., Hong, J.H., Cho, S.B.: Location-based recommendation system using bayesianuser’s preference model in mobile devices. In: J. Indulska, J. Ma, L.T. Yang, T. Ungerer,J. Cao (eds.) UIC, Lecture Notes in Computer Science, vol. 4611, pp. 1130–1139. Springer(2007)

77. Park, S., Kang, S., Kim, Y.K.: A channel recommendation system in mobile environment.Consumer Electronics, IEEE Transactions on 52(1), 33–39 (2006). DOI 10.1109/TCE.2006.1605022

78. Pazzani, M.J.: A framework for collaborative, content-based and demographic filtering. Ar-tificial Intelligence Review 13, 393–408 (1999)

79. Polat, H., Du, W.: Privacy-preserving collaborative filtering using randomized perturbationtechniques. In: Proceedings of the 3rd IEEE International Conference on Data Mining(ICDM 2003), 19-22 December 2003, Melbourne, Florida, USA, pp. 625–628 (2003)

80. Puerta Melguizo, M.C., Boves, L., Deshpande, A., Ramos, O.M.: A proactive recommen-dation system for writing: helping without disrupting. In: ECCE ’07: Proceedings of the14th European conference on Cognitive ergonomics, pp. 89–95. ACM, New York, NY, USA(2007). DOI http://doi.acm.org/10.1145/1362550.1362569

81. Ramakrishnan, N., Keller, B.J., Mirza, B.J., Grama, A., Karypis, G.: When being weak isbrave: Privacy in recommender systems. IEEE Internet Computing cs.CG/0105028 (2001)

82. Reilly, J., McCarthy, K., McGinty, L., Smyth, B.: Dynamic critiquing. In: Advances inCase-Based Reasoning, 7th European Conference, ECCBR 2004, Madrid, Spain, August30 - September 2, 2004, Proceedings, pp. 763–777 (2004)

83. Reilly, J., Zhang, J., McGinty, L., Pu, P., Smyth, B.: Evaluating compound critiquing recom-menders: a real-user study. In: EC ’07: Proceedings of the 8th ACM conference on Electroniccommerce, pp. 114–123. ACM, New York, NY, USA (2007)

84. Resnick, P., Iacovou, N., Suchak, M., Bergstrom, P., Riedl, J.: Grouplens: An open architec-ture for collaborative filtering of netnews. In: Proceedings ACM Conference on Computer-Supported Cooperative Work, pp. 175–186 (1994)

85. Resnick, P., Varian, H.R.: Recommender systems. Communications of the ACM 40(3), 56–58 (1997)

86. Ricci, F.: Travel recommender systems. IEEE Intelligent Systems 17(6), 55–57 (2002)87. Ricci, F., Cavada, D., Mirzadeh, N., Venturini, A.: Case-based travel recommendations. In:

D.R. Fesenmaier, K. Woeber, H. Werthner (eds.) Destination Recommendation Systems: Be-havioural Foundations and Applications, pp. 67–93. CABI (2006)

88. Ricci, F., Missier, F.D.: Supporting travel decision making through personalized recommen-dation. In: C.M. Karat, J.O. Blom, J. Karat (eds.) Designing Personalized User Experiencesin eCommerce, pp. 231–251. Kluwer Academic Publisher (2004)

89. Ricci, F., Nguyen, Q.N.: Acquiring and revising preferences in a critique-based mobilerecommender system. IEEE Intelligent Systems 22(3), 22–29 (2007). DOI http://doi.ieeecomputersociety.org/10.1109/MIS.2007.43

90. Sae-Ueng, S., Pinyapong, S., Ogino, A., Kato, T.: Personalized shopping assistance serviceat ubiquitous shop space. Advanced Information Networking and Applications - Workshops,2008. AINAW 2008. 22nd International Conference on pp. 838–843 (2008). DOI 10.1109/WAINA.2008.287

91. Sarwar, B., Karypis, G., Konstan, J., Riedl, J.: Incremental singular value decompositionalgorithms for highly scalable recommender systems. In: Proceedings of the 5th InternationalConference in Computers and Information Technology (2002)

Page 34: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

34 Francesco Ricci, Lior Rokach and Bracha Shapira

92. Sarwar, B.M., Konstan, J.A., Riedl, J.: Distributed recommender systems for internet com-merce. In: M. Khosrow-Pour (ed.) Encyclopedia of Information Science and Technology(II), pp. 907–911. Idea Group (2005)

93. Schafer, J.B., Frankowski, D., Herlocker, J., Sen, S.: Collaborative filtering recommendersystems. In: The Adaptive Web, pp. 291–324. Springer Berlin / Heidelberg (2007)

94. Schafer, J.B., Konstan, J.A., Riedl, J.: E-commerce recommendation applications. Data Min-ing and Knowledge Discovery 5(1/2), 115–153 (2001)

95. Schifanella, R., Panisson, A., Gena, C., Ruffo, G.: Mobhinter: epidemic collaborative filter-ing and self-organization in mobile ad-hoc networks. In: RecSys ’08: Proceedings of the2008 ACM conference on Recommender systems, pp. 27–34. ACM, New York, NY, USA(2008)

96. Schwartz, B.: The Paradox of Choice. ECCO, New York (2004)97. van Setten, M., McNee, S.M., Konstan, J.A.: Beyond personalization: the next stage of rec-

ommender systems research. In: R.S. Amant, J. Riedl, A. Jameson (eds.) IUI, p. 8. ACM(2005)

98. van Setten, M., Pokraev, S., Koolwaaij, J.: Context-aware recommendations in the mobiletourist application compass. In: W. Nejdl, P. De Bra (eds.) Adaptive Hypermedia 2004, pp.235–244. Springer Verlag (2004)

99. Shani, G., Heckerman, D., Brafman, R.I.: An mdp-based recommender system. Journal ofMachine Learning Research 6, 1265–1295 (2005)

100. Sharda, N.: Tourism Informatics: Visual Travel Recommender Systems, Social Communi-ties, and User Interface Design. Information Science Reference (2009)

101. Shardanand, U., Maes, P.: Social information filtering: algorithms for automating ”wordof mouth”. In: Proceedings of the Conference on Human Factors in Computing Systems(CHI’95), pp. 210–217 (1995)

102. Shokri, R., Pedarsani, P., Theodorakopoulos, G., Hubaux, J.P.: Preserving privacy in collab-orative filtering through distributed aggregation of offline profiles. In: RecSys ’09: Proceed-ings of the third ACM conference on Recommender systems, pp. 157–164. ACM, New York,NY, USA (2009)

103. Sinha, R.R., Swearingen, K.: Comparing recommendations made by online systems andfriends. In: DELOS Workshop: Personalisation and Recommender Systems in Digital Li-braries (2001)

104. Smyth, B., McClave, P.: Similarity vs diversity. In: Proceedings of the 4th InternationalConference on Case-Based Reasoning. Springer-Verlag (2001)

105. Swearingen, K., Sinha, R.: Beyond algorithms: An HCI perspective on recommender sys-tems. In: J.L. Herlocker (ed.) Recommender Systems, papers from the 2001 ACM SIGIRWorkshop. New Orleans, LA - USA (2001)

106. Taghipour, N., Kardan, A.: A hybrid web recommender system based on q-learning. In:Proceedings of the 2008 ACM Symposium on Applied Computing (SAC), Fortaleza, Ceara,Brazil, March 16-20, 2008, pp. 1164–1168 (2008)

107. Taghipour, N., Kardan, A., Ghidary, S.S.: Usage-based web recommendations: a reinforce-ment learning approach. In: Proceedings of the 2007 ACM Conference on RecommenderSystems, RecSys 2007, Minneapolis, MN, USA, October 19-20, 2007, pp. 113–120 (2007)

108. Takacs, G., Pilaszy, I., Nemeth, B., Tikk, D.: Scalable collaborative filtering approaches forlarge recommender systems. J. Mach. Learn. Res. 10, 623–656 (2009)

109. Tan, P.N.: Introduction to Data Mining. Pearson Addison Wesley, San Francisco (2006)110. Thompson, C.A., Goker, M.H., Langley, P.: A personalized system for conversational rec-

ommendations. Artificial Intelligence Research 21, 393–428 (2004)111. Tung, H.W., Soo, V.W.: A personalized restaurant recommender agent for mobile e-service.

In: S.T. Yuan, J. Liu (eds.) Proceedings of the IEEE International Conference on e-Technology, e-Commerce and e-Service, EEE’04, pp. 259–262. IEEE Computer SocietyPress, Taipei, Taiwan (2004)

112. Van Roy, B., Yan, X.: Manipulation-resistant collaborative filtering systems. In: RecSys ’09:Proceedings of the third ACM conference on Recommender systems, pp. 165–172. ACM,New York, NY, USA (2009)

Page 35: Chapter 1 Introduction to Recommender Systems Handbookricci/papers/intro-rec-sys-handbook.pdf1.1 Introduction Recommender Systems (RSs) are software tools and techniques providing

1 Introduction to Recommender Systems Handbook 35

113. Wang, J., Pouwelse, J.A., Lagendijk, R.L., Reinders, M.J.T.: Distributed collaborative filter-ing for peer-to-peer file sharing systems. In: H. Haddad (ed.) SAC, pp. 1026–1030. ACM(2006)

114. Wang, Y., Kobsa, A.: Performance evaluation of a privacy-enhancing framework for person-alized websites. In: G.J. Houben, G.I. McCalla, F. Pianesi, M. Zancanaro (eds.) UMAP,Lecture Notes in Computer Science, vol. 5535, pp. 78–89. Springer (2009)

115. Wietsma, R.T.A., Ricci, F.: Product reviews in mobile decision aid systems. In: PervasiveMobile Interaction Devices (PERMID 2005) - Mobile Devices as Pervasive User Interfacesand Interaction Devices - Workshop in conjunction with: The 3rd International Conferenceon Pervasive Computing (PERVASIVE 2005), May 11 2005, Munich, Germany, pp. 15–18.LMU Munich (2005)

116. Xie, B., Han, P., Yang, F., Shen, R.: An efficient neighbor searching scheme of distributedcollaborative filtering on p2p overlay network. Database and Expert Systems Applicationspp. 141–150 (2004)

117. Yuan, S.T., Tsao, Y.W.: A recommendation mechanism for contextualized mobile advertis-ing. Expert Systems with Applications 24(4), 399–414 (2003)

118. Zhang, F.: Research on recommendation list diversity of recommender systems. Managementof e-Commerce and e-Government, International Conference on pp. 72–76 (2008)

119. Zhang, M.: Enhancing diversity in top-n recommendation. In: RecSys ’09: Proceedings ofthe third ACM conference on Recommender systems, pp. 397–400. ACM, New York, NY,USA (2009)

120. Zhou, B., Hui, S., Chang, K.: An intelligent recommender system using sequential web ac-cess patterns. In: Cybernetics and Intelligent Systems, 2004 IEEE Conference on, vol. 1, pp.393–398 vol.1 (2004)

121. Ziegler, C.N., McNee, S.M., Konstan, J.A., Lausen, G.: Improving recommendation liststhrough topic diversification. In: WWW ’05: Proceedings of the 14th international confer-ence on World Wide Web, pp. 22–32. ACM Press, New York, NY, USA (2005)