Workshop on Context-Aware Recommender Systems (CARS-2009) New York, NY, USA - October 25, 2009 In conjunction with the 3rd ACM Conference on Recommender Systems Presentation by Sangkeun Lee IDS Lab Seoul National Univ. About the Workshop • Workshop Chair – Gediminas Adomavicius (gedas [at] umn [dot] edu), University of Minnesota, USA – wrote ‘Toward the next generation of recommender systems: A survey of the state-ofthe-art and possible extensions’ (1437 cited) – And ‘Context-aware recommender systems (A tutorial summary)’ (18 cited) – One of the leading researchers in the recommendation domain • This workshop aims to exchange ideas from different research disciplines, and, more generally, to facilitate discussion and innovation in the area of context-aware recommender systems (CARS). Context-Aware Recommender Systems (CARS) • The Context-Aware Recommender Systems (CARS) is considered as an important sub-domain or recommender systems • …and I personally believe that – It also starts to be considered as an independent research domain Traditional Recommender System vs. CARS • Traditional Recommender System (RS) – – – – – (In general)Predicting unknown ratings in User Item Matrix Content-based recommendations: The user will be recommended items similar to the ones the user preferred in the past;. Collaborative recommendations: The user will be recommended items that people with similar tastes and preferences liked in the past; Hybrid approaches: These methods combine collaborative and content-based methods. Many successful applications and systems • CARS – Incorporating contextual information into traditional recommender system to achieve better performance – Many approaches to realize CARS • • • R : User × Item × Context → Rating, R: D1×...×Dn →Rating. Traditional Recommender System vs. CARS Contextual pre-filtering, Contextual post-filtering, Contextual modeling Paradigms for Incorporating Context in Recommender Systems Paradigms for Incorporating Context in Recommender Systems Paper List (CARS 2009) • Iván Cantador and Pablo Castells. "Semantic Contextualisation in a News Recommender System". • Linas Baltrunas and Francesco Ricci. "Context-Dependent Items Generation in Collaborative Filtering". • Marcos A. Domingues, Alípio Mário Jorge and Carlos Soares. "Using Contextual Information as Virtual Items on Top-N Recommender Systems". • Sabrina Lombardi, Sarabjot Anand and Michele Gorgoglione. "Context and Customer Behavior in Recommendation". Berardina De Carolis, Irene Mazzotta, Nicole Novielli and Vincenzo Silvestri. "Using Common Sense in Providing Personalized Recommendations in the Tourism Domain". • * Linas Baltrunas and Xavier Amatriain. "Towards Time-Dependant Recommendation based on Implicit Feedback". • Tim Hussein, Timm Linder, Werner Gaulke and Jürgen Ziegler. "Contextaware recommendations on rails". Paper 1. Towards Time-Dependent Recommendation based on Implicit Feedback • Authors: Linas Baltrunas, Xavier Amatrian • A Contextual pre-filtering technique based on implicit feedback called micro-profiling • Micro-profiling – Split user profile into several possibly overlapping sub-profiles, each representing users in particular contexts – The predictions are done using these micro-profiles instead of a single user model • Especially focusing on “Time” context – How to partition the continuous contextual variable is non-trivial – Propose an off-line evaluation procedure for CARS Paper 1. Towards Time-Dependent Recommendation based on Implicit Feedback Introduction • Assumption – The users’ preference changes over time but has a temporal repetition – E.g. users listen to one type of music while working, and another type of music before going to sleep • Main Idea – Replacing the single user profile by taking into account many specialized profiles each representing the users’ in different contextual conditions • Question – How to use implicit feedback? – How to extract meaningful micro-profiles? – How to combine them into a single recommendation (not covered) Paper 1. Towards Time-Dependent Recommendation based on Implicit Feedback How to use implicit feedback? • In this work, the authors use implicit data collected during a two year period (2007-03-01 to 2008-12-31) containing 338 random users of last.fm service – Removing mistypes, artists that were listened only by a user – Only positive feedbacks exist (implicit feedback) – Users tend to listen to the same artist and track many times Paper 1. Towards Time-Dependent Recommendation based on Implicit Feedback How to use implicit feedback? (cont’d) • In this work, the authors recommend a artist rather than a track • The authors map implicit feedback into the explicit ratings (using Celma [*]’s mapping procedure) – User’ listening habits usually present a power law distribution. Artists located in the top 80-100% of the distribution are assigned a score of 5, while artists in the 60-80% range assign a score of 4. In the case when there is not enough variation in the user profile to divide all the counts into 5 groups they assign 3 as the rating [*] O. Celma. Music Recommendation and Discovery in the Long Tail. PhD thesis, Universitat Pompeu Fabra, Barcelona, Spain, 2008 Paper 1. Towards Time-Dependent Recommendation based on Implicit Feedback How to extract meaningful micro-profiles? • Users’ taste depends on the exact definition of the time slice – e.g. The precise definition of ‘morning’ will influence the fnal prediction of the algorithm • For simplicity and evaluation issues, only cover – Non-overlapping partitions – Non-personalized partitions Paper 1. Towards Time-Dependent Recommendation based on Implicit Feedback Experimental Evaluation • Where D is the data set, T = {T1,T2,...,Tt} is the time partitioning of the time domain. Partitions do not overlap and the union of them is equal to T. |Ti| is the number of the ratings we can predict in train set of the partition Ti. E(R,Ti) is the Mean Absolute Error computed on the time partition Ti. Paper 1. Towards Time-Dependent Recommendation based on Implicit Feedback Experimental Evaluation • Predicting ratings using FACT CF algorithm – • Tday = {morning, evening}, Tweek = {weekend, working day}, Tyear = {cold season, hot season},Thours = {even hours,odd hours} (to test the system behavior on the meaningless splits). Result – – Note that accuracy dropped when predicting user preferences for the contextual segment using only a full users’ profile On the contrary, when using only the data of the segment the prediction improved significantly (but why Thours???) Paper 1. Towards Time-Dependent Recommendation based on Implicit Feedback Predicting the Optimal Split of the Time Variable? • • Examine the very simple case where the day cycle is partitioned into two segments, we want to find the optimal partition (more lightweight heuristic approach) IG(information gain) method seems to predict true error E quite well Paper 1. Towards Time-Dependent Recommendation based on Implicit Feedback Conclusion and Discussion • The paper shows us how to – use implicit feedback – segment continuous contextual variable and extract micro-profiles – Find the optimal partition of the data using three different methods • The paper gives us many (and interesting) questions that should be solved for better performance in CARS • What do you think? – e.g. Fuzziness? or optimal partitioning? Paper 2. Context-Dependent Items Generation in Collaborative Filtering • Authors: Linas Baltrunas • This paper introduces a technique, item splitting, for dealing with context by generating new items • Splitting ratings vectors are split in two vectors containing the ratings collected in two alternative contextual ratings – A beach -> a beach in summer, a beach in winter (based on statistical evidence) • Analyzed using real world and semi-synthetic datasets Paper 2. Context-Dependent Items Generation in Collaborative Filtering Item Splitting • The split is determined by the value of one contextual variable cj , i.e., all the ratings in a subset have been acquired in a context where the contextual feature cj took a certain value. • Then it checks if the two subsets of ratings have some (statistical signicant) difference, e.g., in the mean. If this is the case, the split is done (using imputiry criteria t) • More aggressive split may cause data sparsity Paper 2. Context-Dependent Items Generation in Collaborative Filtering Evaluation • Semi-synthetical datasets – Randomly chose alpha * 100% of the ratings and increased(decreased) the rating value by one if c=1 (c=0) if the rating value was not already 5 (0) • Real-world dataset – Only little or no improvement Paper 2. Context-Dependent Items Generation in Collaborative Filtering Conclusion and Discussion • It works with semi-synthesyzed data but does not work with real-world data. Why? • Contextual variables really matter? Paper 3. Using Contextual Information as Virtual Items on Top-N Recommender Systems • Authors: Marcos A.Domingues et al. • A method to complement the information in the access logs with contextual information without changing the recommendation algorithm • By representing context as virtual items • Empirical test show that the method is able to take advantage of the context • DaVI(Dimensions as Virtual Items) Paper 3. Using Contextual Information as Virtual Items on Top-N Recommender Systems Contextual Information • • • In some circumstances, context is explicit, such as a person informing a movie recommender system where he wants to watch a movie Context can also be inferred from access data Table 1. shows the contextual information considered in the experiments Paper 3. Using Contextual Information as Virtual Items on Top-N Recommender Systems Background: Item-Based Collaborative Filtering • • The recommendation model is a matrix representing the similarities between all pairs of items, according to a chose similarity measure Given a user who accessed the set of items O ⊆ I, the model generates a recommendation by selecting the N which are the most similar to the items in the set O. Paper 3. Using Contextual Information as Virtual Items on Top-N Recommender Systems DaVI (Dimensions as Virtual Items) • • • day = {d1, d2, · · · , dv} An item can be a page or a possible value for the context day (1 to 31) The recommendations will be the set of pages that are most similar to a given set of observable items O ⊆ {I ∪ day} The rationale behind this approach is that the similarity between a given item and a given day (for example) is higher if the item tends to be accessed on that day of the month. Paper 3. Using Contextual Information as Virtual Items on Top-N Recommender Systems Experiments • Datasets • For each session in the test set we randomly delete one pair < id, item >, referred to as hidden item. The remaining pairs represent the set of observables, O, based on which the recommendation is made. Paper 3. Using Contextual Information as Virtual Items on Top-N Recommender Systems Experiments Single dimension Paper 3. Using Contextual Information as Virtual Items on Top-N Recommender Systems Experiments Multiple dimension Paper 3. Using Contextual Information as Virtual Items on Top-N Recommender Systems Conclusion and Discussion • Summary – – – – A potential to improve the accuracy of recommender system Sometimes, simple method works better Do not have to change recommendation algorithm Still, choosing appropriate context dimension for recommendation is not easy task • This approach does not distinguish dimensions (e.g. time and temperature are considered as same the items) and not suitable for continuous contextual variable. Paper 4. Context-aware recommendations on rails • Authors: Tim Hussein, Timm Linder, Werner Gaulke, Jurgen Ziegler • A framework for modular generation of context-aware recommendations • The components (Sensors, recommender algorithms, converters, filters) can be combined in terms of a recommender construction kit Data Types - Semantic models, - Sorted lists of resources from our domain model, with the sorting order based upon the importance of the given resource, - Lists of weighted resources with assigned weights between 0 (unimportant) and 1 (very important), - Numeric values - Textual data. Paper 4. Context-aware recommendations on rails Conclusion and Discussion • The framework proposed facilitates the process of rapidly prototyping hybrid recommender systems as it provides an extensible architecture for smooth integration of various recommender techniques and context information. • Flexibility & Rapid Prototyping of CARS is a very important issue in that there are so many contextual variables which might or might not affect the recommendation performance Overall Discussion • CARS is a very interesting research domain • Papers (just) start to be published more and more • Many of them give us a lot of interesting questions, and it seems that we are the right researchers to get involved! • What do you think? • Join me Paper List (CARS 2010 • • • • • • • – just updated! ) Toine Bogers. "Movie Recommendation using Random Walks over the Contextual Graph". Kenta Oku, Shinsuke Nakajima, Jun Miyazaki, Shunsuke Uemura, Hirokazu Kato, and Fumio Hattori. "A Recommendation System Considering Users' Past / Current / Future Contexts". Umberto Panniello and Michele Gorgoglione. "Does the Recommendation Task Affect a CARS Performance?" Hideki Asoh, Yoichi Motomura, and Chihiro Ono. "An Analysis of Differences between Preferences in Real and Supposed Contexts". Linas Baltrunas, Marius Kaminskas, Francesco Ricci, Lior Rokach, Bracha Shapira, and KarlHeinz Luke. "Best Usage Context Prediction for Music Tracks". Steven Bourke, Kevin McCarthy, and Barry Smyth. "The Social Camera: Recommending Photo Composition Using Contextual Features". Matthias Böhmer, Gernot Bauer, and Antonio Krüger. "Exploring the Design Space of Contextaware Recommender Systems that Suggest Mobile Applications". Silvana Aciar. "Mining Context Information from Consumer's Reviews".