Feature-Driven Interactive Recommendations and Explanations with Collaborative Filtering Approach Sidra Naveed Jürgen Ziegler Duisburg-Essen University Duisburg-Essen University Germany Germany sidra.naveed@uni-due.de juergen.ziegler@uni-due.de ABSTRACT Current state-of-the-art approaches are already quite mature and Recommender systems (RS) based on collaborative filtering (CF) are often applied in a relatively straightforward recommendation or content-based filtering (CB) have been shown to be effective scenario by mostly relying on the user ratings of the items. The means to identify items that are potentially of interest to a user, by filtering process of such systems often assumes that the features of mostly exploiting user’s explicit or implicit feedback on items. Even an item are equally important for the user. However, in reality, the though, these techniques achieve high accuracy in recommending, evaluation of recommendations is a complex scenario especially for they have their own shortcomings- so hybrid solutions combining high risk-involved domains e.g., digital cameras, where deciding the two techniques, have emerged to overcome their disadvantages to buy a digital camera is more complex than choosing a song to and benefit from their strengths. Another general problem can be listen. In such complex domains where personal and financial risk seen in the lack of transparency of contemporary RS, where the is associated with a product decision, users rely more on item’s user preference model and the recommendations that represent features to make a decision, where features of an item play an that model are neither explained to the current user nor the user important role in the user’s evaluation of an item [4]. However, can influence the recommendation process except for rating or current CF and CB approaches lack a connection between user re-rating (more) items. In this paper, we first enhanced the CF ratings and item’s features which need to be incorporated especially approach by modelling user preferences based on items’ features in the complex recommendation process. in a complex product domain. The user-feature model is then used The increasing complexity of recommender systems has also as an input to the user-based CF to generate recommendations created a demand for more transparent explanations and most of and explanations. With our proposed approach, we aim to increase the research on explaining recommendations has mostly focused transparency and offer richer interaction possibilities in current on a single source of data. Combining the user ratings with item’s Recommender Systems- where users are allowed to express their features in a hybrid manner could more clearly explain the user in- interests in terms of features and interactively manipulate their terests for an item and could be more effective than the explanations recommendations through existing user profile and explanations. that rely only on a single source of data [13]. Additionally, it has been shown that only improving recommen- CCS CONCEPTS dation process in terms of increased algorithmic accuracy does not necessarily lead to appropriate level of user satisfaction [11]. Past • Information systems → Recommender systems. research has also shown that in some application domains, users appreciate to be actively involved in the recommendation process KEYWORDS and in control of their recommendations [5, 10]. In many, real-world Feature-based CF, Interactive recommendations recommender systems e.g., Amazon and Netflix, users have limited or no control to influence their recommendations, to inform the 1 INTRODUCTION system about its incorrect assumptions, or to specify that prefer- Recommender systems (RS) based on collaborative filtering (CF) and ence information has been outdated [2, 7]. These mechanisms are content-based filtering (CB) are widely used techniques [16]. The mostly in terms of allowing the users to rate or re-rate single items major difference between CF and CB systems is that CF approach ex- [14]. Therefore, allowing users to interactively manipulate their ploits user-item ratings data to generate recommendations, whereas recommendations not only lead to higher user satisfaction but also CB systems exploit features of items for recommendations [9]. increases the system transparency [8, 12, 19]. However, each technique introduces some shortcomings where To address the above mentioned issues, we implemented a hybrid the CF technique has to deal with a cold-start, scalability and the so approach in the complex domain of digital cameras, in which we called "Gray Sheep"1 problems [18]. On the other hand, CB systems exploit the user’s preferences of features in a collaborative filter- suffer from over specialization where a user only sees items similar ing approach that computes the similar users based on the feature to the ones he or she has already rated in the past, which raises the preferences rather than the item preferences. We implemented a risk of users being stuck in a "filter bubble" [1]. prototype system, that showcases the possibilities of exploiting the 1 The term "Gray sheep" refers to a user with unique preferences for which similar user’s preferences of features in terms of 1) incorporating in the users can not be found complex recommendation process 2) explaining the user’s inter- est of an item 3) interactively manipulating the recommendation ComplexRec 2019, 20 September 2019, Copenhagen, Denmark process. We contribute to the state of research by addressing the Copyright ©2019 for this paper by its authors. Use permitted under Creative Commons following research question: License Attribution 4.0 International (CC BY 4.0). ComplexRec 2019, 20 September 2019, Copenhagen, Denmark Naveed and Ziegler. RQ 1: How can feature-based information be exploited in col- laborative filtering systems for: a) Preference elicitation of users in cold-start situation b) Generating item and feature recommendations based on the user profile c) Generating explanations based on the user profile d) Manipulating recommendations through existing user profile 2 FEATURE-BASED COLLABORATIVE FILTERING APPROACH In this section, we describe our implemented feature-based col- laborative filtering approach, that enhances the conventional CF approaches which relies mostly on the explicit user’s ratings on items. 2.1 Description of the dataset Recommender systems require a dataset that provides users’ inter- ests and preferences. In most of the cases, these preferences are in terms of the set of items and the ratings that users provide to each item. There are many available datasets that can be used to imple- ment different RS algorithms. For our proposed methodology, we used the Amazon ratings dataset, provided by the university of Cal- ifornia San Diego (UCSD)2 . The structure of the dataset is defined by a set of users U = {u 1 , ..., un } and a set of items I = {i 1 , ..., im }, where r iu are the items assessed, r iu ∈ D (implicit or explicit), by the user u in an expression domain Du . The rating value r iu ∈ D is Figure 1: For each user u, the user-feature matrix F is created defined on the numeric scale from 1 (strongly dislike) to 5 (strongly from matrix R and I, and the user-feature weighting matrix like). Q is created from the matrix F To implement the feature-based CF approach in the domain of digital cameras, we created a matrix R by only considering the user-items-ratings data of digital cameras. As our approach focuses profile based on features instead of items, to use as an input in the on exploiting features of an item, it is necessary to complete the in- feature-based CF approach. formation provided by the matrix R with information that describes 2) The user-feature-weighting matrix Q construction: Current CF the product’s content in terms of features. This descriptive feature- approaches exploits user’s ratings on the items to identify similar based information of the cameras has been obtained from a vendor users and then predict items from similar users’ profiles to recom- independent test organization (test.de)3 in Germany and is used mend it to the active user. The filtering process of such systems, to create the item-feature matrix I. This matrix represents a set of does not takes into account the feature preferences which is subjec- items I = {i 1 , , ..., im } described by a set of features C = {c 1 , ...., c k }, tive and is different for each user. To implement the feature-based where each item i is described by a vector Vi = {vci , c = 1, ..., k }. CF approach, feature preferences of users are required which could To associate the user-item-ratings matrix R with item-features be implicitly derive from the item-ratings [4]. To get these implicit matrix I, we created another user-item-features matrix F. For each feature-based preferences, we implemented the feature-weighting user u, the matrix F is created and is shown in the Figure 1. technique proposed by Barranco et al., [3] (see section 2.2.2) which Due to some technical limitations, the features of only 447 digital is composed of three steps: 1) Calculation of inter-user dissimilarity cameras out of 7659 cameras present in the matrix R, were extracted 2) Calculation of Intra-user similarity and, 3) Calculation of feature from test.de website, where 128 cameras out of 447 cameras have weights. For performance reason the above-mentioned three steps ratings present in the matrix R. This reduces our data to 15676 are computed offline. users, 128 items and 16071 ratings, where users who have rated 3) Computing similar users: The user-feature-weightings matrix three or more than three items are considered for implementing Q from the step 2 and the active user’s profile are used as an input our prototype system. in our feature-based CF approach to compute similar users based on the feature preferences. To compute similarity between active 2.2 Method user’s and other users’ feature-based profiles, the Gower’s similarity To implement our feature-based collaborative filtering approach, measure is used [6], which can take into account heterogeneous we followed the steps that are explained in the later sections. 1) feature types (nominal and numeric)4 and the feature-weightings , Preference elicitation at cold-start: The first step is to create a user’s when computing similarity between objects. 2 http://jmcauley.ucsd.edu/data/amazon/links.html 4 For each digital camera, 90-92 features are extracted having heterogeneous data types 3 https://www.test.de/ i.e., nominal, numeric, and binary Feature-Driven Recommendations and Explanations ComplexRec 2019, 20 September 2019, Copenhagen, Denmark 4) The item recommendation generation process: Once the sim- Calculation of intra-user similarity. In this phase, the dependency ilar users are identified, the top rated items from users’ profiles coefficient DCuk between ratings provided by the user u on the set are recommended that have all the features preferred by the active of experienced items and the values of a feature c k on this set of user. items, is computed. As the features are heterogeneous in nature 5) The feature recommendation generation process: The user- i.e., numeric and nominal, therefore correlation and contingency feature-weighting matrix is also used as an input to CF approach to measures are used to compute this dependency coefficient for both generate feature recommendations based on similar users’ feature types of features preferences. • Dependency coefficient for numeric features using Pearson In the following sections, we describe each step in detail. correlation 2.2.1 Preference elicitation at cold-start. In our feature-based CF Pearson correlation is used to measure the dependency between approach, new users, in contrast to a conventional preference elici- user’s ratings on items and the values of the feature k on this set of tation phase, be asked to select a certain number of features, rate items, and is computed by the formula: the features in terms of the relevance to their needs using the 5- i ri i vi j Í u Í u star ratings, and select the preferred feature-value(s). For numeric Í u u i r i vi j − nu features, the user can only select one customized range value and PCCu j = s (2) rate the feature, whereas for nominal features, the user can select r Í u 2 ( i ri ) Í u 2  Í u 2 Í u 2  V i ij i vi j −  multiple options using check boxes. This creates a user-feature- i (r i ) − nu nu ratings profile for the new user. If the user profile already exists and active user updates his/her preferences, the newly selected value • Dependency coefficient for nominal features using Cramer for the numeric feature(s) over writes the already present value V coefficient in the profile, whereas for nominal features, the newly selected Cramer V coefficient is used to measure the dependency between value(s) is added to the user profile (if that value does not already user’s ratings on items and the values of the nominal feature j on exists in the profile). this set of items, and is computed by the formula: v u 2 2.2.2 The user-feature weighting matrix Q construction. 5 fk fk u  u u f ku ,k j − nu j u u u The feature-based preferences of users are missing in conven- u Í Í t ku k j u fk fk u j tional item-ratings data sets available for RS, which needs to be nu VCu j = (3) derived implicitly from users’ ratings profiles. For this purpose, the nu min(|Du |, |D j |) feature-weighting technique from [3] is applied, which creates a matrix Q, which stores the weightings of features for each user Calculation of features weights. The final weight for each feature especially when features are multi-valued and heterogeneous in na- for each user is computed by taking a product of normalize entropy ture. The applied method is further divided into three steps, where and dependency coefficient and is given by the formula: each step is explained briefly. w uj = DCu j .H j ∗ (4) Calculation of inter-user dissimilarity. In this step, the aim is to 2.2.3 Computing similar users. Once the new user’s profile is cre- look for features that may describes the taste and necessities of ated or the active user’s profile is updated, the next step is to find the user. For this purpose, the entropy H j is computed for each users that are similar to the active user in terms of the preferred feature c j , which takes into account the discriminating aspect of the feature-value(s) and the feature-weighting. To compute a similarity, features i.e., features with more values are more discriminant than the matrix Q and the profile of active user are used as an input in features with fewer values. Therefore, the higher entropy value the user-based collaborative filtering. means that the feature is more relevant. To calculate the entropy As the features of cameras are heterogeneous in nature (nom- values for each feature, Shannon entropy method is used, which not inal and numeric), so separate measures needs to be applied to only give importance to features with more values but also take compute the similarity between two objects, considering the data care of the distribution of these values, where the feature with more types of features in to account. For this purpose, Gower’s coeffi- uniform distribution gets he higher entropy value [17]. The entropy cient of similarity [15] is applied, which takes into account nominal values are computed using the following formula: and numeric data types when computing similarity between two Õ objects. Additionally, it has an advantage that sparsely populated Hj = − (fk j /n)loд2 (fk j /n) (1) data matrices are tolerated. For example, it may happen that the kj active user evaluates a feature c and select a feature value, which is not present in the user-feature-weighting matrix Q of the user Here, c k is the feature that takes the set of values k j , fk j is the u. As a result, no similarity between the active user and the user frequency of the feature value vk in the whole set of items I. The u could be determined. However, Gower’s similarity coefficient log(0)=0 ensures that the values with frequency 0 does not affect the solves the problem by assigning a similarity value equal to 0 in the result. The entropy value H j is normalized to get the final entropy absence of a feature value, without affecting the overall similarity H j∗ having the values between 0 to 1. computation. The Gower’s general similarity coefficient measures the similar- 5 Please refer to [3, 4] for further detail of all the formulas used in section 2.2.2 ity between two objects (which in this case are active user and the ComplexRec 2019, 20 September 2019, Copenhagen, Denmark Naveed and Ziegler. other user u) based on the variable c, with constant weight wc , and Similarity between the feature-weights. The next step is to com- is computed using the formula: pute the similarity coefficient w (au,u)c k , between the weightings Ík of features in the active user’s au and the user’s u profile. The s (au,u)c wc (x (au)c , x (u)c ) weightings computed for users as shown in the section 2.2.2, ranges S (au,u) = Í c=1 (5) k δ between [0,1], whereas the active user rate the feature using five- c=1 (au,u)c w c (x (au)c , x (u)c ) star ratings. To allow the comparison between two users in terms of Where au denotes the active user, s (au,u)c denotes the contri- the feature weightings, the weightings of all features for the other bution provided by the c-th variable between objects au and u user u is converted to a five-points likert scale using the formula: and the coefficient δ (au, u)c determines whether the comparison can be made for the c-th variable between objects au and u. Here W ∗ (u,c j ) = W (u,c k ) ∗ (5 − 1) + 1 (7) wc (x (au)c , x (u)c ) indicates that the weight for variable c is a func- Where, W (u,c k ) defines the old weighting of the feature c k for tion of variable values x (au)c and x (u)c for objects au and u. the user u. As the feature-weights are the numeric values, so the In our approach, we applied the above mentioned method in coefficient w(au, u)c k is computed by applying the Gower’s formula three steps: 1) Firstly, the similarity coefficient s (au,u)c is computed for similarity coefficient of numeric features, using the equation between the feature values of two objects. , 2) Secondly, the simi- (7). larity coefficient wc is computed between the feature weights of two objects, 3) In the third step, the final similarity score S (au,u) Computing final similarity score between two objects. The final between two objects is computed by putting the values of similarity similarity coefficient S (au,u) , which determines the overall similar- coefficients s (au,u)c and wc in the equation (5). ity between the active user and the other user in terms of feature- values and feature-weightings is computed, by putting the values Similarity between the feature-values. The first step is to compute of coefficients s (au,u)c k and w (au,u)c k in equation (5). the coefficient s (au,u)c k between the active user and the other user for each value of the feature c k . As Gower’s similarity measure 2.2.4 The item recommendation generation process. Once the sim- takes into account the type of features when computing similarity, ilarity score s (au, u), is computed between the active user au and so the method provide separate formulas to compute the similarity all other users, the top 20 users with highest similarity scores are coefficient s (au,u)c for nominal and numeric features. considered as similar users. From the nearest neighbors profiles, • Computing s (au,u)c for nominal features the top rated items are selected, and the items that have all the ac- tive user’s preferred feature-values (again determined by applying The value of s (au,u)c for nominal variable is equal to 1 if x (au)c = Gower’s similarity measure), are recommended to the active user. x (u)c (objects au and u have the same state for the attribute c) or 0 if x (au)c , x (u)c (objects au and u have different state for the variable 2.2.5 The feature recommendation generation process. c). The comparison coefficient δ (au,u)c is equal to 1 if both objects au and u have observed states for attribute c and zero otherwise. Calculating the prediction scores of features for the active user. In addition to the item recommendations, the features along with • Computing s (au,u)c for numeric features the feature values are recommended to the active user, allowing Gower’s similarity coefficient S (au,u)c for the numeric features is the user to explore diverse features. Once the similar users are defined as: identified, the prediction score of the feature c k , which is not in active user’s profile is computed from the similar users’ profiles, | x (au)c − x (u)c | using the formula: S (au,u)c = 1 − (6) rc u ∈N (S (au,u) ) ∗ (ru,c k − r u ) Í where rc is the range of values for the c-th variable. pred (au,c k ) = r au + Í (8) In our proposed approach, numeric features have also been con- u ∈N (S (au,u) ) sidered as nominal features. The reason is the customized range Here, r a u is the active user’s average rating for all selected fea- value of a numeric feature that the active user au can select, rather tures, N represents the total number of similar users, r (u,c k ) is the than a distinct value. Because of the range values, the equation user’s u rating of the feature c k , ru is the average rating of the (6) can not be applied as it requires the distinct feature value. By features for the user u, and S (au,u) is the final similarity score of considering the numeric features as nominal features, the similar- the active user and the other user as computed in section 3.4.2. In ity coefficient s (au,u)c gets the value 1, if the value in the user’s u the above formula, the feature-ratings of other users are considered profile lies within the active user’s selected range value, otherwise to make prediction for a rating of the active user for the feature c k . the value is zero. To compute the coefficient s (au,u)c k between two users for the Calculating the feature-values for the active user. Once the pre- feature c k , the coefficient s (au,u)c k needs to be computed between diction scores are computed for each feature based on similar users’ the value of the feature c k for the active user, with all values of the profiles, then the top-N features are selected for recommendation. same feature c k in the user’s u profile. The average of the coefficient In case of nominal features, the most frequently selected value is values for the feature c k would give the overall contribution of the used to recommend it to the active user. In case of numeric features, c-th variable in computing similarity between the active user and the range of values to recommend are determined by adding and the other user. subtracting the standard deviation value from the expected value. Feature-Driven Recommendations and Explanations ComplexRec 2019, 20 September 2019, Copenhagen, Denmark D A F C B E Figure 2: Screenshot of the prototype feature-based CF: (A) representing the user’s existing feature-based profile, (B) The item recommendations based on similar users’ preferences, (C) The feature recommendations based on similar users’ preferences, (D) A link to open the explanation presenting the relevance of similar users with the active user’s feature preferences, (E) A link to open the explanation of recommended item based on similar users’ and the active user’s feature preferences, (F) Filtering area 3 INTERACTION POSSIBILITIES IN ratings or values, updates the existing profile and thus is reflected FEATURE-BASED CF SYSTEM immediately in terms of updated recommendations. In this section, we describe our prototype system which is im- The items and features recommendation generation process: Once plemented based on our feature-based CF approach mentioned in the new user indicates the preferences in terms of features or the section 2, that exploits feature preferences of the active user to com- existing user modifies his/her preferences, then this existing profile pute similar users. The similar users’ preferences are then used to along with the user-feature-weighting matrix Q (described in sec- not only recommend the items, but also recommend the features to tion 2.2.2) are used as an input to CF approach to compute similar the active user. Our implemented system, provides several interac- users based on feature-weightings and feature-values. The section tion possibilities to users allowing them to interactively manipulate (B) and (C) in Figure 2 shows the item and feature recommendations their recommendation process through existing preference profile based on similar users’ feature-based profiles. and explanations. The screen shot of our interface is shown in Fig- ure 2, where different components are marked with red alphabetical Explaining item recommendations through feature-based profiles. circles and are explained below. In our implemented system we provide feature-based explanations which shows that the recommended items generated from similar users’ preferences (see section 2.2.3 and 2.2.4) are the clear repre- Eliciting user’s preferences in terms of features: As mentioned in sentation of the active user’s feature-based profile. The relevance section 2.2.1, a new user profile is created based on feature prefer- of similar users with the active user in terms of the active user’s ences, which is done through filters, where users can select features preferred features can be seen by clicking on the "similar users" from the drop down list to indicate their preferences in terms of link (shown in section (D) of Figure 2), which further opens the 5-star rating, and also select preferred feature values (as shown pop-up window shown in Figure 4. This relevance of similar users in section (F) in Figure 2). If the user profile already exists, as it with the active user can further be explored for each feature of the can be seen in section (A), any modification in terms of the feature recommended item, as shown in Figure 3. ComplexRec 2019, 20 September 2019, Copenhagen, Denmark Naveed and Ziegler. Explaining feature recommendations through similar users’ pro- files. Each recommended feature (see section 2.2.5) is further ex- plained by clicking on the "Explain" link in section (C) of Figure2, showing similar users’ preferences for that feature in terms of feature-values, and can be seen in Figure 5. Manipulating recommendations through existing user profile. In conventional CF approach, the only way provided to users to ma- nipulate their recommendations is by allowing them to (re)-rate item(s). However, our approach not only allows users to improve their preferences by (re)-rating features, but they can also update their long-term profile by adding new features or removing already rated features, as shown in section (A) of Figure 2. This allows the Figure 5: Explanation of the recommended feature based on current recommendations which are generated using user’s long similar users’ feature preferences term preferences, be continuously adapted to user’s actual prefer- ences in real time. Furthermore, by clicking on the "add feature" In the future, the focus will be on improving the algorithmic button shown in section C of Figure 2, directly adds the feature accuracy of implemented techniques and explore methods to visu- along with the feature value into the filtering list, which can be ally present the explanations in a more transparent manner, which used to update the recommendation process. further needs to be evaluated. REFERENCES [1] Charu C Aggarwal et al. 2016. Recommender systems. Springer. [2] Xavier Amatriain, Josep M Pujol, Nava Tintarev, and Nuria Oliver. 2009. Rate it again: increasing recommendation accuracy by user re-rating. In Proceedings of the third ACM conference on Recommender systems. ACM, 173–180. [3] Manuel J Barranco and Luis Martínez. 2010. A method for weighting multi- valued features in content-based filtering. In International conference on industrial, engineering and other applications of applied intelligent systems. Springer, 409–418. [4] Jorge Castro, Rosa M Rodriguez, and Manuel J Barranco. 2014. Weighting of features in content-based filtering with entropy and dependence measures. Inter- national journal of computational intelligence systems 7, 1 (2014), 80–89. [5] Simon Dooms, Toon De Pessemier, and Luc Martens. 2014. Improving IMDb movie recommendations with interactive settings and filters. In 8th ACM Conference on Recommender Systems (Poster-RecSys 2014), Vol. 1247. [6] John C Gower. 1971. A general coefficient of similarity and some of its properties. Figure 3: Explanations of the recommended item based on Biometrics (1971), 857–871. [7] Yifan Hu, Yehuda Koren, and Chris Volinsky. 2008. Collaborative Filtering for similar users’ and the active user’s feature preferences Implicit Feedback Datasets.. In ICDM, Vol. 8. Citeseer, 263–272. [8] Dietmar Jannach, Sidra Naveed, and Michael Jugovac. 2016. User control in recommender systems: Overview and interaction challenges. In International Conference on Electronic Commerce and Web Technologies. Springer, 21–33. [9] Gawesh Jawaheer, Peter Weller, and Patty Kostkova. 2014. Modeling user pref- erences in recommender systems: A classification framework for explicit and implicit user feedback. ACM Transactions on Interactive Intelligent Systems (TiiS) 4, 2 (2014), 8. [10] Bart P Knijnenburg, Svetlin Bostandjiev, John O’Donovan, and Alfred Kobsa. 2012. Inspectability and control in social recommenders. In Proceedings of the sixth ACM conference on Recommender systems. ACM, 43–50. [11] Joseph A Konstan and John Riedl. 2012. Recommender systems: from algorithms to user experience. User modeling and user-adapted interaction 22, 1-2 (2012), 101–123. [12] Sean M McNee, Shyong K Lam, Joseph A Konstan, and John Riedl. 2003. Interfaces for eliciting new user preferences in recommender systems. In International Conference on User Modeling. Springer, 178–187. Figure 4: Explanations showing the relevance of similar [13] Alexis Papadimitriou, Panagiotis Symeonidis, and Yannis Manolopoulos. 2012. users with the active user’s feature preference A generalized taxonomy of explanations styles for traditional and social recom- mender systems. Data Mining and Knowledge Discovery 24, 3 (2012), 555–583. [14] Eli Pariser. 2011. The filter bubble: What the Internet is hiding from you. Penguin UK. 4 CONCLUSION AND FUTURE WORK [15] János Podani. 1999. Extending Gower’s general coefficient of similarity to ordinal characters. Taxon (1999), 331–340. In the current work, we extended a conventional CF approach, and [16] Francesco Ricci, Lior Rokach, and Bracha Shapira. 2011. Introduction to rec- ommender systems handbook. In Recommender systems handbook. Springer, exploited feature-based information in CF approach in a hybrid 1–35. manner to: 1) incorporate the feature-based preferences in complex [17] Claude Elwood Shannon. 1948. A mathematical theory of communication. Bell recommendation process 2) to generate more transparent explana- system technical journal 27, 3 (1948), 379–423. [18] Xiaoyuan Su and Taghi M Khoshgoftaar. 2009. A survey of collaborative filtering tions and, 3) interactively manipulate the recommendation process. techniques. Advances in artificial intelligence 2009 (2009). Based on the presented feature-based CF approach, we implemented [19] Bo Xiao and Izak Benbasat. 2007. E-commerce product recommendation agents: a prototype system that offers several interaction possibilities. use, characteristics, and impact. MIS quarterly 31, 1 (2007), 137–209.