For example, filtering systems can continuously provide financial ... âSchool of Economic Information Engineering, Southwestern University of Finance and Eco-.
FILTERING TECHNIQUES FOR SELECTION OF CONTENTS AND PRODUCTS QING LI∗ , YUANZHU PETER CHEN† , AND ZHANGXI LIN‡ ∗ Abstract. With the development of e-commerce and the proliferation of easily accessible information, filtering systems (also known as recommender systems) have become a popular technique to prune large information spaces so that users are directed to products that best meet their needs and preferences. In this chapter, we present an overview of the field of filtering techniques and describe the current filtering methods that are usually classified as content-based, collaborative, and hybrid filtering approaches. We also analyze various limitations of current filtering techniques and discuss the challenges for building a large-scale and practical filtering system. In particular, content-based filtering methods, which select the appropriate information for a user by matching user preferences, are first introduced. Second, we look into the memory-based and model-based collaborative filtering approaches to elaborate on the collaborative mechanism, which utilizes the opinions of other users to make recommendations for personalized information filtering. Third, hybrid filtering techniques are introduced, which combines the above filtering methods. At last, we address the challenges for building a large-scale and commercial recommender system. These challenges include scalability of filtering algorithms, data sparsity, effectiveness of recommender systems and so forth.
1. Introduction. Information filtering, also known as information recommendation, has an obvious appeal in an environment where the amount of on-line information vastly outstrips any individual’s capability to survey. In our daily life, critique experts perform information filtering on our behalves. For instance, we often check ranking lists for bestselling movies and listen to movie critics. However, such manually abstracted information is not responsive and comprehensive enough compared to the volumous raw information generated everyday. Thus, information filtering technologies offer a powerful solution to this problem. Information filtering has found its way into the activities in specific areas of current social life. For example, filtering systems can continuously provide financial investors with relevant information, such as news, financial reports, and so forth, for better analysis and decision making. With the help of a filtering system, a novice can obtain suggestions from a professional in a community network. In reality, some of the on-line vendors have already incorporated more or less filtering capabilities into their commercial promotion such as Amazon, Yahoo! and CDNow. Information recommendation focuses on providing an individual with tailored information. Different from search engines which target at immediate information acquisition, information recommendation is more of a long-term information delivery service. Products, including books, movies, music, and so forth, are often selected and recommended to users automatically according to their preferences by such systems. Techniques applied in information filtering are generally categorized as contentbased filtering (CBF), collaborative filtering (CF), and hybrid filtering (HF) according to their operation mechanism [34]. In particular, content-based filtering utilizes the summarized content information of products for individual users. In contrast, collaborative filtering applies preference induction based on the similarities among multiple users. Hybrid filtering utilizes content-based and collaborative filtering for more flexible and accurate recommendation. ∗ School of Economic Information Engineering, Southwestern University of Finance and Economics, China. † Department of Computer Science, Memorial University of Newfoundland, Canada. ‡ The Rawls College of Business Administration, Texas Tech University, USA.
1
In this chapter, we present a categorized overview of the field of information filtering and analyze various limitations of these filtering techniques. First, content-based filtering methods, which select the appropriate information for a user by matching the user preferences, are introduced in Section 2. Second, we look into the memory-based and model-based collaborative filtering approaches to elaborate on the collaborative mechanism in Section 3. In Section 4, hybrid filtering techniques are introduced as extension to the above approaches. To conclude, we address the challenges for building a large-scale and commercial recommender system.
User Interface
Interested Documents
A
Browsed Documents
B
Matched documents
User Profile
Information Repository
Fig. 2.1. Content-Based Filtering
2. Content-Based Filtering. Content-based filtering selects the appropriate information for a user by matching the user preference against an information repository (Figure 2.1). Typically, in a content-based filtering system, we construct and maintain a profile for each user to model the user’s preferences. It can be generated explicitly or implicitly. For instance, the system may have a user explicitly describe his/her preferences, or it builds a user profiles based on the user’s browsing behaviors (e.g. clicks and reading time) [59]. On the other hand, the system searches the information repository to recommend products by matching the user profiles against products in the repository. Although details differ from system to system, contentbased filtering systems share in common a means for creating user profiles, and a means for comparing products to user profiles for recommendation. 2.1. Construction of User Profiles. A content-based filtering system usually processes textual products such as news articles and Web pages. For non-textual ones (e.g., multimedia files) the textual descriptions of these items in the file metadata are utilized. For instance, a music filtering system typically utilizes the textual descriptions such as a music genre, piece title, artist name, and album title to build user profiles. A user profile can be explicitly customized by a user or implicity constructed by the system based on the user’s behaviors. In user customization, a user is provided with an interfaces as a step in registration, where possibly check boxes are used for a user to select from a known set of attributes, e.g., name of favorite singers and genre of favorite books or music. Alternatively, the interface may allow a user to enter texts in an edit box to express his or 2
her interests, e.g., scenario of interested movies, name of musician. Obviously, user customization puts a big burden on end users. Because not many users would like to make this effort at the registration. In addition, users are reluctant to revise their profiles frequently as their preferences change. Due to the limitation of manual user customization, automatic construction of user profiles is usually adopted in content-based filtering systems. In this case, the system first selects interested products based on a user’s browsing behaviors. Second, a user profile, typically represented as a set of keywords, is generated based on the textual contents of interested items. For instance, the Fab system [4], a Web page recommender, represents a Web page preferred by the users with the 100 most “important” words therein. A user profiles is generated as a set of words using these summary words of the preferred pages. The “importance” of a word can be determined by a weighting metric. The most accepted one is the normalized TF-IDF metric [3]. The weight of term i in document j is denoted by wi,j :
(2.1)
wi,j
µ ¶ N (1 − α)fi,j = α+ × log , maxi fi,j ni
where N is total number of documents that can be recommended to a user, ni is the number of documents containing term i, and α is a weighting factor usually set to 0.5. fi,j is the frequency of word i in document j; maxi fi,j is the maximum frequency among all words that appear in document dj ; and the factor log nNi is a variant of the inverse document frequency, an indication of the rareness of term i in the collection of documents to be recommended. 2.2. Selection of Recommended Products. Once a user profile is constructed, we should compare the profile against an information repository to select relevant products. There are several techniques to evaluate the similarity between a user profile and a product using Boolean methods [2, 32, 54], vector-space methods [46], probabilistic models [45], neural networks [31, 58], fuzzy set models [40], etc. The most accepted is the vector-space approach using cosine similarity. As mentioned above, a user profile u and a product p can be represented as TF-IDF vectors Wu =< w1,u , w2,u , ...wM,u > and Wp =< w1,p , w2,p , ...wM,p > where M is the total number of words in the system. Essentially, a user profile or a product is a document, and each component of the vector can be calculated by Equation 2.1. The cosine similarity between a profile and an item is denoted by s(u, p):
(2.2)
PM wi,u × wi,p s(u, p) = qP i=1 qP . M M 2 2 w w i=1 i,u i=1 i,p
For example, if a user has read a large number of news articles related to financial risk investment, then a content-based recommender will provide other relevant articles to him/her. By processing the articles read by this user, a user profile can be constructed. Intuitively, an article interested by the user would have a high frequency for the finance-related terms, which is reflected by this user’s profile. Consequently, a recommender system using the above cosine similarity measure will assign a high similarity value to the articles containing more finance-related terms. 3
2.3. Limitations. Although content-based filtering has proven to be effective in recommending textual items relevant to a topic, it also has its limitations[1]: • Content-based filtering more than often provides recommendation in a literal sense, because all the information is selected and recommended based on textual contents. Even though a product was essentially useful, it might be under-valued because of the ambiguous and thus misleading appearance of the textual contents. In addition, it is indistinguishable in quality of the recommended products. This is because the term vector for a product simply captures the frequency of each term in an article, and a poorly worded article can well have an equal or even higher similarity value than a finely written one. • Content-based filtering generally works well with sufficient textual information. However, other multimedia files such as images, audio and video streams are not applicable if the metadata do not have enough textual information. • A new user of such a system must face a “slow start” because he or her has to rate relatively large number of items before a recommender can induce his/her preferences and can serve him/her with reliable recommendation. • Content-based filtering usually focuses on recommending the most similar to users. However, in some cases the most similar product is effective redundant, such as two different news articles describing the same event. For example, Daily-learn [6] discards items not only if they are different from a user’s preferences but also overly similar to the previously recommended ones. 3. Collaborative Filtering. Unlike content-based filtering, collaborative filtering is a technology wherein peer opinions are employed to predict the interests of others. The idea of collaborative filtering has been around for about 20 years. Goldberg and his colleagues first applied collaborative filtering to recommender systems [15, 52]. There, binary preference indicators and custom texts were applied to identify like-minded users manually. Subsequently, GroupLens [44] and Ringo [50], developed independently, were proposed for automated prediction. Collaborative filtering has prevailed not only in research but also in the industry. There are plenty of collaborative recommender systems designed for different purposes. These include the MovieLens system for movies, Jeter system for jokes [17], Flycasting for online radio [20], VERSIFI (formerly AdaptiveInfo.com) for news. Most collaborative filtering techniques falls into one of two categories: memorybased and model-based methods. Memory-based methods store massive raw user ratings in a database which can be uploaded into computer memory at once to compute preference similarities among users. Here, a user rating corresponds to a point in a metric space. In contrast, model-based algorithms build abstract models upon raw ratings and recommend products using these light-weight models. Both approaches have been shown to be effective in collaborative filtering. 3.1. Memory-based Collaborative Filtering. Memory-based collaborative filtering techniques have been deployed widely at many commercial Web sites because not only are they simple and conceptually intuitive, but also they are deemed sufficiently accurate for many real-world applications. One of the earliest memorybased collaborative filtering systems [50] is devised by the GroupLens Research Lab, University of Minnesota. It adopts the Pearson correlation coefficient method to compute the similarities among users which are later used to group the like-minded users. Based on the opinions of like-minded users about a certain product, the recommender can infer the preference of a user who does not have a rating for this product. 4
Generally, a memory-based collaborative filtering algorithm consists of two steps: 1. Calculate user similarities to find the nearest neighbors of the target user in the metric space. One of the most accepted metrics to compute similarity is the Pearson Correlation Coefficient. Consider two users x and y and the intersection of their rated products contains m elements, i.e. they share m co-rated products. Let Rx,i (respectively Ry,i ) denote the rating on product i by user x (respectively user y), which is typically in {1, 2, 3...5}. As a ¯ x (respectively R ¯ y ) to denote the average rating value shorthand, we use R of user x (respectively user y) over all the products. The similarity between user x and y is denoted by Sp (x, y): Pm ¯ x ) × (Ry,i − R ¯ y )) ((Rx,i − R cov(x, y) qP (3.1) Sp (x, y) = , = qP i=1 m m σx σy ¯ x )2 ¯ y )2 (R − R (R − R x,i y,i i=1 i=1 2. Predict a user’s rating on a yet-to-rat product based on the ratings of the above selected near neighbors. The prediction of user x on product i, denoted by Px,i , in the simplest form could be computed as the average ratings of these neighbors on this product. However, the most common approach [50] is based on a weighted average of rating deviations of like-minded users. Formally, Pn ¯ y=1 (Ry,i − Ry ) × Sp (x, y) ˆ Pn , (3.2) Px,i = Rx + y=1 |Sp (x, y)| ˆ x is user x0 s where n is the number of the selected nearest neighbors, and R average rating value over all products that he/she has rated so far. Table 3.1 User-Product Table
Music Music Music Music Music Music
1 2 3 4 5 6
Kate 1 5
Luke 4 2
2 4
5 1 2
Mike 2 4 3
Nancy
5
5
The following scenario is a simple example of how to apply the above memorybased filtering algorithm for recommendations. Four users have rated a subset of six pieces of music using values in {1, 2, ..., 5} as shown in Table 3.1. The higher the score, the more preference the user. The recommendation problem is to estimate the users’ ratings for the unrated products in the table, i.e. to fill in the empty cells. To predict Kate’s rating on music 6, we first compute the similarity between Kate and Luke using Equation 3.1. ¯ Kate = (1+5+2+4) = 3 R 4 RLuke = (4+2+5+1) =3 4 Sp (Kate, Luke) = (1−3)×(4−3)+(5−3)×(2−3)+(2−3)×(5−3)+(4−3)×(1−3) √ =√ 2 2 2 2 2 2 2 (1−3) +(5−3) +(2−3) +(4−3) ×
= −0.8 5
(4−3) +(2−3) +(5−3) +(1−3)2
This means that Kate and Luke have dissimilar appreciation in music. Similarly, we can compute the metric between Kate and Mike, which is 1.0. This indicates that they have a very similar taste in music. Note that there is no need to compute the value for Kate and Nancy since they have no co-rated music pieces and Nancy dose not have a reference rating for music 6. Next, we select the 2-nearest neighbors of Kate using these similarity values, i.e. Luke and Mike. Using the rating of Mike and that of Luke for music 6, we obtain an estimated rating of Kate for this piece: ¯ Luke )×Sp (Kate,Luke)+(RMike,6 −R ¯ Mike )×Sp (Kate,Mike) (RLuke,6 −R |Sp (Kate,Luke)|+|Sp (Kate,Mike)| (2−3)×(−0.8)+(5−3)×1 |1|+|−0.8|
ˆ Kate + PKate,i = R =3+ = 4.56
Therefore, the recommender can recommend music 6 to Kate since she is likely to appreciate it based on the prediction score 4.56. There are a series of further research on memory-based collaborative filtering with some adjustments. For instance, a variety of similarity metrics are adopted instead of the original Pearson correlation, such as the mean-squared difference [50], vector similarity [8] or probabilistic similarity [41]. Although details of these techniques are different, all of them share the same intuition that users tend to have similar opinions on a product if they have similar preferences on other products. These memory-based filtering techniques are referred to as user-based approaches. In contrast, item-based collaborative filtering, e.g. Sarwar[47], assumes that a user would also be interested in products similar to the ones that he/she has high ratings for. For instance, if a user has bought many action movies before, he/she usually has a strong intention to buy more action movies. Compared to user-based approaches, item-based methods show more advantages from a theoretical point of view. First, human beings can be emotional and may change their preferences and interests over time or under different circumstances. On the contrary, the features of merchandises are fairly stable. Therefore, the similarity between items often involves a higher system overhead. Second, the construction of user profiles is a little difficult and usually adds the burden of users to input. Furthermore, users are sometimes reluctant to reveal their private information through user profiles. 3.2. Model-based Collaborative Filtering. In contrast to memory-based collaborative filtering, a model-based method constructs an abstract model for underlying user preferences from which predictions are inferred. Several approaches have been proposed and studied in previous work [43, 26, 23, 28, 38]. All of these share the same idea of clustering, i.e., partitioning users or products into groups of similar tastes or attributes for recommendations. Examples include the Bayesian clustering (BC) model [8], Bayesian network (BN) model [8], and Aspect model [23]. The basic idea of the BC model is to assume that ratings are observations of the multinomial mixture model with parameters, and the model is estimated using the Expectation Maximization (EM) algorithm. The BN model aims at capturing item dependency, where each item is a node and dependency structure is learned from observables. The Aspect model is based on a latent cause model that introduces the notion of user communities or groups of items. With the successful application of the aspect model, various probabilistic models have been developed by researchers to complement its shortcomings. The flexible mixture model [51] extends clustering algorithms for collaborative filtering by clustering both users and items simultaneously without assuming that each user and item should only belong to a single cluster. The preference-based graphic 6
model [27] addresses the behaviorial distinction between users. That is, users with similar interests in items may have very different rating habits; some users tend to assign a higher rating to all items than other users. Popescul [43] extends the Aspect model by incorporating the content information of items in order to improve the quality of recommendation and to overcome rating data sparsity. Hofmann [24] further extends the Aspect model to Probabilistic Latent Semantic Analysis(PLSA), which supports numerical ratings instead of categorical ratings (e.g., binary ratings). Pennock et al. [41] propose a method combining both memory-based and modelbased approaches and demonstrate that this combined approach provide better recommendations than pure memory-based or model-based collaborative approaches. Yu et al. [62] also propose a probabilistic approach to collaborative filtering combining both approaches. In particular, it first learns a probabilistic model for each user’s preferences using active learning. Next, a mixture model of user profiles is applied for recommendations. Table 3.2 User bias problem
Item Music 1 Music 2 Music 3 Music 4 Music 5 Music 6
Jack 5 4
Oliver 4 4 4 4
Peter 3 3 3 3
Tom
4
Genre Rock Rock Rock Country Rock Rock
3.3. Limitations. Since collaborative filtering uses other users’ ratings, it can deals with any kind of content for universal recommendation, even those that are quite different from what have been rated in nature. However, collaborative filtering has its own limitations : • Sparsity problem : In any recommender system, the number of ratings collected is usually very small compared to the number of predictions to make. Effective prediction of ratings from a small number of examples is critical in this sense. One solution to this problem is to adopt user profile information or item attributes when calculating user or item similarities. Alternatively, the sparsity problem can be addressed by applying an associative retrieval framework and related spreading activation algorithms to explore transitive associations among consumers through their past transactions and feedback [26]. • Cold start problem: It is hard for pure collaborative filtering to recommend a new item where there is no historical data and hence no user opinions about it. Music 5 in Table 3.2 is an example. The same holds for new users to the system. • Ignorance Problem: Collaborative filtering can be ignorant to certain hidden information (e.g. item category) that could be used for better system performance. For instance in Table 3.2, collaborative filtering only utilities the rating columns but ignores the genre columns in practice. collaborative recommenders are based on the parts of ratings from users which may mislead the inferences made by systems. Here, Music 3 and 4 have the same ratings, and thus have the same chance to be recommended to user Jack by 7
item-based filtering. However, if the system knows that Music 1,2 and 3 fall in the rock category and Music 4 in the country category, it can recommend Music 3 to Jack with a higher priority, provided that he is known to better appreciate rock music. 4. Hybrid Filtering. Although collaborative filtering is able to improve the quality of content-based recommendations based on the ratings of different users, it completely ignores other information that may be available from the semantic contents. On the other hand, content-based filtering does not suffer from this problem. As such, a hybrid approach which combines content-based and collaborative filtering helps to alleviate this problem. Hybrid recommender systems generally are sub-categorized into three different models.
Rating Matrix
Collaborative Filter
Combination Products
Content-based Filter
Fig. 4.1. Simple combination
The first is the simple combination model, which combines results from the collaborative and content-based filters as shown in Figure 4.1. For example, ProfBuilder [57] recommends Web pages using both content-based and collaborative filters, each of which creates a separate recommendation list. Claypool et al. [13] describe a hybrid approach for online news delivery, combining the two predictions using an adaptive weighted average. As the number of users accessing an item increases, so does the weight of the collaborative component. However, Claypool et al. do not clearly specify how to determine the weights of collaborative and content-based components as the system continues to operate.
Products
Contentbased Filter
User Profiles
Collaborative Filter
Fig. 4.2. Sequential combination
The second is the sequential combination model as shown in Figure 4.2. In this model, user profiles are first constructed by a content-based filtering algorithm. Next, a collaborative filtering algorithm is applied to make predictions based on these user profiles, such as RAAP [14] and Fab filtering [4]. RAAP [14] uses a content-based filtering technique to help a user to classify domain specific information found on the Web, and also recommends URLs to other users with similar interests. To determine the similarity of interests among users, a scalable Pearson correlation algorithm based on the Web page categories is used. The Fab system [4] also uses contentbased techniques rather than user ratings to create user profiles. Hence the quality of predictions is completely dependent on the content-based filtering techniques, and 8
inaccurate profiles can cause inaccurate correlations among users, thus yielding poor predictions.
Rating Matrix
Combination Filter
Products
Fig. 4.3. Synthetic combination
The third is the synthetic combination model, in which both semantic contents and user ratings are applied to make recommendations; these include the probabilistic model by Popsecu et al. [43], Ripper system by Basu et al. [5], and the music recommender by Li et al. [35, 36]. Ripper is a machine learning system using a combination of content information and rating data in an effort to produce better recommendations. Good et al. [16] combine personal information filtering agents and user ratings to make recommendations. Popescul et al. [43] provide a probabilistic model for unified collaborative and content-based recommendations. Li et al. [35, 36] present a music recommender system based on an item-based probabilistic model, where items are classified into groups and predictions are made for users considering the Gaussian distribution of user ratings. Audio features and user ratings are utilized together for classification and recommendation. 5. Challenges for the current filtering techniques. Recommender systems discussed so far can be extended in several ways to improve the scalability, data sparsity tolerance, and effectiveness of recommender systems. Such more advanced recommender systems can provide better recommendation capabilities. Here, we review some preliminary efforts in these directions and also identify various future research opportunities. 5.1. Scalability. Existing recommender systems can deal with thousands of consumers within a reasonable amount time, but the demand of modern e-commerce systems is to handle millions of consumers. On the other hand, more and more products are available for consumers to select at an exponentially increasing speed. A robust and successful recommender system should have the ability to process large number of recommended items for numerous consumers. One possible approach to the scalability problem is to divide products or users into different groups. Sarwar et al. [49] partition the users in a system using a clustering algorithm and threat each partition as subsystem. In particular, it first executes a clustering algorithm to create user groups. Next, for a given user, the selection of its nearest neighbors is restricted to groups that are close to this user. As a further extension, Xue [60] introduces a smoothing-based method where smoothed clusters are used for neighbor selection. Traditional filtering algorithms usually are implemented in one or several central servers which play a management role to collect information from individual users and make recommendations. However, ideas from the community of distributed computing can be borrowed for building more scalable filters. Han et al. [18, 19] provide a distributed filtering algorithm, PipeCF, using a peer-to-peer (P2P) overlay based on Distributed Hash Tables (DHTs). However, 9
the performance of DHTs under the dynamic conditions common for P2P systems is unknown. Tveit [53] proposes a P2P collaborative system for mobile commerce based on Gnutella. Peers are represented as software assistant agents interfacing with a mobile customer. When a peer receives a query rating vector, it calculates the similarity to the rating vector carried by the message and caches the message at the node. If the similarity is greater than a threshold, the cached voting vector is sent back to the peer which had issued the query rating vector. Otherwise, the query rating vector is broadcast further to its neighbors. It is noticed that this system has the communication overhead as any P2P network with an unstructured overlay. Kim et al. [30] provide a distributed collaborative filtering algorithm which is based on the Gnutella schema. It applies a self-organizing protocol using friend lists to create shortcuts among peers, which provides a logical network on top of Gnutella’s unstructured overlay. This feature makes it suitable work over any straightforward use of the Gnutella schema such as Tveit. 5.2. Data sparsity. Data sparsity refers to the difficulty that most users rate only a small number of products and hence a very sparse user-item matrix is available. Consequently, the accuracy of the method is often quite poor. In addition, because of data sparsity, a recommender system may have insufficient ratings to make a recommendation. In particular, for memory-based filtering algorithms, user similarity is only defined between customers who have rated at least two products in common. Many pairs of customers have no correlation at all. In practice, many commercial recommender systems are used to evaluate large product sets (e.g., Amazon.com recommends books and CDnow recommends music albums). In these systems, even active customers may have rated well under 1% of the products (1% of 2 million books is 20,000 books — a large set on which to have an opinion). Accordingly, the system may not be able to provide a particular user with a non-trivial portion of all items in the system. To overcome data sparsity, Brand [7] and Sarwar et al. [48] apply the Singular Value Decomposition (SVD) technique to reduce the dimensionality of the customerproduct ratings matrix. Others rely on the estimation of missing ratings based on the obtained ones [60, 25, 56]. Xue et al. [60] introduce a smoothing-based method to estimate unrated products. Hu and Lu [25] also apply a hybrid predictive algorithm with smoothing. Their algorithm uses item-based methods to provide the basis for data smoothing and builds a prediction model based on both users’ and items’ aspects for better robustness against sparsity and for higher prediction accuracy. Wang et al. [56] reformulate the memory-based collaborative filtering problem under a generative probabilistic framework, treating individual user-item ratings as predictors of missing ratings. The final rating is estimated by fusing predictions from three different sources. The complete model is more robust against data sparsity because different types of ratings are used in concert while additional ratings from similar users towards similar items are employed as a background model to smooth the predictions. 5.3. Effectiveness of recommendation. The problem of developing good metrics to measure the effectiveness of recommendation has been extensively addressed in the recommender systems literature. Some examples of this work include [21, 22, 61]. In most of the recommender systems literature, the performance evaluation of recommendation algorithms is usually done in terms of coverage and accuracy. The coverage measure is the percentage of items for which a recommender system is capable of providing predictions. The accuracy measures can take two forms. The statistical accuracy metric compares the estimated ratings against the actual ratings including 10
Mean Absolute Error (MAE), root mean squared error, and correlation between predictions and ratings. Alternatively, it may also determine how well a recommender system can make predictions of high-relevance items. In this sense, an accuracy measure includes classical information retrieval measures of precision, recall, F-measure (a harmonic mean of precision and recall) in recommender systems [1]. Despite their popularity, these empirical evaluation measures have some limitations. These measures are typically performed on test data that the users chose to rate. However, items that users choose to rate are likely to constitute a skewed sample, e.g., users may rate mostly the items that they are interested in. Understandably, it is expensive and time-consuming to conduct controlled experiments with users in the recommender systems settings. In addition, although crucial for measuring the accuracy of recommendations, the technical measures mentioned earlier often do not adequately capture “usefulness” and “quality” of recommendations. For example, as Wade [55] observes for a supermarket application, recommending obvious items (such as milk or bread) that the consumer will buy anyway will produce high accuracy rates; however, it will not be very innovative to the consumer. Developing and studying the measures that would remedy the limitations described here indicates an interesting and important research direction. 5.4. Further investigation. Despite the efforts in the fields mentioned above, other important issues have been explored include user privacy, trustworthiness and context-aware recommendation. • One of user concerns to use recommender systems freely and comfortably is user privacy. Users are usually reluctant to disclose their private information such as purchase, reading, browsing records. However, most current filtering algorithms need to obtain user private information for further analysis and recommendation services. Some work [42, 11] has studied on how to protect user privacy in recommender systems. • Current filtering techniques assume that user ratings are trustable and treat all users equally. However, some [29, 37, 39, 64] argue that the opinions of experts should be more emphasized than that of novices. • Context-aware recommendation [9, 33, 10, 12, 63] study on how to apply contextual information to improve a system performance and provide on-demand services in a certain circumstance. For instance, a context-aware restaurant recommender system provides a traveller with recommended restaurants which are close to his/her current location. 6. Conclusion. Research in recommender systems has made significant progresses over last decades when numerous content-based, collaborative, and hybrid methods have been proposed and several commercial systems have been developed. However, despite all of these advances, current recommender systems still deserve further improvements to make them more effective in a broader range of applications. 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, 17 (2005), pp. 734–749. [2] P. Anick, J. Brennan, R. Flynn, D. Hanssen, B. Alvey, and J. Robbins, A direct manipulation interface for boolean information retrieval via natural language query, Proceedings of the 13th annual international ACM SIGIR conference on Research and development in information retrieval, (1989), pp. 135–150. 11
[3] R. Baeza-Yates, B. Ribeiro-Neto, et al., Modern information retrieval, Addison-Wesley Harlow, England, 1999. ´ and Y. Shoham, Fab: content-based, collaborative recommendation, Com[4] M. Balabanovic munications of the ACM, 40 (1997), pp. 66–72. [5] C. Basu, H. Hirsh, and W. Cohen, Recommendation as classification: Using social and content-based information in recommendation, Proceedings of the Fifteenth National Conference on Artificial Intelligence (AAAI), (1998). [6] D. Billsus and M. Pazzani, User Modeling for Adaptive News Access, User Modeling and User-Adapted Interaction, 10 (2000), pp. 147–180. [7] M. Brand, Fast online SVD revisions for lightweight recommender systems, Proceedings of the 3rd SIAM International Conference on Data Mining, (2003). [8] J. Breese, D. Heckerman, and C. Kadie, Empirical Analysis of Predictive Algorithms for Collaborative Filtering, Proceedings Of Conference on Uncertainty in Artificial Intelligence, (1998), pp. 43–52. [9] M. Brunato and R. Battiti, PILGRIM: A location broker and mobility-aware recommendation system, Proceedings of the First IEEE International Conference on Pervasive Computing and Communications, (2003), pp. 265–272. [10] O. Byung Kwon, I know what you need to buy: context-aware multimedia-based recommendation system, Expert Systems With Applications, 25 (2003), pp. 387–400. [11] J. Canny, Collaborative filtering with privacy, Proceedings of IEEE Symposium on Security and Privacy, (2002), pp. 45–57. [12] A. Chen, Context-aware collaborative filtering system: Predicting the users preference in the ubiquitous computing environment, Proceedings of Conference on Human Factors in Computing Systems (CHI), (2005). [13] M. Claypool, A. Gokhale, T. Miranda, P. Murnikov, D. Netes, and M. Sartin, Combining content-based and collaborative filters in an online newspaper, Proceedings of ACM SIGIR Workshop on Recommender Systems, (1999). [14] J. Delgado, N. Ishii, and T. Ura, Content-based collaborative information filtering, Proceedings of Cooperative Information Agents II, Learning, Mobility and Electronic Commerce for Information Discovery on the Internet, Second International Workshop, CIA, 98 (1998), pp. 206–215. [15] D. Goldberg, D. Nichols, B. Oki, and D. Terry, Using collaborative filtering to weave an information tapestry, Communications of the ACM, 35 (1992), pp. 61–70. [16] N. Good, J. Schafer, J. Konstan, A. Borchers, B. Sarwar, J. Herlocker, and J. Riedl, Combining collaborative filtering with personal agents for better recommendations, Proceedings of National Conference on Artificial Intelligence (AAAI), 99 (1999), pp. 439–446. [17] D. Gupta, M. Digiovanni, H. Narita, and K. Goldberg, Jester 2.0: A New Linear-Time Collaborative Filtering Algorithm Applied to Jokes, Proceedings of Workshop on Recommender Systems at ACM SIGIR-99, (1999). [18] P. Han, B. Xie, F. Yang, and R. Shen, A scalable P2P recommender system based on distributed collaborative filtering, Expert Systems With Applications, 27 (2004), pp. 203–210. [19] P. Han, B. Xie, F. Yang, J. Wang, and R. Shen, A Novel Distributed Collaborative Filtering Algorithm and Its Implementation on P2P Overlay Network, Advances in Knowledge Discovery and Data Mining: 8th Pacific-Asia Conference, PAKDD 2004, Sydney, Australia, May 26-28, 2004: Proceedings, (2004). [20] D. Hauver and J. French, Flycasting: using collaborative filtering to generate a playlist for online radio, Proceedings of First International Conference on Web Delivering of Music, (2001), pp. 123–130. [21] J. Herlocker, J. Konstan, and J. Riedl, An algorithmic framework for performing collaborative filtering, Proceedings of the 22nd annual international ACM SIGIR conference on Research and development in information retrieval, (1999), pp. 230–237. [22] J. Herlocker, J. Konstan, L. Terveen, and J. Riedl, Evaluating collaborative filtering recommender systems, ACM Transactions on Information Systems (TOIS), 22 (2004), pp. 5– 53. [23] T. Hofmann, Collaborative filtering via gaussian probabilistic latent semantic analysis, Proceedings of the 26th annual international ACM SIGIR conference on Research and development in informaion retrieval, (2003), pp. 259–266. [24] , Latent semantic models for collaborative filtering, ACM Transactions on Information Systems (TOIS), 22 (2004), pp. 89–115. [25] R. Hu and Y. Lu, A Hybrid User and Item-Based Collaborative Filtering with Smoothing on Sparse Data, Artificial Reality and Telexistence–Workshops, ICAT’06., (2006), pp. 184– 189. 12
[26] Z. HUANG, H. CHEN, and D. ZENG, Applying Associative Retrieval Techniques to Alleviate the Sparsity Problem in Collaborative Filtering, ACM Transactions on Information Systems, 22 (2004), pp. 116–142. [27] R. Jin, L. Si, and C. Zhai, Preference-based Graphic Models for Collaborative Filtering, Proceedings of 19th Conference on Uncertainty in Artificial Intelligence, pp. 329–336. [28] R. Jin, L. Si, C. Zhai, and J. Callan, Collaborative filtering with decoupled models for preferences and ratings, Proceedings of the twelfth international conference on Information and knowledge management, (2003), pp. 309–316. [29] H. Kautz, B. Selman, and M. Shah, Referral Web: combining social networks and collaborative filtering, Communications of the ACM, 40 (1997), pp. 63–65. [30] B. Kim, Q. Li, and C. Y. P. Howe, A.E. Howe, Collaborative Web Agent Based on Friend Networke, Applied Artificial Intelligence, 22 (2008). [31] M. Kim and V. Raghavan, Adaptive Concept-based Retrieval Using a Neural Network, Proceedings of ACM-SIGIR Workshop on Mathematical/Formal Methods in IR, (2000). [32] J. Lee, Ranking Documents in Thesaurus-Based Boolean Retrieval Systems., Information Processing and Management: an International Journal, 30 (1994), pp. 79–91. [33] D. Lemire, H. Boley, S. McGrath, and M. Ball, Collaborative Filtering and Inference Rules for Context-Aware Learning Object Recommendation, International Journal of Interactive Technology and Smart Education, 2 (2005), pp. 179–188. [34] Q. Li and B. Kim, Clustering approach for hybrid recommender system, Proceedings of IEEE/WI International Conference, (2003), pp. 33–38. [35] Q. Li, B. Kim, D. Guan, and D. whan Oh, A music recommender based on audio features, Proceedings of the 27th annual international conference on Research and development in information retrieval, (2004), pp. 532–533. [36] Q. Li, S. Myaeng, and B. Kim, A probabilistic music recommender considering user opinions and audio features, Information Processing and Management, 43 (2007), pp. 473–487. [37] P. Massa and P. Avesani, Trust-aware collaborative filtering for recommender systems, Proceedings of International Conference on Cooperative Information Systems, Agia Napa, Cyprus, (2004). [38] O. Nasraoui and M. Pavuluri, A Context Ultra-Sensitive Approach to High Quality Web Recommendations based on Web Usage Mining and Neural Network Committees, Proceedings of 3rd International Workshop on Web Dynamics in conjunction with the 13th International World Wide Web Conference New York City, New York, USA, May 18, 2004, (2004). [39] J. O’Donovan and B. Smyth, Trust in recommender systems, Proceedings of the 10th international conference on Intelligent User Interfaces, (2005), pp. 167–174. [40] Y. Ogawa, T. Morita, and K. Kobayashi, A fuzzy document retrieval system using the keyword connection matrix and a learning method, Fuzzy Sets and Systems, 39 (1991), pp. 163–179. [41] D. Pennock, E. Horvitz, S. Lawrence, and C. Giles, Collaborative filtering by personality diagnosis: A hybrid memory-and model-based approach, Proceedings of the 16th Conference on Uncertainty in Artificial Intelligence, (2000), pp. 473–480. [42] H. Polat and W. Du, Privacy-Preserving Collaborative Filtering, International Journal of Electronic Commerce, 9 (2003), pp. 9–35. [43] A. Popescul, L. Ungar, D. Pennock, and S. Lawrence, Probabilistic models for unified collaborative and content-based recommendation in sparse-data environments, Proceedings of 17th Conference on Uncertainty in Artificial Intelligence, 458 (2001). [44] P. Resnick, N. Iacovou, M. Suchak, P. Bergstrom, and J. Riedl, GroupLens: an open architecture for collaborative filtering of netnews, 1994. [45] S. Robertson, S. Jones, et al., Relevance Weighting of Search Terms., Journal of the American Society for Information Science, 27 (1976), pp. 129–46. [46] G. Salton and C. Buckley, Term-weighting approaches in automatic text retrieval, Information Processing and Management: an International Journal, 24 (1988), pp. 513–523. [47] B. Sarwar, G. Karypis, J. Konstan, and J. Reidl, Item-based collaborative filtering recommendation algorithms, Proceedings of the 10th international conference on World Wide Web, (2001), pp. 285–295. [48] B. Sarwar, G. Karypis, J. Konstan, and J. Riedl, Application of Dimensionality Reduction in Recommender System-A Case Study, 2000. [49] B. Sarwar, G. Karypis, J. Konstan, and J. Riedl, Recommender systems for large-scale e-commerce: Scalable neighborhood formation using clustering, Proceedings of the Fifth International Conference on Computer and Information Technology, (2002). [50] U. Shardanand and P. Maes, Social information filtering: algorithms for automating word 13
[51] [52] [53] [54] [55] [56]
[57]
[58]
[59]
[60]
[61] [62]
[63] [64]
of mouth, Proceedings of the SIGCHI conference on Human factors in computing systems, (1995), pp. 210–217. L. Si and R. Jin, Flexible mixture model for collaborative filtering, Proceedings of International Conference on Machine Learning (ICML), (2003). D. Terry, A tour through Tapestry, ACM Press New York, NY, USA, 1993. A. Tveit, Peer-to-peer based recommendations for mobile commerce, Proceedings of the 1st international workshop on Mobile commerce, (2001), pp. 26–29. J. Verhoeff, W. Goffman, and J. Belzer, Inefficiency of the use of Boolean functions for information retrieval systems, Communications of the ACM, 4 (1961), pp. 557–558. W. Wade, A grocery cart that holds bread, butter and preferences, New York Times, (2003). J. Wang, A. de Vries, and M. Reinders, Unifying user-based and item-based collaborative filtering approaches by similarity fusion, Proceedings of the 29th annual international ACM SIGIR conference on Research and development in information retrieval, (2006), pp. 501– 508. A. Wasfi, Collecting user access patterns for building user profiles and collaborative filtering, Proceedings of the 4th international conference on Intelligent user interfaces, (1998), pp. 57– 64. R. Wilkinson and P. Hingston, Using the cosine measure in a neural network for document retrieval, Proceedings of the 14th annual international ACM SIGIR conference on Research and development in information retrieval, (1991), pp. 202–210. K. Wittenburg, D. Das, W. Hill, and L. Stead, Group Asynchronous Browsing on the World Wide Web, Proceedings of 4th International WWW Conference, Boston (MA), December, (1995). G. Xue, C. Lin, Q. Yang, W. Xi, H. Zeng, Y. Yu, and Z. Chen, Scalable collaborative filtering using cluster-based smoothing, Proceedings of the 28th annual international ACM SIGIR conference on Research and development in information retrieval, (2005), pp. 114–121. Y. Yang and B. Padmanabhan, On Evaluating Online Personalization, Proceedings of the Workshop on Information Technology and Systems, (2001), pp. 35–41. K. Yu, X. Xu, J. Tao, M. Ester, and H. Kriegel, Instance Selection Techniques for MemoryBased Collaborative Filtering, Proceedings of Second SIAM International Conference on Data Mining (SDM02), (2002). Z. Yu, X. Zhou, D. Zhang, C. Chin, X. Wang, and J. Men, Supporting Context-Aware Media Recommendations for Smart Phones, IEEE Pervasive Computing, 5 (2006), pp. 68–75. G. Zacharia, A. Moukas, and P. Maes, Collaborative reputation mechanisms for electronic marketplaces, Decision Support Systems, 29 (2000), pp. 371–388.
14