31
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 Technology Seoul National University Seoul, Korea Dongjoo Lee, Sung Eun Park, Minsuk Kahng, Sangkeun Lee, and Sang-goo Lee Aug 18,2010

Exploiting Contextual Information from Event Logs for Personalized Recommendation

  • Upload
    espen

  • View
    32

  • Download
    0

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

Page 1: Exploiting Contextual Information from Event Logs for Personalized Recommendation

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

Page 2: Exploiting Contextual Information from Event Logs for Personalized Recommendation

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

Page 3: Exploiting Contextual Information from Event Logs for Personalized Recommendation

Copyright 2010 by CEBT

Contents

Introduction

Personalized Recommendation

Exploiting Contextual Information for Recommendation

Experiment

Conclusion

3

Page 4: Exploiting Contextual Information from Event Logs for Personalized Recommendation

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

Page 5: Exploiting Contextual Information from Event Logs for Personalized Recommendation

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

Page 6: Exploiting Contextual Information from Event Logs for Personalized Recommendation

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

Page 7: Exploiting Contextual Information from Event Logs for Personalized Recommendation

Copyright 2010 by CEBT

Contents

Introduction

Recommendation

Recommendation Space

Collaborative Filtering

Exploiting Contextual Information for Recommendation

Experiment

Conclusion

7

Page 8: Exploiting Contextual Information from Event Logs for Personalized Recommendation

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

Page 9: Exploiting Contextual Information from Event Logs for Personalized Recommendation

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

Page 10: Exploiting Contextual Information from Event Logs for Personalized Recommendation

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

Page 11: Exploiting Contextual Information from Event Logs for Personalized Recommendation

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

Page 12: Exploiting Contextual Information from Event Logs for Personalized Recommendation

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

Page 13: Exploiting Contextual Information from Event Logs for Personalized Recommendation

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

Page 14: Exploiting Contextual Information from Event Logs for Personalized Recommendation

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

Page 15: Exploiting Contextual Information from Event Logs for Personalized Recommendation

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

Page 16: Exploiting Contextual Information from Event Logs for Personalized Recommendation

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

Page 17: Exploiting Contextual Information from Event Logs for Personalized Recommendation

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?

Page 18: Exploiting Contextual Information from Event Logs for Personalized Recommendation

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

Page 19: Exploiting Contextual Information from Event Logs for Personalized Recommendation

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

Page 20: Exploiting Contextual Information from Event Logs for Personalized Recommendation

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

Page 21: Exploiting Contextual Information from Event Logs for Personalized Recommendation

Copyright 2010 by CEBT

Contents

Introduction

Recommendation

Exploiting Contextual Information for Recommendation

Experiment

Conclusion

21

Page 22: Exploiting Contextual Information from Event Logs for Personalized Recommendation

Copyright 2010 by CEBT

Experimental Setup

Dataset

Last.fm

22

Page 23: Exploiting Contextual Information from Event Logs for Personalized Recommendation

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

Page 24: Exploiting Contextual Information from Event Logs for Personalized Recommendation

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.

Page 25: Exploiting Contextual Information from Event Logs for Personalized Recommendation

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

Page 26: Exploiting Contextual Information from Event Logs for Personalized Recommendation

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

Page 27: Exploiting Contextual Information from Event Logs for Personalized Recommendation

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

Page 28: Exploiting Contextual Information from Event Logs for Personalized Recommendation

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

Page 29: Exploiting Contextual Information from Event Logs for Personalized Recommendation

Copyright 2010 by CEBT

Contents

Introduction

Recommendation

Exploiting Contextual Information for Recommendation

Experiment

Conclusion

29

Page 30: Exploiting Contextual Information from Event Logs for Personalized Recommendation

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

Page 31: Exploiting Contextual Information from Event Logs for Personalized Recommendation

Q&A

Thank you

31