R
Foundations and Trends
in
Human–Computer Interaction
Vol. 4, No. 2 (2010) 81–173
c 2011 M. D. Ekstrand, J. T. Riedl and J. A. Konstan

DOI: 10.1561/1100000009

Collaborative Filtering Recommender Systems
By Michael D. Ekstrand, John T. Riedl
and Joseph A. Konstan

Contents

1 Introduction

82

1.1
1.2
1.3

84
85
87

History of Recommender Systems
Core Concepts, Vocabulary, and Notation
Overview

2 Collaborative Filtering Methods

88

2.1
2.2
2.3
2.4
2.5
2.6
2.7

Baseline Predictors
User–User Collaborative Filtering
Item–Item Collaborative Filtering
Dimensionality Reduction
Probabilistic Methods
Hybrid Recommenders
Selecting an Algorithm

89
91
95
101
107
111
112

3 Evaluating Recommender Systems

114

3.1
3.2
3.3
3.4

115
116
117
119

Data Sets
Oﬄine Evaluation Structure
Prediction Accuracy
Accuracy Over Time

3.5
3.6
3.7

Ranking Accuracy
Decision Support Metrics
Online Evaluation

120
122
125

4 Building the Data Set

128

4.1
4.2
4.3
4.4

Sources of Preference Data
Rating Scales
Soliciting Ratings
Dealing with Noise

129
132
134
136

5 User Information Needs

138

5.1
5.2
5.3
5.4
5.5

139
140
141
144
149

User Tasks
Needs for Individual Items
Needs for Sets of Items
Systemic Needs
Summary

6 User Experience

150

6.1
6.2
6.3
6.4
6.5

150
151
153
154
157

Soliciting Ratings
Presenting Recommendations
Recommending in Conversation
Recommending in Social Context
Shaping User Experience with Recommendations

7 Conclusion and Resources

159

7.1

162

Resources

References

164

R
Foundations and Trends
in
Human–Computer Interaction
Vol. 4, No. 2 (2010) 81–173
c 2011 M. D. Ekstrand, J. T. Riedl and J. A. Konstan

DOI: 10.1561/1100000009

Collaborative Filtering Recommender Systems
Michael D. Ekstrand1 , John T. Riedl2
and Joseph A. Konstan3
University of Minnesota, 4-192 Keller Hall, 200 Union St., Minneapolis,
MN 55455, USA1
ekstrand@cs.umn.edu; 2 riedl@cs.umn.edu; 3 konstan@cs.umn.edu

Abstract
Recommender systems are an important part of the information ande-commerce ecosystem. They represent a powerful method for enablingusers to ﬁlter through large information and product spaces. Nearly
two decades of research on collaborative ﬁltering have led to a varied
set of algorithms and a rich collection of tools for evaluating their performance. Research in the ﬁeld is moving in the direction of a richer
understanding of how recommender technology may be embedded in
speciﬁc domains. The diﬀering personalities exhibited by diﬀerent recommender algorithms show that recommendation is not a one-sizeﬁts-all problem. Speciﬁc tasks, information needs, and item domains
represent unique problems for recommenders, and design and evaluation of recommenders needs to be done based on the user tasks to
be supported. Eﬀective deployments must begin with careful analysis
of prospective users and their goals. Based on this analysis, systemdesigners have a host of options for the choice of algorithm and for its
embedding in the surrounding user experience. This paper discusses
a wide variety of the choices available and their implications, aiming toprovide both practicioners and researchers with an introduction to theimportant issues underlying recommenders and current best practices
for addressing these issues.

1Introduction

Every day, we are inundated with choices and options. What to wear?
What movie to rent? What stock to buy? What blog post to read? The
sizes of these decision domains are frequently massive: Netﬂix has over
17,000 movies in its selection [15], and Amazon.com has over 410,000
titles in its Kindle store alone [7]. Supporting discovery in information spaces of this magnitude is a signiﬁcant challenge. Even simple
decisions — what movie should I see this weekend? — can be diﬃcult
without prior direct knowledge of the candidates.
Historically, people have relied on recommendations and mentions
from their peers or the advice of experts to support decisions and discover new material. They discuss the week’s blockbuster over the watercooler, they read reviews in the newspaper’s entertainment section, or
they ask a librarian to suggest a book. They may trust their local theater manager or news stand to narrow down their choices, or turn on
the TV and watch whatever happens to be playing.
These methods of recommending new things have their limits, particularly for information discovery. There may be an independent ﬁlm
or book that a person would enjoy, but no one in their circle ofacquaintances has heard of it yet. There may be a new indie bandin another city whose music will likely never cross the local critic’s
82

83
radar. Computer-based systems provide the opportunity to expand theset of people from whom users can obtain recommendations. They alsoenable us to mine users’ history and stated preferences for patterns thatneither they nor their acquaintances identify, potentially providing amore ﬁnely-tuned selection experience.
There has been a good deal of research over the last 20 years on
how to automatically recommend things to people and a wide variety
of methods have been proposed [1, 140]. Recently, the Recommender
Systems Handbook [122] was published, providing in-depth discussionsof a variety of recommender methods and topics. This survey, however,is focused primarily on collaborative ﬁltering, a class of methods thatrecommend items to users based on the preferences other users haveexpressed for those items.
In addition to academic interest, recommendation systems areseeing signiﬁcant interest from industry. Amazon.com has been using
collaborative ﬁltering for a decade to recommend products to theircustomers, and Netﬂix valued improvements to the recommender technology underlying their movie rental service at $1M via the widelypublicized Netﬂix Prize [15].
There is also a growing interest in problems surrounding
recommendation. Algorithms for understanding and predicting user
preferences do not exist in a vacuum — they are merely one piece ofa broader user experience. A recommender system must interact withthe user, both to learn the user’s preferences and provide recommendations; these concerns pose challenges for user interface and interaction
design. Systems must have accurate data from which to compute theirrecommendations and preferences, leading to work on how to collectreliable data and reduce the noise in user preference data sets. Users
also have many diﬀerent goals and needs when they approach systems,
from basic needs for information to more complex desires for privacy
with regards to their preferences.
In his keynote address at the 2009 ACM Conference on Recommender Systems, Martin [90] argued that the algorithms themselves
are only a small part of the problem of providing recommendations
to users. We have a number of algorithms that work fairly well, andwhile there is room to reﬁne them, there is much work to be done on

84

Introductionuser experience, data collection, and other problems which make up
the whole of the recommender experience.

1.1

History of Recommender Systems

The capacity of computers to provide recommendations was recognizedfairly early in the history of computing. Grundy [123], a computerbased librarian, was an early step towards automatic recommendersystems. It was fairly primitive, grouping users into “stereotypes” basedon a short interview and using hard-coded information about various
sterotypes’ book preferences to generate recommendations, but it represents an important early entry in the recommender systems space.
In the early 1990s, collaborative ﬁltering began to arise as a solution
for dealing with overload in online information spaces. Tapestry [49] wasa manual collaborative ﬁltering system: it allowed the user to query foritems in an information domain, such as corporate e-mail, based onother users’ opinions or actions (“give me all the messages forwarded
by John”). It required eﬀort on the part of its users, but allowed themto harness the reactions of previous readers of a piece of correspondence
to determine its relevance to them.
Automated collaborative ﬁltering systems soon followed, automatically locating relevant opinions and aggregating them to provide recommendations. GroupLens [119] used this technique to identify Usenetarticles which are likely to be interesting to a particular user. Users
only needed to provide ratings or perform other observable actions; thesystem combined these with the ratings or actions of other users toprovide personalized results. With these systems, users do not obtainany direct knowledge of other users’ opinions, nor do they need toknow what other users or items are in the system in order to receive
recommendations.
During this time, recommender systems and collaborative ﬁltering became an topic of increasing interest among human–computerinteraction, machine learning, and information retrieval researchers.
This interest produced a number of recommender systems for various
domains, such as Ringo [137] for music, the BellCore Video Recommender [62] for movies, and Jester [50] for jokes. Outside of computer1.2 Core Concepts, Vocabulary, and Notation

85

science, the marketing literature has analyzed recommendation for its
ability to increase sales and improve customer experience [10, 151].
In the late 1990s, commercial deployments of recommender technology began to emerge. Perhaps the most widely-known application ofrecommender system technologies is Amazon.com. Based on purchasehistory, browsing history, and the item a user is currently viewing, they
recommend items for the user to consider purchasing.
Since Amazon’s adoption, recommender technology, often based oncollaborative ﬁltering, has been integrated into many e-commerce andonline systems. A signiﬁcant motivation for doing this is to increase
sales volume — customers may purchase an item if it is suggested tothem but might not seek it out otherwise. Several companies, such as
NetPerceptions and Strands, have been built around providing recommendation technology and services to online retailers.
The toolbox of recommender techniques has also grown beyond
collaborative ﬁltering to include content-based approaches based on
information retrieval, bayesian inference, and case-based reasoning
methods [132, 139]. These methods consider the actual content or
attributes of the items to be recommended instead of or in addition
to user rating patterns. Hybrid recommender systems [24] have also
emerged as various recommender strategies have matured, combining
multiple algorithms into composite systems that ideally build on thestrengths of their component algorithms. Collaborative ﬁltering, however, has remained an eﬀective approach, both alone and hybridized
with content-based approaches.
Research on recommender algorithms garnered signiﬁcant attention
in 2006 when Netﬂix launched the Netﬂix Prize to improve the state ofmovie recommendation. The objective of this competition was to build
a recommender algorithm that could beat their internal CineMatchalgorithm in oﬄine tests by 10%. It sparked a ﬂurry of activity, bothin academia and amongst hobbyists. The $1 M prize demonstrates thevalue that vendors place on accurate recommendations.

1.2

Core Concepts, Vocabulary, and Notation

Collaborative ﬁltering techniques depend on several concepts todescribe the problem domain and the particular requirements placed

86

Introduction

on the system. Many of these concepts are also shared by other recommendation methods.
The information domain for a collaborative ﬁltering system consistsof users which have expressed preferences for various items. A preference expressed by a user for an item is called a rating and is frequently
represented as a (User, Item, Rating) triple. These ratings can takemany forms, depending on the system in question. Some systems use
real- or integer-valued rating scales such as 0–5 stars, while others use
binary or ternary (like/dislike) scales.1 Unary ratings, such as “has purchased”, are particularly common in e-commerce deployments as theyexpress well the user’s purchasing history absent ratings data. When
discussing unary ratings, we will use “purchased” to mean that an item
is in the user’s history, even for non-commerce settings such as web pageviews.
The set of all rating triples forms a sparse matrix referred to as
the ratings matrix. (User, Item) pairs where the user has not expresseda preference for (rated) the item are unknown values in this matrix.
Figure 1.1 shows an example ratings matrix for three users and fourmovies in a movie recommender system; cells marked ‘?’ indicate
unknown values (the user has not rated that movie).
In describing use and evaluation of recommender systems, including
collaborative ﬁltering systems, we typically focus on two tasks. The
ﬁrst is the predict task: given a user and an item, what is the user’s
likely preference for the item? If the ratings matrix is viewed as asampling of values from a complete user–item preference matrix, thanthe predict task for a recommender is equivalent to the matrix missingvalues problem.

User A
User B
User C

Batman Begins

Alice in
Wonderland

Dumb and Dumber

Equilibrium

4
?
5

?
5
4

3
4
2

5
?
?

Fig. 1.1 Sample ratings matrix (on a 5-star scale).

1 The scale is ternary if “seen but no expressed preference” is considered distinct from“unseen”.

1.3 Overview

87

The second task is the recommend task: given a user, produce thebest ranked list of n items for the user’s need. An n-item recommendation list is not guaranteed to contain the n items with the highest
predicted preferences, as predicted preference may not be the only criteria used to produce the recommendation list.
In this survey, we use a consistent mathematical notation forreferencing various elements of the recommender system model. The
universe consists of a set U of users and a set I of items. Iu is the setof items rated or purchased by user u, and Ui is the set of users who
have rated or purchased i. The rating matrix is denoted by R, with ru,ibeing the rating user u provided for item i, ru being the vector of all
ratings provided by user u, and ri being the vector of all ratings provided for item i (the distinction will be apparent from context). r̄u andr̄i are the average of a user u or an item i’s ratings, respectively. A
user u’s preference for an item i, of which the rating is assumed to bea reﬂection, is πu,i (elements of the user-item preference matrix Π). It
is assumed that ru,i ≈ πu,i ; speciﬁcally, R is expected to be a sparse
sample of Π with the possible addition of noise. The recommender’sprediction of πu,i is denoted by pu,i .

1.3

Overview

This survey aims to provide a broad overview of the current state ofcollaborative ﬁltering research. In the next two sections, we discuss
the core algorithms for collaborative ﬁltering and traditional means ofmeasuring their performance against user rating data sets. We will thenmove on to discuss building reliable, accurate data sets; understanding
recommender systems in the broader context of user information needs
and task support; and the interaction between users and recommendersystems.

2
Collaborative Filtering Methods

Collaborative ﬁltering (CF) is a popular recommendation algorithm
that bases its predictions and recommendations on the ratings or behavior of other users in the system. The fundamental assumption behind
this method is that other users’ opinions can be selected and aggregatedin such a way as to provide a reasonable prediction of the active user’s
preference. Intuitively, they assume that, if users agree about the quality or relevance of some items, then they will likely agree about otheritems — if a group of users likes the same things as Mary, then Maryis likely to like the things they like which she hasn’t yet seen.
There are other methods for performing recommendation, such as
ﬁnding items similar to the items liked by a user using textual similarity
in metadata (content-based ﬁltering or CBF). The focus of this survey
is on collaborative ﬁltering methods, although content-based ﬁltering
will enter our discussion at times when it is relevant to overcoming aparticular recommender system diﬃculty.
The majority of collaborative ﬁltering algorithms in service today,
including all algorithms detailed in this section, operate by ﬁrst generating predictions of the user’s preference and then produce theirrecommendations by ranking candidate items by predicted preferences.
Often this prediction is in the same scale as the ratings provided by88

2.1 Baseline Predictors

89

users, but occasionally the prediction is on a diﬀerent scale and is meaningful only for candidate ranking. This strategy is analagous to thecommon information retrieval method of producing relevance scoresfor each document in a corpus with respect to a particular query andpresenting the top-scored items. Indeed, the recommend task can beviewed as an information retrieval problem in which the domain of
items (the corpus) is queried with the user’s preference proﬁle.
Therefore, this section is primarily concerned with how various
algorithms predict user preference. In later sections we will discuss
recommendation strategies that diverge from this structure, but in
actual implementation they frequently start with a preference-ranked
list of items and adjust the ﬁnal recommendation list based on
additional criteria.

2.1

Baseline Predictors

Before discussing true collaborative ﬁltering altorighms, let us ﬁrst
consider some baseline prediction methods. These methods are usefulfor establishing non-personalized baselines against which personalizedalgorithms can be compared, as well as for pre-processing and normalizing data for use with more sophisticated algorithms. Baseline algorithms that do not depend on the user’s ratings can also be useful for
providing predictions for new users. We denote the baseline prediction
for user u and item i by bu,i .
The simplest baseline is to predict the average rating over all ratings
in the system: bu,i = µ (where µ is the overall average rating). This canbe enhanced somewhat by predicting the average rating by that user
or for that item: bu,i = r̄u or bu,i = r̄i .
Baselines can be further enhanced by combining the user mean
with the average deviation from user mean rating for a particular item
[58, 79, 110, 115]. Generally, a baseline predictor of the following form
can be used:
bu,i = µ + bu + bi

(2.1)

bu and bi are user and item baseline predictors, respectively. They
can be deﬁned simply by using average oﬀsets as follows, computing

90

Collaborative Filtering Methods

subsequent eﬀects within the residuals of previous eﬀects [14, 58, 115]:
bu =

1 
(ru,i − µ)
|Iu |

(2.2)

1 
(ru,i − bu − µ)
|Ui |

(2.3)

i∈Iu

bi =

u∈Ui

The baseline can be further regularized, providing a more reasonableestimate of user and item preferences in the face of sparse sampling,with the incorporation of damping terms βu and βi [44]1 :
bu =


1
(ru,i − µ)|Iu | + βu

(2.4)


1
(ru,i − bu − µ)|Ui | + βi

(2.5)

i∈Iu

bi =

u∈Ui

This adjustment causes the baseline predicted ratings to be closer
to global mean when the user or item has few ratings, based on thestatistical principle that the more ratings a user has given or an item
has received, the more is known about that user or item’s true mean
rating. Funk [44] found that 25 was a useful value for the damping
terms.
Additional baselines can be computed and added, and the baselines
can be made more sophisticated to deal with various eﬀects [14, 80, 115].
If an item or user is new and therefore has no ratings, its baseline canbe set to 0, eﬀectively assuming that it is an average user or item.
The baseline predictors are not restricted to simple ANOVA-stylefunctions. They can also be learned as more general parameters withgradient descent or other parameter estimation techniques, potentiallyas a part of learning a larger model [14, 79, 80].
Baseline predictors eﬀectively capture eﬀects of user bias, item popularity, and can be applied to more exotic but increasingly-importantfactors such as time [80, 115]. If the baseline is subtracted from theratings matrix to yield a normalized ratings matrix R̂, all that remains
1 Funk’s formulation involved an additional term in the numerator; since we are computing

mean oﬀsets rather than means, that term cancels out.

2.2 User–User Collaborative Filtering

91

for collaborative ﬁltering to do is to eﬃciently capture the interactioneﬀect between users and items. Further, the missing values of R̂ are 0
rather than unknown, simplifying some computations and allowing thematrix to be handled by standard sparse matrix packages.

2.2

User–User Collaborative Filtering

User–user collaborative ﬁltering, also known as k-NN collaborative ﬁltering, was the ﬁrst of the automated CF methods. It was ﬁrst introduced in the GroupLens Usenet article recommender [119]. The Ringo
music recommender [137] and the BellCore video recommender [62] also
used user-user CF or variants thereof.
User–user CF is a straightforward algorithmic interpretation of thecore premise of collaborative ﬁltering: ﬁnd other users whose past rating
behavior is similar to that of the current user and use their ratingson other items to predict what the current user will like. To predict
Mary’s preference for an item she has not rated, user–user CF looks
for other users who have high agreement with Mary on the items they
have both rated. These users’ ratings for the item in question are thenweighted by their level of agreement with Mary’s ratings to predict
Mary’s preference.
Besides the rating matrix R, a user–user CF system requires a similarity function s: U ×U → R computing the similarity between two users
and a method for using similarities and ratings to generate predictions.

2.2.1

Computing Predictions

To generate predictions or recommendations for a user u, user–user
CF ﬁrst uses s to compute a neighborhood N ⊆ U of neighbors of u.
Once N has been computed, the system combines the ratings of users
in N to generate predictions for user u’s preference for an item i. Thisis typically done by computing the weighted average of the neighboringusers’ ratings i using similarity as the weights:
pu,i = r̄u +u ∈N s(u, u )(ru ,i − r̄u )u ∈N |s(u, u )|

(2.6)

92

Collaborative Filtering Methods

Subtracting the user’s mean rating r̄u compensates for diﬀerencesin users’ use of the rating scale (some users will tend to give higher
ratings than others). Equation (2.6) can also be extended to normalize
user ratings to z-scores by dividing the oﬀset from mean rating by thestandard deviation σu of each user’s ratings, thereby compensating forusers diﬀering in rating spread as well as mean rating [58]:s(u, u )(ru ,i − r̄u )/σu(2.7)
pu,i = r̄u + σu u ∈N u ∈N |s(u, u )|Weighted averaging is not the only mechanism that has been used
for computing predictions, but it is the most common. Ringo used noweighting, performing an unweighted average over ratings by neighboring users [137]. The BellCore system used a multivariate regression overthe users in the neighborhood to generate predictions [62]. Weighted
averaging is by far the most common, however, as it is simple and works
well in practice. It is also consistent with Social Choice theory [111],
grounding it in models of human behavior and an axiomatic, ﬁrstprinciples development of collaborative ﬁltering. Social choice theory
deals with the preferences of individuals and of a society as a whole.
Given several properties that a recommender should exhibit within thesocial choice framework, Pennock et al. show that weighted averaging
is the only aggregation method which produces consistent results.
There remains the question of how many neighbors to select. In somesystems, such as the original GroupLens, N = U \{u} (all users are
considered as neighbors); in other systems, neighborhoods are selected
for each item based on a similarity threshold or neighborhood size suchthat Ni is the k users most similar to u who have rated the target item i.
Limiting neighborhood size can result in more accurate predictions, as
the neighbors with low correlation introduce more noise than signal
into the process [58]. The particular threshold to use is domain- andsystem-speciﬁc, so analysis of a relevant data set is needed to choose
the neighborhood size for a particular deployment. In oﬄine analysis
of available movie ratings data, Herlocker et al. found k = 20 to be agood value; values in the 20–50 range are a reasonable starting pointin many domains. Lathia et al. [86] propose dynamically adapting theneighborhood size used for each user to minimize the error in their

2.2 User–User Collaborative Filtering

93

predictions as new data is added to the system. Randomly samplingcandidate users for the neighborhood can decrease the time required toﬁnd neighbors, at the possible expense of accuracy [62].
2.2.2Computing User Similarity

A critical design decision in implementing user–user CF is the choiceof similarity function. Several diﬀerent similarity functions have been
proposed and evaluated in the literature.
Pearson correlation. This method computes the statistical correlation (Pearson’s r) between two user’s common ratings to determine their similarity. GroupLens and BellCore both used thismethod [62, 119]. The correlation is computed by the following:i∈Iu ∩Iv (ru,i − r̄u )(rv,i − r̄v )s(u, v) = 
2
2
(r
−
r̄
)
u
i∈Iu ∩Iv (rv,i − r̄v )i∈Iu ∩Iv u,iPearson correlation suﬀers from computing high similarity
between users with few ratings in common. This can be alleviated by setting a threshold on the number of co-rated items
necessary for full agreement (correlation of 1) and scaling thesimilarity when the number of co-rated items falls below thisthreshold [58, 59]. Experiments have shown a threshold valueof 50 to be useful in improving prediction accuracy, and thethreshold can be applied by multiplying the similarity function
by min{|Iu ∩Iv |/50, 1}.
Constrained Pearson correlation. Ringo solicited ratings from its
users on a 7-point scale, providing a rating guide that ﬁxed 4
as a neutral (neither like nor dislike) value rz . With an absolute reference, it is possible to correlate absolute like/dislike
rather than relative deviation (as the standard Pearson r does).
This led Shardanand and Maes [137] to propose the constrained
Pearson correlation:
i∈Iu ∩Iv (ru,i − rz )(rv,i − rz )s(u, v) = 22i∈Iu ∩Iv (ru,i − rz )i∈Iu ∩Iv (rv,i − rz )

94

Collaborative Filtering Methods

Spearman rank correlation. The Spearman rank correlation coeﬃcient is another candidate for a similarity function [58]. For the
Spearman correlation, the items a user has rated are ranked
such that their highest-rated item is at rank 1 and lowerrated items have higher ranks. Items with the same rating areassigned the average rank for their position. The computationis then the same as that of the Pearson correlation, except thatranks are used in place of ratings.
Cosine similarity. This model is somewhat diﬀerent than the previously described approaches, as it is a vector-space approachbased on linear algebra rather than a statistical approach. Users
are represented as |I|-dimensional vectors and similarity is measured by the cosine distance between two rating vectors. Thiscan be computed eﬃciently by taking their dot product anddividing it by the product of their L2 (Euclidean) norms:
ru,i rv,iru · rvs(u, v) ==  i ru 2 rv 222i ru,ii rv,iUnknown ratings are considered to be 0; this causes them toeﬀectively drop out of the numerator. If the user mean baseline
is subtracted from the ratings prior to computing the similarity,
cosine similarity is equivalent to Pearson correlation when the2v|
users have rated the same set of items and decreases as |I|Iuu∩I||Iv |
decreases.
The threshold-based damping described for Pearson correlation can,in principle, be applied to any similarity function, although the beneﬁts
of doing so have not been studied. An alternative method for damping is
to add a large constant, such as 100, to the denominator; this attenuates
the similarity of users with small sets of co-rated items.
Other similarity functions, such as mean-squared diﬀerence [137],
have been proposed, but have not seen signiﬁcant adoption. In general,
Pearson correlation has been found to provide the best results [22, 58],
although results from the Ringo system suggest that constrained
Pearson correlation may provide some improvement when items are
rated on an absolute scale [137].

2.3 Item–Item Collaborative Filtering

Batman Begins

Alice in
Wonderland

Dumb and Dumber

Equilibrium

4
?
5
2
3

?
5
4
4
4

3
4
2
?
5

5
?
?
3
?

User A
User B
User C
User D
User E

95

Fig. 2.1 Example ratings matrix (on a 5-star scale).

2.2.3

ExampleConsider the ratings matrix in Figure 2.1 (an extension of the sample
matrix in Figure 1.1). We want to ﬁnd User C’s prediction for Equilibrium (pC,e ) with the following conﬁguration:• Pearson correlation.
• Neighborhood size of 2.
• Weighted average with mean oﬀset (Equation (2.6)).
C’s mean rating is 3.667. There are only two users who have rated
Equilibrium, and therefore only two candidate users for the neighborhood: A and D. s(C, A) = 0.832 and s(C, D) = −0.515. The prediction
pC,e is therefore computed as follows:s(C, A)(rA,e − r̄A ) + s(C, D)(rD,e − r̄D )|s(C, A)| + |s(C, D)|
0.832 · (5 − 4) + −0.515 · (2 − 3)
= 3.667 +0.832 + 0.515= 4.667

pC,e = r̄C +2.3

Item–Item Collaborative Filtering

User–user collaborative ﬁltering, while eﬀective, suﬀers from scalability problems as the user base grows. Searching for the neighbors ofa user is an O(|U |) operation (or worse, depending on how similarities are computing — directly computing most similarity functions
against all other users is linear in the total number of ratings). To
extend collaborative ﬁltering to large user bases and facilitate deployment on e-commerce sites, it was necessary to develop more scalable

96

Collaborative Filtering Methods

algorithms. Item–item collaborative ﬁltering, also called item-based collaborative ﬁltering, takes a major step in this direction and is one of
the most widely deployed collaborative ﬁltering techniques today.
Item–item collaborative ﬁltering was ﬁrst described in the literature
by Sarwar et al. [130] and Karypis [71], although a version of it seems
to have been used by Amazon.com at this time [87]. Rather than using
similarities between users’ rating behavior to predict preferences, item–
item CF uses similarities between the rating patterns of items. If two
items tend to have the same users like and dislike them, then they are
similar and users are expected to have similar preferences for similar
items. In its overall structure, therefore, this method is similar to earlier
content-based approaches to recommendation and personalization, butitem similarity is deduced from user preference patterns rather thanextracted from item data.
In its raw form, item–item CF does not ﬁx anything: it is still necessary to ﬁnd the most similar items (again solving the k-NN problem) togenerate predictions and recommendations. In a system that has moreusers than items, it allows the neighborhood-ﬁnding to be amongst thesmaller of the two dimensions, but this is a small gain. It provides
major performance gains by lending itself well to pre-computing thesimilarity matrix.
As a user rates and re-rates items, their rating vector will change
along with their similarity to other users. Finding similar users inadvance is therefore complicated: a user’s neighborhood is determined
not only by their ratings but also by the ratings of other users, so theirneighborhood can change as a result of new ratings supplied by any
user in the system. For this reason, most user–user CF systems ﬁndneighborhoods at the time when predictions or recommendations areneeded.
In systems with a suﬃciently high user to item ratio, however, oneuser adding or changing ratings is unlikely to signiﬁcantly change thesimilarity between two items, particularly when the items have many
ratings. Therefore, it is reasonable to pre-compute similarities between
items in an item–item similarity matrix. The rows of this matrix caneven be truncated to only store the k most similar items. As users
change ratings, this data will become slightly stale, but the users will

2.3 Item–Item Collaborative Filtering

97

likely still receive good recommendations and the data can be fully
updated by re-computing the similarities during a low-load time forthe system.
Item–item CF generates predictions by using the user’s own ratings
for other items combined with those items’ similarities to the target
item, rather than other users’ ratings and user similarities as in user–
user CF. Similar to user–user CF, the recommender system needs asimilarity function, this time s: I×I → R, and a method to generatepredictions from ratings and similarities.
2.3.1

Computing Predictions

In real-valued ratings domains, the similarity scores can be used togenerate predictions using a weighted average, similar to the procedureused in user–user CF. Recommendations are then generated by picking
the candidate items with the highest predictions.
After collecting a set S of items similar to i, pu,i can be predicted
as follows [130]:j∈S s(i, j)ru,jpu,i = (2.8)
j∈S |s(i, j)|
S is typically selected to be the k items most similar to j that u has also
rated for some neighborhood size k. Sarwar et al. [130] found k = 30
produced good results on the MovieLens data set.
Equation (2.8) as it stands suﬀers from two deﬁciencies. The ﬁrst
comes to light when it is possible for similarity scores to be negative andratings are constrained to be nonnegative: some of the ratings averaged
together to compute the prediction may be negative after weightings.
While this will not aﬀect the relative ordering of items by predictedvalue, it will bias the predicted values so they no longer map back to
the user rating domain. This can be corrected either by thresholding
similarities so only items with nonnegative similarities are consideredor by averaging distance from the baseline predictor:j∈S s(i, j)(ru,j − bu,i )pu,i =+ bu,i(2.9)
j∈S |s(i, j)|

98Collaborative Filtering Methods

The other diﬃculty is with non-real-valued ratings scales, particularly the unary scales common on e-commerce sites without ratings
data. In this case, the averaging does not work: if all similarities are
positive and ru,i = 1 if user u has purchased item i, then Equation (2.8)
always evaluates to 1. With negative similarities, it is similarly illbehaved. To work around this, we can compute pseudo-predictions p̃u,iwith a simple aggregation of the similarities to items in the user’s purchase history Iu . Summation has been tested and shown to perform
well (Equation (2.10)); other aggregations such as mean or max may
also be considered or used in practice.
p̃u,i =s(i, j)(2.10)
j∈Iu

p̃u,i is not in a meaningful scale to predict any particular user behavior,
but the predict task is typically not as important in unary contexts.
This pseudo-prediction can, however, be used to rank candidate items
for recommendation, forming a good basis for using item–item CF torecommend items based on user purchase histories [38, 71, 87].
It is also possible to use weights other than the similarity function
for computing the ﬁnal prediction. Bell and Koren [14] proposed aformulation that computes item weights directly by estimating, for eachuser–item pair u, i, the solution to the linear equation Aw = b. The
solution w is such that wj is the optimal weight to use for u’s ratingof j in computing their rating of i, and A and b are given as follows:
aj,k =
πv,j πv,k(2.11)
v=u

bj =



πv,j πv,i(2.12)v=u

The computed weights, diﬀering for each user–item pair, are then
used to compute the prediction pu,i = j∈S wj ru,j .
2.3.2

Computing Item Similarity

The item–item prediction process requires an item–item similarity
matrix S. This matrix is a standard sparse matrix, with missing values2.3 Item–Item Collaborative Filtering

99

being 0 (no similarity); it diﬀers in this respect from R, where missing
values are unknown.
As in user–user collaborative ﬁltering, there are a variety of methods
that can be used for computing item similarities.
Cosine similarity. Cosine similarity between item rating vectors isthe most popular similarity metric, as it is simple, fast, andproduces good predictive accuracy.
ri · rjs(i, j) =ri 2 rj 2
Conditional probability. For domains with unary ratings (such as
shopping site purchase histories), Karypis [71] proposed a similarity function based on conditional probabilities: s(i, j) =PrB [j ∈ B|i ∈ B] where B is a user’s purchase history. Witha scaling parameter α to balance for frequently occuring items,
this formula becomess(i, j) =Freq(i∧j)
Freq(i)(Freq(j))αα serves as a damping factor to compensate for PrB [j ∈ B|i ∈ B] being high solely due to a high marginal probability
PrB [j ∈ B] (if j is an item that many people purchase, it will
be similar to most items; α reduces this eﬀect to bring items
that are more uniquely similar to the top). This normalization
hinders the ability to generate true predictions, but this is not a
problem in unary domains due to the use of pseudo-predictions.
Notably, this function is not symmetric (s(i1 , i2 ) may not be
the same as s(i2 , i1 )). Care must be taken that it is used in thecorrect orientation.
Pearson correlation. Pearson correlation has also been proposed for
item–item recommendation, but does not seem to work as wellas cosine similarity [130].
In order to optimize the recommender’s performance, it is important to normalize the ratings prior to computing the similarity matrix[14, 130]. In real-valued domains variation in ratings due to user ratings

100

Collaborative Filtering Methods

bias (e.g., two users liking and disliking similar ﬁlms, but one being acynic who rates average ﬁlms 2.5/5 and the other an enthusiast who
rates the average ﬁlm at 4/5) and item bias allows the collaborativeﬁlter to focus on the more nuanced diﬀerences in user preference forparticular items. This can be accomplished by subtracting a baseline
predictor from all ratings prior to computing similarities (e.g., compute
similarities over ratings r̂u,i = ru,i − µ − bu − bi ).
When applying cosine similarity in unary ratings domains, it canbe useful to normalize each user’s ratings vector ru to the unit vector
prior to computing item similarities. The eﬀect of this adjustment isthat users who have purchased fewer items have more impact on thesimilarity of the items they have purchased than users who have purchased many items [38, 71].
Similarly, normalizing item similarity vectors (rows of S) to unit
vectors can be beneﬁcial. This causes items with sparser neighborhoods(fewer similar items) to have more inﬂuence in computing the ﬁnal
predictions [38, 71].
2.3.3

Pre-computing and Truncating the Model

Due to the relatively static nature of item similarities when |U |  |I|(particularly when there are more ratings-per-item than ratings-peruser), it is feasible to pre-compute item–item similarities and cache
the k  most similar items to each item. Prediction can then be performed quickly by looking up the similarity list for each item rated
by the current user and aggregating their similarities into a predicted
preference. Caching more items than are used in the similarity computation (so k  > k) is useful to increase the likelihood of having k similar
items after items already rated by the user have been removed fromthe candidate set.
Pre-computation and truncation is essential to deploying collaborative ﬁltering in practice, as it places an upper bound on the numberof items which must be considered to produce a recommendation andeliminates the query-time cost of similarity computation. It comes withthe small expense of reducing the number of items for which predictions can be generated (the coverage of the recommender), but the2.4 Dimensionality Reduction

101

unrecommendable items will usually have low predicted preferences
anyway.
2.3.4

ExampleAgain using the example ratings in Figure 2.1, let us now compute C’s
prediction for Equilibrium using item–item CF with cosine similarity.
We compute the length (L2 norm) of each movie’s vector, its norm withthe vector re for Equilibrium, and ﬁnally the cosine similarity:
Movie

r2

r · rer·rer2 re 2

Batman Begins (b)Alice in Wonderland (a)Dumb and Dumber (d)Equilibrium (e)

7.348
8.544
7.348
5.385

24
8
15

0.607
0.174
0.382

User C has rated all three other movies, but we will only use themost similar two when computing the prediction:
pC,e =s(b, e) · rC,b + s(d, e) · rC,d|s(b, e)| + |s(d, e)|0.607 ∗ 5 + 0.382 ∗ 20.607 + 0.382= 3.84=

2.4

Dimensionality Reduction

In both of the traditional collaborative ﬁltering algorithms so far
described, there are hints of viewing the user–item ratings domain as avector space. With this view, however, the vectors are of extremely highdimension: an item is a |U |-dimensional vector with missing values ofusers’ preferences for it (similarly, a user is a |I|-dimensional vector).
Further, there is redundancy in these dimensions, as both users anditems will usually be divisible into groups with similar preference proﬁles (e.g., many science ﬁction movies will be liked to similar degrees
by the same set of users). It is therefore natural to ask whether thedimensionality of the rating space can be reduced — can we ﬁnd asmaller number of dimensions, ideally a constant number k, so that
items and users can be represented by k-dimensional vectors?

102

Collaborative Filtering Methods

In particular, we want to identify a set of k topics so that user
preferences for items can be expressed as a combination of the user’s
interest in a topic (topic interest) and the extent to which each item isrelevant to the topic (topic relevance). Some recommendation methods
do this explicitly using content features, tags attached to the items, oruser clustering or stereotyping. Latent semantic analysis, a techniquepioneered in information retrieval, provides a way to do this decomposition using only the rating data. The topics are considered to be latentin the rating data.
In information retrieval, a document corpus can be represented
as a term-document matrix where each cell is the number of times
the given term occurs in a particular document. This results in highdimensional representations of terms and documents, further complicated by the problems of synonymy (diﬀerent terms having the sameor similar meaning), polysemy (the same term having diﬀerent meanings), and noise (documents or queries using terms incorrectly). Latentsemantic analysis (LSA, also called latent semantic indexing or LSI)
deals with these problems by using dimensionality reduction, in theform of truncated singular value decomposition (SVD), to extract thesemantic relationships between documents latent in their use of vocabulary [16, 36]. SVD-based dimensionality reduction has since been
adapted to collaborative ﬁltering by Billsus and Pazzani [18], Sarwar
et al. [128, 131], and many others.
2.4.1

Deﬁning Singular Value Decomposition

For a matrix M, its SVD is the factorization of M into three constituent matrices such that M = UΣTT , Σ is a diagonal matrix whose
values σi are the singular values of the decomposition, and both U and
T are orthogonal. What this accomplishes is introducing an intermediate vector space represented by Σ. If M is the ratings matrix, ΣTTtransforms vectors from item-space into the intermediate vector space.
In the pure form of the SVD, U is m × k̂, Σ is k × k̂, and V isn × k̂, where M is m × n and has rank k̂; this is not a signiﬁcant gain.
Σ can, however, be truncated by only retaining the k largest singularvalues to yield Σk . The resulting decomposition is an approximation

2.4 Dimensionality Reduction

103of M . Further, using the Frobenius norm as the measure of error, it is
the best possible rank-k approximation [36].
This truncation simultaneously achieves two goals. First, it
decreases the dimensionality of the vector space, decreasing the storage and computational requirements for the model. Items and users
can each be represented by k-dimensional vectors. Second, by dropping the smaller singular values, small perturbances as a result of noisein the data are eliminated, leaving only the strongest eﬀects or trends
in the model. In collaborative ﬁltering, this noise can come as a result ofother factors besides sheer preference playing a role in a user’s rating;decreasing the impact of noise improves our ability to provide highquality recommendations.
Computing the SVD of the ratings matrix results in the following
factorization, with m = |U |, n = |I|, and Σ a k×k diagonal matrix (alsoshown in Figure 2.2):
R ≈ UΣTT(2.13)

Once the rank-k SVD of Equation (2.13) has been computed, it canbe interpreted as an expression of the topic preference-relevance model.
The rows of the |U | × k matrix U are the users’ interest in each of the kinferred topics, and the rows of I are the item’s relevance for each topic.
The singular values in Σ are weights for the preferences, representing
the inﬂuence of a particular topic on user–item preferences across thesystem. A user’s preference for an item, therefore, is the weighted sumof the user’s interest in each of the topics times that item’s relevanceto the topic.

Fig. 2.2 Singular value decomposition of the ratings matrix.

104
2.4.2

Collaborative Filtering Methods

Computing and Updating the SVD

In order to use SVD (or any matrix factorization method), it is necessary to ﬁrst compute the matrix factorization. There are a varietyof algorithms for computing singular value decompositions, including
Lanczos’ algorithm, the generalized Hebbian algorithm, and expectation maximization [51, 81, 127].
Singular value decomposition is only well-deﬁned when the matrix
is complete. Therefore, to factor the ratings matrix, the missing values
must be ﬁlled with some reasonable default (a method called imputation). Sarwar et al. [131] found the item’s average rating to be auseful default value (they tried user average as well, but item average
performed better). Alternatively, the SVD can be computed over thenormalized ratings matrix R̂ (see Section 2.1) and the missing values
considered to be 0.
Several methods have been proposed that compute an estimateof the SVD only on the known ratings, dropping the requirement to
impute or otherwise account for missing ratings. Kurucz et al. [81]propose a least-squares method that learns a regression for each user.
Another method that has become quite popular in the last few years
is gradient descent [44, 110]. This method trains each topic f in turn,using the following update rules (λ is the learning rate, typically 0.001):∆uj,f = λ(ru,i − pu,i )ik,f(2.14)∆ik,f = λ(ru,i − pu,i )uj,f(2.15)The gradient descent method for estimating the SVD also allows forregularization to prevent overﬁtting the resulting model. The resulting
model will not be a true SVD of the rating matrix, as the component
matrices are no longer orthogonal, but tends to be more accurate at
predicting unseen preferences than the unregularized SVD. The regularization is accomplished by adding an additional term to the update
rules in Equations (2.14) and (2.15) [44]. γ is the regularization factor,
typically 0.1–0.2.
∆uj,f = λ((ru,i − pu,i )ik,f − γuj,f )(2.16)∆ik,f = λ((ru,i − pu,i )uj,f − γik,f )(2.17)

2.4 Dimensionality Reduction

105

Prior to computing the SVD, the ratings can additionally be normalized, e.g., by subtracting the user’s mean rating or some other baseline
predictor. This can improve both accuracy [131] and accelerate convergence of iterative methods [44].
Once the SVD is computed, it is necessary to update it to reﬂect
new users, items, and ratings. A commonly used method for updating
the SVD is folding-in; it works well in practice and allows users who
were not considered when the ratings matrix was factored to receive
recommendations and predictions [16, 129]. Folding-in operates by computing a new user-preference or topic-relevance vector for the new useror item but not recomputing the decomposition itself.
For a user u, folding-in computes their topic interest vector u suchthat πu ≈ uΣTT . Given their rating vector ru , u can therefore be calculated as u = (ΣTT )−1 ru = TΣ−1 ru . Setting unknown ratings to 0
causes the folding-in process to ignore them, and a new user preference vector is now available. The same process works for item vectors,
except U is substituted for T.
As user and item vectors are updated with the folding-in process, theaccuracy of the SVD will diminish over time. It is therefore necessary
to periodically re-compute the complete factorization. In a deployedsystem, this can be done oﬀ-line during low-load times [129].
Brand [21] proposed an alternative method for building and maintaining the SVD based on rank-1 updates. His method produces fast,
real-time updates of the SVD, bootstrapping the SVD with a dense
portion of the data set. This dense portion can be extracted by sorting
users and items to make a dense corner in the ratings matrix.
2.4.3

Generating Predictions

The predicted preference of user u for item i can be computed as theweighted dot product of the user-topic interest vector u and the itemtopic relevance vector i:pu,i =
uf σf if(2.18)f

Recommendation can be done by ranking items in order of predicted
preference. The user’s preference pu for all items can be computed

106Collaborative Filtering Methods

eﬃciently by multiplying their topic-interest vector with the scaled item
matrix ΣTT :pu = uΣTT(2.19)

Recommendations and predictions for users who were not considered in the factorization can be computed by applying the folding-in
process to compute a user preference vector given a rating vector.
2.4.4

Computing Similarities

Singular value decomposition can be used to generate user and item
neighborhoods as well as predictions. User–user similarity can be computed using a vector similarity metric between the two users’ topic
interest vectors (rows in U). Since U is orthogonal, a dot productbetween two rows suﬃces to compute their cosine similarity. Item similarities can be found similarly by operating on rows of T [36, 131].
These similarities can be used to compute neighborhoods which inturn produce recommendations [50, 128, 131]. Using neighborhoods togenerate recommendations can be particularly useful in e-commercedomains with unary rating sets, as recommendations can be computedby summing the similarities of items to each of the items in the user’s
shopping cart.
2.4.5

Normalization in SVD

As with item–item CF, it is beneﬁcial to normalize ratings by subtracting baseline predictors prior to computing the model [44, 110]. When
doing this, however, it is necessary to also use the baseline when computing predictions. In item–item CF, since the similarity computations
are only used as weights applied to averaging the user’s other ratings,
normalization in the prediction step is less important; with matrix factorization, the normalization is encoded into the decomposed matrix
and therefore must be reversed at the prediction stage. If the baseline
predictor bu,i has been subtracted from ratings prior to model computation, the prediction rule then becomes
uf σf if
pu,i = bu,i +f2.5 Probabilistic Methods

107

The baseline predictor can be incorporated into the model learning
process when using a gradient descent method, thus allowing for therecommender to learn user and item biases that may diﬀer somewhat
from plain means [79, 110].
2.4.6

Principle Component Analysis

Singular value decomposition is not the only matrix factorization
method used for collaborative ﬁltering. The Eigentaste algorithm usedin Jester uses principle component analysis (PCA) on the dense matrix
of user ratings for the “gauge set” of jokes rated by all users [50]. Eigentaste normalizes the subset of R consisting of the ratings of gauge
set jokes by the mean and standard deviation of the ratings of eachjoke, resulting in a normalized ratings matrix R̂ (r̂u,i = (ru,i − µi )/σi ,where µi is the mean rating for item i and σi the standard deviation of ratings of i). PCA then computes the correlation matrix
1
C = |U |−1
R̂T R̂ and a factorization C = ET ΛE, where Λ is a diagonal matrix with λi being the ith eigenvalue of C. The top k eigenvalues are retained, and the resulting factorization projects users into kdimensional space. Eigentaste then clusters users in the k-dimensional
space (with k = 2) by recursive rectangular clustering and recommends
jokes based on the preferences of other users in a user’s cluster.

2.5

Probabilistic Methods

Besides the probabilistic item similarity functions discussed in Computing Item Similarity, several fully probabilistic formulations of collaborative ﬁltering have been proposed and gained some currency. Thesemethods generally aim to build probabilistic models of user behavior
and use those models to predict future behavior. The core idea of probabilistic methods is to compute either P (i|u), the probability that user u
will purchase or view item i, or the probability distribution P(ru,i |u)over user u’s rating of item i (and the related problem E[ru,i ], theexpected value of u’s rating of i).
Cross-sell [73] uses pairwise conditional probabilities with thenaı̈ve Bayes assumption to do recommendation in unary e-commercedomains. Based on user purchase histories, the algorithm estimates

108

Collaborative Filtering Methods

P (a|b) (the probability that a user purchases a given that they havepurchased b) for each pair of items a, b. The user’s currently-viewed itemor shopping basket is combined with these pairwise probabilities to recommend items optimizing the expected value of site-deﬁned objectivefunctions (such as proﬁt or sales lift).
Personality diagnosis [112] is a probabilistic user model thatassumes that a user’s ratings are a combination of their preference andGaussian noise (ru,i ∼ N (πu,i , σ), where σ is a parameter to the recommendation model). For a user u, the probability of their true preference
proﬁle being equal to that of each other user u (P (π u = ru )) is calculated and used to compute a probability distribution over ratings foritems u has not yet rated. Prediction and recommendation are bothdone by computing the expected value of the user’s rating using theresulting distribution.
2.5.1

Probabilistic Matrix Factorization

Probabilistic latent semantic analysis (PLSA, also called PLSI or probabilistic latent semantic indexing in the information retrieval literature)
is a matrix factorization technique similar to singular value decomposition but arising from statistical probability theory rather than linear
algebra [64, 65]. Jin et al. [67] applied it to mining web usage patterns;
this led to its later application to recommender systems as a means
to protect collaborative ﬁltering results from manipulation by users
Mobasher et al. [103].
The basis of PLSA is a probabilistic mixture model of user behavior,diagrammed with plate notation in Figure 2.3(a). PLSA decomposes the probability P (i|u) by introducing a set Z of latent factors.
It assumes that the user selects an item to view or purchase by
selecting a factor z ∈ Z with probability P (z|u) and then selecting anitem with probability P (i|z); P (i|u) is therefore z P (i|z)P (z|u). Thishas the eﬀect of representing users as a mixture of preference proﬁles or feature preferences (represented as a probability distribution
over factors), and attributing item preference to the preference proﬁlesrather than directly to the users. The probabilities can be learned using
approximation methods for Bayesian inference such as expectation

2.5 Probabilistic Methods

109

Fig. 2.3 PLSI generative model: (a) models user purchases and (b) models real-valued
ratings varying by item.

maximization [37]. The probabilities can be stored in matrices, so thatthe preference matrix P (where pu,i = P (i|u)) is decomposed intoT

P = ÛΣT̂

Û is the matrix of the mixtures of preference proﬁles for each user
(so ûu,z = P (z|u)) and T̂ is the matrix of preference proﬁle probabilities
of selecting various items. Σ is a diagonal matrix such that σz = P (z)(the marginal probability or global weight of factor z). This factorization allows prediction to be done meaningfully in unary domains byconsidering the probability that u will purchase i, in contrast to item–
item unary recommendation where the psuedo-predictions were only
useful for ranking candidate items.
Hofmann [64] discusses in more detail the particular relationshipbetween PLSA and SVD. The end result — a factorization of the ratings matrix into three component matrices — is quite similar, but the
SVD is determined by minimizing error while PLSA is computed by
maximizing the predictive power of the model. In the SVD, U and T
are orthogonal matrices leading to a clear geometric or vector-spaceinterpretation of the model, while the PLSA component matrices Û
and T̂ are stochastic matrices with a natural probabilistic interpretation mapping more directly to generative models of user behavior.
PLSA can be extended to model ratings as well as purchases byintroducing the rating ru,i as a new random variable and assumingthat it is dependent on the latent topic z and either the speciﬁc useror item under consideration, as shown in Figure 2.3(b) [65]. If the user

110

Collaborative Filtering Methods

is used, then it is assumed that u’s preference for i is determined onlyby their preference for the latent factors z generating i; if the item isused, then all users with the same preference for a factor z will have thesame preference for any item generated by that factor, with variation
dependent only on the individual items. The resulting networks canagain be learned by expectation maximization.
Blei et al. [20] extended the PLSI aspect model by using a Dirichlet prior over user preferences for topics. This method is called latent
Dirichlet allocation and yields a more thorough generative model that
accounts not only for users purchasing items but also for users coming into the system’s knowledge. Users, represented by their preference
for factors (the distribution P (z|u)), are considered to be instances ofa random variable drawn from a Dirichlet distribution. This model,
depicted in Figure 2.4, requires two parameters to be learned. For amodel with k factors, these are α, a k-dimensional vector parameterizing the Dirichlet distribution from which users are drawn, and β, thek × |I| topic-item probability matrix (representing P (i|z)).
Another probabilistic method related to matrix factorization isfactor analysis [27]. This method learns a probabilistic variant of alinear regression RT = ΛU + N, where Λ is an |I| × k model matrix;
U, a k × |U | matrix of user preferences for each of k diﬀerent factors,
and N, a Gaussian noise matrix. By using expectation maximization
to learn Λ and the variance of the distribution from which the elementsof N are drawn, a model can be computed for deducing user preferences for factors from ratings and using those preferences to produce
recommendations.

Fig. 2.4 LDA model of users and purchases.

2.6 Hybrid Recommenders

2.5.2

111

Machine Learning Methods

A variety of other methods, usually probabilistic, from the machinelearning and artiﬁcial intelligence literature have also been applied torecommendation. Some formulations of recommendation can be studied as classiﬁer problems [22]. Recommenders have been built using
Bayesian networks [30, 157], Markov decision processes [136], and neural networks [125].

2.6

Hybrid Recommenders

It is natural to consider combining several diﬀerent recommender
algorithms into a hybrid recommender system [24]. In some applications, hybrids of various types have been found to outperform individual algorithms [146]. Hybrids can be particularly beneﬁcial when thealgorithms involved cover diﬀerent use cases or diﬀerent aspects of thedata set. For example, item–item collaborative ﬁltering suﬀers when
no one has rated an item yet, but content-based approaches do not.
A hybrid recommender could use description text similarity to matchthe new item with existing items based on metadata, allowing it tobe recommended anyway, and increase the inﬂuence of collaborativeﬁltering as users rate the item; similarly, users can be deﬁned by thecontent of the items they like as well as the items themselves. Fab usedsuch an approach, matching items against both the content of items
liked by the user and the content of items liked by similar users [13].
Burke [24] provides a thorough analysis of hybrid recommender systems, grouping them into seven classes:• Weighted recommenders take the scores produced by several
recommenders and combine them to generate a recommendation list (or prediction) for the user.
• Switching recommenders switch between diﬀerent algorithms
and use the algorithm expected to have the best result in aparticular context.
• Mixed recommenders present the results of several recommenders together. This is similar to weighting, but the results
are not necessarily combined into a single list.

112

Collaborative Filtering Methods• Feature-combining recommenders use multiple recommendation data sources as inputs to a single meta-recommender
algorithm.
• Cascading recommenders chain the output of one algorithm
into the input of another.
• Feature-augmenting recommenders use the output of one
algorithm as one of the input features for another.
• Meta-level recommenders train a model using one algorithm
and use that model as input to another algorithm.
Hybrid recommenders proved to be quite powerful in the Netﬂix
Prize: the winning entry was a hybrid of some 100 separate algorithms.
One important development to come from the prize competition isfeature-weighted linear stacking, a new weighting hybrid method usedby some of the top-ranking teams. Many weighting algorithms use alinear combination of the predictions of many recommenders:
(1)

(n)

pu,i = α1 pu,i + · · · + αn pu,i(2.20)

Feature-weighted linear stacking replaces each coeﬃcient αj with afunction gj of item meta-features, such as number of ratings or genre,
to alter the blending ratio of the various algorithms’ predictions on an
item-by-item basis:
(1)

(n)

pu,i = g1 (i)pu,i + · · · + gn (i)pu,i(2.21)

This allows, for example, the relative weights of item–item CF andactor list similarity to shift based on the number of ratings an item hasreceived.

2.7

Selecting an Algorithm

The various algorithms presented each have their strengths and weaknesses. User–user and item–item CF algorithms are well-understood,
easy to implement, and provide reasonable performance in most cases.
User-based algorithms tend to be more tractable when there are more
items than users, and item-based when the situation is reversed. Bothmethods also require minimal oﬄine computation at the expense of2.7 Selecting an Algorithm

113

somewhat greater computational demands when recommendations areneeded (precomputing item–item CF improves query-time performanceat the expense of more oﬄine computation). User–user CF seems toprovide greater serendipity in its recommendations; in the case ofMovieLens, this resulted in greater user satisfaction.
Matrix factorization methods require expensive oﬄine model computation steps. The resulting models, however, are very fast for online
use (prediction is simply a dot product). They are also capable of reducing the impact of ratings noise and can hamper the ability of users tomanipulate the output of the system by decreasing their direct impact
on each others’ ratings. Probabilistic models are applicable when therecommendation process should follow models of user behavior.
In the end, the appropriate algorithm for a particular application
should be selected based on a combination of the characteristics ofthe target domain and context of use, the computational performancerequirements of the application, and the needs of the users of the system. User Information Needs discusses various needs users may havefrom the recommender system. Understanding more fully what needs
are best met by what algorithms is a subject of ongoing research.

3
Evaluating Recommender Systems

When developing a recommender system, either a new algorithm ora new application, it is useful to be able to evaluate how well thesystem works. Since recommendation is usually a means to some othergoal (user satisfaction, increased sales, etc.), testing ultimately needs
to take this into account and measure the intended eﬀect. However, it
can be costly to try algorithms on real sets of users and measure theeﬀects. Further, measuring some desired eﬀects may be intractable or
impossible, resulting in the need for plausible proxies.
In the recommender systems literature, oﬄine algorithmic evaluations frequently play a major role. There has also been work on evaluation methods themselves [61]. It is common to use oﬄine analysis to
pre-test algorithms in order to understand their behavior prior to user
testing as well as to select a small set of candidates for user testing froma larger pool of potential designs. Since user trials can be expensive to
conduct, it is useful to have methods for determining what algorithms
are expected to perform the best before involving users. Oﬄine evaluation is also beneﬁcial for performing direct, objective comparisons ofdiﬀerent algorithms in a reproducible fashion.
This section describes commonly used data sets for oﬄine evaluations of recommender algorithms, the basic structure of these114

3.1 Data Sets

115

evaluations, and metrics that are used to evaluate performance. It concludes with a brief discussion of online evaluations of recommender
performance.

3.1

Data Sets

Many recommender systems are developed in particular contexts, andtheir evaluations will be on data sets relevant to that context or oninternal data sets. There are, however, several data sets that are publicly available and are widely used in evaluating recommenders. They
form a basis on which the raw numeric performance of new algorithms
can be compared against known performance of existing systems in aconsistent environment, and can serve as a preliminary testing domain
in building a system for which no directly relevant data is available.
One of the early publicly available data sets was the EachMovie data
set. The DEC Systems Research Center operated a movie recommendersystem called EachMovie; when the system was shut down in 1997, an
anonymized version of the data set was made available.1 This data set
consisted of 2.8 M user ratings of movies.
The MovieLens movie recommender, operated by GroupLens
research, was bootstrapped from the EachMovie data set [35]. It has
since made three data sets available: one with 100 K timestamped user
ratings of movies, another with 1 M ratings, and a third containing
10 M ratings and 100 K timestamped records of users applying tags tomovies.2 The ratings in the MovieLens data set are user-provided star
ratings, from 0.5 to 5 stars; older data sets have a granularity of 1-star,
while newer ones have 1/2 star granularity.
The Jester data set is a set of user ratings of jokes collected fromthe Jester joke recommender system [50]. It consists of two data sets:
one has ratings of 100 jokes from 73,421 users between April 1999 and
May 2003, and the other has ratings of 150 jokes from 63,974 users
between Nov 2006 and May 2009. These ratings are continuous ratings
in the range [−10, 10].3 As a result of the “gauge set” required by the
1 The EachMovie data set was later withdrawn in 2004.

2 The MovieLens data sets are available at http://www.grouplens.org/node/73.

3 The Jester data set is available at http://eigentaste.berkeley.edu/dataset/.

116

Evaluating Recommender Systems

Eigentaste algorithm, a portion of the Jester data set is dense: there isa small set of jokes that almost every user has rated.
The BookCrossing data set is a collection of book ratings with somedemographic information about users, collected from the book sharing
and discussion site bookcrossing.com [156].4 It contains over 1.1 M
ratings from 279 K users for 271 K books. The ratings are a mix of
explicit real-valued (1–10) and implicit unary ratings.
The Netﬂix data set, made available in 2006 as a part of the Netﬂix
Prize [15], has been widely used as a large-scale data set for evaluating
recommenders. It consists of over 100 M datestamped ratings of 17 K
movies from 480 K users, with some perturbation applied to the ratingsin an attempt to preserve privacy. The data set was withdrawn in late2009 after publicity surrounding research to de-anonymize anonymized
data sets [41, 105].
There are also other data sets in circulation from various sources.
Yahoo! Research operates one such collection, providing a variety ofdata sets collected from Yahoo! services.

3.2

Oﬄine Evaluation Structure

The basic structure for oﬄine evaluation is based on the train-test
setup common in machine learning. It starts with a data set, typicallyconsisting of a collection of user ratings or histories and possibly containing additional information about users and/or items. The users inthis data set are then split into two groups: the training set and thetest set. A recommender model is built against the training set. The
users in the test set are then considered in turn, and have their ratings or purchases split into two parts, the query set and the target set.
The recommender is given the query set as a user history and asked
to recommend items or to predict ratings for the items in the target
set; it is then evaluated on how well its recommendations or predictions
match with those held out in the query. This whole process is frequently
repeated as in k-fold cross-validation by splitting the users into k equal

4 The BookCrossing data set is available at http://www.informatik.uni-freiburg.de/˜

cziegler/BX/.

3.3 Prediction Accuracy

117

sets and using each set in turn as the test set with the union of all othersets as the training set. The results from each run can then be aggregated to assess the recommender’s overall performance, mitigating theeﬀects of test set variation [53].
This form of oﬄine analysis has formed the basis of many evaluations of collaborative ﬁltering, starting with [22]. Herlocker et al. [61]used this method as the basis for a comparative analysis of various
evaluation methods and metrics.
Further reﬁnements to the oﬄine evaluation model take advantageof the temporal aspects of timestamped data sets to provide more realistic oﬄine simulations of user interaction with the service. A simple
temporal reﬁnement is to use time rather than random sampling todetermine which ratings to hold out from a test user’s proﬁle [53];this captures any information latent in the order in which the user
provided ratings. Further realism can be obtained by restricting thetraining phase as well, so that in predicting a rating or making a recommendation at time t, the recommendation algorithm is only allowed
to consider those ratings which happened prior to t [25, 53, 85]. This
comes at additional computational expense, as any applicable model
must be continually updated or re-trained as the evaluation works its
way through the data set, but allows greater insight into how the algorithm performs over time.

3.3

Prediction Accuracy

When testing recommender algorithms that are based on predictinguser preference against a data set that expresses real-valued user ratings(such as the star ratings in MovieLens or the continuous ratings in
Jester), measuring the accuracy of predicted values with respect to theheld-out ratings is a natural starting point for evaluating recommender
output.
A straightforward method of measuring the recommendation quality
is to measure the mean absolute error (MAE) [22, 58, 59, 112, 137],
sometimes also called absolute deviation. This method simply takes
the mean of the absolute diﬀerence between each prediction and rating
for all held-out ratings of users in the test set. If there are n held-out

118

Evaluating Recommender Systems

ratings, the MAE is computed as follows:1
|pu,i − ru,i |
n

(3.1)

u,i

MAE is in the same scale of the original ratings: on a 5-star scale
represented as by integers in [1, 5], an MAE of 0.7 means that the algorithm, on average, was oﬀ by 0.7 stars. This is useful for understanding
the results in a particular context, but makes it diﬃcult to compare
results across data sets as they have diﬀering rating ranges (an errorof 0.7 is more consequential when ratings are in [1, 5] than when they
are in [−10, 10]). The normalized mean absolute error (NMAE) [50] is
sometimes used to address this deﬁciency. NMAE normalizes errors bydividing by the range of possible ratings (rhigh and rlow are the maximum and minimum ratings in the system, respectively), resulting in a
metric in the range [0, 1] for all rating scales:
1|pu,i − ru,i |n(rhigh − rlow )

(3.2)

u,i

NMAE results are harder to interpret in terms of the original ratings
scale but are comparable across data sets with diﬀerent ratings scales.
They are therefore useful in measuring the impact of aspects of thedata set on the performance of a recommender.
Root mean squared error (RMSE) [61] is a related measure thathas the eﬀect of placing greater emphasis on large errors: on a 5-starscale, the algorithm is penalized more for being 2 stars oﬀ in a single
prediction than for being oﬀ by 1/4 of a star 8 times. It is computed
like MAE, but squares the error before summing it:
1
(pu,i − ru,i )2
(3.3)
n
u,i

Like MAE, RMSE is in the same scale as the original ratings.
Famously, it was the measure chosen for the Netﬂix Prize: the $1 M
prize was awarded for a 10% improvement in RMSE over Netﬂix’s internal algorithm. It can also be normalized for the rating scale like NMAE
by multiplying by 1/(rhigh − rlow ).

3.4 Accuracy Over Time119

Equations (3.1)–(3.3) all describe measuring the accuracy acrossthe entire data set at once. They can also be adapted to compute theaverage error for each user and aggregate the average errors to compute a score across the entire test set. Overall and per-user aggregation
can result in diﬀerent relative performance measures for algorithms.
Aggregating by user provides a measurement of how users will experience the system, while overall aggregation gets at how the system
will perform in general. Examining the error distribution by user or byitem can be useful for identifying particular strong or weak areas forthe recommender, either in user taste or item type.
All three of these prediction accuracy measures eﬀectively measure the same thing. Which one to use depends on how the results
are to be compared and presented (MAE vs. NMAE) or whether the
additional penalty for large errors is desired ([N]MAE vs. [N]RMSE).
They are only useful, however, for evaluating a recommender on thepredict task. They also have the drawback of treating errors equivalently across items, while the error on low-importance items is likely
to have less impact on user experience than the error on popular orimportant items.
To compute a single metric of predictive accuracy, we recommend
RMSE due to its increased penalty for gross prediction errors. If metrics
need to be compared between data sets, it can be normalized in thesame manner as NMAE.
Predictive accuracy metrics focus on the predict task, but can also
be indicative of a recommender’s performance for recommendation as
well. Koren [79] showed that, for a selection of algorithms, the ones with
better RMSE performance also were more consistent at recommending
movies users liked over randomly selected movies.

3.4

Accuracy Over Time

MAE and related metrics provide a static view of the predictive performance of a recommender system outside of time. Often, though, theperformance of the recommender over time is interesting: does the recommender generate better results as more users use it? For individual
users, how does accuracy change as they add more ratings?

120

Evaluating Recommender Systems

This has led to the proposal of temporal versions of MAE and
RMSE. Time-averaged RMSE [85] requires that predictions be performed in temporal sequence using only ratings before the current
time t, as discussed by Gunawardana and Shani [53], and computes
the RMSE over all predictions generated up to time t. Equation (3.4)
shows this computation, with nt being the number of ratings computed
up through time t and tu,i being the time of rating ru,i .
1 (pu,i − ru,i )2(3.4)
TA-RMSEt = ntpu,i :tu,i ≤tLathia [84] also proposes windowed and sequential versions of thismetric, restricting the time-averaging to ratings with in a windowor simply computing the average error in a window, respectively.
Burke [25] proposes Temporal MAE, an MAE version of Lathia’ssequential RMSE, and another metric called Proﬁle MAE which provides a user-centric view of error over time. Proﬁle MAE computes how
individual users experience the recommender, showing how the error in
the predictions changes as they add ratings. It is also computed byconsidering each rating in temporal order, but averages error over thenumber of items in the user’s proﬁle at the time of prediction rather
than by user or time window.

3.5

Ranking Accuracy

For contexts where ranked lists of items are produced and item rankings
can be extracted from the user’s rating data, the algorithm’s capacity
to produce rankings that match the user’s can be measured.
Two ways of measuring this are with Pearson correlation or Spearman rank correlation coeﬃcients. As noted by Herlocker et al. [61],however, the Spearman rank correlation metric suﬀers when the recommender makes distinctions between items that the user ranks at thesame level. These metrics also penalize inaccuracy in the tail of therecommendation list, which the user will likely never see, to the same
degree as inaccuracy in the top-predicted items.
Another metric for evaluating ranking accuracy is the half-life
utility metric [22]. It measures the expected utility of a ranked

3.5 Ranking Accuracy

121

recommendation list, based on the assumption that users are more
likely to look at items higher in the list; this assumption is reasonable for many real systems such as e-commerce sites. It requires twoparemeters: a half-life α, such that the probability of a user viewing a
recommendation with rank α is 0.5, and a default rating d. d should beselected to indicate neutrality, providing neither beneﬁt for the user;
it can be the user’s mean rating, the system’s overall mean rating,or some ﬁxed neutral/ambivalent point in the rating scale. In unary
domains, where this metric is most frequently applied, d can be 0 for“not purchased”, with purchased items having a rating ru,i = 1.
The half-life expected utility Ru of the recommendation list for auser u is deﬁned in Equation (3.5). ki is the 1-based rank at which
item i appears.
Ru = max(ru,i − d, 0)i2(ki −1)/(α−1)(3.5)

In order to measure the performance of a recommender across users,
this metric is normalized by the maximum achievable utility Rumax foreach user, resulting in a value in [0, 1] representing the fraction of potential utility achieved. Rumax is the utility achieved by listing the best
items for the user in order. The normalization is needed to compensate
for diﬀerent users having diﬀerent potential utilities; one way this canhappen is as a result of some users having more purchases to predict
than others. The overall score R is given by Equation (3.6).

u Ru

R=
(3.6)
max
u Ru
Half-life utility can be diﬃcult to apply and compare, as it depends
on choosing α and d appropriately. The work of Agichtein et al. [2]is helpful for approximating α in the absence of domain-speciﬁc data;
their analysis of search query logs shows that 50% of search result clicks
are on the top 5 items, making α = 5 a reasonable starting point.
Half-life utility suﬀers from the further drawback of penalizing recommendations of mildy-disliked and adamantly hated items equivalently if d is a rating value indicating ambivalence about an item [61].
However, in domains suggesting natural values for the parameters, its

122

Evaluating Recommender Systems

focus on providing the highest-utility items at the beginning of the list
make it a powerful tool for measuring the ability of a recommender
to provide maximum value to users. Variants of it can be particularly
useful if more nuanced utility functions are available to substitute formax(ru,i − d, 0).

3.6

Decision Support Metrics

Recommender performance, particularly in unary domains such as purchase histories, can also be evaluated in the precision-recall frameworkof information retrieval derived from statistical decision theory [126].
This framework examines the capacity for a retrieval system to accurately identify resources relevant to a query, measuring separately its
capacity to ﬁnd all relevant items and avoid ﬁnding irrelevant items.
Figure 3.1 shows the confusion matrix, depicting the relationship ofthese concepts. Recommenders are evaluated with retrieval metrics byoperating in a unary purchase domain, holding some items out of theuser’s proﬁle, and considering the held-out purchased items to be relevant to a query consisting of their remaining proﬁle [22, 61, 131]. These
metrics can also be applied in non-unary ratings domains by using a
rating threshold to distinguish between liked and disliked items.
To be applied robustly, all of these measures require a fully-coded
corpus where every item is known to be either relevant or irrelevant to
the query under consideration. In recommender evaluation, however,that data is not generally available — if an item has not been purchased,
it could be because the user does not like the item, or it could be because
they were unaware of it. If the recommender returns an item outside theheld-out target set, it still could be a relevant item. Care must be taken,
therefore, when designing and evaluating precision-recall assessments

Fig. 3.1 Retrieval confusion matrix.

3.6 Decision Support Metrics

123

Fig. 3.2 Precision (a) and recall (b) in the confusion matrix.

of recommender systems; nevertheless, it can be a useful framework forunderstanding recommender performance.
The core metrics in precision-recall evaluations are the precision P ,the fraction of items returned by the recommender that are purchasedP( T PT+F
P ), and the recall R, the fraction of purchased items returnedPby the recommender ( T PT+F
N ) [126]. Figure 3.2 shows how these metrics relate to the confusion matrix. Since recommenders and retrieval
systems typically return ranked lists, these are usually computed forsome ﬁxed recommendation list length N or sometimes for a thresholdscore. For a given system, precision and recall are inversely related anddependent on N , so comparing results between recommenders can becumbersome [61]; however, the combination can provide more insight
into the particular behavior of an algorithm than single-number measures. Diﬀerent user tasks require diﬀerent tradeoﬀs between precisionand recall — a user looking for a movie recommendation likely only
cares that they get a good movie (high precision), while a lawyer looking for legal precedent needs to ﬁnd all relevant cases (high recall).
Herlocker et al. [61] classify these two disparate needs as “Find Good
Items” and “Find All Good Items”.
Precision and recall can be simpliﬁed into a single metric, the F1
metric [124, 153], which has been used to evaluate recommender systems [131]:
F1 =

2P R
P +R

F1 blends precision and recall with equal weight. The resulting number makes comparison between algorithms and across data sets easy,
but does not facilitate more nuanced comparisons where one of the two
measures is more important than the other.

124

Evaluating Recommender Systems

Fig. 3.3 Sensitivity (a) and speciﬁcity (b) in the confusion matrix.

Precision and recall also ignore the lower right quadrant of the confusion matrix — the true negatives, those items correctly identiﬁed asirrelevant or disliked. In order to incorporate that quadrant into a metric, a similar pair of metrics called sensitivity and speciﬁcity can beused [83]. Figure 3.3 shows these metrics. Sensitivity is equivalent torecall (the true positive rate) while speciﬁcity measures the fraction ofirrelevant items correctly discarded (the true negative rate).
A related but more comprehensive comparison method is therelative operating characteristic (ROC, also called receiver operating
characteristic) curve [142]. This curve is derived from sensitivity andspeciﬁcity and plots sensitivity against the complement of the speciﬁcity. As the length of the recommendation list increases, more items
are included, until the entire item set (including all relevant and irrelevant items) has been returned. ROC curves eﬀectively describe therelationship of precision and recall across the range of their tradeoﬀ,
showing how the recall of the system increases as precision requirements
decrease. Figure 3.4 shows some sample ROC curves. A recommenderwhich randomly returns items will, on average, plot a straight diagonal line; curves above the line are better than random. The further tothe upper-left corner of the plot the curve reaches, the better the recommender performs. A perfect recommender (which returns all target
items before any irrelevant items) will plot a vertical line to (0.0,1.0)
and a horizontal line to (1.0,1.0).
The ROC curve can also be used to derive a single numeric measureof performance by computing the area under the curve, called Swet’s
A-measure or AUC; a perfect recommender will achieve an AUC of 1.
AUC is limited, as a given recommender system will operate a particular ratio of precision to recall or will move along the curve as theuser explores longer recommendation lists. It is useful, however, for3.7 Online Evaluation

125

Sensitivity or Recall (true positive rate)

1.0

0.8

0.6

0.4

0.2
RandomCurve A
Curve B
0.0
0.0

0.2

0.4

0.6

0.8

1.0

1 - Specificity (false positive rate)
Fig. 3.4 Sample ROC curves.

quantifying the tradeoﬀ in precision necessary to increase recall witha particular system, measuring in some sense the “eﬃciency” of therecommender.
ROC curves are good for performing detailed assessments of theperformance of particular algorithms. Comparing them, however, ischallenging, particularly for large numbers of algorithms. Therefore,
precision/recall, F1 , and AUC are useful for assessing relative performance of various algorithms in decision support contexts at the expenseof oversimplifying recommendation performance.

3.7

Online Evaluation

Oﬄine evaluation, while useful for comparing recommender performance and gaining understanding into how various algorithms behave,is limited in a variety of ways [88, 89, 98]. It is limited to operating on data regarding past behavior — a leave-N-out recommender
trial measures only the ability to recommend items the user foundsomehow. Further, there is a selection bias in historical rating data, asusers are more likely to consume and therefore be able to rate items

126

Evaluating Recommender Systems

they perceive to be good. Time-based methods compensate for thissomewhat, but oﬄine evaluations are incapable of measuring the recommender’s ability to recommend good items that the user did not
eventually ﬁnd somehow. They also cannot measure how users respondto recommendations or how recommendations impact business concerns. Recommendation algorithms with similar numeric performance
have been known to return observably diﬀerent results [97, 146], and adecrease in error may or may not make the system better at meetingthe user’s needs. The only way to accurately assess these factors is to
do an online evaluation — to try a system with real users.
Online evaluations come in a variety of forms. Field trials — wherea recommender is deployed in a live system and the users’ subsequentinteractions with the system are recorded — enable the designer tosee how users interact with the recommender and change their behavior in “real” environments. Since many recommenders are provided in
web-based contexts, page views, interface clicks, rating behavior, andpurchase behavior can be measured and used to assess the impact of
the recommender. Field trials, frequently in the form of A/B tests, arecommonly used in commercial recommender deployments where sites
have already established user bases and can test a new algorithm orother site change on a small subset of their users [76, 77]. Amazon and
Google are well-known for using A/B testing in reﬁning and evaluating
their services. Field trials can also be used to measure other aspectsof system performance such as recommender accuracy in response toa change in the system [117]. When combined with user surveys, they
can be used to assess user satisfaction and other subjective qualities.
Recommender eﬀectiveness with respect to business concerns can also
be measured in ﬁeld trials using a variety of measurements used toevaluate marketing campaigns [31].
Virtual lab studies are another common method for evaluating recommender systems. They can be used without access to a live user base,and are therefore useful for testing new ideas for which no deployed
application exists or is available. They generally have a small numberof users who are invited to participate, and can take the form of interaction with a full application [19] or a survey structured around therecommender [29, 39, 118, 146]. Virtual lab studies, while they provide

3.7 Online Evaluation

127

a great deal of ﬂexibility and control in designing an experiment for
testing a recommender, create an artiﬁcial interaction that may aﬀect
the applicability of the results to real applications.
Traditional in-lab studies are also used to evaluate recommendersystems [141], but virtual lab studies and ﬁeld trials are generally morecommon.
Many uses of online evaluation, such as measuring accepted recommendations, page views, conversions, or sales lift, are well-understood.
Well-constructed surveys can help get at many other aspects of recommender quality and utility. Determining ways to measure more subtle
aspects of recommender quality and user satisfaction is the subject ofongoing research. Shani and Gunawardana [135] describe many aspectsof online and oﬄine evaluations, and more work is needed to come up
with good ways to assess recommender’s ability to meet user’s needs.
User Information Needs discusses in more detail what some of theseneeds are and surveys research on addressing them.

4
Building the Data Set

In order to provide recommendations to users, simply having a recommender algorithm is not suﬃcient. The algorithm needs a data set
on which to operate — a ratings matrix (or its functional equivalent)
must somehow be obtained from the users of a system. Brusilovsky [23]provides a summary of how this is necessary in the broader space ofadaptive user experiences: the system must collect data about users
in order to model their preferences and needs and ultimately provide
them with a customized experience (in the present case, customized
recommendations or preference predictions).
The need for preference data can be decomposed into two types of
information needs. The system needs to know something about users’
preferences: what items (or types of items) does each user prefer? Italso needs to know something about items: what kinds of users like or
dislike each item? This breakdown is perhaps clearest when thinkingof matrix decomposition models for recommendation: the user–item
preferences are factored into a set of characteristics, user preferences for
those characteristics, and those characteristics’ applicability to various
items. These needs are also present in other models to varying extents:
the item–item CF model, for instance, needs to know what items are1284.1 Sources of Preference Data

129

liked by the same users (a combination of “what users like this item?”and “what other items are liked by these users?”) as well as the current
user’s preferences.
These information needs come up in the recommender systems literature primarily under the guise of the cold-start problem. The coldstart problem, in general, is the problem of providing recommendations
when there is not yet data available on which to base those predictions.
It takes two ﬂavors:• Item cold-start, where a new item has been added to the
database (e.g., when a new movie or book is released) but has
not yet received enough ratings to be recommendable [133].
• User cold-start, where a new user has joined the system but
their preferences are not yet known [34].
The bootstrap problem, where a system has no information about
any user preferences, is an extreme intersection of both aspects of thecold-start problem.
Not only does a recommender system need data, it needs that data
to be of high quality in order to provide useful recommendations. If it
does not accurately know user preferences, its ability to generate usefulrecommendations can suﬀer — prediction error is lower-bounded by theerror in user ratings [62]. Rating error (|ru,i − πu,i |, the diﬀerence between
users’ ratings and their true preferences) can be divided into two categories: natural noise, where user ratings diﬀer from true preference due
to error in the rating collection process, and malicious noise, discrepant
ratings introduced for the purpose of manipulating the system’s recommendations or predictions [109]. In this section, we are only concernedwith natural noise; malicious noise will be taken up in Robustness when
we discuss security implications of recommender systems.

4.1

Sources of Preference Data

Preference data (ratings) comes from two primary sources. Explicit
ratings are preferences the user has explicitly stated for particular
items. Implicit “ratings” are inferred by the system from observableuser activity, such as purchases or clicks.

130

Building the Data Set

Many recommender systems, in both academic and commercial
settings, obtain ratings by having users explicitly state their preferences for items. These stated preferences are then used to estimate theuser’s preference for items they have not rated. From a system-building
perspective, this is a straightforward method and avoids potentially
diﬃcult inference problems for user preferences. It suﬀers, however,from the drawback that there can, for many reasons, be a discrepancy
between what the users say and what they do.
Preferences can also be inferred from user behavior [106]. In the
Usenet domain, this has been examined by using newsgroup subscriptions [69] and user actions such as time spent reading, savingor replying, and copying text into new articles [104]. Konstan et al.
found a substantial correlation between the time a user spent reading
a Usenet article and his/her rating of that article [78], further supporting the idea that observable user behavior can be a useful source ofpreference information. Consumption behavior has also been extended
beyond reading domains: while not a collaborative recommender system, the Intelligent Music Management System plugs in to a user’s
music player and automatically infers the user’s preference for various
songs in their library as they skip them or allow them to play to completion [52]. The PHOAKS system mined Usenet articles for another formof implicit preference data: mentions of URLs. It used the frequency
with which URLs are mentioned in Usenet articles to provide recommendations for web resources [63]. In e-commerce domains, implicit
feedback in the form of page views and item purchases is the primarysource of preference data for recommendation [87].
System designers and analysts must be careful when using implicit
data to understand the mapping between system-visible user identities(frequently accounts) and actual people. Users of e-commerce systems,
for example, will often purchase items as gifts for others. Those purchases
and related activity do not necessarily communicate anything about theuser’s tastes. Users will also share accounts on many systems; a family may have a single Amazon.com account, for instance, thus providing
the system with an ill-deﬁned aggregate of several people’s preferences.
Netﬂix deals with this problem by allowing each account to have multiple
proﬁles with separate ratings, queues, and recommendations.

4.1 Sources of Preference Data

131

O’Mahony et al. [109] argue that observed or inferred preference
information is expected to be noisier than explicitly provided data. It
is possible, however, that inference can build a more accurate long-term
proﬁle of a user’s taste then they themselves can articulate.
Explicit and implicit rating data are not mutually exclusive. Systems can incorporate both into the recommendation process. Most recommender systems are capable of collecting some implicit information
at least through page views. As rating mechanisms become increasingly
prevalent in a variety of web sites, particularly e-commerce sites, further hybrid data becomes available to the operator of those services.
Amazon.com makes use of both explicit and implicit data in providing
its various recommendations.
Rating data can also be obtained from external sources, although
this data may not be identiﬁably connected to users of the recipient system. In systems with few users or brand-new systems facing the bootstrapping problem, external data sources can be particularly valuable
in getting initial preference data to actually be able to make recommendations. MovieLens did this by bootstrapping with the EachMovie
data set [35].
Preference data can also be taxonomized based on its relationshipto the user’s experience of the item. Table 4.1 shows how the experience
relation relates to implicit and explicit data with some examples.
• Consumption ratings are provided when the user has justconsumed (or is consuming) the item in question. These
ratings are particularly common in online streaming media
environments, such as the Pandora music recommender or
NetFlix instant streaming.
Table 4.1.

Explicit

Implicit

Types of preference data.

Consumption

MemoryExpectation

Pandora song ratings,
GroupLens Usenetarticle ratings
Streaming video
watch time

Netﬂix or MovieLens
movie ratings

House advertisement
ratings

Views of discussion
pages related toprevious purchase

Dwell time on new car
advertisement

132

Building the Data Set• Memory ratings are provided based on the user’s memory ofexperiencing the item. When a user watches a movie at thetheater and then rates it on MovieLens or MoviePilot, they
are providing a memory rating.
• Expectation ratings are provided when the user has not yet
experienced the item (and may never experience it) but iswilling to provide a rating anyway. One example is rating
housing options — the user will likely only have the meansand opportunity to truly experience one housing situation,
but may provide ratings on other house advertisements indicating their level of appeal to the user.
In some ways, consumption ratings are the most reliable, as theitem is fresh in the user’s mind. Memory ratings are also based on
experience, so the user has a fuller set of data on which to base theirrating than in the expectation case, but their impression of the item
may not be accurately remembered or may be inﬂuenced by various
external factors [68]. Expectation ratings are the most limited, as
the user has not experienced the item and thus is rating it based
only on the information presented about it combined with whateverprior knowledge they may have. They can still be useful, however,particularly in high-cost domains.

4.2

Rating Scales

Mapping user preference to a rating scale is not an easy task. Whileutility theory shows that there is a real-valued mapping for the preferences of any rational agent [149], it is not necessarily easy for users
to express their preferences in this way. Further, preference is not afunction only of the item: contextual factors such as time, mood, andsocial environment can inﬂuence a user’s preference, so provided ratings
may contain information about the context in which the user experienced the item and, in the case of memory ratings, intervening eventsor changes of mind as well as their preference for the item itself.
Recommender systems over the years have used (and continue
to use) a wide variety of diﬀerent scales and methods for collect-4.2 Rating Scales

133

Fig. 4.1 The MovieLens 5-star rating interface. The page also contains a legend, deﬁning 1
to 5 stars as “Awful”, “Fairly Bad”, “It’s OK”, “Will Enjoy”, and “Must See”.

ing ratings [34]. Many of these systems are a numeric scale of somekind: GroupLens used a 5-star scale [119], Jester uses a semi-continuous−10 to +10 graphical scale [50], and Ringo used a 7-star scale [137];
Figure 4.1 shows a 5-star scale as deployed in MovieLens. These scales
are appealing to the system designer, as they provide an integral orreal-valued rating that is easy to use in computations. They also beneﬁt from the body of research on Likert scales in the survey design andanalysis literature [9, 43, 45].
Explicitly numeric scales are not the only scales in use. Some systems
use a “like”/“dislike” method — the Pandora music recommender provides thumbs-up and thumbs-down buttons which can be used to request
more songs like the current song or ban the current song from the station.
The Yahoo Launch music player used a real-valued “like” rating (0–100)
in combination with a “ban” button [34]. MovieCritic.com had users rankﬁlms and derived ratings from these rankings.
Cosley et al. [34] found that users prefer ﬁner-grained scales whenrating movies, and that scale had little impact on user ratings (users
rated items consistently even when using diﬀerent scales). That work
also found that the rating scale had little impact on prediction accuracy. Therefore, using ﬁne-grained scales (such as allowing 1/2 star
ratings) makes sense as users prefer it and it does not harm recommender accuracy. There is little research into the particular impact ofrating interfaces in other contexts. Intuitively, simple like/dislike scales
seem useful in systems such as real-time music recommenders where

134

Building the Data Set

the user actually experiences the item rather than receiving a list ofsuggestions. It is important to include both like and dislike, however;in a study of user rating behavior for movie tags, Sen et al. [134] foundthat users with both “like” and “dislike” buttons provided more ratings
than users with only one rating option, and users who had a “dislike”
button but no “like” button provided far more ratings than users whose
only option was “like”.
When implicit ratings are collected, the observed user events mustbe translated into computationally useful estimators of preference [106].
Purchases, page views, and data such as the mention data used by
PHOAKS are frequently treated as unary ratings data: purchased items
have a “rating” of 1 and other items have unknown ratings [71]. With
unary ratings, all that is known is that the user purchased a particular
set of products: the fact that the seller does not have any information
on a user’s interest in other products does not imply that the user
does not like those products. They may be unaware of the existenceof unpurchased products (a situation the recommender likely aims tochange), or they may have purchased them from a diﬀerent vendor.
Therefore, while a purchase can be considered a vote for a product, alack-of-purchase alone may not be considered a vote against.
Other forms of data, such as the time spent on a page, also provide
useful data points for inferring user preference. In the Usenet domain,time spent reading an article correlates strongly with the user ﬁnding that article interesting [78, 104]. It can be beneﬁcial to consider avariety of observable user activites, particularly to discern the user’s
interest in an item they have not purchased in a commerce domain.

4.3

Soliciting Ratings

Beyond the input method used for providing ratings, there are alsoquestions to consider in selecting which items to ask or encourage users
to rate. To optimize individual user experience, a recommender systemshould provide quality recommendations with as enjoyable a rating
experience as possible; in some cases, that may mean minimizing theeﬀort required from the user, but requiring work users perceive as meaningful can result in higher user loyalty [96]. It should also provide an4.3 Soliciting Ratings135

enjoyable experience for the user. Therefore, when a new user joins
the system, conducting the initial “interview” strategically, aiming tomaximize the information gained about the user’s tastes for the items
presented for rating, can provide a smooth initial user experience. This
is not the only consideration, however — recommender systems havemultiple users, and collaborative ﬁltering depends on knowing as manyusers’ preferences for items as possible. Therefore, interview strategies
can also attempt to improve the system’s ability to serve the user baseas a whole by asking users to rate items for which few ratings havebeen collected. Further, new users are not the only entities about which
information needs to be collected. New items also present a problem,
and the system has the opportunity to strategically present them toexisting users to gain an understanding of their appeal proﬁle.
Information and decision theory provide some insight into how thisproblem can be approached. Value-of-information (VOI) calculations
can be used, based on estimated improvement in prediction accuracy,
to ask the user to rate items that provide the system with the highest
expected improvement in quality [112]. Entropy-based measures canalso be used, determining which items will likely provide the systemwith the most information about the user’s taste [117]. The user’s preference for a movie with high variance in ratings tells the system more
about that user’s taste than their preference for a movie with more
uniform ratings. Entropy alone, however, is not suﬃcient, as there may
be many items with high information value that the user is unable torate. Therefore, a probability that the user will be able to rate the item
must also be factored in to the decision process; Rashid et al. [117] used
the popularity of items, asking the user to rate items that were both
popular and had high information value. The structure of the resulting formula is similar to value-of-information, maximizing the expected
information gain.
The cost of consuming items is also a factor in the ability of asystem to solicit user ratings and ﬁll in user taste proﬁles. Movies, forexample, have a higher cost of consumption than songs — even if themedia is free, it takes around 2 hours to watch a movie while manysongs last only 3–4 minutes. Therefore, a movie recommender is likely
to depend on ﬁnding movies users have seen in order to collect ratings

136

Building the Data Set(thus relying predominantly on memory ratings). A music recommendercan have more ﬂexibility — systems like Pandora or Launch.com canactually play the song for the user to get their opinion of it rather
than just giving them a title and artist. Similarly, Jester has users
rate jokes based on reading the joke; the small cost of reading a jokeallows Jester to present the same starting set of jokes to each user tobuild an initial version of their preference proﬁle [50]. These sytems
are therefore able to make greater use of consumption ratings. Somedomains, such as house or car purchases, have potentially very highcost, where items are expensive and their true utility is not fully known
until they have been used for an extended period of time. Systems
in such domains are therefore either unable to use ratings or depend
primarily on expectation ratings.
A further consideration in soliciting ratings is whether or not toshow the user’s predicted preference in the rating interface. Cosley
et al. [34] found that predicted preferences inﬂuence users’ ratings, andthat some expert users are aware of this inﬂuence. System designers
should be aware of this and careful to consider what impact it will
have on their users.
There has also been work looking more directly at user motivation
and willingness to provide ratings. Harper et al. [56] provide an economic model for user behavior in providing ratings. This incorporates
some issues already discussed, such as the time and eﬀort needed toprovide a rating, and provides a framework for reasoning about how
users are motivated to interact with recommender systems. Avery andZeckhauser [11] argue that external incentives are needed to provide
an optimal set of recommendations and that market-based systems orsocial norms can provide a framework for promoting user contribution
to the rating data.

4.4

Dealing with NoiseThe process of expressing preference as ratings is not without error —the ratings provided by users will contain noise. This noise can result
from normal human error, confounding factors in the rating process(such as the order in which items are presented for rating), and other4.4 Dealing with Noise

137

factors in user experience (e.g., a noisy theater detracting from theenjoyment of an otherwise-good movie). Detecting and compensating
for noise in the user’s input ratings therefore has potential to result inbetter recommender systems.
Natural noise in ratings can be detected by asking users to re-rate
items [5, 34, 62]. These studies all found that users’ ratings are fairly
stable over time. Amatriain et al. [5] further found that moderate preferences — 2 or 3 on a 1–5 scale — are less stable than extreme like or
dislike, and performed a more thorough analysis of the re-rating data
to determine that ratings are a reliable method of measuring user preferences by the standards of classical test theory. Once noisy or unstablepreferences have been detected, they can be discarded to improve therecommender’s prediction accuracy [6].
O’Mahony et al. [109] proposed detecting and ignoring noisy ratingsby comparing each rating to the user’s predicted preference for that
item and discarding ratings whose diﬀerences exceed some thresholdfrom the prediction and recommendation process. This approach, however, makes the assumption that all high-deviance ratings are a resultof user error rather than aspects of user preference for which the systemcannot yet account, and discarding such ratings may inhibit (at least
temporarily) the system’s ability to learn that aspect of the user’s taste.
Some recommendation algorithms have noise built into their user
ratings model. Personality diagnosis explicitly assumes that userprovided ratings have Gaussian noise, being drawn from a normal distribution whose mean is the user’s true preference [112]. Analyzing ratings
with this model in a naı̈ve Bayesian framework allows data from otherusers and the smoothing eﬀect of probabilistic inference to compensate
somewhat for noise in individual ratings.

5
User Information Needs

Recommender systems do not exist in a vacuum. Treating recommendation abstractly as mathematical problem, aiming primarily to improveoﬄine evaluations with prediction accuracy metrics such as RMSE,
ignores the broader context of use and is not necessarily measuring
the impact these systems have on their users. Re-grounding recommender systems in user needs can have a profound impact on how
we approach the ﬁeld. Anchoring both the design of the recommendersystem itself and the evaluation strategy used to measure its eﬀectiveness to a detailed understanding of user goals, tasks, and context canenable us to build systems that better serve their users [74, 99].
Users use a recommender system for some purpose. With systems
like GroupLens and PHOAKS, that purpose can be to more easily ﬁlter
through high volumes of articles and ﬁnd interesting new resources. Movie
recommenders can help users ﬁnd new movies and choose ﬁlms to watch.
A joke recommender can provide entertainment. In each case, we can consider the recommendations to have some utility to the user. User needs canalso extend beyond the recommendation list — some users interact withrecommender systems for the purpose of self-expression, with the ratingprocess rather than the resulting recommendations being their desiredend [56, 61]. Evaluation metrics are useful, therefore, to the extent that138

5.1 User Tasks

139

they map to (or at least correlate with) the user’s utility derived fromthe system’s output (recommendations and predictions) and the overall experience it provides. Task- and need-driven user-based studies areneeded to determine what factors actually do aﬀect the system’s ability
to meet user needs and improve the user experience.

5.1

User Tasks

The classical recommender tasks of predict and recommend can be
re-cast in terms of user needs as “estimate how much I will like anitem” and “ﬁnd items I will like”, respectively [61]. User needs can also
take more nuanced manifestations. For example, users can use a recommender system to ﬁnd new items the may like (introduction) or to recall
previous items they enjoyed (reuse); systems like the Pandora music
recommender are built to meet these two needs in balance (users want
to discover new music while also listening to music they know they like).
Users can also be interested in merely exploring the item space (explore,
the “Just Browsing” task of Herlocker et al. [61]) rather than supporting a particular decision (make decision). Some users have the goal ofdetermining the recommender’s credibility (evaluate recommender ) —they may wish to see how the recommender does at estimating theirpreference for items they know well in order to determine how muchthey trust its unfamiliar recommendations (or how much time theywant to invest in training the system). By supporting this last task, abalance of familiar and unfamiliar items can be important in a developing long-term relationships between users and recommenders [99].
The type of interaction the user has with the recommender also
impacts how it should perform. Does the user treat the recommenderas an information source to be searched, or as a decision support tool?
Even when using a recommender for decision support, users still havediﬀering goals. In some cases they may be primarily interested in exploring the space of options. They may turn to the recommender to provide them with a candidate set from which they will choose. In othercases, they may want the recommender to actually make the selection. A movie recommender or an e-commerce site is likely to be used
to explore or determine a candidate set; the user generally makes the140

User Information Needs

ﬁnal decision on which movie to see. Real-time music recommenders
such as Pandora, however, select a song for the user to hear next, providing the user with a means for critiquing the decision but not often
do not allow the user directly select from a set of items.
Even recommenders with equivalent numerical performance canhave qualitative diﬀerences in their result lists [146]. McNee et al. [99]call these personalities, and choosing an algorithm whose personality
matches the user’s needs can provide greater user satisfaction.

5.2

Needs for Individual Items

Thinking about prediction from the perspective of user perception
has led to the adoption of some common evaluation metrics: RMSE’s
increased penalty for high error and other variants on MAE designed
to distinguish high error both stem from the assumption that users arelikely to forgive a small error in preference estimation (such as mispredicting by half a star), while gross errors (predicting a 3-star movie
as a 5-star) will more signiﬁcantly hamper user experience. It is alsofrequently more important to be accurate at the high end of the scale:
if the system correctly predicts that the user will dislike an item, doesit matter how much they will dislike it?
Another need users may have in their use of the recommendersystem is serendipity [98, 116]. Serendipity is the ability to recommend items that the user likes but does not expect; a movie, perhaps,that they never would have thought of liking but, once recommended,turned out to be enjoyable. Since users frequently use recommenders tolearn about and try things that they would not otherwise know about,serendipity is generally a desirable characteristic of a recommender.
Related to serendipity is the factor of risk — what are the odds
the user will like the item? If the system is recommending items thatthe user does not expect, it could be wrong sometimes and recommend
a bad item. In some contexts, users may be better served by a recommender which is more aggressive in exploring the boundaries of theuser’s preference space in hopes of achieving serendipity, while othercontexts may merit a more conservative system that prefers to avoid
the chance of a bad recommendation.

5.3 Needs for Sets of Items

141

Risk can be modelled by the system’s conﬁdence in its prediction,
but that still leaves open the question of how much risk to take. Is theuser more interested in ﬁnding potentially great items, or will the user
accept merely good items in order to avoid bad ones, even if thatinvolves missing potentially valuable recommendations? This is a function of both the user’s desires and the characteristics of the domain.
In low-cost domains, particularly interactive ones such as music recommenders, the cost of following a bad recommendation is low, so arecommender with riskier behavior may be more appropriate than in ahigher-cost domain.
The issue of new versus old items arises here as well. If the user’s task
is “ﬁnd a movie to go see this weekend”, they are likely not interested
in a movie they have seen before. But if it is “play some music for mycommute”, a blend of old and new may well be appropriate. Carefulanalysis of who the users are and what they expect from a system will
provide insight into how to design the recommendation strategy.

5.3

Needs for Sets of Items

Many recommenders do not just recommend a single item to the user.
They present a list, usually ranked, of items for the user to consider.
Even recommenders which, at ﬁrst glance, deal with individual items at
a time may have a sense of the set or the whole: a music recommender
plays invidiual songs in turn for a user, but the user perceives a sequenceof songs as well as the individual selections [40].
At a basic level, the rank-accuracy metrics ﬁt in line with viewing
recommendation from a user perspective, as the exact preference prediction frequently does not matter when the user is only presented witha ranked list of choices. Half-life utility [22] adds the additional factor
of modeling whether the user will even see the item in question, making
it useful for assessing utility to the user in search-like contexts.
When users receive a list of recommended items, they do not experience it as a list of individual items but rather experience the list as
an entity itself. It can well be that the best 5 items do not necessarily
make the best 5-item recommendation list.

142

User Information Needs

Research on research paper recommendations has shown that diﬀerent algorithms produce lists that are better-suited for diﬀerent goals:
some algorithms produce lists better-suited for ﬁnding novel or authoritative work on a topic, while others produce lists that are better introductory or survey reading lists [146]. Users could discern diﬀerences
between lists produced by diﬀerent algorithms, including varying applicability to diﬀerent tasks.
Perhaps the most prominent potential need users have when it
comes to sets of items is that of diversity. Ali and van Stam [4] noted
that, with standard collaborative ﬁltering technology, a TV viewer who
enjoys both science ﬁction shows and boating programs, but who has
seen and rated more science ﬁction, may never receive boating recommendations. This domination of a proﬁle by a single genre can reduce
the recommender’s capacity to satisfy the user needs across their multifacted interests.
Diversity in recommendations can desirable from two standpoints.
First, users may have a variety of tastes, some expressed more strongly
than others, and beneﬁt from the recommender being able to recommend items across the breadth of their preferences. In many cases, therecommender should not only span their interests but also be able topush at the edges of the user’s known interests with the hopes of introducing them to material that they enjoy but would not have foundotherwise. Immediately, it needs to avoid pigeonholing users — thescience-ﬁction and boating TV viewer of Ali and van Stam’s portfolio
eﬀect may want to watch a good boating show in a Saturday afternoon, and the recommender may have an insuﬃcient sense of diversity
to provide one.
Second, excessively narrow recommendations have the potential tofragment communities into small pockets with little in common, withthe rate-recommend cycle reinforcing an increasingly focused taste at
the expense of breadth. Societally, this balkanization can decrease communication and interactions between groups of people [147].
Diversity is not always a desirable aim, however. Some user needs
are better met by a more focused set of recommendations, and theneed for diversity can change over time. Consider buying a house: in5.3 Needs for Sets of Items

143

the early stages, recommending a wide variety of styles, prices, andneighborhoods could be a good strategy. As the user looks at houses
and sees what they do and do not like, narrowing the ﬁeld of recommendations to a more focused set of options can help them to maketheir ﬁnal decision. In the latest stages, it can be desirable to recommend several eﬀectively substitutable options in case one is unavailable.
Again, understanding the user’s needs and relationship to the system is
key to determining the role diversity should play in recommendation.
To add diversity to a recommendation list, Ziegler et al. [156] proposed “topic diversiﬁcation”, a method which discards some items of arecommendation list in favor of others to increase the diversity of items
within a recommendation list; users found this to more comprehensively capture their reading interests in a study using the BookCrossing
data set.
Another recent and promising approach for optimizing the variety ofchoices presented to the user in a recommendation set is regret-based
recommendation [148], a recommendation algorithm based on utility
theory. This method uses a model of the user’s utility to recommend
a set of items with minimal expected loss. The basic idea behind its
operation is that a recommendation set that contains only comedies will
have greater loss if the user is in the mood for an action movie than a
set containing a mix of comedies and action movies. This framework is
not just applicable to diversity, but can be adapted to address a hostof whole-list concerns.
Key to both of these algorithms is that they consider the set ofrecommended items as a whole rather than simply picking the bestindividual recommendations. Seeking to maximize the expected utilityof a set of recommended items rather than focusing on maximizing theuser’s interest on a per-item basis is a step forward in improving user
experience across diverse tastes.
In order to understand and reason about diversity in recommendations, it is useful to understand more generally what diversity is andhow to measure it. Harrison and Klein [57] identify three types of diversity studied in operations research: separation, where the members ofa set are at diﬀerent positions on a linear continuum; variety, where
members of a set are members of diﬀerent classes; and disparity, where

144

User Information Needs

some members of a set have a higher status or position or are otherwise
superior to other members. Separation and variety seem to be particularly relevant to assessing recommendation and preference: movies canbe more or less violent (separation), and they can be of diﬀering genresor from diﬀerent directors (variety). Harrison and Klein’s review also
provides metrics for measuring the various types of diversity: standard
deviation and Euclidian distance can be used to measure separation,
and Blau’s index and Teachman’s entropy index are both useful formeasuring variety among classes. Ziegler et al. [156] used the average
pairwise similarity of items in a recommendation set, with proximity
in a hierarchical taxonomy of the item space as the similarity metric,
to measure the similarity (lack of diversity) within recommendation
lists.
Measuring diversity is useful in understanding the behavior of aparticular system, but the extent to which the diversity of a recommendation list impacts that list’s ability to meet a user’s need is harder tomeasure. It is also not always obvious what forms of diversity relate
to users’ needs. Ziegler et al. [156] found that increasing the diversity
across Amazon.com book categories improved user’s assessment of thevalue of book recommendation lists they received up to a point, after
which further diversiﬁcation decreased perceived value. The nature andimpact of diversity will vary across information domains and user tasks.
Another major concern in set recommendation is that of interactioneﬀects. Some items, while good individually, are either particularly bador particularly good together [55]. Accounting for these is a diﬃcult
problem, and package recommendation under constraints frequently
becomes NP-hard [152]. However, recommendations often do not need
to be perfect — approximation algorithms are often suﬃcient — andsome relationships or properties that are diﬃcult or impossible to compute can, in some cases, be determined by humans and fed back into
the system [150].

5.4

Systemic Needs

Not only do users have particular needs for individual items and recommendation lists, they have needs from the system as well.

5.4 Systemic Needs

5.4.1

145

Coverage

While many user needs are satisﬁed by ﬁnding some good items, andmissing some items does not cause a problem, there are other cases
where the penalty for missing items is high — high recall is critical [61].1
This can be the case in locating research literature, where it is undesirable to overlook prior work, but is even more critical in legal settings:
missing prior work in a patent application or a relevant precedent whilehandling litigation can have drastic consequences.
The concept of coverage provides a useful framework for analyzing
how a recommender algorithm does or does not exhibit this problem.
Simply put, the coverage with respect to a user is the fraction of thetotal item domain which the algorithm could possibly recommend to
the user (in typical collaborative ﬁltering algorithms, this is the set ofitems for which predictions can be generated for the user). In a user–
user recommender, the ability to recommend an item i is dependent on
the user having potential neighbors which have rated i; in an item–itemrecommender, it is dependent on the user having ratings for items in i’slist of neighbors. Other algorithms can have similar limitations on theirability to recommend particular items based on the information they
possess.
One way to alleviate coverage problems is by falling back to abaseline recommender when the collaborative ﬁlter cannot generatea prediction. Hybridizing algorithms with diﬀerent coverage proﬁles
can also help improve coverage. If the composite recommenders are ofsigniﬁcantly diﬀerent structure, this method can increase the system’sability to recommend some items. Latent factor models, such as SVD
and PLSA, can also provide good coverage because the latent factors
can connect users to items that they would not be connected to justthrough item or user neighborhoods.
McLaughlin and Herlocker [95] proposed a modiﬁed precision metric to measure the ability of a recommender to recommend items whichtakes coverage into account, penalizing algorithms with low coverage.
1 Recall can rarely be directly measured. Data sets only contain rated items, while recall

pertains to ﬁning all relevant items regardless of whether they are already known to the
user.

146

User Information Needs

They then showed that a modiﬁed user–user recommender that operates by propagating belief distributions over rating oﬀsets between
similar users is able to achieve much better coverage at the expenseof some accuracy compared to standard user–user and item–item CF.
The balance with regards to coverage, accuracy, and computational
requirements will vary by domain and application.
In addition to the impact of coverage on user needs, the systemprovider may also have an interest in coverage — if there are items
which cannot be recommended, then it may be more diﬃcult to sell
those products.
5.4.2

Robustness

In order for recommendations to be useful to users, they need to berobust and fair. Recommendations should reﬂect the true opinions oflegitimate users of the site, with minimal degradation due to naturalnoise and free from bias introduced by malicious users attempting tomanipulate the system’s ratings.
Having considered naturally-occurring noise in Dealing with Noise,
we turn here to considerations for malicious users. An unscrupulous
manufacturer desiring to sell more of their product may attempt tocreate accounts on e-commerce sites using recommender systems andstrategically rating their product highly in order to cause it to be recommended to more users. Similarly, other groups may want to destroy
a particular product’s recommendation level or otherwise manipulate
the recommendation system’s output. Examples of this are so-called“Google Bombs”, where link proﬁles are set up to cause a particular page to rate highly for speciﬁc searches, such as “miserable failure” returning the White House page for Bush’s administration as theﬁrst result. Similar attacks have been carried out against Amazon.com,
manipulating the “products you might also like” lists — a group of
attackers succeeded in getting a book on gay sex listed as a related
item for a Pat Robertson book.
Attacks based on false proﬁles, sometimes called shilling or sybil
attacks, have received a fair amount of treatment in the literature.
O’Mahony et al. [108] have examined the robustness of user-user

5.4 Systemic Needs

147

collaborative ﬁltering to such attacks. Lam and Riedl [82] found that
proﬁle-based attacks can inﬂuence predictions and recommendation,
but that item–item CF is less vulnerable than user–user to such attacks.
Matrix factorization approaches (speciﬁcally PLSA) are also fairly
robust to attack [103]. Further, it is diﬃcult to reliably detect the presence of malicious user proﬁles using standard recommender accuracy
metrics, although classifer-based methods can detect some errant proﬁles [102]. Resnick and Sami [120] proposed a reputation-based system,
the inﬂuence limiter, which can be added to any collaborative ﬁltering system and uses reputation scores, computed by determining whichusers contribute to accurate prediction of a target user’s ratings, to limit
the inﬂuence of individual users on the target user’s recommendations.
Many currently known attacks exploit knowledge of the recommender algorithm in use, and sometimes additional information such as
the average rating for a given item. Sometimes speciﬁc weaknesses cancause a marked increase in attack success. For example, recommenders
based on Pearson correlation without similarity damping are susceptible to shilling attacks with small attack proﬁles, as two users with few
ratings in common have abnormally high Pearson correlations [108].
So far, most research on the robustness of collaborative ﬁltering
to manipulation has focused on a few speciﬁc attack methods, mostnotably the creation of false proﬁles with the goal of artiﬁcially boosting or depressing an item in recommendation lists. Little is known
about other attack methods or attacks aimed at diﬀerent goals (suchas an attack attempting to discount the credibility of the system bycausing it to generate spurious or bogus recommendations). Resnick
and Sami [121] have shown that there is an inherent tradeoﬀ between
manipulation-resistance and taking advantage of the information inuser ratings; in order to resist manipulation by an attacker capable ofcreating an unbounded number of shill proﬁles, a system must discard
all user ratings.
5.4.3

Privacy

Recommendation is not the only need users have with respect to theirrelationship with a recommender system. Among other things, they148

User Information Needs

may also desire privacy: ratings data can communicate a fair amountabout a user’s preferences and habits, and users may want to restrict
the extent to which that data can be discovered by other users in asystem (or even the system itself). Further, privacy is a signiﬁcantconsideration when releasing data sets to the public. There has been
notable success in taking anonymized data sets, such as the Netﬂix
Prize set, and de-anonymizing them (determining the identities of particular users) [41, 105].
An immediate privacy concern, at least within the e-commercedomain, is the ability for users of a system to gain information aboutother users. Ramakrishnan et al. [116] analyzed this problem, ﬁnding that users who tastes straddle seemingly-disparate regions of theitem space can be susceptible to identiﬁcation by other users of thesystem with access to aggregate sales data. They advised refraining
from using connections involving a small number of people in producing
recommendations so that the observable behavior of the recommenderis based on suﬃciently large samples that it is infeasible to identify
individual users. The requirements for this attack are fairly sophisticated, but feasible with vendors sharing data and utilizing third-party
personalization services.
Research has also considered recommendation schemes that allow
users to receive recommendations and/or predictions without any
central party knowing all users’ ratings. Canny [26, 27] proposed
factor analysis with this goal in mind, using homomorphic encryption and zero-knowledge protocols to allow users to collaboratively
compute a recommendation model without disclosing their individual
ratings. Other matrix factorization techniques such as singular value
decomposition have also been deployed to implement decentralized recommenders: the PocketLens algorithm used SVD with encryption to
perform decentralized collaborative ﬁltering on hand-held devices [101]and Polat and Du [113] proposed using SVD with randomly-perturbed
data to preserve privacy.
Hybrid methods, involving central servers that are partially trusted,
have also been considered. Notable among these is Alambic, an architecture which separates purchasing and recommendation [8]. It calls forrecommendation providers to be distinct from e-commerce providers,5.5 Summary

149

so that the e-commerce vendor does not know a user’s history and therecommendation provider does not know their current activity. There
have also been proposals to have users share and aggregate their ratings
before submitting them to the central server [138].
Kobsa [75] provide a thorough analysis of the privacy concerns inpersonalization systems in general, including legally imposed conditions. We refer you to that work for further reading on this aspect of
the user–recommender relationship.

5.5

Summary

Within results of equivalent accuracy or numerical quality, there is still
suﬃcient variation that algorithms with equivalent accuracy performance can produce recommendations that are qualititatively diﬀerent
from each other in terms of user response. This provides opportunity to
tailor a recommender system deployment to meet the particular needsof its users. This can be done by tuning the algorithm to the expected
needs [99], providing (or automatically adjusting) parameters to inﬂuence its behavior [156], or switching algorithms based on the user’s
current task [156].
As with user interface design (and, indeed, design for any systemthat interacts with humans), clearly identifying the user tasks thesystem is intended support and what users expect from the systemprovides a useful framework for the design and evaluation of a recommender system. At the end of the day, users are more concerned withhaving their needs met or otherwise getting value from a system than
numeric measures of its accuracy.

6
User Experience

In order to move from predicting preference to meeting user needs, recommender systems must interact with their users in some fashion. They
need to collect ratings, frequently requiring user interaction (although
this interaction is occasionally indirect), and they must present therecommendations or predictions back to the user.
Recommenders also have the opportunity to integrate more broadly
with user experience, particularly the social context in which recommendations are received and used. There have also been projects to
use recommenders to aﬀect user behavior in ways beyond purchasing
products or seeking entertainment.
This section surveys a variety of work that has been done on userinteraction with recommenders and on the ways in which recommendersinteract with user experience and social contexts. Better understandingof human–recommender interaction and how recommenders aﬀect andare aﬀected by the people who use them is also an important direction
for further recommender systems research.

6.1

Soliciting Ratings

As discussed in Rating Scales, a variety of methods have been tried
for soliciting ratings from users of recommender systems. GroupLens
1506.2 Presenting Recommendations

151

augmented standard newsreaders with buttons or commands for applying ratings of 1–5 stars [119]. Jester provided a continuous bar thatrecorded the position at which users clicked it as their rating (using an
HTML image map) [50]. MovieLens uses drop-down menus or images
for users to select 1–5 star (with half-star) ratings; some early recommenders interacted with users via e-mail.
The most common interface construct for allowing users to provide
ratings is a rating widget of some kind displayed with the item either
on an item info details or in its entry in a list. In general, the ratinginterface will need to integrate well with the rest of the applicationor site’s user experience, and standard human–computer interaction
design principles apply (including using interface devices familiar tousers from other systems). There is currently a good deal of inconsistency, even within a single system, with regards to how ratings arecollected; Karvonen et al. [70] provide a heuristic evaluation of several
popular web sites with rating or reputation interfaces and demonstrates
a number of consistency issues. Live deployments are not all bad, however; Netﬂix star ratings and Pandora’s thumbs up/down are good
examples of current best practices in rating interfaces.
Users prefer more granularity in their ratings interfaces — on a
5-star scale, they like to be able to give half-star ratings — so it is
beneﬁcial for the user experience to allow a relatively ﬁne-grained ratingprocess, but the increased granularity of ratings will not necessarilytranslate into more accurate recommendations [34].

6.2

Presenting Recommendations

Once the system has collected user ratings and computed recommendations, it must communicate those recommendations to the user sothat they can evaluate and potentially act on the recommended items.
Communicating predictions is fairly straightforward — in an item listing or details view, the predicted preference can be shown as a featureof the item. MovieLens does this, replacing the predicted preferencewith the user’s actual rating when it is an item they have rated.
Methods of presenting recommendations have changed as communications technology evolved. In the early 1990s, when the Web was152

User Experience

young and had not yet achieved widespread usage, recommenders suchas BellCore’s video recommender interacted with the user via e-mail:users e-mailed ratings of movies to videos@bellcore.com and received
recommendations in an e-mail reply [62]. The majority of recommendersystems are currently built into web sites. TV set-top boxes are also
used as a delivery mechanism for recommendations [4], soliciting ratings via the remote control and presenting the user with a list of recommended shows with their air dates. Increasing usage of sophisticated cell
phones have made mobile recommendations increasingly a reality [100].
Delivering recommendations via devices other than traditional PCs has
the potential to bring recommendation much closer to the actual context of use for a wider variety of items — TV shows or movies can be
immediately watched, and users can receive product recommendations
while in the store or at the theater.
There is more diversity in approaches to showing recommendations.
Some systems, such as MovieLens, merely have a view where items
are displayed in a search results fashion ordered by predicted preference. Others display various forms of recommendations in-line withthe browsing experience: many pages on Amazon.com, such as product information pages and shopping baskets, show recommendations
based on the user’s past history or the actions taken by other users
with respect to the currently displayed item.
In environments where the cost of consumption is low and recommendation process is ongoing, the system can simply provide the user
with the recommended item. This is done by Jester, where the system shows the user jokes and asks for ratings until the user decides
to leave [50]. Music recommenders such as Pandora also frequently dothis — Pandora starts playing the next song, and users can skip or
thumb-down the song if they don’t like it.
One speciﬁc aspect of communicating recommendations to users isthat of explaining why particular items were recommended. Recommender systems are frequently “black boxes”, presenting recommendations to the user without any explanation of why the user might likethe recommended item. Explanations seem to be useful, however, forhelping the user be conﬁdent in the provided recommendations and to
make better decisions based on them [60].

6.3 Recommending in Conversation

153

Explanation methods can stem from a variety of goals.
Tintarev [144] identiﬁes seven potential goals for explanations of recommendations: transparency of the recommender algorithm, scrutabilityof the results, trustworthiness of the recommendations, eﬀectiveness forsupporting decisions, persuasiveness, eﬃciency of decision-making, andsatisfaction with the recommendation process.
User modelling work by Cook and Kay [32] demonstrated a means forshowing users the system’s model of them and showed that many users
were interested in this information. The earliest systematic evaluation ofrecommender explanations was by Herlocker et al. [60]. While it did notshow a change in users’ enjoyment of recommended items based on explanations, that study did document a signiﬁcant user interest in explanations of the recommendations they received. Bilgic and Mooney [17] argue
that for many domains, user satisfaction with the item is more important
than whether they act on the recommendation: satisfaction and eﬀectiveness are more critical to evaluate than persuasiveness. A later focus groupstudy suggested that explanations can help with user satisfaction by helping them better know what to expect [145].
For other stakeholders the balance of explanatory goals can be different. An e-commerce site typically uses recommendations to increase
sales volume, increasing the importance of persuasion as a goal. This
has limits, however — if the system has a reputation for recommending
bad items it can lose trust with users and suﬀer in the long run.
Some work has been done on assessing the impact of the recommender interface on user reception of recommendations [54, 60].
Ultimately, however, this will likely have a good number of domainand system-speciﬁc attributes. Further, it is an example of one of the
aspects of recommender evaluation that cannot be done oﬀ-line: to measure user response to recommendation, it is necessary to test a systemwith actual users.

6.3

Recommending in Conversation

Many recommender systems simply provide the user with a set ofrecommendations or predictions, and the only feedback mechanism
provided to the user for reﬁning future recommendations is the ability

154

User Experience

to rate (or purchase) more items. Conversational recommenders seek
to expand that, soliciting the user’s input to more accurately meettheir needs through an ongoing cycle of recommendation and feedback(a conversation). In some ways, the resulting user experience is similar
to that of Grundy [123], in which the user could reject the suggested
book and receive a new suggestion. Conversational recommendation
has predominantly been explored in the context of case-based reasoning
systems [3, 46, 94] where recommendation is of a more content-based
than collaborative nature.
McGinty and Smyth [94] divide the kinds of feedback which aresolicited by various recommenders into four types: value elicitation,
where the user provides a speciﬁc value for some feature as a hard constraint (e.g., “built by Sony”); ratings, where the user provides ratings
for items; critique, where the user provides a speciﬁc correction to thesystem’s recommendation (e.g., “like this, but with more megapixels”);
and preference, where the user selects the most desirable of the recommended items and the system replies with more items similar to theselected item.1

6.4

Recommending in Social Context

So far, the recommendation systems considered have all treated the user
as a single, independent entity who will consume the recommendation
without interaction with others. There has been work, however, on
making recommender systems aware of social contexts and connections
between users.
6.4.1

Group Recommenders

Group recommenders have the goal of recommending items to be experienced by a group of people, aiming to ﬁnd an item (such as a movie
or travel destination) which all members will enjoy [92]. PolyLens provided movie recommendations to groups by using MoveLens’s user–usercollaborative ﬁlter to generate predictions for each user, producing the
1 Under this taxonomy, traditional ratings-based recommender systems become a special

case of conversational recommenders without an explicitly articulated recommend-reﬁnecycle.

6.4 Recommending in Social Context

155

group’s recommendations by merging the individual predictions using
the “principle of least misery”: the predicted preference for a movie
was the lowest preference predicted for any group member [107]. Users
enjoyed having the group recommendations, although there are privacy
tradeoﬀs as some information about users’ preferences can be inferredby their fellow group members.
Jameson [66] describes a number of challenges in building group recommenders. First is preference collection: while PolyLens simply used
the ratings each user had previously provided, in some domains it canbe desirable to allow users to see each other’s stated preferences and/orinteract with each other around the preference-stating process. Second,
the preferences need to be aggregated and the recommendations produced. With user–user CF algorithms, this can be done either by blending
individual recommendation lists for each user or by creating a composite pseudo-user for the group and generating recommendations for thatuser [107]. In either of these cases, it is necessary to have some aggregation function for combining preferences. O’Connor considered several
methods for PolyLens, including minimum preference, maximum preference, and average preference; Jameson points out that it is important
for this preference function to be non-manipulable so that no user canmanipulate the group’s recommendations by falsely stating their preferences. For his Travel Decision Forum system, he selected median as theaggregation function. This requirement is important, as manipulability
has been a problem for deployed group recommenders. The initial trial of
the MusicFX system for selecting ﬁtness center background music allowed
an individual to force a music change by giving the current music the minimum rating [92].
After the system has produced a set of recommendations for thegroup, it needs to provide the group with those recommendations and,in some cases, support the group as they ﬁnalize their decision. Jameson
spends some time on the nuances of facilitating group decision aroundthe resulting recommendation lists.
6.4.2

Incorporating Trust in Recommenders

Even when recommendations are intended for individual users, users
may have relationships with other users that can be used as an

156

User Experience

additional source of information in the recommendation process. Thisis particularly the case with the rise of social networking, with extensive
data available about peoples’ connections to each other.
Various authors have proposed methods for integrating information about user’s connections into recommender systems in the form of“trust-based recommenders”. Massa and Avesani proposed a method
for using users’ statements of their trust in other users’ opinions toweight user ratings by estimated trust rather than similarity in user–
user CF when producing predictions and recommendations and built aski mountaineering site around it [12, 91]. Golbeck [47] used a similar
integration method, based on a diﬀerent trust estimation algorithm, formovie recommendation.
Trust is a complicated concept, and representing and estimating it
computationally is diﬃcult. While many systems have a good deal of
information about peoples’ connections, how those connections correspond to trust in recommendation is not obvious. Even annotating the network with trust ratings is problematic, with conﬁdence
and notions such as active distrust making a useful single “estimatedtrust” value an elusive goal. There is continued work, however, onvarious methods for estimating and propagating trust through social
networks [12, 47, 48, 114, 155]. Ziegler and Golbeck [154] found thattrust and conventional rating similarities are correlated. Guy et al. also
found that users tended to ﬁnd recommendations of web sites, discussion forums, and other social software artifacts more interesting when
they were recommended from the user’s social connections rather thanusers with similar preference histories [54].

6.4.3

Recommending Social Connections

Some recommender projects have gone beyond recognizing that recommendations are used in social contexts by using recommenders to alteror enhance the structure of that social context — recommending social
connections or friends.
Kautz et al. [72] did early work in this direction, building theReferral Web system that allowed users to query their social network;6.5 Shaping User Experience with Recommendations

157

McDonald [93] extended these ideas by building a recommender forindividuals with particular expertise from the user’s social network ororganization. These systems enabled users to ﬁnd people in their social
network or organization that could provide them with particular expertise or otherwise meet a need they had.
Terveen and McDonald [143] provide a survey and overview of social
connection recommendation, covering information-need-based recommendation such as that of Kautz et al. and McDonald as well as otherapplications of social connection recommendation. Recent work has
focused on recommending connections in the contexts of online social
networks [28].

6.5

Shaping User Experience with Recommendations

The interaction between recommender systems and user experience
goes beyond providing a useful user experience around recommendations. Recommendations can also be used to alter user experience andbehavior. Cosley et al. [34] found that predictions inﬂuence user rating behavior, but there is interest in using recommender systems toinﬂuence user behavior in broader contexts.
SuggestBot, an implementation of intelligent task routing, uses recommender algorithms to suggest pages that Wikipedia editors may
want to edit [33]. Intelligent task routing aims to help people do workon community-maintained projects by guiding them to work that needs
to be done and which matches with their interests as inferred from priorwork history.
In online social networking tools, recommenders have beensuccessfully deployed to improve user experience and engagement. Recommending connections to existing users of IBM’s internal social networking site SocialBlue (formerly known as BeeHive) resulted in users
expanding their connections. Users’ social network information was
more useful for ﬁnding people they already knew on the system, but recommender algorithms based on similarity in user proﬁle contents weremore eﬀective at helping users discover new friends [28]. Recommending158

User Experiencesocial connections and proﬁle content to new users resulted in the users
being more active on the site [42].
Recommenders therefore have the potential not just to meet information needs, but to shape and guide user behavior both on-line andin the real world.

7
Conclusion and Resources

Recommender systems have become ubiquitous. People use them toﬁnd books, music, news, smart phones, vacation trips, and romantic
partners. Nearly every product, service, or type of information has recommenders to help people select from among the myriad alternatives
the few they would most appreciate. Sustaining these commercial applications is a vibrant research community, with creative interaction ideas,
powerful new algorithms, and careful experiments. Still, there are many
challenges for the ﬁeld, especially at the interaction between researchand commercial practice. We have framed these challenges here in a
ﬁve part taxonomy.
Algorithms: Recommender systems researchers have developed asuite of highly eﬀective algorithms for the basic problem ofrecommending a set of substitutable goods from a large population of similar goods to individual users. There are however
many remaining algorithmic challenges, most involving richer
sets of data about the users, the items, the interactions between
the users and the items, or the relationships among groups ofusers or groups of items. For instance, how can such sources
159

160

Conclusion and Resources

as Amazon reviews and Twitter posts about items be incorporated into recommendations. We expect to see a wide variety
of approaches, but are particularly optimistic about algorithms
that generalize to process multiple parallel matrices of user anditem data simultaneously.
Data: The data used by recommender systems are sometimes biased in
unexpected ways that can have a dramatic eﬀect on outcomes.
For instance, in designing algorithms for selecting items for newusers to rate in MovieLens we found that the original MovieLens algorithm, which was performing poorly in practice, nearly
always scored higher in oﬄine tests than the newer algorithms
we were designing. The reason is that since new users had beenusing the original algorithm for years, the dataset we were using
for oﬄine testing was much more likely to have a rating for items
chosen by that algorithm than by any new algorithm. Similarly,
nearly all rating data sets are strongly biased toward high ratings, because users are careful to only choose to consume items
they suspect they will like. This class of problems is challenging to solve in general, but there are some elegant approaches
emerging for speciﬁc instances. For instance, researchers haveshown that datasets can be eﬀectively statistically unbiased forsome popularity biases [88].
User experience: The goal of recommender systems is to improveuser experience. In both research and practice, crafting the user
experience to ﬁt the application and the user lifecycle remains
a substantial challenge. One challenge is to adapt the natureof recommendations as the user gains more experience withthe recommender — a new user may need more veriﬁable
recommendations and may lack the trust needed for highrisk recommendations. A similar challenge is how to balanceserving the individual now (with the best available recommendation) vs. serving the individual and community long-term(with recommendations that help the recommender system
learn). These challenges vary with diﬀerent domains, and particularly with diﬀerent usage patterns. Part of the researchchallenge is to design interfaces that give users control over161
the recommendation process without overwhelming the user orrendering the tool too complicated for novice users.
Evaluation and metrics: Evaluation of recommender systems has
advanced signiﬁcantly over the past decade, but many challenges remain. Even with a better understanding of the relationships among diﬀerent algorithm performance metrics, theﬁeld struggles to standardize evaluation. As a result, too often
research results are incomparable with prior published results,
even when based on the same data sets. Examples of this problem include the lack of standard treatment of items for which
the recommender is unable to make a prediction. The broader
goal of user-centered holistic evaluation, including A/B testingof the short- and long-term eﬀects of recommendation diﬀerences, is still met by only a few research groups and companies
that have the live systems and resources for such evaluation.
Deploying innovative recommenders is still too hard, and there
is a substantial need for research platforms where innovations
can be tested without ﬁrst building up a community of thousands of users.
Social impact: Because collaborative ﬁltering recommender systems
must by their nature collect substantial personalized data about
their users, they face important privacy and security challenges.
Researchers have been approaching these challenges head-on
by attempting to develop ways to collect and store data insuch a way that extracting personalized data is provably difﬁcult. Recommender systems also have some unique community challenges. One such challenge is about the relationshipbetween the recommender system and its community of users.
How do the users know that the recommender system is providing honest recommendations? Furthermore, the existence ofthe recommender may inﬂuence the structure of the community over time. If users are choosing items to read based on
personalized recommendations, over time they may cluster into
groups of like-minded individuals, balkanizing the community
into groups who seldom interact with people with whom they do
not agree. We hope in the future to see recommender systems

162

Conclusion and Resourcesthat explicitly react to combat this type of damage to the community structure, ensuring that not only individuals, but also
the surrounding community beneﬁt from the existence of therecommender.

7.1

Resources

Given the broad application of recommenders and the substantial setof open problems, the ﬁeld of recommender systems research promises
to remain active for years to come. We conclude this survey with abrief review of resources we feel would be useful for both academic andindustrial explorations of recommender systems.
Publication venues: Recommender systems research continues toprogress rapidly, with many papers appearing each year invenues including: ACM Recommender Systems (RecSys) User
Modeling, Adaptation and Personalization (UMAP) ACM
Conference on Human Factors in Computing Systems (CHI)ACM Conference on Computer-Supported Cooperative Work(CSCW) ACM Conference on Information Retrieval (SIGIR)ACM Conference on Knowledge Discovery and Data Mining(KDD) ACM Transactions on Information Systems User Modeling and User-Adapted Interaction and many other workshops,
conferences, and journals.
Software implementations: There are a variety of collaborative ﬁltering implementations available and ready for use in projects,
many under open source licenses, including the following:• LensKit by GroupLens Resesarch, Java.
http://lenskit.grouplens.org• MyMediaLite by MyMedia at University of Hildesheim,
C#/.NET.
http://www.ismll.uni-hildesheim.de/
mymedialite/• easyrec, Java with RESTful HTTP API. http://
easyrec.org

7.1 Resources163• Mahout Taste by the Apache project, Java.
http://mahout.apache.org/• Coﬁ by Daniel Lemire et al., Java. http://www.
nongnu.org/cofi/• SUGGEST by George Karypis, binary-only, C API.
http://glaros.dtc.umn.edu/gkhome/suggest/
download
Data sets: For evaluating and tuning recommender performance,
commonly-used, readily-available data sets include thefollowing:• MovieLens: movie ratings (100 K, 1 M, and 10 M ratings
sets, the latter includes 100 K tag applications). With
the availability of larger data sets, we do not recommend using the 100 K for other than development andpreliminary testing; larger data sets will provide morerobust validation of algorithms.
http://www.grouplens.org/node/73• Jester: ratings of jokes.
http://eigentaste.berkeley.edu/dataset/• BookCrossing: book ratings with user demographic
information.
http://www.informatik.uni-freiburg.de/˜cziegler/BX/• WebScope — Yahoo! provides a number of web user
behavior data sets from various Yahoo! services throughtheir WebScope program.
http://webscope.sandbox.yahoo.com• RecLab — RichRelevance provides a recommendation
evaluation framework and simulated data set for evaluating recommender performance for e-commerce.
http://code.richrelevance.com/reclab.
Work on this survey was funded by the National Science Foundation under grant IIS
05-34939.

References[1] G. Adomavicius and A. Tuzhilin, “Toward the next generation of recommendersystems: A survey of the state-of-the-art and possible extensions,” IEEE
Transactions on Knowledge and Data Engineering, vol. 17, no. 6, pp. 734–749,
2005.
[2] E. Agichtein, E. Brill, S. Dumais, and R. Ragno, “Learning user interaction
models for predicting web search result preferences,” in ACM SIGIR ’06,
pp. 3–10, ACM, 2006.
[3] D. Aha and L. Breslow, “Reﬁning conversational case libraries,” in Case-Based
Reasoning Research and Development, vol. 1266 of Lecture Notes in Computer
Science, pp. 267–278, Springer, 1997.
[4] K. Ali and W. van Stam, “TiVo: Making show recommendations using a distributed collaborative ﬁltering architecture,” in ACM KDD ’04, pp. 394–401,
ACM, 2004.
[5] X. Amatriain, J. Pujol, and N. Oliver, “I like it. . . I like it not: Evaluating user
ratings noise in recommender systems,” in UMAP 2009, vol. 5535 of Lecture
Notes in Computer Science, pp. 247–258, Springer, 2009.
[6] X. Amatriain, J. M. Pujol, N. Tintarev, and N. Oliver, “Rate it again:
Increasing recommendation accuracy by user re-rating,” in ACM RecSys ’09,
pp. 173–180, ACM, 2009.
[7] Amazon.com, “Q4 2009 Financial Results,” Earnings Report Q4-2009,
January 2010.
[8] E. Am̈eur, G. Brassard, J. Fernandez, and F. M. Onana, “Alambic: A
privacy-preserving recommender system for electronic commerce,” International Journal of Information Security, vol. 7, no. 5, pp. 307–334, October
2008.
164

References

165[9] T. Amoo and H. H. Friedman, “Do numeric values inﬂuence subjects’
responses to rating scales?,” Journal of International Marketing and Marketing Research, vol. 26, pp. 41–46, February 2001.
[10] A. Ansari, S. Essegaier, and R. Kohli, “Internet recommendation systems,”
Journal of Marketing Research, vol. 37, no. 3, pp. 363–375, August 2000.
[11] C. Avery and R. Zeckhauser, “Recommender systems for evaluating computer
messages,” Communications of the ACM, vol. 40, no. 3, pp. 88–89, ACM ID:
245127, March 1997.
[12] P. Avesani, P. Massa, and R. Tiella, “A trust-enhanced recommender systemapplication: Moleskiing,” in ACM SAC ’05, pp. 1589–1593, ACM, 2005.
[13] M. Balabanović and Y. Shoham, “Fab: Content-based, collaborative recommendation,” Communications of the ACM, vol. 40, no. 3, pp. 66–72, 1997.
[14] R. M. Bell and Y. Koren, “Scalable collaborative ﬁltering with jointly derived
neighborhood interpolation weights,” in IEEE ICDM 2007, pp. 43–52, 2007.
[15] J. Bennett and S. Lanning, “The netﬂix prize,” in KDD Cup and Workshop’07, 2007.
[16] M. W. Berry, S. T. Dumais, and G. W. O’Brien, “Using linear algebra for
intelligent information retrieval,” SIAM Review, vol. 37, no. 4, pp. 573–595,
December 1995.
[17] M. Bilgic and R. J. Mooney, “Explaining recommendations: Satisfaction vs.
promotion,” in Beyond Personalization 2005: A Workshop on the Next Stageof Recommender Systems Research, pp. 13–18, 2005.
[18] D. Billsus and M. J. Pazzani, “Learning collaborative information ﬁlters,” in
AAAI 2008 Workshop on Recommender Systems, 1998.
[19] D. Billsus and M. J. Pazzani, “A personal news agent that talks, learns andexplains,” in AGENTS ’99, pp. 268–275, ACM, 1999.
[20] D. M. Blei, A. Y. Ng, and M. I. Jordan, “Latent dirichlet allocation,” Journalof Machine Learning Research, vol. 3, pp. 993–1022, March 2003.
[21] M. Brand, “Fast online svd revisions for lightweight recommender systems,”
in SIAM International Conference on Data Mining, pp. 37–46, SIAM, 2003.
[22] J. S. Breese, D. Heckerman, and C. Kadie, “Empirical analysis of predictive
algorithms for collaborative ﬁltering,” in UAI 1998, pp. 43–52, AAAI, 1998.
[23] P. Brusilovsky, “Methods and techniques of adaptive hypermedia,” User Modeling and User-Adapted Interaction, vol. 6, no. 2, pp. 87–129, July 1996.
[24] R. Burke, “Hybrid recommender systems: Survey and experiments,” User
Modeling and User-Adapted Interaction, vol. 12, no. 4, pp. 331–370, November
2002.
[25] R. Burke, “Evaluating the dynamic properties of recommendation
algorithms,” in ACM RecSys ’10, pp. 225–228, ACM, 2010.
[26] J. Canny, “Collaborative ﬁltering with privacy,” in IEEE Symposium on Security and Privacy 2002, pp. 45–57, IEEE Computer Society, 2002.
[27] J. Canny, “Collaborative ﬁltering with privacy via factor analysis,” in ACM
SIGIR ’02, pp. 238–245, ACM, 2002.
[28] J. Chen, W. Geyer, C. Dugan, M. Muller, and I. Guy, “Make new friends, but
keep the old: Recommending people on social networking sites,” in ACM CHI’09, pp. 201–210, ACM, 2009.

166

References[29] L. Chen and P. Pu, “Evaluating critiquing-based recommender agents,” in
AAAI 2006, vol. 21, pp. 157–162, AAAI, 2006.
[30] Y. H. Chien and E. I. George, “A bayesian model for collaborative ﬁltering,”
in 7th International Workshop on Artiﬁcial Intelligence and Statistics, 1999.
[31] B. H. Clark, “Marketing performance measures: History and interrelationships,” Journal of Marketing Management, vol. 15, no. 8, pp. 711–732,
November 1999.
[32] R. Cook and J. Kay, “The justiﬁed user model: A viewable, explained usermodel,” in User Modelling 1994, 1994.
[33] D. Cosley, D. Frankowski, L. Terveen, and J. Riedl, “SuggestBot: using intelligent task routing to help people ﬁnd work in wikipedia,” in ACM IUI ’07,
pp. 32–41, ACM, 2007.
[34] D. Cosley, S. K. Lam, I. Albert, J. A. Konstan, and J. Riedl, “Is seeing believing?: How recommender system interfaces aﬀect users’ opinions,” in ACM
CHI ’03, pp. 585–592, ACM, 2003.
[35] B. Dahlen, J. Konstan, J. Herlocker, N. Good, A. Borchers, and J. Riedl,“Jump-starting MovieLens: User beneﬁts of starting a collaborative ﬁlteringsystem with ‘dead data,” Technical Report 98-017, University of Minnesota,
Minneapolis, MN, March, 1998.
[36] S. Deerwester, S. T. Dumais, G. W. Furnas, T. K. Landauer, and R. Harshman, “Indexing by latent semantic analysis,” Journal of the American Society
for Information Science, vol. 41, no. 6, pp. 391–407, 1990.
[37] A. P. Dempster, N. M. Laird, and D. B. Rubin, “Maximum likelihood fromincomplete data via the EM algorithm,” Journal of the Royal StatisticalSociety. Series B (Methodological), vol. 39, no. 1, pp. 1–38, ArticleType:c 1977 Royal Statisresearch-article/Full publication date: 1977/Copyright tical Society, Janaury 1977.
[38] M. Deshpande and G. Karypis, “Item-based top-N recommendation algorithms,” ACM Transactions on Information Systems, vol. 22, no. 1,
pp. 143–177, 2004.
[39] M. D. Ekstrand, P. Kannan, J. A. Stemper, J. T. Butler, J. A. Konstan,and J. T. Riedl, “Automatically building research reading lists,” in ACM
RecSys ’10, pp. 159–166, ACM, 2010.
[40] B. Fields, C. Rhodes, and M. d’Inverno, “Using song social tags and topic
models to describe and compare playlists,” in Workshop on Music Recommendation and Discovery 2010, 633, CEUR, September 2010.
[41] D. Frankowski, D. Cosley, S. Sen, L. Terveen, and J. Riedl, “You are what
you say: Privacy risks of public mentions,” in ACM SIGIR ’06, pp. 565–572,
ACM, 2006.
[42] J. Freyne, M. Jacovi, I. Guy, and W. Geyer, “Increasing engagement throughearly recommender intervention,” in ACM RecSys ’09, pp. 85–92, ACM, 2009.
[43] H. H. Friedman and T. Amoo, “Rating the rating scales,” Journal of Marketing
Management, vol. 9, no. 3, pp. 114–123, 1999.
[44] S. Funk, “Netﬂix update: Try this at home,” http://sifter.org/˜simon/journal/20061211.html, Archived by WebCite at http://www. webcitation.org/5pVQphxrD, December 2006.

References167[45] R. Garland, “The mid-point on a rating scale: Is it desirable?,” Marketing
Bulletin, vol. 2, pp. 66–70, May 1991.
[46] M. Göker and C. Thompson, “Personalized conversational case-based recommendation,” in Advances in Case-Based Reasoning, vol. 1898 of Leceture Notes
in Computer Science, pp. 29–82, Springer, 2000.
[47] J. Golbeck, “Generating predictive movie recommendations from trust insocial networks,” in International Conference on Trust Management, vol. 3986
of Lecture Notes in Computer Science, pp. 93–104, Springer, 2006.
[48] J. Golbeck, “Trust on the World Wide Web: A survey,” Foundations andTrends in Web Science, vol. 1, no. 2, pp. 131–197, 2006.
[49] D. Goldberg, D. Nichols, B. M. Oki, and D. Terry, “Using collaborative ﬁltering to weave an information tapestry,” Communications of the ACM, vol. 35,
no. 12, pp. 61–70, 1992.
[50] K. Goldberg, T. Roeder, D. Gupta, and C. Perkins, “Eigentaste: A constanttime collaborative ﬁltering algorithm,” Information Retrieval, vol. 4, no. 2,
pp. 133–151, July 2001.
[51] G. Gorrell, “Generalized Hebbian algorithm for incremental singular value
decomposition in natural language processing,” in EACL 2006, pp. 97–104,
ACL, 2006.
[52] M. Grigoriev, “Intelligent multimedia management system,” 2003.
[53] A. Gunawardana and G. Shani, “A survey of accuracy evaluation metricsof recommendation tasks,” Journal of Machine Learning Research, vol. 10,
pp. 2935–2962, 2009.
[54] I. Guy, N. Zwerdling, D. Carmel, I. Ronen, E. Uziel, S. Yogev, and S. OfekKoifman, “Personalized recommendation of social software items based onsocial relations,” in ACM RecSys ’09, pp. 53–60, ACM, 2009.
[55] D. L. Hansen and J. Golbeck, “Mixing it up: Recommending collections of
items,” in ACM CHI ’09, pp. 1217–1226, ACM, 2009.
[56] F. M. Harper, X. Li, Y. Chen, and J. A. Konstan, “An economic modelof user rating in an online recommender system,” in User Modeling 2005,
vol. 3538 of Lecture Notes in Computer Science, pp. 307–316, Springer, August
2005.
[57] D. A. Harrison and K. J. Klein, “What’s the diﬀerence? Diversity constructs
as separation, variety, or disparity in organizations,” Academy of Management
Review, vol. 32, no. 4, pp. 1199–1228, Oct 2007.
[58] J. Herlocker, J. A. Konstan, and J. Riedl, “An empirical analysis of design
choices in neighborhood-based collaborative ﬁltering algorithms,” Information
Retrieval, vol. 5, no. 4, pp. 287–310, 2002.
[59] J. L. Herlocker, J. A. Konstan, A. Borchers, and J. Riedl, “An algorithmic framework for performing collaborative ﬁltering,” in ACM SIGIR ’99,
pp. 230–237, ACM, 1999.
[60] J. L. Herlocker, J. A. Konstan, and J. Riedl, “Explaining collaborative ﬁltering
recommendations,” in ACM CSCW ’00, pp. 241–250, ACM, 2000.
[61] J. L. Herlocker, J. A. Konstan, L. G. Terveen, and J. T. Riedl, “Evaluating
collaborative ﬁltering recommender systems,” ACM Transactions on Information Systems, vol. 22, no. 1, pp. 5–53, 2004.

168

References[62] W. Hill, L. Stead, M. Rosenstein, and G. Furnas, “Recommending and evaluating choices in a virtual community of use,” in ACM CHI ’95, pp. 194–201,
ACM Press/Addison-Wesley Publishing Co., 1995.
[63] W. Hill and L. Terveen, “Using frequency-of-mention in public conversations
for social ﬁltering,” in ACM CSCW ’96, pp. 106–112, ACM, 1996.
[64] T. Hofmann, “Probabilistic latent semantic indexing,” in ACM SIGIR ’99,
pp. 50–57, ACM, 1999.
[65] T. Hofmann, “Latent semantic models for collaborative ﬁltering,” ACM Transactions on Information Systems, vol. 22, no. 1, pp. 89–115, 2004.
[66] A. Jameson, “More than the sum of its members: Challenges for group recommender systems,” in Working Conference on Advanced Visual Interfaces,
pp. 48–54, ACM, 2004.
[67] X. Jin, Y. Zhou, and B. Mobasher, “Web usage mining based on probabilistic
latent semantic analysis,” in ACM KDD ’04, pp. 197–205, ACM, 2004.
[68] D. Kahneman, P. P. Wakker, and R. Sarin, “Back to bentham? Explorationsof experienced utility,” The Quarterly Journal of Economics, vol. 112, no. 2,
pp. 375–405, ArticleType: research-article/Issue Title: In Memory of Amosc 1997 The
Tversky (1937–1996)/Full publication date: May, 1997/Copyright
MIT Press, May 1997.
[69] J. Karlgren, “Newsgroup clustering based on user behavior — a recommendation algebra,” Technical Report, European Research Consortium for Informatics and Mathematics at SICS, 1994.
[70] K. Karvonen, S. Shibasaki, S. Nunes, P. Kaur, and O. Immonen, “Visual
nudges for enhancing the use and produce of reputation information,” inWorkshop on User-Centric Evaluation of Recommender Systems and Their
Interfaces, September 2010.
[71] G. Karypis, “Evaluation of item-based top-N recommendation algorithms,” in
ACM CIKM ’01, pp. 247–254, ACM, 2001.
[72] H. Kautz, B. Selman, and M. Shah, “Referral Web: Combining social networks and collaborative ﬁltering,” Communications of the ACM, vol. 40, no. 3,
pp. 63–65, 1997.
[73] B. Kitts, D. Freed, and M. Vrieze, “Cross-sell: A fast promotion-tunable
customer-item recommendation method based on conditionally independent
probabilities,” in ACM KDD ’00, pp. 437–446, ACM, 2000.
[74] B. P. Knijnenburg, L. Schmidt-Thieme, and D. G. Bollen, “Workshop on
user-centric evaluation of recommender systems and their interfaces,” in ACM
RecSys ’10, p. 383, ACM, 2010.
[75] A. Kobsa, “Privacy-enhanced web personalization,” in The Adaptive Web,
pp. 628–670, Springer, 2007.
[76] R. Kohavi, R. M. Henne, and D. Sommerﬁeld, “Practical guide to controlled
experiments on the web: Listen to your customers not to the HiPPO,” in ACM
KDD ’07, pp. 959–967, ACM, ACM ID: 1281295, 2007.
[77] R. Kohavi, R. Longbotham, D. Sommerﬁeld, and R. M. Henne, “Controlled
experiments on the web: Survey and practical guide,” Data Mining andKnowledge Discovery, vol. 18, no. 1, pp. 140–181, 2008.

References

169[78] J. A. Konstan, B. N. Miller, D. Maltz, J. L. Herlocker, L. R. Gordon, andJ. Riedl, “GroupLens: applying collaborative ﬁltering to Usenet news,” Communications of the ACM, vol. 40, no. 3, pp. 77–87, 1997.
[79] Y. Koren, “Factorization meets the neighborhood: A multifaceted collaborative ﬁltering model,” in ACM KDD ’08, pp. 426–434, ACM, 2008.
[80] Y. Koren, “Collaborative ﬁltering with temporal dynamics,” Communicationsof the ACM, vol. 53, no. 4, pp. 89–97, 2010.
[81] M. Kurucz, A. A. Benczúr, and K. Csalogány, “Methods for large scale SVD
with missing values,” in KDD Cup and Workshop 2007, August 2007.
[82] S. K. Lam and J. Riedl, “Shilling recommender systems for fun and proﬁt,”
in ACM WWW ’04, pp. 393–402, ACM, 2004.
[83] T. Landgrebe, P. Paclik, R. Duin, and A. Bradley, “Precision-recall operating
characteristic (P-ROC) curves in imprecise environments,” in ICPR 2006,
pp. 123–127, IEEE Computer Society, 2006.
[84] N. Lathia, “Evaluating Collaborative Filtering Over Time,” PhD thesis, University College London, London, UK, June, 2010.
[85] N. Lathia, S. Hailes, and L. Capra, “Evaluating collaborative ﬁltering overtime,” in SIGIR 09 Workshop on the Future of IR Evaluation, July 2009.
[86] N. Lathia, S. Hailes, and L. Capra, “Temporal collaborative ﬁltering withadaptive neighbourhoods,” in ACM SIGIR ’09, pp. 796–797, ACM, 2009.
[87] G. Linden, B. Smith, and J. York, “Amazon.com recommendations: Itemto-item collaborative ﬁltering,” IEEE Internet Computing, vol. 7, no. 1,
pp. 76–80, 2003.
[88] B. M. Marlin and R. S. Zemel, “Collaborative prediction and ranking with
non-random missing data,” in ACM RecSys ’09, pp. 5–12, ACM, 2009.
[89] B. M. Marlin, R. S. Zemel, S. Roweis, and M. Slaney, “Collaborative ﬁltering and the missing at random assumption,” in UAI ’07, pp. 50–54, AUAI,
2007.
[90] F. J. Martin, “RecSys ’09 industrial keynote: Top 10 lessons learned developing
deploying and operating real-world recommender systems,” in ACM RecSys’09, pp. 1–2, ACM, 2009.
[91] P. Massa and P. Avesani, “Trust-Aware collaborative ﬁltering for recommender systems,” in On the Move to Meaningful Internet Systems 2004:
CoopIS, DOA, and ODBASE, vol. 3290 of Lecture Notes in Computer Science, pp. 275–301, Springer, 2004.
[92] J. F. McCarthy and T. D. Anagnost, “MusicFX: an arbiter of group preferences for computer supported collaborative workouts,” in ACM CSCW ’98,
pp. 363–372, ACM, 1998.
[93] D. W. McDonald, “Evaluating expertise recommendations,” in ACM GROUP’01, pp. 214–223, ACM, ACM ID: 500319, 2001.
[94] L. McGinty and B. Smyth, “Adaptive selection: An analysis of critiquing andpreference-based feedback in conversational recommender systems,” International Journal of Electronic Commerce, vol. 11, no. 2, pp. 35–57, 2006.
[95] M. R. McLaughlin and J. L. Herlocker, “A collaborative ﬁltering algorithm
and evaluation metric that accurately model the user experience,” in ACM
SIGIR ’04, pp. 329–336, Sheﬃeld, United Kingdom: ACM, 2004.

170

References[96] S. McNee, S. Lam, J. Konstan, and J. Riedl, “Interfaces for eliciting newuser preferences in recommender systems,” in User Modeling 2003, vol. 2702,
pp. 178–187, Springer, 2003.
[97] S. M. McNee, I. Albert, D. Cosley, P. Gopalkrishnan, S. K. Lam, A. M. Rashid,
J. A. Konstan, and J. Riedl, “On the recommending of citations for research
papers,” in ACM CSCW ’02, pp. 116–125, ACM, 2002.
[98] S. M. McNee, J. Riedl, and J. A. Konstan, “Being accurate is not enough:How accuracy metrics have hurt recommender systems,” in ACM CHI ’06
Extended Abstracts, pp. 1097–1101, ACM, 2006.
[99] S. M. McNee, J. Riedl, and J. A. Konstan, “Making recommendations better:
An analytic model for human-recommender interaction,” in ACM CHI ’06
Extended Abstracts, pp. 1103–1108, ACM, 2006.
[100] B. N. Miller, I. Albert, S. K. Lam, J. A. Konstan, and J. Riedl, “MovieLens unplugged: Experiences with an occasionally connected recommendersystem,” in ACM IUI ’03, pp. 263–266, ACM, 2003.
[101] B. N. Miller, J. A. Konstan, and J. Riedl, “PocketLens: Toward a personal
recommender system,” ACM Transactions on Information Systems, vol. 22,
no. 3, pp. 437–476, 2004.
[102] B. Mobasher, R. Burke, R. Bhaumik, and C. Williams, “Toward trustworthy recommender systems: An analysis of attack models and algorithm
robustness,” ACM Transactions on Internet Technology, vol. 7, no. 4, p. 23,
2007.
[103] B. Mobasher, R. Burke, and J. Sandvig, “Model-based collaborative ﬁltering
as a defense against proﬁle injection attacks,” in AAAI 2006, pp. 1388–1393,
AAAI, 2006.
[104] M. Morita and Y. Shinoda, “Information ﬁltering based on user behavior
analysis and best match text retrieval,” in ACM SIGIR ’94, pp. 272–281,
Springer-Verlag, 1994.
[105] A. Narayanan and V. Shmatikov, “Robust de-anonymization of large sparse
datasets,” in IEEE Symposium on Security and Privacy 2008, pp. 111–125,
IEEE Computer Society, 2008.
[106] D. Oard and J. Kim, “Implicit feedback for recommender systems,” in AAAIWorkshop on Recommender Systems, Madison, Wisconsin, 1998.
[107] M. O’Connor, D. Cosley, J. A. Konstan, and J. Riedl, “PolyLens: a recommender system for groups of users,” in ECSCW 2001, pp. 199–218, Kluwer
Academic Publishers, 2001.
[108] M. O’Mahony, N. Hurley, N. Kushmerick, and G. Silvestre, “Collaborative recommendation: A robustness analysis,” ACM Transactions on Internet Technology, vol. 4, no. 4, pp. 344–377, 2004.
[109] M. P. O’Mahony, N. J. Hurley, and G. C. Silvestre, “Detecting noise in recommender system databases,” in ACM IUI ’06, pp. 109–115, ACM, 2006.
[110] A. Paterek, “Improving regularized singular value decomposition for collaborative ﬁltering,” in KDD Cup and Workshop 2007, August 2007.
[111] D. M. Pennock, E. Horvits, and C. L. Giles, “Social choice theory and recommender systems: Analysis of the axiomatic foundations of collaborativeﬁltering,” in AAAI 2000, AAAI, 2000.

References

171[112] D. M. Pennock, E. Horvitz, S. Lawrence, and C. L. Giles, “Collaborative ﬁltering by personality diagnosis: A hybrid memory-and model-based approach,”in UAI 2000, pp. 473–480, AUAI, 2000.
[113] H. Polat and W. Du, “SVD-based collaborative ﬁltering with privacy,” in
ACM SAC ’05, pp. 791–795, ACM, 2005.
[114] A. Popescul, L. H. Ungar, D. M. Pennock, and S. Lawrence, “Probabilistic models for uniﬁed collaborative and content-based recommendation insparse-data environments,” in UAI 2001, pp. 437–444, Morgan Kaufmann
Publishers Inc., 2001.
[115] G. Potter, “Putting the collaborator back into collaborative ﬁltering,” in KDD
Workshop on Large-Scale Recommender Systems and the Netﬂix Prize Competition, pp. 1–4, ACM, 2008.
[116] N. Ramakrishnan, B. Keller, B. Mirza, A. Grama, and G. Karypis, “Privacy
risks in recommender systems,” IEEE Internet Computing, vol. 5, no. 6,
pp. 54–63, 2001.
[117] A. M. Rashid, I. Albert, D. Cosley, S. K. Lam, S. M. McNee, J. A. Konstan, and J. Riedl, “Getting to know you: Learning new user preferences inrecommender systems,” in ACM IUI ’02, pp. 127–134, ACM, 2002.
[118] J. Reilly, J. Zhang, L. McGinty, P. Pu, and B. Smyth, “Evaluating compound
critiquing recommenders: A real-user study,” in ACM EC ’07, pp. 114–123,
ACM, ACM ID: 1250929, 2007.
[119] P. Resnick, N. Iacovou, M. Suchak, P. Bergstrom, and J. Riedl, “GroupLens: an open architecture for collaborative ﬁltering of netnews,” in ACM
CSCW ’94, pp. 175–186, ACM, 1994.
[120] P. Resnick and R. Sami, “The inﬂuence limiter: Provably manipulationresistant recommender systems,” in ACM RecSys ’07, pp. 25–32, ACM, 2007.
[121] P. Resnick and R. Sami, “The information cost of manipulation-resistance inrecommender systems,” in ACM RecSys ’08, pp. 147–154, ACM, 2008.
[122] F. Ricci, L. Rokach, B. Shapira, and P. B. Kantor, eds., Recommender Systems
Handbook. Springer, 2010.
[123] E. Rich, “User modeling via stereotypes,” Cognitive Science, vol. 3, no. 4,
pp. 329–354, October 1979.
[124] C. J. V. Rijsbergen, Information Retrieval. Butterworth-Heinemann, 1979.
[125] R. Salakhutdinov, A. Mnih, and G. Hinton, “Restricted Boltzmann machines
for collaborative ﬁltering,” in ACM ICML ’07, pp. 791–798, ACM, 2007.
[126] G. Salton, “The state of retrieval system evaluation,” Information Processingand Management, vol. 28, no. 4, pp. 441–449, July 1992.
[127] T. D. Sanger, “Optimal unsupervised learning in a single-layer linear feedforward neural network,” Neural Networks, vol. 2, no. 6, pp. 459–473, 1989.
[128] B. M. Sarwar, G. Karypis, J. Konstan, and J. Riedl, “Analysis of recommendation algorithms for e-commerce,” in ACM EC ’00, pp. 158–167, ACM, ACM
ID: 352887, 2000.
[129] B. M. Sarwar, G. Karypis, J. Konstan, and J. Riedl, “Incremental SVD-basedalgorithms for highly scaleable recommender systems,” in ICCIT 2002, 2002.
[130] B. M. Sarwar, G. Karypis, J. A. Konstan, and J. Reidl, “Item-based collaborative ﬁltering recommendation algorithms,” in ACM WWW ’01, pp. 285–295,
ACM, 2001.

172

References[131] B. M. Sarwar, G. Karypis, J. A. Konstan, and J. T. Riedl, “Applicationof dimensionality reduction in recommender system — a case study,” in
WebKDD 2000, 2000.
[132] J. B. Schafer, J. A. Konstan, and J. Riedl, “E-Commerce recommendation applications,” Data Mining and Knowledge Discovery, vol. 5, no. 1,
pp. 115–153, Janaury 2001.
[133] A. I. Schein, A. Popescul, L. H. Ungar, and D. M. Pennock, “Methods andmetrics for cold-start recommendations,” in ACM SIGIR ’02, pp. 253–260,
ACM, 2002.
[134] S. Sen, F. M. Harper, A. LaPitz, and J. Riedl, “The quest for quality tags,”
in ACM GROUP ’07, pp. 361–370, ACM, 2007.
[135] G. Shani and A. Gunawardana, “Evaluating recommendation systems,” inRecommender Systems Handbook, (F. Ricci, L. Rokach, B. Shapira, and P. B.
Kantor, eds.), pp. 257–297, Springer, 2010.
[136] G. Shani, D. Heckerman, and R. I. Brafman, “An MDP-based recommendersystem,” Journal of Machine Learning Research, vol. 6, pp. 1265–1295, 2005.
[137] U. Shardanand and P. Maes, “Social information ﬁltering: Algorithms forautomating “word of mouth”,” in ACM CHI ’95, pp. 210–217, ACM
Press/Addison-Wesley Publishing Co., 1995.
[138] R. Shokri, P. Pedarsani, G. Theodorakopoulos, and J. Hubaux, “Preserving
privacy in collaborative ﬁltering through distributed aggregation of oﬄine
proﬁles,” in ACM RecSys ’09, pp. 157–164, ACM, 2009.
[139] B. Smyth, “Case-based recommendation,” in The Adaptive Web, vol. 4321 ofLecture Notes in Computer Science, (P. Brusilovsky, A. Kobsa, and W. Nejdl,eds.), pp. 342–376, Springer, 2007.
[140] X. Su and T. Khoshgoftaar, “A survey of collaborative ﬁltering techniques,”
Advances in Artiﬁcial Intelligence, vol. 2009, p. 19, August 2009.
[141] K. Swearingen and R. Sinha, “Interaction design for recommender systems,”
in DIS 2002, ACM, 2002.
[142] J. A. Swets, “Information retrieval systems,” Science, vol. 141, no. 3577,
pp. 245–250, July 1963.
[143] L. Terveen and D. W. McDonald, “Social matching: A framework and research
agenda,” ACM Transactions on Computer-Human Interaction, vol. 12, no. 3,
pp. 401–434, ACM ID: 1096740, September 2005.
[144] N. Tintarev, “Explanations of recommendations,” in ACM RecSys ’07,
pp. 203–206, ACM, 2007.
[145] N. Tintarev and J. Masthoﬀ, “Eﬀective explanations of recommendations:User-centered design,” in ACM RecSys ’07, pp. 153–156, ACM, 2007.
[146] R. Torres, S. M. McNee, M. Abel, J. A. Konstan, and J. Riedl, “Enhancing
digital libraries with TechLens+,” in ACM/IEEE JCDL ’04, pp. 228–236,
ACM, 2004.
[147] M. van Alstyne and E. Brynjolfsson, “Global village or cyber-balkans? Modeling and measuring the integration of electronic communities,” Management
Science, vol. 51, no. 6, pp. 851–868, June 2005.
[148] P. Viappiani and C. Boutilier, “Regret-based optimal recommendation setsin conversational recommender systems,” in ACM RecSys ’09, pp. 101–108,
ACM, 2009.

References

173[149] J. von Neumann and O. Morgenstern, Theory of Games and Economic
Behavior. Princeton, NJ: Princeton University Press, 1944.
[150] G. Walsh and J. Golbeck, “Curator: A game with a purpose for collection
recommendation,” in ACM CHI ’10, pp. 2079–2082, ACM, ACM ID: 1753643,
2010.
[151] P. M. West, D. Ariely, S. Bellman, E. Bradlow, J. Huber, E. Johnson, B. Kahn,
J. Little, and D. Schkade, “Agents to the Rescue?,” Marketing Letters, vol. 10,
no. 3, pp. 285–300, 1999.
[152] M. Xie, L. V. S. Lakshmanan, and P. T. Wood, “Breaking out of the box ofrecommendations: From items to packages,” in ACM RecSys ’10, pp. 151–158,
ACM, ACM ID: 1864739, 2010.
[153] Y. Yang and X. Liu, “A re-examination of text categorization methods,” in
ACM SIGIR ’99, pp. 42–49, ACM, 1999.
[154] C. Ziegler and J. Golbeck, “Investigating interactions of trust and interest
similarity,” Decision Support Systems, vol. 43, no. 2, pp. 460–475, March 2007.
[155] C. Ziegler and G. Lausen, “Propagation models for trust and distrust insocial networks,” Information Systems Frontiers, vol. 7, no. 4, pp. 337–358,
December 2005.
[156] C. Ziegler, S. M. McNee, J. A. Konstan, and G. Lausen, “Improving recommendation lists through topic diversiﬁcation,” in ACM WWW ’05, pp. 22–32,
ACM, 2005.
[157] P. Zigoris and Y. Zhang, “Bayesian adaptive user proﬁling with explicit &implicit feedback,” in ACM CIKM ’06, pp. 397–404, ACM, 2006.