Upload
espen
View
32
Download
0
Tags:
Embed Size (px)
DESCRIPTION
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. - PowerPoint PPT Presentation
Citation preview
Exploiting Contextual Information from Event Logs for Personalized Recommendation
ICIS2010
Intelligent Database Systems Lab.
School of Computer Science & Engineering
Seoul National University
Center for E-Business TechnologySeoul National UniversitySeoul, Korea
Dongjoo Lee, Sung Eun Park, Minsuk Kahng, Sangkeun Lee, and Sang-goo Lee
Aug 18,2010
Copyright 2010 by CEBT
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
2
Copyright 2010 by CEBT
Contents
Introduction
Personalized Recommendation
Exploiting Contextual Information for Recommendation
Experiment
Conclusion
3
Copyright 2010 by CEBT
Motivation
Do you always get same list no matter what the context is?
We recommend items depending on the context4
08/05/29 04:4308/05/29 04:43
08/08/02 08:5108/08/02 08:51
08/10/28 09:5908/10/28 09:59Song1Song2Song3
…
Song1Song2Song3
…
Song1Song2Song3
…
Song1Song2Song3
…
Song1Song2Song3
…
Song1Song2Song3
…
User User
List 1
List 1
List 108/05/29 04:4308/05/29 04:43
08/08/02 08:5108/08/02 08:51
08/10/28 09:5908/10/28 09:59Song1Song2Song3
…
Song1Song2Song3
…
Song3Song4Song5
…
Song3Song4Song5
…
Song4Song5Song6
…
Song4Song5Song6
…
User User
List 1
List 2
List 3
Copyright 2010 by CEBT
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
Recommendation from Event Logs
5
Large Number of Users’ Log Data
Large Number of Users’ Log Data
user_id item timestamp
1432White winter hymnal
- Fleet foxes07/19/2008
16:55
1941Let's get out of this
country – Camera obscura
08/03/2008 22:14
1941White winter hymnal
- Fleet foxes08/10/2008
22:12
Listen
User_1432
07/19/2008 16:55
Listen
08/03/2008 22:14
User_1941
Implied Patterns in PreferencesImplied Patterns in Preferences
Use for the RecommendationUse for the Recommendation
Event Logs
Listen
08/10/2008 22:12
White winter hymnal
Let's get out of this country
Copyright 2010 by CEBT
Exploiting Information from Event Logs
We can obtain popularity, personal preference, and contextual information from log data, and consider them for recommendation
6
Event Logs(from large
accumulateddata)
Event Logs(from large
accumulateddata)
ContextualPreferences
PersonalPreferences
RecommenderSystem
RecommenderSystem
Personalization
Context-Awareness
1..
2.
AbstractingContextualInformation
AbstractingContextualInformation
Cooperating Achieved
Information
Cooperating Achieved
Information
Copyright 2010 by CEBT
Contents
Introduction
Recommendation
Recommendation Space
Collaborative Filtering
Exploiting Contextual Information for Recommendation
Experiment
Conclusion
7
Copyright 2010 by CEBT
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
8
user_id item_id timestamp
1432White winter
hymnal - Fleet foxes
07/19/2008 16:55
1941Let's get out of this
country – Camera obscura
08/03/2008 22:14
1941White winter
hymnal - Fleet foxes
08/10/2008 22:12
1432White winter
hymnal - Fleet foxes
08/31/2008 12:01
2133L'amour ne dure
pas toujours- Feist
09/04/2008 01:04
2133L'amour ne dure
pas toujours- Feist
09/06/2008 14:21
Event-logs (user, item, timestamp)Event-log
Copyright 2010 by CEBT
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
9
item1 item2 item3 item4 item5 … itemi
u1 5 3 ? 3 1 3
u2 4 2 3 ? 2 2
…
uj 5 5 3 2 1 4
sim1
sim2
Copyright 2010 by CEBT
Contents
Introduction
Recommendation
Exploiting Contextual Information for Recommendation
Context in Event Logs and Abstraction
Context-Aware Recommendation Algorithms
Experiment
Conclusion
10
Copyright 2010 by CEBT
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, …)
11
Copyright 2010 by CEBT
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, …}
12
Event-logs (user, item, timestamp, GPS code, temperature, …)
Event-logs' (user, item, season, time of day, day of week, location, city, temperature, …)
Context AbstractionContext Abstraction
Copyright 2010 by CEBT
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
13
day0 365
winter winterspring summer autumn
Copyright 2010 by CEBT
Contents
Introduction
Recommendation
Exploiting Contextual Information for Personalized Recommendation
Context in Event Logs
Context Abstraction
Context-Aware Recommendation Algorithms
Experiment
Conclusion
14
Combining Collaborative Filtering and
Context-Aware Recommendation Method
Copyright 2010 by CEBT
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
15
General preference of item i in the context ctx
a’s Preference on item i
Copyright 2010 by CEBT
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
16
item1 item2 … itemi
u1 5 3 3
u2 4 2 2
…
uj 5 5 4
item1
item2
… itemi
u1 Context1 5 1 0
Context2 0 2 2
…
Contextk 0 0 1
u2 Context1 4 0 2
Context2 0 1 0
…
Contextk 0 1 0
…
uj Context1 0 1 2
Context2 0 1 0
…
Contextk 5 3 2
Copyright 2010 by CEBT
Personalized Context-Aware Recommendation
Two possible scenarios to find similar users
17
Similarity in Summer : 0.4
Overall Similarity : 0.5
Overall Similarity : 0.7
Similarity in Summer : 0.6
Song1Song2Song3
…
Song1Song2Song3
…
Song4Song5Song3
…
Song4Song5Song3
…
Items of Summer
Items of Summer
In Summer, what will A like?
Copyright 2010 by CEBT
item1 item2 … itemi
u1 Context1
5 0 0
Context2
0 3 2
…
Contextk
0 0 1
u2 Context1
4 0 2
Context2
0 1 0
…
Contextk
0 1 0
…
uj Context1
0 1 2
Context2
0 1 0
…
Contextk
5 3 2
Personalized Context-Aware Recommendation
Two approaches to find similar users
1) 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
18
item1 item2 … itemi
u1 5 3 3
u2 4 2 2
…
uj 5 5 4
Data to Consider for determining similarity of
usersData to Consider for
recognizing the rating
Copyright 2010 by CEBT
Personalized Context-Aware Recommendation
Two approaches
2) 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
19
item1 item2 … itemi
u1 5 3 3
u2 4 2 2
…
uj 5 5 4
Data to Consider for determining similarity of
usersData to Consider for
recognizing the rating
item1 item2 … itemi
u1 Context1
5 0 0
Context2
0 3 2
…
Contextk
0 0 1
u2 Context1
4 0 2
Context2
0 1 0
…
Contextk
0 1 0
…
uj Context1
0 1 2
Context2
0 1 0
…
Contextk
5 3 2
Copyright 2010 by CEBT
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)
Personalized Context-Aware Recommendation
Season
TimeOfDay
Spring Summer Fall Winter
morning
…
evening
night
….Tuesday
Sunday
MondayDayOfWeek
…
Defining context with context concepts
RCADCA
Copyright 2010 by CEBT
Contents
Introduction
Recommendation
Exploiting Contextual Information for Recommendation
Experiment
Conclusion
21
Copyright 2010 by CEBT
Experimental Setup
Dataset
Last.fm
22
Copyright 2010 by CEBT
Temporal Context Abstraction - Experiment Setup
23
Type Concepts
Season winter, spring, summer, autumn
Day of week Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday
Time of day dawn, morning, AM, noon, afternoon, evening, night, midnight
0
0.2
0.4
0.6
0.8
1
0 100 200 300
Season
winter
spring
summer
autumn0
0.2
0.4
0.6
0.8
1
0 1 2 3 4 5 6 7
Day of week
Sun
Mon
Tue
Wed
Thu
Fri
Sat0
0.2
0.4
0.6
0.8
1
0 6 12 18 24
Time of Day
midnight
dawn
morning
AM
noon
PM
evening
Periodic Fuzzy Membership Function
Temporal Concepts
Copyright 2010 by CEBT
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.
1. Generate a theoretical list of songs to recommend depending on the given user and the temporal context in the test data set
2. Check whether the list contains the actual song user listened in the log
Test Set (Log)Test Set (Log) Recommendation List(n Songs)
Recommendation List(n Songs)
The relative frequency that the actual item user listened
matches the songin the recommendation list
The relative frequency that the actual item user listened
matches the songin the recommendation list
User1 Temporal Context 1
Music1
User2 Temporal Context 2
Music2
User3 Temporal Context 3
Music3
User4 Temporal Context 4
Music4
User5 Temporal Context 5
Music5
… …
Music5
Music6
Music7
Music1
Music3
…
Check if Music 1exists in the
recommendation list
Check if Music 1exists in the
recommendation list
1.
2.
Copyright 2010 by CEBT
Personalized Context-Aware Recommendation Issues
1. Which contextual data should be considered to find similar users in adopting CF to the context-aware recommendation?
2. RCA(Reduction-based Context aware method) vs. DCA(Disjunction-based Approach)
25
Method Scoring
POP popularity
CF generic CF
CAPOP context -dependent popularity
CA+CF weighted context aware CF (CF * CAPOP)
CACF-A1 Reduction-based CF based on global user similarity
CACF-A2 Reduction-based CF based on global user similarity considering context
CACF-A Reduction-based CF based on context dependent user similarity
CACF-O Concept-based disjunctive aggregating CF
F-CACF-A Considering fuzziness based on CACF-A
F-CACF-O Considering fuzziness based on CACF-O
Similar userswithin same context type
RCA
DCA
Similar usersRegardless of context type
Baseline methods
Copyright 2010 by CEBT
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
26
Copyright 2010 by CEBT
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
27
Copyright 2010 by CEBT
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.
28
Using context dependent similar users is better than
using generally similar users !!
DCA outperforms RCA
Copyright 2010 by CEBT
Contents
Introduction
Recommendation
Exploiting Contextual Information for Recommendation
Experiment
Conclusion
29
Copyright 2010 by CEBT
Conclusion
We have shown:
1. how to obtain implicit user preference and contextual information from event logs
2. a context abstraction strategy
– a way to use contextual information from event logs for recommendation
3. several experiments using real-world dataset
30
Q&A
Thank you
31