Technology Review - Recommendation Systems

Revant Kumar

► To cite this version:

Revant Kumar. Technology Review - Recommendation Systems. College of Computing, Georgia Institute of Technology, USA. 2015, pp.14. hal-04219579

HAL Id: hal-04219579

https://hal.science/hal-04219579v1

Submitted on 27 Sep 2023

**HAL** is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>
Technology Review
Recommendation Systems

Revant Kumar

MS in Computer Science
Georgia Institute of Technology
rkumar74@gatech.edu

# 1 Introduction

Recommendation systems have changed the way people find products, information, and even other people. They study patterns of behavior to know what someone will prefer from among a collection of things he has never experienced. The technology behind recommender systems has evolved over the past 20 years into a rich collection of tools that enable the practitioner or researcher to develop effective recommenders.

<figure><img src="image_2.png" /><figcaption>Figure 1: Wordle for Recommendation Systems</figcaption></figure>

Recommender systems or recommendation systems (sometimes replacing “system” with a synonym such as platform or engine) are a subclass of information filtering system that seek to predict the 'rating' or 'preference' that a user would give to an item.

Recommender systems have become extremely common in recent years, and are applied in a variety of applications. The most popular ones are probably movies, music, news, books, research articles, search queries, social tags, and products in general. However, there are also recommender systems
for experts, jokes, restaurants, financial services, life insurance, persons (online dating), and Twitter
followers.

This technology review discusses a wide variety of the choices available and their implications,
aiming to provide an introduction to the important issues underlying recommenders and current best
practices for addressing these issues.

1.1 History

The capacity of computers to provide recommendations was recognized fairly early in the history of computing.

In the early 1990s, collaborative filtering began to arise as a solution for dealing with overload in online information spaces. Tapestry was a manual collaborative filtering system: it allowed the user to query for items in an information domain, such as corporate e-mail, based on other users opinions or actions.

Research on recommender algorithms garnered significant attention in 2006 when Netflix launched the Netflix Prize to improve the state of movie recommendation. The objective of this competition was to build a recommender algorithm that could beat their internal CineMatch algorithm in offline tests by 10%. It sparked a flurry of activity, both in academia and amongst hobbyists. The $1 M prize demonstrates the value that vendors place on accurate recommendations.

Research in the field is moving in the direction of a richer understanding of how recommender tech-
nology may be embedded in specific domains. The differing personalities exhibited by different
recommender algorithms show that recommendation is not a one-size- fits-all problem. Specific
tasks, information needs, and item domains represent unique problems for recommenders, and de-
sign and evaluation of recommenders needs to be done based on the user tasks to be supported.
Effective deployments must begin with careful analysis of prospective users and their goals.

Automated collaborative filtering systems soon followed, automatically locating relevant opinions and aggregating them to provide recommendations. GroupLens used this technique to identify Usenet articles which are likely to be interesting to a particular user. Users only needed to provide ratings or perform other observable actions, the system combined these with the ratings or actions of other users to provide personalized results. With these systems, users do not obtain any direct knowledge of other users opinions, nor do they need to know what other users or items are in the system in order to receive recommendations.

In the late 1990s, commercial deployments of recommender technology began to emerge. Perhaps the most widely-known application of recommender system technologies is Amazon.com. Based on purchase history, browsing history, and the item a user is currently viewing, they recommend items for the user to consider purchasing.

1.2 Big Data

Big data is a popular term used to describe the exponential growth and availability of data, both
structured and unstructured.

Big data is a broad term for data sets so large or complex that traditional data processing applications are inadequate. Challenges include analysis, capture, curation, search, sharing, storage, transfer, visualization, and information privacy. The term often refers simply to the use of predictive analytics or other certain advanced methods to extract value from data, and seldom to a particular size of data set.

Analysis of data sets can find new correlations, to “spot business trends, prevent diseases, combat crime and so on.” Scientists, practitioners of media and advertising and governments alike regularly meet difficulties with large data sets in areas including Internet search, finance and business informatics. Scientists encounter limitations in e-Science work, including meteorology, genomics, connectomics, complex physics simulations, and biological and environmental research.

Data sets grow in size in part because they are increasingly being gathered by cheap and numerous
information-sensing mobile devices, aerial (remote sensing), software logs, cameras, microphones,
radio-frequency identification (RFID) readers, and wireless sensor networks. The world's tech-
<figure><img src="image_3.png" /><figcaption>Figure 2: Various V's of Big Data</figcaption></figure>

nological per-capita capacity to store information has roughly doubled every 40 months since the 1980s; as of 2012, every day 2.5 exabytes (2.5 × 10¹⁸) of data were created; The challenge for large enterprises is determining who should own big data initiatives that straddle the entire organization.

More data may lead to more accurate analyses. And More accurate analyses may lead to more confident decision making. And better decisions can mean greater operational efficiencies, cost reductions and reduced risk.

## 1.3 Taxonomy

### 1.3.1 Collaborative filtering

One approach to the design of recommender systems that has wide use is collaborative filtering. Collaborative filtering methods are based on collecting and analyzing a large amount of information on users behaviors, activities or preferences and predicting what users will like based on their similarity to other users. A key advantage of the collaborative filtering approach is that it does not rely on machine analyzable content and therefore it is capable of accurately recommending complex items such as movies without requiring an "understanding" of the item itself. Many algorithms have been used in measuring user similarity or item similarity in recommender systems. For example, the k-nearest neighbor (k-NN) approach and the Pearson Correlation. Collaborative Filtering is based on the assumption that people who agreed in the past will agree in the future, and that they will like similar kinds of items as they liked in the past.

### 1.3.2 Content-based filtering

Another common approach when designing recommender systems is content-based filtering. Content-based filtering methods are based on a description of the item and a profile of the users preference. In a content-based recommender system, keywords are used to describe the items; beside, a user profile is built to indicate the type of item this user likes. In other words, these algorithms
<figure><img src="image_4.png" /><figcaption>Figure 3: Examples for Recommendation Systems</figcaption></figure>
try to recommend items that are similar to those that a user liked in the past (or is examining in the present). In particular, various candidate items are compared with items previously rated by the user and the best-matching items are recommended. This approach has its roots in information retrieval and information filtering research. To abstract the features of the items in the system, an item presentation algorithm is applied. A widely used algorithm is the tfidf representation (also called vector space representation).

### 1.3.3 Hybrid Recommender Systems

Recent research has demonstrated that a hybrid approach, combining collaborative filtering and content-based filtering could be more effective in some cases. Hybrid approaches can be implemented in several ways: by making content-based and collaborative-based predictions separately and then combining them; by adding content-based capabilities to a collaborative-based approach (and vice versa); or by unifying the approaches into one model. Several studies empirically compare the performance of the hybrid with the pure collaborative and content-based methods and demonstrate that the hybrid methods can provide more accurate recommendations than pure approaches. These methods can also be used to overcome some of the common problems in recommender systems such as cold start and the sparsity problem.

Netflix is a good example of the use of hybrid recommender systems. They make recommendations by comparing the watching and searching habits of similar users (i.e. collaborative filtering) as well as by offering movies that share characteristics with films that a user has rated highly (content-based filtering).

## 2 Collaborative Filtering Methods

Collaborative filtering (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 aggregated in 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 other items – if a group of users likes the same things as Mary, then Mary is likely to like the things they like which she hasn't yet seen.

<figure><img src="image_5.png" /><figcaption>Figure 4: Collaborative Filtering</figcaption></figure>
## 2.1 User - User Collaborative Filtering

User-user collaborative filtering, also known as k-NN collaborative filtering, was the first of the automated CF methods. It was first introduced in the GroupLens Usenet article recommender. The Ringo music recommender and the BellCore video recommender also used user-user CF or variants thereof.

User-user CF is a straightforward algorithmic interpretation of the core premise of collaborative filtering: find other users whose past rating behavior is similar to that of the current user and use their ratings on 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 then weighted 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 \times U \rightarrow R$ computing the similarity between two users and a method for using similarities and ratings to generate predictions.

<figure><img src="image_6.png" /><figcaption>Figure 5: User-User Collaborative Filtering</figcaption></figure>

## 2.2 Item - Item Collaborative Filtering

User-user collaborative filtering, while effective, suffers from scalability problems as the user base grows. Searching for the neighbors of a 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 filtering to large user bases and facilitate deployment on e-commerce sites, it was necessary to develop more scalable algorithms.

Item-item collaborative filtering, also called item-based collaborative filtering, takes a major step in this direction and is one of the most widely deployed collaborative filtering techniques today. 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, but item similarity is deduced from user preference patterns rather than extracted from item data.
In its raw form, item-item CF does not fix anything: it is still necessary to find the most similar items (again solving the k-NN problem) to generate predictions and recommendations. In a system that has more users than items, it allows the neighborhood-finding to be amongst the smaller of the two dimensions, but this is a small gain. It provides major performance gains by lending itself well to pre-computing the similarity matrix.

As a user rates and re-rates items, their rating vector will change along with their similarity to other users. Finding similar users in advance is therefore complicated: a user's neighborhood is determined not only by their ratings but also by the ratings of other users, so their neighborhood can change as a result of new ratings supplied by any user in the system. For this reason, most user-user CF systems find neighborhoods at the time when predictions or recommendations are needed. In systems with a sufficiently high user to item ratio, however, one user adding or changing ratings is unlikely to significantly change the similarity 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 can even be truncated to only store the k most similar items. As users change ratings, this data will become slightly stale, but the users will likely still receive good recommendations and the data can be fully updated by re-computing the similarities during a low-load time for the 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 a similarity function, this time $s: I \times I \rightarrow R$, and a method to generate predictions from ratings and similarities.

# 3 Multifaceted Collaborative Filtering Model

The two successful approaches to Collaborative Filtering are latent factor models, which directly profile both users and products, and neighborhood models, which analyze similarities between products or users. In the Multifaceted Collaborative Filtering Model, the factor and neighborhood models can be smoothly merged, thereby building a more accurate combined model. Further accuracy improvements are achieved by extending the models to exploit both explicit and implicit feedback by the users.

The Multifaceted Collaborative Filtering Model is sum of baseline, neighbourhood and latent factor models.

## 3.1 Baseline Model

Typical CF data exhibit large user and item effects i.e., systematic tendencies for some users to give higher ratings than others, and for some items to receive higher ratings than others. It is customary to adjust the data by accounting for these effects, which we encapsulate within the baseline estimates. Denote by $\mu$ the overall average rating. A baseline estimate for an unknown rating $r_{ui}$ is denoted by $b_{ui}$ and accounts for the user and item effects:

$$b_{ui} = \mu + b_u + b_i$$

The parameters $b_u$ and $b_i$ indicate the observed deviations of user $u$ and item $i$, respectively, from the average.

## 3.2 Neighborhood Model

Previous models were centered around user-specific interpolation weights $\frac{s_{ij}}{\sum_{j \in S(i, u)} s_{ij}}$ relating item $i$ to the items in a user-specific neighborhood $S(i, u)$. In order to facilitate global optimization, we would abandon such user-specific weights in favor of global weights independent of a specific user.
The weight from j to i is denoted by $w_{ij}$ and will be learnt from the data through optimization. The model describes each rating $\hat{r}_{ui}$ by the equation:

$$ \hat{r}_{ui} = b_{ui} + \sum_{j \in R(u)} (r_{uj} - b_{uj})w_{ij} $$

However, experience shows that the current model somewhat overemphasizes the dichotomy between heavy raters and those that rarely rate. Better results were obtained when we moderated this behavior, replacing the prediction rule with:

$$ \hat{r}_{ui} = b_{ui} + \frac{1}{|R(u)|} \sum_{j \in R(u)} (r_{uj} - b_{uj})w_{ij} $$

Complexity of the model can be reduced by pruning parameters corresponding to unlikely item-item relations.

## 3.3 Latent Factor Model

A popular approach to latent factor models is induced by an SVD-like lower rank decomposition of the ratings matrix. Each user $u$ is associated with a user factors vector $p_u \in R^f$, and each item $i$ with an item-factors vector $q_i \in R_f$. Prediction is done by the rule:

$$ \hat{r}_{ui} = b_{ui} + p_u^T q_i $$

Parameters are estimated by minimizing the associated squared error function.

## 3.4 Integrated Model

The new neighborhood model is based on a formal model, whose parameters are learnt by solving a least squares problem. An advantage of this approach is allowing easy integration with other methods that are based on similarly structured global cost functions. As explained, latent factor models and neighborhood models nicely complement each other. Accordingly, in this section we will integrate the neighborhood model with our most accurate factor model SVD++. A combined model will sum the predictions of neighborhood and factor models to enrich each other:

$$ \hat{r}_{ui} = \mu + b_u + b_i + p_u^T q_i + \frac{1}{|R(u)|} \sum_{j \in R(u)} (r_{uj} - b_{uj})w_{ij} $$

In a sense, this provides a 3-tier model for recommendations.

* The first tier, $b_u + b_i$ describes general properties of the item and the user, without accounting for any involved interactions.

* The next tier, $p_u^T q_i$ provides the interaction between the user profile and the item profile.

* The final “neighborhood tier” contributes fine grained adjustments that are hard to profile.

Model parameters are determined by minimizing the associated regularized squared error function through gradient descent. We loop over all known ratings in $K$. For a given training case $r_{ui}$, we modify the parameters by moving in the opposite direction of the gradient.

# 4 Evaluation for Recommendation Systems

When developing a recommender system, either a new algorithm or a new application, it is useful to be able to evaluate how well the system works. Since recommendation is usually a means to some other goal (user satisfaction, increased sales, etc.), testing ultimately needs to take this into account and measure the intended effect. However, it can be costly to try algorithms on real sets of users
and measure the effects. Further, measuring some desired effects may be intractable or impossible,
resulting in the need for plausible proxies.

## 4.1 Data Set

Many recommender systems are developed in particular contexts, and their evaluations will be on
data sets relevant to that context or on internal 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 a consistent environment, and can serve as a preliminary testing domain in
building a system for which no directly relevant data is available.

The Netflix data set, made available in 2006 as a part of the Netflix Prize, has been widely used as a large-scale data set for evaluating recommenders. It consists of over 100 M date stamped ratings of 17 K movies from 480 K users, with some perturbation applied to the ratings in an attempt to preserve privacy. The data set was withdrawn in late 2009 after publicity surrounding research to de-anonymize anonymized data sets.

There are also other data sets in circulation from various sources. Yahoo! Research operates one
such collection, providing a variety of data sets collected from Yahoo! services.

## 4.2 Offline Evaluation Structure

The basic structure for offline evaluation is based on the train-test setup common in machine learn-
ing. It starts with a data set, typically consisting of a collection of user ratings or histories and
possibly containing additional information about users and/or items. The users in this data set are
then split into two groups: the training set and the test 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 sets and using each set in turn as the test set with the union of all other sets as the training set.
The results from each run can then be aggregated to assess the recommenders overall performance,
mitigating then effects of test set variation.

## 4.3 Prediction Accuracy

Predictive accuracy metrics measure how close the recommender systems predicted ratings are to
the true user ratings. Predictive accuracy metrics are particularly important for evaluating tasks in
which the predicting rating will be displayed to the user such as Annotation in Context.

These statistical accuracy metrics evaluate the accuracy of a system by comparing the numerical
recommendation scores against the actual user ratings for the user-item pairs in the test dataset.

The most commonly used prediction accuracy metrics are Mean Absolute Error (MAE), Root Mean Squared Error (RMSE), and Correlation.

## 4.4 Decision Support Metrics

Decision support accuracy metrics evaluate how elective a prediction engine is at helping a user
select high quality items from the set of all items. These metrics assume the prediction process as a
binary operation either items are predicted (good) or not (bad).

The most commonly used decision support accuracy metrics are reversal rate, weighted errors and ROC sensitivity.
# 5 MLlib – Collaborative Filtering using Spark

## 5.1 Collaborative Filtering

Collaborative filtering is commonly used for recommender systems. These techniques aim to fill in the missing entries of a user-item association matrix. MLlib (Spark's machine learning (ML) library) currently supports model-based collaborative filtering, in which users and products are described by a small set of latent factors that can be used to predict missing entries. MLlib uses the alternating least squares (ALS) algorithm to learn these latent factors. The implementation in MLlib has the following parameters:

* `numBlocks` is the number of blocks used to parallelize computation (set to -1 to auto-configure).

* `rank` is the number of latent factors in the model.

* `iterations` is the number of iterations to run.

* `lambda` specifies the regularization parameter in ALS.

* `implicitPreds` specifies whether to use the explicit feedback ALS variant or one adapted for implicit feedback data.

* `alpha` is a parameter applicable to the implicit feedback variant of ALS that governs the baseline confidence in preference observations.

## 5.2 Explicit vs Implicit Feedback

The standard approach to matrix factorization based collaborative filtering treats the entries in the user-item matrix as explicit preferences given by the user to the item.

It is common in many real-world use cases to only have access to implicit feedback (e.g. views, clicks, purchases, likes, shares etc.). The approach used in MLlib to deal with such data is taken from Collaborative Filtering for Implicit Feedback Datasets. Essentially instead of trying to model the matrix of ratings directly, this approach treats the data as a combination of binary preferences and confidence values. The ratings are then related to the level of confidence in observed user preferences, rather than explicit ratings given to items. The model then tries to find latent factors that can be used to predict the expected preference of a user for an item.

## 5.3 Scaling of the regularization parameter

Since v1.1, the regularization parameter `lambda` in solving each least squares problem is scaled by the number of ratings the user generated in updating user factors, or the number of ratings the product received in updating product factors. This approach is named "ALS-WR" and discussed in the paper "Large-Scale Parallel Collaborative Filtering for the Netflix Prize". It makes `lambda` less dependent on the scale of the dataset. So the best parameter learned from a sampled subset can be applied to the full dataset and expect similar performance.

# 6 Large Scale Recommendation Systems using Mahout

A Mahout-based collaborative filtering engine takes users' preferences for items and returns estimated preferences for other items. Mahout provides a rich set of components from which you can construct a customized recommender system from a selection of algorithms. Mahout is designed for performance, scalability and flexibility.

Top-level packages define the Mahout interfaces to these key abstractions:

* `DataModel`

* `UserSimilarity`

* `ItemSimilarity`

* `UserNeighborhood`

* `Recommender`
<figure><img src="image_7.png" /><figcaption>Figure 6: Recommender Architecture</figcaption></figure>

## 6.1 Key Abstractions

### 6.1.1 Recommender

A Recommender is the core abstraction in Mahout. Given a DataModel, it can produce recommendations. Applications will most likely use the GenericUserBasedRecommender or GenericItemBasedRecommender, possibly decorated by CachingRecommender.

### 6.1.2 DataModel

A DataModel is the interface to information about user preferences. An implementation might draw this data from any source, but a database is the most likely source. Mahout provides MySQLJDBC-DataModel, for example, to access preference data from a database via JDBC and MySQL. Another exists for PostgreSQL. Mahout also provides a FileDataModel, which is fine for small applications.

Users and items are identified solely by an ID value in the framework. Further, this ID value must be numeric; it is a Java long type through the APIs. A Preference object or PreferenceArray object encapsulates the relation between user and preferred items (or items and users preferring them).

Finally, Mahout supports, in various ways, a so-called “boolean” data model in which users do not express preferences of varying strengths for items, but simply express an association or none at all. For example, while users might express a preference from 1 to 5 in the context of a movie recommender site, there may be no notion of a preference value between users and pages in the context of recommending pages on a web site: there is only a notion of an association, or none, between a user and pages that have been visited.

### 6.1.3 UserSimilarity

A UserSimilarity defines a notion of similarity between two users. This is a crucial part of a recommendation engine. These are attached to a Neighborhood implementation. ItemSimilarity is analogous, but find similarity between items.
6.1.4 UserNeighborhood

In a user-based recommender, recommendations are produced by finding a "neighborhood" of simi-
lar users near a given user. A UserNeighborhood defines a means of determining that neighborhood
for example, nearest 10 users. Implementations typically need a UserSimilarity to operate.

<figure><img src="image_8.png" /><figcaption>Figure 7: Diagram shows the relationship between various Mahout components in a user-based recommender</figcaption></figure>
# 7 Conclusion and Future Work

Recommender systems have become ubiquitous. People use them to find 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 field, especially at the interaction between research and commercial practice.

## 7.1 Algorithms

Recommender systems researchers have developed a suite of highly effective algorithms for the basic problem of recommending 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 of users or groups of items. For instance, how can such sources as Amazon reviews and Twitter posts about items be incorporated into recommendations. We expect to see a wide variety of approaches that generalize to process multiple parallel matrices of user and item data simultaneously.

## 7.2 Data

The data used by recommender systems are sometimes biased in unexpected ways that can have a dramatic effect on outcomes. 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 specific instances. For instance, researchers have shown that datasets can be effectively statistically unbiased for some popularity biases.

## 7.3 User Experience

The goal of recommender systems is to improve user experience. In both research and practice, craft- ing the user experience to fit the application and the user life-cycle remains a substantial challenge. One challenge is to adapt the nature of recommendations as the user gains more experience with the recommender. Part of the research challenge is to design interfaces that give users control over the recommendation process without overwhelming the user or rendering the tool too complicated for novice users.

## 7.4 Evaluation and metrics

Evaluation of recommender systems has advanced significantly over the past decade, but many chal- lenges remain. Even with a better understanding of the relationships among different algorithm per- formance metrics, the field 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. Deploying in- novative recommenders is still too hard, and there is a substantial need for research platforms where innovations can be tested without first building up a community of thousands of users.

## 7.5 Social impact

Because collaborative filtering recommender systems must by their nature collect substantial per- sonalized 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 in such a way that extracting personalized data is provably difficult. Furthermore, the existence of the recommender may influence the structure of the community over time. If users are choos- ing items to read based on personalized recommendations, over time they may cluster into groups of like-minded individuals. In the future, recommender systems will explicitly react to combat this type of damage to the community structure, ensuring that not only individuals, but also the surrounding community benefit from the existence of the recommender.
8 References

[1] G. Adomavicius and A. Tuzhilin, Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions, IEEE Transactions on Knowledge and Data Engineering, vol. 17, no. 6, pp. 734749, 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. 310, ACM, 2006.

[3] D. Aha and L. Breslow, Refining conversational case libraries, in Case-Based Reasoning Research and Development, vol. 1266 of Lecture Notes in Computer Science, pp. 267278, Springer, 1997.

[4] K. Ali and W. van Stam, TiVo: Making show recommendations using a distributed collaborative filtering architecture, in ACM KDD 04, pp. 394401, 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. 247258, 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. 173180, ACM, 2009.

[7] Amazon.com, Q4 2009 Financial Results, Earnings Report Q4-2009, January 2010.

[8] E. A meur, 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. 307334, October 2008.

[9] T. Amoo and H. H. Friedman, Do numeric values influence subjects responses to rating scales?, Journal of International Marketing and Marketing Research, vol. 26, pp. 4146, February 2001.

[10] A. Ansari, S. Essegaier, and R. Kohli, Internet recommendation systems, Journal of Marketing Research, vol. 37, no. 3, pp. 363375, August 2000.

[11] C. Avery and R. Zeckhauser, Recommender systems for evaluating computer messages, Communications of the ACM, vol. 40, no. 3, pp. 8889, ACM ID: 245127, March 1997.

[12] P. Avesani, P. Massa, and R. Tiella, A trust-enhanced recommender system application: Moleskiing, in ACM SAC 05, pp. 15891593, ACM, 2005.

[13] M. Balabanovic and Y. Shoham, Fab: Content-based, collaborative recommendation, Communications of the ACM, vol. 40, no. 3, pp. 6672, 1997.

[14] R. M. Bell and Y. Koren, Scalable collaborative filtering with jointly derived neighborhood interpolation weights, in IEEE ICDM 2007, pp. 4352, 2007.

[15] J. Bennett and S. Lanning, The netflix prize, in KDD Cup and Workshop 07, 2007.

[16] M. W. Berry, S. T. Dumais, and G. W. OBrien, Using linear algebra for intelligent information retrieval, SIAM Review, vol. 37, no. 4, pp. 573595, December 1995.

[17] M. Bilgic and R. J. Mooney, Explaining recommendations: Satisfaction vs. promotion, in Beyond Personalization 2005: A Workshop on the Next Stage of Recommender Systems Research, pp. 1318, 2005.

[18] D. Billsus and M. J. Pazzani, Learning collaborative information filters, in AAAI 2008 Workshop on Recommender Systems, 1998.

[19] D. Billsus and M. J. Pazzani, A personal news agent that talks, learns and explains, in AGENTS 99, pp. 268275, ACM, 1999.

[20] D. M. Blei, A. Y. Ng, and M. I. Jordan, Latent dirichlet allocation, Journal of Machine Learning Research, vol. 3, pp. 9931022, March 2003.