Since then research in collaborative filtering recommenders has moved forward in several directions. The most fruitful has been in creating and evaluating more algorithms. A new algorithm, called Item-based Collaborative Filtering was proposed by Sarwar et al. [131]. Instead of finding users who have similar opinions to each other, Item-based CF finds items that are similar to each other. We will look at this algorithm in detail later. Beyond Item-based CF, several more machine learning algorithms have been applied in this domain. SVD has been applied to reduce the size of the ratings space [129]. Canny et al. proposed using factor analysis [18], and Popescul et al. used latent class models [113] to calculate relationships between users and items. As can be expected, this has lead to a proliferation of other probabilistic models for use as recommenders [108, 133]. While they all are interesting for different reasons, we will explore two examples in this dissertation: Naive Bayes [ 13], and Probabilistic Latent Semantic Analysis [59]. The first is considered a classic machine learning algorithm and is useful as a baseline, the other is a new algorithm which has many interesting properties. Both will be discussed in detail later Recently, researchers have developed and tested new algorithms that can have useful properties for complex, data-rich recommendations. Many of these are hybrid algorithms as classified by [16]. Several researchers have combined collaborative filtering with content-based filtering to generate movie recommendations [92],a personalized newspaper [25], and book recommendations [99, 156]. Taxonomies have also been used to enhance recommenders [93] Researchers have also moved forward to tackle other problems in recommenders as well. To help relieve sparsity in recommenders, Filter Bots are users' inserted into a recommender who rate items based on a predetermined criteria(e. g. the"Bruce willis bot would rate all of his movies very high, and other movies low )[43]. The problem of getting new users into a recommender has also received a lot of attention, especially in determining more efficient ways of bringing new users into the system [89, 117, 133].It may be possible to cheat a recommender through"shilling', the process of artificially adding ratings to influence predictions in a set way. Luckily, there has been work done to Reproduced with permission of the copyright owner. Further reproduction prohibited without permission
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission
tackle that problem as well [71, 105]. Finally, there have been discussions of theoretical foundations for collaborative filtering. Pennock at el propose using Social Choice Theory as such a foundation [107] Trying to understand a user's context is not new in recommender systems Herlocker et al. created an'ephemeral'recommender which generated recommendations using both a user's profile and a selected subset of that profile representing the user current interest [52]. Yahoo! Music(formerly LaunchCast) has taken this concept one further by allowing users to create and store multiple lists of items, each one representing a mood[157]. Both of these concepts express a user's need as please show me more like this. In a similar fashion, van Setten et al. demonstrated location- sensitive recommendations using GPS-enabled devices for tourists [149]. Here, the need is please show me more near where I am located. These approaches are similar in spirit to what we propose. We believe, however, that the user should also be able to specify what kind of recommendations she would like to get back(e. g. in Yahoo Music, being able to say, "Im feeling curious right now, please play less popular and more esoteric music").So, not only can a user describe a current need, but the user should also have an influence as to how the recommender generates recommendations by also describing context. As we will argue later, this may require continual changes within recommender, but should appear transparent to the end user Finally, there are augmented algorithm approaches to incorporate extra contextual information in directly into recommenders. Adomavicius et al. used a multi-dimensional approach [3]. Goal-based structuring systems create networks of recommendation strategies through which the user traverses as he receives recommendations, selecting strategies that match the user's current interests [151]. These networks are usually predefined or linked to content/attributes of items the space [ 150]. These concepts are related to our work, but we take a content-agnostic approach where we link recommender lgorithms to a set of externally derived concepts from which users can select the most appropriate concept(s) for their current need Reproduced with permission of the copyright owner. Further reproduction prohibited without permission
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission
Case-Based Reasoning and Conversational Recommenders Another important recommender methodology related to this work is case-based reasoning( CBR)[49, 122, 124]. CBR is useful for solving constraint-based problems where users specify content-based attributes which limit the returned recommendation set (e.g. I want to see a movie starring Arnold Schwarzenegger released in the 1990s rated either G or PG). Historically, CBR is considered a problem-solving methodology in which previous problem solving episodes are remembered by the system and stored as cases[145]. Each case contains a problem component and a solution component When a new problem is formulated, the system looks for similar problem components and suggests their solutions for this new problem. The recommender view equates the oblem to the user model and the potential solution to recommendations One of the methodologies used in CBR systems is to create an interactive recommendation experience where the system presents information sequentially, using the information gathered at each stage to further customize the user's experience. These have come to be known as"conversational recommenders" and come in two varieties iterating over attribute questions(as in[123)and iterating over a selection of recommended items(as in[82]). For both types of systems, Pu et al. [1 15] provides a set of recommended interaction principles to follow suggesting ways in which the user maintains control over their profile during the conversation. As a note of terminology, in a conversational recommender each iteration is a recommendation cycle[82] In the first variety, CBR systems use a wide variety of methods for determining which questions to ask at each cycle. Both entropy and popularity-based approaches have been used finding that a hybrid approach works well [94], similar to the work for bringing new users into a collaborative filtering-based recommender system [117].When user constraints become to narrow, CBR systems can choose to ' relax a constraint in erate recommendations [95]. This method is generalizable into creating a partial ordering expression to express the constraints, such that the knowledge of which constraints can be'relaxed' is embedded in the user profile [14] 21 Reproduced with permission of the copyright owner. Further reproduction prohibited without permission
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission
In the second variety, lists of items are presented to user, and based on a given selection, new lists are presented until the user chooses to consume(e.g. purchase)a presented item. Such methods promote discovery and exploration by users, especially in domains where the user may be intimidated by jargon or complexity [122]. These systems, however, must allow a user to back out of a given selection if he feels he made an incorrect selection, and the system should adapt accordingly [82]. Moreover, such systems can retain both long-term and short-term preference information about a frequently visiting user to make even the first set of recommended items personalized [83,144] Because of the interactive nature of CBR systems, researchers have also focused on the diversity of presented recommendation lists. The argument is that if a user is not happy with the mostly highly recommended item in a list, then the chances of her being ith some other item on the list are greater if the list Diversifying lists may reduce accuracy, and researchers have developed algorithms to increase diversity with a minimal loss of accuracy [91]. The argument that a loss of accuracy is always unacceptable is one that we challenge in this thesis. Finally, recent work has provided a framework for determining when to increase and decrease diversity in CBR conversational recommender [82, 122 Researchers have also suggested ways to combine collaborative filtering with similarity knowledge found in cases, and using those similarities in a CF-like manner to generate recommendations [104]. Hayes et al. took the idea further to show that CF can be viewed from a CBr perspective, and it can be implemented using a case retrieval net model [1491 Their unique and novel approach shows how one can encode different levels of similarity and rating information into a neural net and use a spreading activation algorithm to generate recommendations in a conversational recommender context. They also show how this model can be used to add'context'to a CF-based recommender [48]. Here, they re-order recommendation lists generated by traditional CF with similarity Reproduced with permission of the copyright owner. Further reproduction prohibited without permission
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission
information gathered by a spreading activation algorithm over the users'most recent system usage(considered as their context) A Summary of Common Recommender Problems Recommender algorithms face several problems. In this section, we summarize these problems and discuss research in these areas. We will refer back to these problems in future chapters and discuss how our algorithm implementations avoid these problems We first discuss evaluation problems common across many of the previously published papers on recommender systems. For several systems, these problems were operational umptions, and we call them out here as we feel these assumptions may have unduly limited our view of recommender systems. After discussing these common problems, we will focus our attention on problems relevant to each of the three varieties of recommender algorithms. Some of these problems may be relevant to more than one variety of recommender, but we will discuss each one in the variety in which we feel it is most severe Common Problems when Evaluating Recommender Algorithms There are several problems common to previous recommender evaluations discussed above. Several of these problems will be re-visited in later chapters. 1. A single recommendation cycle The entire model is designed around the principle of a single, independent recommendation instance. There is no memory of previous recommendations or of changes to a user's model. As has already been discussed in [82, 122], there are many benefits to an iterative recommendation process, and we will explore them in human-Recommender interaction theor 2. No feedback sent back to the user Sinha et al. argue that in order to increase trust in recommenders, recommenders need to be more transparent about the recommendations they generate [137] Transparency includes explaining why specific recommendations appeared [54] Reproduced with permission of the copyright owner. Further reproduction prohibited without permission
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission