58
Temporal Context Improving Music Recommendation in Session-Based Collaborative Filtering by using Ricardo Dias, Manuel J. Fonseca University of Lisbon Instituto Superior Técnico ICTAI 2013

Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

Temporal Context

Improving Music Recommendation in Session-Based Collaborative Filtering by using

Ricardo Dias, Manuel J. Fonseca

University of Lisbon

Instituto Superior Técnico

ICTAI 2013

Page 2: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context
Page 3: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

Amazon

17 Million Songs iTunes

~18 Million Songs

Page 4: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context
Page 5: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context
Page 6: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

Content information

User Feedback

Songs listened

Temporal Context

Page 7: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

Context Filtering

Collaborative Filtering Demographic Filtering

Content-Based Approaches

Hybrid Approaches [Celma2010]

Page 8: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

1. Few work to study the usage of temporal context combined with CF algorithms

2. Some take advantage of the songs listened in sessions (and implicit context they provide)

3. None of them used temporal features extracted from the sessions

Page 9: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

1. Few work to study the usage of temporal context combined with CF algorithms

2. Some take advantage of the songs listened in sessions (and implicit context they provide)

3. None of them used temporal features extracted from the sessions

Page 10: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

1. Few work to study the usage of temporal context combined with CF algorithms

2. Some take advantage of the songs listened in sessions (and implicit context they provide)

3. None of them used temporal features extracted from the sessions

Page 11: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context
Page 12: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

Listening to music is a repetitive and continuous process

[Herrera2010]

Page 13: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

Songs frequently preferred together in sessions rather than isolated

[Hansen2009]

Page 14: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

User 1 Artist 1, Song 1, Timestamp

Artist 2, Song 3, Timestamp

Artist 1, Song 2, Timestamp

Artist 3, Song 5, Timestamp

Artist 4, Song 4, Timestamp

User 2 …

Time

Session 1

Session 2

Page 15: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

COLLABORATIVE FILTERING APPROACHES

Page 16: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

Takes into account the songs a user has listened and rated

Song 1 Song 2 Song 3 Song 4 Song 5

Alice 5 3 4 4 ?

User 1 3 1 2 3 3

User 2 4 3 4 3 5

User 3 3 3 1 5 4

User 4 1 5 5 2 1

Page 17: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context
Page 18: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

Session profiles instead of User Profiles

[Park2011]

Song 1 Song 2 Song 3 Song 4 Song 5

Session 1 1 4 4 ?

Session 2 1 2

Session 3 1 2 1

Session 4 1 1

Session 5 2 1 1

Page 19: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

Song 1 Song 2 Song 3 Song 4 Song 5

Session 1 1 4 4 ?

Session 2 1 2

Session 3 1 2 1

Session 4 1 1

Session 5 2 1 1

Page 20: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

𝑟 𝑠,𝑖 = 𝑟 𝑠 + 𝒔𝒊𝒎 𝒔, 𝒗 ∙ (𝑟𝑣,𝑖 − 𝑟 𝑣)𝑣 ∈ 𝑆(𝑠)𝑘

𝒔𝒊𝒎(𝒔, 𝒗)𝑣 ∈ 𝑆(𝑠)𝑘

𝑺(𝒔)𝒌 represents the k session neighbors for the active sessions, 𝒓 𝒔 and 𝒓 𝒗 the average

rating for the sessions s and v under comparison

Page 21: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

TEMPORAL CONTEXT AWARE ALGORITHMS

Page 22: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

Implicit Explicit

Page 23: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

𝑟 𝑠,𝑖 = 𝑟 𝑠 + 𝒔𝒊𝒎 𝒔, 𝒗 ∙ (𝑟𝑣,𝑖 − 𝑟 𝑣)𝑣 ∈ 𝑆(𝑠)𝑘

𝒔𝒊𝒎(𝒔, 𝒗)𝑣 ∈ 𝑆(𝑠)𝑘

𝑺(𝒔)𝒌 represents the k session neighbors for the active sessions, 𝒓 𝒔 and 𝒓 𝒗 the average

rating for the sessions s and v under comparison

Page 24: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

𝑟 𝑠,𝑖 = 𝑟 𝑠 + 𝒔𝒊𝒎 𝒔, 𝒗 ∙ (𝑟𝑣,𝑖 − 𝑟 𝑣)𝑣 ∈ 𝑆(𝑠)𝑘

𝒔𝒊𝒎(𝒔, 𝒗)𝑣 ∈ 𝑆(𝑠)𝑘

𝑺(𝒔)𝒌 represents the k session neighbors for the active sessions, 𝒓 𝒔 and 𝒓 𝒗 the average

rating for the sessions s and v under comparison

Page 25: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

Explicit

Page 26: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

Features

Time (Period of Day)

Weekday

Day of Month

Month

Session Diversity

Temporal

Context

Session

Diversity

Page 27: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

Clustering performed to group sessions that have similar features

Expectation Maximization (EM)

[Dempster1977]

Page 28: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

S1 and S2 more similar than S1 and S3 or S2 and S3

sim(s1, s2) = 0.163

sim(s1, s3) = 1.139

sim(s2, s3) = 0.871

0

0,2

0,4

0,6

0,8

1

1 2 3 4

Clu

ste

r M

em

be

rsh

ip

Clusters

Session 1

Session 2

Session 3

Page 29: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

𝑟 𝑠,𝑖 = 𝑟 𝑠 + 𝒔𝒊𝒎 𝒔, 𝒗 ∙ (𝑟𝑣,𝑖 − 𝑟 𝑣)𝑣 ∈ 𝑆(𝑠)𝑘

𝒔𝒊𝒎(𝒔, 𝒗)𝑣 ∈ 𝑆(𝑠)𝑘

𝒔𝒊𝒎 𝒔, 𝒗 = 𝑲𝒖𝒍𝒍𝒃𝒂𝒄𝒌(𝒔, 𝒗)

Page 30: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

Implicit

Page 31: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

Documents are collections of words

Each document is represented as a mixture of latent topics, and each topic has probabilities of generating various words

Page 32: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

Uses Session Data Model with LDA

– Documents: sessions

– Words: songs

Sessions (Documents) are treated as Bag-of-Songs (Words)

Page 33: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

S1 and S2 more similar than S1 and S3 or S2 and S3

sim(s1, s2) = 0.163

sim(s1, s3) = 1.139

sim(s2, s3) = 0.871

0

0,2

0,4

0,6

0,8

1

1 2 3 4

Top

ic

Dis

trib

uti

on

Topics

Session 1

Session 2

Session 3

Page 34: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

𝑟 𝑠,𝑖 = 𝑟 𝑠 + 𝒔𝒊𝒎 𝒔, 𝒗 ∙ (𝑟𝑣,𝑖 − 𝑟 𝑣)𝑣 ∈ 𝑆(𝑠)𝑘

𝒔𝒊𝒎(𝒔, 𝒗)𝑣 ∈ 𝑆(𝑠)𝑘

𝒔𝒊𝒎 𝒔, 𝒗 = 𝑲𝒖𝒍𝒍𝒃𝒂𝒄𝒌(𝒔, 𝒗)

Page 35: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

EVALUATION SETUP

Page 36: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

Determine the next song to be played in active session

Song A Song B Song C

Song E

Song D

Song F Active Session

Page 37: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

Listening History of 992 users

> 19 Million records

Page 38: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

Song 1 Song 2 Song 3 Song 4 Song 6 Song 3

Session 1 Session 2

Time gap

[Pabarskaite2007]

Page 39: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

Temporal Context Aware

SSCF [Park2011]

TSSCF

Session LDA

Page 40: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

#c = 8

Page 41: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

#t = 8

Page 42: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

𝑘 ∈ 30, 50,… , 2000

[Park2011]

Page 43: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

th = 20

Page 44: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

HR@n Hit Ratio at N

(top-n recommendations)

MRR Mean Reciprocal Rank

Page 45: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

Dataset – Session split

Training: all the songs in sessions, except the last one

Test: the last song in the session

Page 46: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

Queries 1000 Sessions randomly chosen

For each query obtained the top-100, and recorded the presence and rank given by the algorithms

For i = 1

to i = 20

Page 47: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

RESULTS

Page 48: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

LDA

SSCF Hit Ratio MRR

Page 49: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

H(2) = 1560.115; P < 0.01 H(2) = 1064.659; P < 0.01

Hit Ratio MRR

Page 50: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

Hit Ratio MRR

Page 51: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

Hit Ratio MRR

Page 52: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

K = 30

Page 53: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

MRR

LDA LDA

Hit Ratio

Page 54: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

H(2) = 2.294; P > 0.318 H(2) = 52.52; P < 0.01

Hit Ratio MRR

Page 55: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

CONCLUSIONS AND FUTURE WORK

Page 56: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

Temporal Context improves recommendation accuracy in Session-based CF

– LDA based algorithm with best results

HR increased >200%

Page 57: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context

Combine temporal properties with other context features

– Example: locations, activities, user behavior (skips), etc.

Conduct a user study by applying the algorithm in a real world application

Page 58: Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context