320 likes | 514 Views
Exploiting Contextual Information from Event Logs for Personalized Recommendation. ICIS2010. Aug 18,2010. Dongjoo Lee, Sung Eun Park, Minsuk Kahng, Sangkeun Lee, and Sang-goo Lee. Intelligent Database Systems Lab. School of Computer Science & Engineering Seoul National University.
E N D
Exploiting Contextual Information from Event Logs for Personalized Recommendation ICIS2010 Aug 18,2010 Dongjoo Lee, Sung Eun Park, Minsuk Kahng, Sangkeun Lee, and Sang-goo Lee Intelligent Database Systems Lab. School of Computer Science & Engineering Seoul National University Center for E-Business Technology Seoul National University Seoul, Korea
Contents • Introduction • Recommendation and Personalized Recommendation • Recommendation Space • Personalized Recommendation • Exploiting Contextual Information for Recommendation • Context and Context Abstraction • Context-Aware Recommendation Algorithm • Experiment • Conclusion
Contents • Introduction • Personalized Recommendation • Exploiting Contextual Information for Recommendation • Experiment • Conclusion
Motivation • Do you always get same list no matter what the context is? • We recommend items depending on the context User User Song1 Song2 Song3 … Song1 Song2 Song3 … 08/10/28 09:59 08/10/28 09:59 List 1 List 1 Song1 Song2 Song3 … Song3 Song4 Song5 … 08/08/02 08:51 08/08/02 08:51 List 1 List 2 08/05/29 04:43 Song1 Song2 Song3 … 08/05/29 04:43 Song4 Song5 Song6 … List 3 List 1
Recommendation from Event Logs • Assuming that there are enough number of ratings from users is less practical • Find implied patterns in preferences from logs and use it for the recommendation Use for the Recommendation Large Number of Users’ Log Data Implied Patterns in Preferences Let's get out of this country White winter hymnal User_1941 User_1432 Listen Listen Listen 07/19/2008 16:55 08/03/2008 22:14 08/10/2008 22:12 Event Logs
Exploiting Information from Event Logs • We can obtain popularity, personal preference, and contextual information from log data, and consider them for recommendation Personalization Cooperating Achieved Information Personal Preferences Event Logs (from large accumulated data) 2. Recommender System Contextual Preferences 1.. Abstracting Contextual Information Context-Awareness
Contents • Introduction • Recommendation • Recommendation Space • Collaborative Filtering • Exploiting Contextual Information for Recommendation • Experiment • Conclusion
Recommendation Space • Log • nl Event-logs • Each event-log is a tuple that consists of user, item, timestamp, GPS code and other context-related data. • l = (u, s, ctx) = (u, s, timestamp, GPS code, …) • Items • Music, product, news… • User • A subject of the event Event-logs (user, item, timestamp) Event-log
Personalized Recommendation • Collaborative Filtering • Find user A and B that share similar rating history • Recommend user A’s preferred item to user B • Collaborative Filtering from Event-Logs • Assumption : users rating equals to the frequency of songs listened • User’s similarity score is defined by cosine similarity of rating vector • Weighted sum of similar users’ rating score on a item = The predicted rating on the item of the active user • k most similar users are considered sim1 sim2
Contents • Introduction • Recommendation • Exploiting Contextual Information for Recommendation • Context in Event Logs and Abstraction • Context-Aware Recommendation Algorithms • Experiment • Conclusion
Context-Aware Recommendation • Find items that people like in the current context and recommend them • Context • Context is any information that can be used to characterize the situation of an entity. • (Anind K. Dey, 2001, Understanding and Using Context ) • Context data • any data recorded in event logs • l.ctx = (timestamp, GPS code, temperature, …)
Context Abstraction • Schema for Event-logs in relational data model • Dseason = {spring, summer, autumn, winter} • Dtime-of-day ={morning, afternoon, evening, night, …} • Dlocation = {home, office, department store, …} • Dcity={city, country, …} • Dwheather ={cloudy, sunshine, …}, Dtemperature ={warm, cool, cold, hot, …} Event-logs (user, item, timestamp, GPS code, temperature, …) Context Abstraction Event-logs' (user, item, season, time of day, day of week, location, city, temperature, …)
Context Abstraction • It can be subjective to map raw context value to exactly one concept • timestamp: 2009-09-03 00:00 -> summer? autumn? • temperature: 24℃ ->warm? hot? • Mapping based on Fuzzy Membership Function • Membership degree indicates how strongly an element belongs to the set winter spring summer autumn winter 0 365 day
Contents • Introduction • Recommendation • Exploiting Contextual Information for Personalized Recommendation • Context in Event Logs • Context Abstraction • Context-Aware Recommendation Algorithms • Experiment • Conclusion Combining Collaborative Filtering and Context-Aware Recommendation Method
Popularity-based Approach • Context-dependent popularity • pi,ctx : popularity of an item i in the context ctx • Integrate the contextual preference to Individual Preference • Simple weighted sum General preference of item i in the context ctx a’s Preference on item i
Personalized Context-Aware Recommendation • The rating of user uj for a song si in the context ctx =The number of times that uj listened si in the ctx • Context-aware rating of users
Personalized Context-Aware Recommendation • Two possible scenarios to find similar users In Summer, what will A like? Similarity in Summer : 0.4 B Overall Similarity : 0.7 Items of Summer Song1 Song2 Song3 … A Similarity in Summer : 0.6 Overall Similarity : 0.5 C Items of Summer Song4 Song5 Song3 …
Personalized Context-Aware Recommendation • Two approaches to find similar users • find users with similar ratings regardless of context type, and recommend items to the current context based on the similar context previously preferred by the same user Data to Consider for determining similarity of users Data to Consider for recognizing the rating
Personalized Context-Aware Recommendation • Two approaches • find users with similar ratings with respect to the context type, and recommend items to the current context based on the similar context previously preferred by the same user Data to Consider for determining similarity of users Data to Consider for recognizing the rating
Personalized Context-Aware Recommendation • Reduction-based Context Aware method • Conjunction of context concepts ( ex. Winter& Monday &Night) • Adomavicius et al., Incorporating contextual information in recommender systems using a multidimensional approach, ACM Transactions on Information Systems 2005 • Data sparsity problem • Disjunction-based Context Aware method applies collaborative filtering to data in each context concept and aggregate the result disjunctively • Disjunction of context concepts ( ex. Winter | Monday | Night) • Defining context with context concepts TimeOfDay morning … evening Sunday … …. Tuesday RCA night DCA Monday DayOfWeek Spring Summer Fall Winter Season
Contents • Introduction • Recommendation • Exploiting Contextual Information for Recommendation • Experiment • Conclusion
Experimental Setup • Dataset • Last.fm
Temporal Context Abstraction - Experiment Setup Temporal Concepts Periodic Fuzzy Membership Function
Evaluation Metric • HR@n • The log in the test set has only one item under one user in the temporal context • How many real usages of each recommendation were found within top-n recommended items. • Generate a theoretical list of songs to recommend depending on the given user and the temporal context in the test data set • Check whether the list contains the actual song user listened in the log 1. Check if Music 1 exists in the recommendation list Test Set (Log) Recommendation List (n Songs) 2. The relative frequency that the actual item user listened matches the song in the recommendation list
Personalized Context-Aware Recommendation Issues • Which contextual data should be considered to find similar users in adopting CF to the context-aware recommendation? • RCA(Reduction-based Context aware method) vs. DCA(Disjunction-based Approach) Baseline methods RCA DCA Similar users within same context type Similar users Regardless of context type
Experimental Results • Impact of the Number of Similar Users • Generally, CACF-O method gives you the best result using : • Context-aware Disjunctive Collaborative Filtering method (DCA) • preferences of similar users within same contextual type
Experimental Results • Most measure showed the best performance when the number of similar users is less than 20. • Larger dataset does not reveal the patterns of users’ preference well. • It is easy to assume that large dataset would contribute more to find patterns of preferences • What matters is the quality of dataset not the quantity
Experimental Results • Disjunctive aggregation is a better way for incorporating contextual information in CF than Reduction-based aggregation • Applying preferences of similar users within same contextual type is more adequate. DCA outperforms RCA Using context dependent similar users is better than using generally similar users !!
Contents • Introduction • Recommendation • Exploiting Contextual Information for Recommendation • Experiment • Conclusion
Conclusion • We have shown: • how to obtain implicit user preference and contextual information from event logs • a context abstraction strategy • a way to use contextual information from event logs for recommendation • several experiments using real-world dataset
Q&A Thank you