Explaining contextual recommendations: Interaction design study and prototype implementation Joanna Misztal Bipin Indurkhya Jagiellonian University Jagiellonian University Cracow, Poland Cracow, Poland joanna.misztal@uj.edu.pl bipin.indurkhya@uj.edu.pl ABSTRACT As observed in [3], the user’s preferences may be influ- We describe an architecture for generating context-aware enced by factors as diverse as time of the day, day of the recommendations along with detailed textual explanations week, the season or the weather at the moment, and so on. to support the user in the decision-making process. CARE In our system, we incorporate different independent modules (Context-Aware Recommender with Explanation) incorpo- such that each module implements a particular approach to rates a hierarchical structure, in which independent mod- generating a recommendation based on a single contextual ules embodying different aspects of the context cooperate feature. This architecture allows generating a number of together to generate recommendations for the user with ac- diverse recommendations, as each piece of contextual infor- companying rationales. We follow the Interaction Design mation is analyzed separately and the most approporiate principles to develop personas, goals and user scenarios, items are recommended by choosing from among the vari- based on which a prototype system is developed. We present ous recommendations generated by different modules. here two examples of its performance when processing movie- As the main focus of our research is to improve user’s ratings data set with contextual information. We argue that experience and understanding during the interaction with our architecture is extensible in that more modules can be the system, we designed a Context-Aware Recommender added as needed, and the approach can be applied to other with Explanation (CARE) system, following the Interaction domains as well. Design paradigm [10]. Personas, user goals and scenarios are developed after interviewing potential recommendation- system users and a domain expert, based on which the pro- Keywords totype of the system is designed. context-aware recommender system, recommendations ex- We motivate here our approach in the context of the cur- planations, interaction design rent state of the art, summarize the interaction design pro- cess, and present examples of persona and scenarios. Then 1. INTRODUCTION we describe the system architecture and present some results generated by our prototype implementation. An increasing number of available resources, and easy on- line access to diverse goods has resulted in data overload, making it difficult for many users to decide what items to 2. BACKGROUND select, which often slows down their decision-making pro- As defined in [20], the main goal of a recommender system cess. A growing number of choices is leading to an emerging is to support the user in a decision-making process by sug- interest in the development of decision-support systems to gesting items that they might find interesting. Since infor- help users in finding the most interesting or suitable items mation overload is a growing problem for Web users, because for their personal needs. Most of the research in this domain of an exponential increase in the amount of web content that is focused on improving the accuracy and precision of rec- is being generated, development of such tools has become a ommendations. However, it is equally important to provide thriving research area in recent years. Consequently, several the user with some rationale for why a particular item is be- techniques have been developed for predicting users’ prefer- ing recommended to them. Moreover, in some domains such ences. as legal decision-making or moral and ethical reasoning, the justifications for recommendations are very crucial. Hence, 2.1 Content-based recommender systems the main focus of our work is to design a system that can Content-based recommenders try to find items similar to explain why the user should select particular items. what the user previously liked [17]. These work by identify- ing key features of the items highly rated by the user in the Permission to make digital or hard copies of all or part of this work for past, and by building a user-preference model from those personal or classroom use is granted without fee provided that copies are characteristics [5]. not made or distributed for profit or commercial advantage and that copies A significant problem in many recommendation techniques bear this notice and the full citation on the first page. To copy otherwise, to is the cold-start problem, which occurs when a new user or a republish, to post on servers or to redistribute to lists, requires prior specific new item is presented to the system and there is not enough permission and/or a fee. data to perform a reliable prediction - the user has not rated Joint Workshop on Interfaces and Human Decision Making for Recom- mender Systems, RecSys 2015, Vienna, Austria enough products to define his or her preferences, or an item Copyright 20XX ACM X-XXXXX-XX-X/XX/XX ...$15.00. has not been rated by a sufficient number of users. Content-based recommenders deal well with situations when panion or mood). In CARS, the input data from the stan- a new item is added to the system. It also maintains inde- dard recommendation approach in the form < user, item, rating > pendence among the users as a particular user’s ratings are is extended by an additional parameter of context. Some sufficient to perform the recommendation process for that standard approaches to recommendations have been adapted user. For our research, a major advantage of content-based to model the additional dimension of context. In [15], the au- recommenders is their transparency — the features that trig- thors present a Tensor Factorization model-based technique gered the recommendation results may be listed along with using N-dimensional tensor of User-Item-Context instead of the output. the 2D User-Item matrix. However, content-based recommenders suffer from over- Standard approaches for CARS implementation incorpo- specialization: i.e. they recommend items similar to those rate contextual pre-filtering (items filtered by context before seen in the past, preventing a serendipity of recommenda- recommendation), post-filtering (context applied to recom- tions. Also, when a new user, who does not have a previous mendation results) and contextual modeling (context as a history with the system and so lacks any ratings, enters the part of ratings prediction). Common approaches based on system, the cold-start problem may occur. standard pre-filtering techniques represent item and user- Content-based analysis operates on vectors representing splitting algorithms [28, 6]. In these methods, items (or features of each object. Two basic techniques for filtering users) in different contexts are treated as separate objects similar items are similarity calculation (such as cosine sim- for the recommendation algorithm. Context-aware systems ilarity) and distance measurement (such as Euclidean dis- are known to increase the accuracy of recommendations [4]. tance). However, they face the data sparsity problem, as the num- ber of ratings is restricted to given context. As discussed in 2.2 Collaborative filtering recommender sys- [7], the most efficient approach to context-splitting is single tems split, where objects are split considering a single contextual In collaborative filtering (CF), a user’s preferences are pre- feature. dicted based on modelling other users behaviors [24, 16]. The basic idea behind this approach is that the rating of a 2.4 Other approaches user for a new item should be close to the ratings of users Some recommenders are implemented as knowledge-based who have similar tastes. systems [8], where the recommendation algorithm is per- This approach suffers from the data-sparsity and new- formed by a set of constraints representing the knowledge item problems. Another disadvantage is that collaborative- about the domain. Such systems may be applicable to the filtering recommenders mostly work as black-box systems, domains for which historical data is not available, or when therefore they lack transparency and cannot explain why the user does not perform the action often enough, so there certain items are being recommended. However, this ap- is little data to make a prediction (e.g. buying a car). proach is proving to be an effective technique for making Another approach is to use demographic information about recommendations and is widely used in commercial appli- the users to predict their tastes based on their social group. cations. It has an advantage of being able to recommend Such recommendations may depend on user’s age, gender, items with unknown content. CF also supports serendip- nationality, and so on. ity in recommendations, for recommended items may differ significantly from the previous ones. 2.5 Hybrid solutions Common approaches to CF for recommendations use neigh- Each of the techniques mentioned above has some advan- bourhood-based or model-based methods. Neighbourhood- tages as well as some drawbacks, and each may be effective based methods try to find the most similar items (item-based for a certain domain or a certain type of problem [13, 9]. approaches) or most similar users (user-based approaches) In order to build a more general recommender system, or when predicting the rating of an item for a particular user. to improve the quality of recommendations, hybrid systems Basic technique may incorporate correlation measures (such combine diverse recommendation algorithms. There are dif- as Pearson’s similarity) when comparing the vector of rat- ferent ways to combine outputs of various recommendation ings for users or items [14]. Model-based methods work strategies, which are classified by Burke [9] as follows: by finding the latent features that characterize the user’s Weighted: the scores from several recommenders are weighted ratings, and build a predictive model of their preferences. into one result. Such methods may employ Matrix Factorization algorithms, Switching: the most appropriate technique is selected de- Bayesian models, Support Vector Machines or other such pending on the input data. techniques. Mixed: outputs from diverse algorithms are presented si- multaneously. 2.3 Context-aware recommender systems Feature combination: features of different algorithms are As observed in [3], a person’s preferences may be influ- combined into a new feature. enced by factors as diverse as time of the day, day of the Cascade: the recommendation is performed hierarchically week, the season, the weather at the moment, and so on. and the outputs are refined by the subsequent recommenders. Context-aware recommender systems (CARS) try to model Feature augmentation: output from one system is the in- user’s preferences considering changing contexts that may put to the following one. affect user’s moods and tastes [4]. Contextual data may be Meta-level: the model created by one system is used by collected explicitly by asking the user some questions, or im- another. plicitly from the environment (information such as time, day of week, season or location). Some information may also be 2.6 Multi-agent approaches statistically inferred from the other data (such as the com- Hybrid recommender systems are often implemented based on diverse multi-agent system (MAS) architectures. Dis- A major limitation of the existing recommendation sys- tributed approaches to recommendations have been previ- tems is overspecialization and a lack of diversity in recom- ously studied in [27], where a collaborative recommendation mender outputs [29, 19]. As described in [23], during the algorithm is implemented using cloud computing. Sabater, challenge on Context-Aware Movie Recommendation (CAMRa Singh and Vidal [22] proposed a protocol in which a group 2010), competing systems were evaluated according to di- of selfish agents can decide how to share their recommen- verse factors divided into two groups. The first set of cri- dations with the others. In [26], the authors introduce rec- teria consisted of precision metrics while the other set con- ommender agents to enable the user’s interaction with the tained the following Subjective Evaluation Criteria: Con- system and to combine the outputs of the recommendation text, Contextualization of recommendations, Extensibility, algorithms with other techniques such as other users book- Serendipity, Creativity, Scalability, Sparsity, Domain depen- marks and tags. dence, and Adoptability Another example of MAS architecture that may be used In our research, we aim to address some of these subjec- for implementing a recommender system is the blackboard tive criteria to improve user experience, and also develop architecture. This architecture may be visualized by the an architecture that is easily adaptable to other domains. metaphor [11] of a group of independent experts with di- We use contextual filtering to model user preferences. Our verse knowledge who are sharing a common workspace (the architecture enables one to implement flexible and generic blackboard). They work on the solution together and each recommender systems that can easily be extended with new of them adds some contribution to the blackboard, whenever independent modules in a hierarchical structure. Our ap- possible, until the problem is solved. proach promotes diversity and serendipity among the rec- The blackboard model provides an efficient platform for ommendation outputs as each module processes information problems that require many diverse sources of knowledge. from a different point of view. It allows a range of different experts represented as diverse computational agents, and provides an integration frame- 3.3 Explaining recommendations work for them. It seems a promising platform for recom- We mentioned above that aspects such as user satisfac- mendation tasks, and has already been incorporated in [12, tion play an important role in the evaluation of a recom- 21]. mender system. As noted by [25], a limitation of many rec- ommenders is that they work as black-box systems and do 3. OVERVIEW OF CARE SYSTEM not provide the users with any reasons for providing a partic- ular recommendation. Some of the commercial systems are 3.1 Architecture striving to overcome this limitation by producing a rationale accompanying each recommendation. A number of diverse CARE (Context-Aware Recommender with Explanation) styles have emerged to provide this rationale [25]: Case- is built as a hybrid architecture that adapts a mixed ap- Based (... because you highly rated Item A..., used in Netflix proach to recommendations, and incorporates some features [2]), Collaborative (Customers who bought this Item were of the multi-agent blackboard architecture. We implemented also interested in... used by Amazon), Content-Based (We each module as an independent subsystem that uses some are playing this music because it has a slow tempo by Pan- particular approach to generating a recommendation by in- dora [1]). In [26], the authors use information visualization corporating a particular contextual feature. As some of techniques to improve interaction with their recommender those factors may be non-deterministic, we present the fi- system. Such system transparency not only increases the nal result as an array of alternate choices and allow the user user satisfaction, but also helps the users in making easier to choose from the recommendations generated by analyzing and faster decision in selecting an item. diverse contextual factors. Hence the diversity of final rec- In CARE, each module is provided with an explanation- ommendation outputs is ensured by presenting the analysis generating function, which produces a description of the fea- from multiple points of view. This approach also incorpo- tures that determined the recommendation. The style of this rates serendipity, and gives the users a choice of possible message is dependent on the module’s implementation. The actions. The users actions can be noted and used for order- final explanation may combine different styles of messages ing future recommendations. produced independently by separate modules. We incorpo- Our solution also embodies some aspects of the feature rate modules that process information on different levels of augmentation approach — we perform the recommendations abstraction, hence the final description contains rationales hierarchically on different levels of abstraction. We intro- at multiple granularity levels. Our goal is to generate a duce some inter-level recommenders that are responsible for rationale explaining to the user why she or he should find defining the features of items that are most liked by the certain items interesting (contextual reason, e.g. because it users in a given context. Their outputs are used to filter the is rainy and what features make this particular item a rel- data with identified characteristics, which is then sent as an evant choice (e.g. because you like rock music when it is input to the higher layer of recommendations. rainy). 3.2 Evaluation Most of the solutions for automatic recommendations are 4. GOAL-DIRECTED DESIGN focused on development of techniques improving the over- In designing the CARE system, we follow the principles of all performance and accuracy of ratings prediction. Ac- Interaction Design [10], according to which the design of a cordingly, most popular evaluation approaches incorporate system is developed iteratively through continuous interac- precision metrics for the estimations. However, there are tion with the user. In the subsequent sections, we summarize other factors that impact the effectiveness of recommenda- the conclusions from the interviews with three users and a tions and influence the user experience. movie-domain expert. 4.1 Domain expert’s opinion mon yet interesting movies when alone; finding lights come- Following the Interaction Design paradigm, we consulted a dies to watch with his girlfriend film analysis academic to find out what factors may influence Scenario 1 the popularity of a movie among the users. It is a cold winter Friday and Mark and his girlfriend want The expert noted that the genre is not the only feature to spend the evening with a light movie and a glass of wine. that the users consider when deciding which movie to watch. Mark opens CARE and a message pops out: Other factors which may determine their preferences are nar- Hi Mark! Finally, it’s the weekend! It’s freezing, isn’t rative description, its tempo, atmosphere and tension. it? Are you dreaming of little holidays? What about Woody Moreover, the users often want to watch the same kind of Allen’s ”Vicky Cristina Barcelona” to warm you up a little? movies that they have already watched. Thus, they select I know you like this director. Or maybe you had a tough well-known names, plots or recognizable brands. Such a week and feel like watching something to cheer you up with brand may be defined by the director, movie star or award a bit of dark humor, like ”Grand Budapest Hotel”? such as Oscar or some Film Festival. Scenario 2 Considering all these factors, our system design should On Monday, Mark’s girlfriend is off for a ladies night with embody modules that analyze relevant movie features such her friends so finally he can choose a movie on his own. as genre, cast, director, awards won as well as information CARE greets him: about the atmosphere of the movie. The prototype imple- Hi Mark! Maybe something positive for the new week? mentation incorporates the genre filtering modules, and we How about ”Intouchables”? Or maybe you’re fed up with the plan to extend it with modules that will analyze other fac- city life in Krakow and want to watch the story of a man in tors as well. the heart of nature, like ”Into the wild”? You like non-fiction Another major factor that influences a user’s choice is the movies! current trend or fashion. There are some must-see movies that many users desire to watch. Moreover, some people 5. SYSTEM ARCHITECTURE OF CARE rely on the public opinion more than on their own impres- General architecture of the CARE system is presented in sions. In our design, the public opinion is modelled by a Figure 1. Modules in our prototype system work on different collaborative filtering recommendation algorithm. levels of abstraction. First group of modules perform contextual features filter- 4.2 Defining User Goals ing based on the input with current context, user informa- We interviewed three potential users to determine their tion and ratings history with context. The goal of this pro- expectations from a recommender system. The volunteers cessing phase is to determine the most relevant item features were technical faculty graduates who are familiar with using for a given context. Each component on this level analyzes recommender systems to find items of their interest. Each the information about a single contextual information. To of them was interviewed separately, in their natural environ- address the problem of sparsity, we also incorporate a mod- ment. They were asked to describe their experiences in one ule that considers all users’ ratings without any contextual of the three domains of recommendations: books, movies filtering. The output of each filter is a list of items charac- and music. First, each person was asked to describe his or terized by the identified features. This architecture is exten- her general preferences in the given area and if they could sible with different types of filters that analyze other aspects identify some factors that may influence it. Then they were of recommendations (such as demographic data). In this pa- asked to describe some particular situations in which they per we focus only on the contextual information processing. use recommendations, considering the context details. The In the next stage of recommendation process, we incorpo- final question was about the expected recommendation out- rate recommender algorithms that select items that should put in these situations. We are planning to extend this re- be most liked by the user, considering each of the item search by incorporating interviews with a broader group of groups received from the former stage as a separate rec- users with more diverse backgrounds. ommendation problem. The modules on this stage may rep- It was observed that every person has some general tastes, resent diverse recommendation techniques and algorithms, but particular preferences change according to the time and however our prototype implementation includes collabora- the mood. Thus, the system should consider some contex- tive filtering algorithms. The result of recommendation is tual information in generating the recommendations. How- the best choice of items for each set of items. ever, some of these factors, such as the user’s mood, who Each component generates a short description of its re- they are with, and so on, may be difficult to predict. Hence sults and the reason of recommendation. The messages are the approach we chose is to give the user a choice of possible finally composed by the explanation templates module and actions considering different contextual or affective states so presented to the user along with the recommended items. that the user can decide what she or he needs at the moment. The hierarchical structure of the system and the inter-level Finally, we found that the users like to know why any filtering of item features enables a more thorough explana- particular item is recommended to them. Hence the sys- tion of the process in generated outputs. Hence the output tem should aggregate information from different levels of does not only provide the user with the information Item A abstraction, and present it to the user in an intuitively un- was recommended because it is summer, but also emphasizes derstandable way. We plan to present a rationale for each the feature that was crucial for this choice (Item A was rec- recommendation as an accompanying text message. ommended because you seem to like this type of items during summer.). 4.3 User scenarios The system is being developed using Django, a Web frame- Persona: Mark work for Python. The system interface will be provided as Goals: getting movies recommendations; finding uncom- a web application, however at present the system output is sequent sections: 1. Initialization with contextual input data. 2. Contextual type-splitting - identifying significant con- textual factors and relevant data types. 3. Collaborative filtering items recommendation for each of the types defined in 2. 4. Explanation generation for each of the recommended types and a corresponding contextual factor. 6.2.1 Input data Input for the recommendation is the user data and the in- formation about the context in which the recommendation takes place. This data may contain information explicitly provided by the user (such as whether they are alone or with a companion) or implicit information extracted auto- matically from the date and location data (such as day of week, time of the day, weather, and so on). Figure 1: General architecture of the CARE system. Example: Context: in plain textual form as presented in the results section. Season: Summer Day type: working day Time: evening 6. EXPERIMENT Weather: sunny We present phases of the recommendation algorithm along Companion: alone with an illustrative example of recommendations for user John. 6.2.2 Contextual type-splitting 6.1 Testing data For the context-aware recommendation process, we intro- CARE system architecture is applicable to many recom- duced contextual type-splitting algorithm which is an adap- mendation domains where the context may influence user tation of the standard contextual item-splitting approach. preferences. Possible domains of application include books, We incorporated an additional abstraction level and treated music or movies as well as restaurants recommendations the item features as the recommendation objectives. Table as user’s choice may depend on aspects such as changing 2 illustrates the difference between approaches. weather or time. Here we present the results from testing our prototype on the LDOS-CoMoDa dataset [18] that con- • Contextual item-splitting tains movie ratings along with contextual information, and In the first phase of the basic algorithm, each item is user and item characteristics. Contextual data contain in- associated with the most relevant contextual feature formation about the season, type of day (weekend, working that diversifies its ratings. Then the ratings for this day or holiday), time of day (morning, afternoon, evening), item are split according to this division. The mean rat- companion, and so on. ing values for each item are compared for the situation The dataset also contains information about the mood of where particular circumstance occurs and otherwise. the movie and it could be interesting to consider this data as well. However, the dataset only provides the dominant For example, we could compare ratings for a particular and end emotional values, without any information about movie that were given during the weekend with ratings the user’s mood before watching the movie. Since we treat from all other days. If they are significantly different, contextual factors as facts known at the moment of recom- we can infer that the user preferences for this item are mendation (as the initial data), we cannot make a recom- influenced by the day of the week. mendation considering user’s mood after or during watch- ing the movie. In future work, we plan to add a feature to • Contextual type-splitting query user’s mood at the moment of recommendation, and In our approach, we perform analogical computations, consider this information as a contextual parameter. but instead of comparing the contexts for each movie, Table 2 contains a part of John’s ratings for the analyzed we analyze each context for a group of movies with a example along with contextual information. common feature (such as a genre). As a result we can, for example, find out that the user prefers to watch 6.2 Recommendation process horror movies during the weekends than on other days. We present below a brief description of the different stages This step may be generalized to recommend items grouped of our algorithm along with illustrative examples. The main by other features, such as the director, country of ori- steps of algorithm are listed below and described in the sub- gin, etc. movie id genre rating daytype time weather season companion 23 action movie 1 working day evening sunny autumn alone 160 action movie 2 working day evening sunny autumn alone 2755 action movie 4 working day evening rainy winter alone 3898 action movie 5 weekend night cloudy spring with family 3942 action movie 3 working day evening sunny spring alone 4020 action movie 5 weekend night rainy summer alone 3992 action movie 5 working day afternoon sunny summer with family 3962 animated movie 4 weekend evening rainy spring alone 65 comedy 3 working day evening sunny autumn alone 101 comedy 2 working day afternoon cloudy autumn alone 4025 comedy 5 working day evening sunny summer alone 4054 comedy 5 holiday night cloudy summer alone 30 crime movie 4 weekend evening rainy autumn alone 227 crime movie 2 working day night cloudy autumn alone 3715 crime movie 1 working day evening cloudy winter alone 248 crime movie 5 weekend night sunny winter with family 149 drama 5 weekend evening sunny autumn alone 61 drama 2 weekend afternoon sunny autumn alone 239 drama 3 holiday night rainy autumn in public 242 drama 4 holiday evening cloudy autumn alone Table 1: User’s ratings with contextual information. Exemplary ratings with a context (as presented in [28]), however its use is limited for normally User Item Item type Rating Context distributed data. In other cases, it may be replaced by other U1 I1 T1 1 C1 statistical methods such as Wilcoxon signed-rank test. U1 I3 T1 3 C1 The features significance testing in a context is performed U1 I2 T2 5 C2 as follows: U1 I3 T1 5 C2 U1 I2 T2 5 C1 • For each type ti of items (eg. for each of the genres) we compare the mean rating for items of this type when Contextual items splitting each of the input contextual circumstances ci occurs User Item Rating and otherwise (eg. ratings for comedies in summer U1 I3C1 3 and other seasons). U1 I3C2 5 signif icance(ci , tj ) = ttest(Ratingstj |ci ), Ratingstj |¬ci ) Contextual types splitting User Item type Rating • If the statistical test for both groups of ratings split U1 T 1C1 2 by the contextual feature ci indicates a significant dif- U1 T 1C2 5 ference in mean ratings, and the mean rating for type when ci occurs (Ratingstj |ci ) is higher then otherwise Table 2: Contextual splitting - basic approach and (Ratingstj |¬ci ), we conclude that the type ti is a rele- proposed modification. vant recommendation in given context ci . Example: This approach allows us to give more transparent and intuitive recommendations for the user by presenting Contexts significance testing: the features that lead to the final recommendation. Input context: summer, working day, evening, sunny, alone It also addresses a major drawback of the context pre- Ratings in summer vs other seasons: mean ratings for filtering approaches, namely the data sparsity after ap- comedies are significantly higher during summer. plying the filter. As the number of recommendations Ratings on working days vs other days: no relation found. for a particular type of movies is significantly higher Ratings in the evening vs other time: mean ratings for than for each movie separately, we expect the results comedies are significantly higher in the evening. to be more accurate. Reducing number of compar- Ratings on sunny days vs other weather: no relation found. isons to groups of items also contributes to decreasing Ratings for movies watched alone and other companion: complexity of computations and speeds up the recom- no relation found. mendation process. In subsequent steps, the recom- mendations are performed for selected groups only. 6.2.3 Types pre-filtering After identifying the types of movies that are most rele- We verify the significance of each contextual feature using vant for a given context, we filter the set of ratings for each the two-tailed Student’s t-test, assuming the p-value thresh- type separately. For example, if we consider a recommen- old of 10%. Additionally, we consider the significance of dation for Saturday morning and we find out that horror only those features where the mean rating is higher when movies are the most preferred genre during the weekend, a particular context occurs. The t-test is a basic approach and comedies get the highest ratings in the mornings, we first consider recommendations for horror movies and then recommendations along with accompanying rationales to help for comedies separately. the user choose the most interesting item. In CARE (Context- We also calculate general recommendations considering Aware Recommender with Explanation), the recommenda- the user preferences of all the items, without any pre-filtering. tion process is performed hierarchically, and with trans- This addresses the sparsity problem for context recommen- parency at each abstraction level so as to produce detailed dations and deals with the situation when no relevant con- explanations for the suggested choices. Our approach pro- textual information is provided. motes a diversity of recommendation results since each piece of contextual information is analyzed separately, and the 6.2.4 Items recommendation most appropriate items are recommended with a rationale After filtering the items by their types, we perform a accompanying each suggestion. standard collaborative-filtering recommendation algorithm Our architecture enables one to implement a flexible and to find the most suitable choices considering a particular generic recommender systems that can easily be extended user’s taste. We calculate the similarity between users using with new independent modules in a hierarchical structure. Pearson’s correlation measure. Then we consider the ratings In the current stage of our research, we have tested the of the most similar users with the K-Nearest-Neighbours al- performance of the CARE prototype on a movie-ratings gorithm. In further research we plan to address the problem dataset. Following the suggestions of a domain expert, we of scalability by users clustering. plan to extend the system with modules that incorporate For each of the identified categories we perform a sepa- other diverse movie features such as the director, cast, at- rate recommendation process, hence the final output con- mosphere and so on. We also plan to follow the Interaction tains the recommendation results from diverse perspectives. Design principles during the evaluation of our system and For the current implementation, we incorporated the stan- will perform user testing with a working system. In future dard user-based CF algorithm. However the system may be work, we will also address the evaluation of results quality easily extend by other modules performing different recom- with standard methods such as RMSE or nDCG. mendation algorithms since the calculations are performed Our approach is applicable to other domains as well. Cur- independently. rently we are working on adapting this architecture for sup- porting legal decision making, and moral and ethical reason- Example: ing. Performing user-based collaborative filtering algorithm to 8. REFERENCES find expected highest-rated movies for each category and [1] Pandora. http://www.pandora.com, 2006. general user’s preferences without any context: [2] Netflix dataset. http://www.netflixprize.com/, 2009. crime story: ”The Usual Suspects” action movie: ”Pirates of the Caribbean: At World’s End” [3] G. Adomavicius and A. Tuzhilin. Context-aware all movies: ”Le Concert” recommender systems. In Proceedings of the 2008 ACM Conference on Recommender Systems, RecSys 6.2.5 Explanations generation ’08, pages 335–336, New York, NY, USA, 2008. ACM. A major goal of our research is to develop a recommen- [4] G. Adomavicius and A. Tuzhilin. Context-aware dation system that can present the recommendations along recommender systems. In Recommender Systems with accompanying explanations. Hence, we incorporated Handbook, pages 217–253. 2011. modules responsible for generating textual messages to give [5] M. Balabanović and Y. Shoham. Fab: Content-based, rationales for recommendations. Each sentence of the ac- collaborative recommendation. Commun. ACM, companying message consists of the following information: 40(3):66–72, Mar. 1997. item type; recommended item; context. [6] L. Baltrunas and F. Ricci. Context-based splitting of The message is generated in the form of a textual tem- item ratings in collaborative filtering. In Proceedings plate. Future improvements of CARE will consider increas- of the Third ACM Conference on Recommender ing the serendipity aspect of the recommendations by gen- Systems, RecSys ’09, pages 245–248, New York, NY, erating more advanced and surprising commentaries for the USA, 2009. ACM. outputs. [7] L. Baltrunas and F. Ricci. Experimental evaluation of The messages generated by all the modules that analyzed context-dependent collaborative filtering using item the situation from different perspectives are aggregated in splitting. 24(1-2):7–34, 2014. one template and presented to the user as a message. [8] D. Bridge, M. H. G oker, L. McGinty, and B. Smyth. Case-based recommender systems. The Knowledge Example: Engineering Review, 20:315–320, 9 2005. [9] R. Burke. Hybrid recommender systems: Survey and Producing a textual explanation containing descriptions experiments. User Modeling and User-Adapted from all former steps of algorithm: Interaction, 12(4):331–370, Nov. 2002. Hi John! You might like a comedy ”Le Concert” as it [10] A. Cooper, R. Reimann, and D. Cronin. About Face: is something in your taste. You might like a drama like The Essentials of Interaction Design. John Wiley & ”Shutter Island” because it is evening. Maybe you feel like Sons, Inc., New York, NY, USA, 2014. watching a comedy like ”Intouchables” because it is summer? [11] D. D. Corkill. Blackboard systems. AI Expert, 6, 1991. [12] A. H. Dong, D. Shan, Z. Ruan, L. Zhou, and F. Zuo. 7. CONCLUSIONS AND FUTURE WORK The design and implementation of an intelligent We proposed an architecture to generate context-aware apparel recommend expert system. [13] B. S. Francesco Ricci, Lior Rokach. Introduction to Proceedings of the 2013 international conference on recommender systems handbook. In F. Ricci, Intelligent user interfaces - IUI ’13, page 351. ACM L. Rokach, B. Shapira, and P. B. Kantor, editors, Press, 2013. Recommender Systems Handbook, pages 1–35. [27] Y. ZHANG, H. Liu, and S. Li. A Distributed Springer US, 2011. Collaborative Filtering Recommendation Mechanism [14] G. Guo, J. Zhang, and N. Yorke-Smith. A novel for Mobile Commerce Based on Cloud Computing. bayesian similarity measure for recommender systems. 2011. In Proceedings of the Twenty-Third International [28] Y. Zheng, B. Mobasher, and R. D. Burke. The role of Joint Conference on Artificial Intelligence, IJCAI ’13, emotions in context-aware recommendation. In pages 2619–2625. AAAI Press, 2013. L. Chen, M. de Gemmis, A. Felfernig, P. Lops, [15] A. Karatzoglou, X. Amatriain, L. Baltrunas, and F. Ricci, G. Semeraro, and M. C. Willemsen, editors, N. Oliver. Multiverse recommendation: n-dimensional Decisions@RecSys, volume 1050 of CEUR Workshop tensor factorization for context-aware collaborative Proceedings, pages 21–28. CEUR-WS.org, 2013. filtering. In Proceedings of the fourth ACM conference [29] C.-N. Ziegler, S. M. McNee, J. A. Konstan, and on Recommender systems, pages 79–86. ACM, 2010. G. Lausen. Improving recommendation lists through [16] Y. Koren and R. Bell. Advances in collaborative topic diversification. In Proceedings of the 14th filtering. In F. Ricci, L. Rokach, B. Shapira, and P. B. International Conference on World Wide Web, WWW Kantor, editors, Recommender Systems Handbook, ’05, pages 22–32, New York, NY, USA, 2005. ACM. pages 145–186. Springer US, 2011. [17] P. Lops, M. De Gemmis, and G. Semeraro. Content-based recommender systems: State of the art and trends. In Recommender systems handbook, pages 73–105. Springer US, 2011. [18] A. Odić, M. Tkalčič, J. F. Tasič, and A. Košir. In G. Adomavicius, editor, Proceedings of the 4th Workshop on Context-Aware Recommender Systems in conjunction with the 6th ACM Conference on Recommender Systems (RecSys 2012), volume 889, 2012. [19] L. Qin and X. Zhu. Promoting diversity in recommendation by entropy regularizer. In Proceedings of the Twenty-Third International Joint Conference on Artificial Intelligence, IJCAI ’13, pages 2698–2704. AAAI Press, 2013. [20] F. Ricci, L. Rokach, B. Shapira, and P. B. Kantor, editors. Recommender Systems Handbook. Springer, 2011. [21] A. Ruiz-Iniesta, G. Jiménez-Dı́az, M. Gómez-Albarrán, et al. A framework for the rapid prototyping of knowledgebased recommender systems in the learning domain. Journal of Research and Practice in Information Technology, 44(2):167, 2012. [22] J. Sabater, M. Singh, and J. M. Vidal. A Protocol for a Distributed Recommender System, 2005. [23] A. Said, S. Berkovsky, and E. W. De Luca. Introduction to special section on camra2010: Movie recommendation in context. ACM Trans. Intell. Syst. Technol., 4(1):13:1–13:9, Feb. 2013. [24] J. Schafer, D. Frankowski, J. Herlocker, and S. Sen. Collaborative filtering recommender systems. In P. Brusilovsky, A. Kobsa, and W. Nejdl, editors, The Adaptive Web, volume 4321 of Lecture Notes in Computer Science, pages 291–324. Springer Berlin Heidelberg, 2007. [25] N. Tintarev and J. Masthoff. Designing and evaluating explanations for recommender systems. In F. Ricci, L. Rokach, B. Shapira, and P. B. Kantor, editors, Recommender Systems Handbook, pages 479–510. Springer US, 2011. [26] K. Verbert, D. Parra-Santander, P. Brusilovsky, and E. Duval. Visualizing recommendations to support exploration, transparency and controllability. In