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

Preview:

DESCRIPTION

 

Citation preview

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

Amazon

17 Million Songs iTunes

~18 Million Songs

Content information

User Feedback

Songs listened

Temporal Context

Context Filtering

Collaborative Filtering Demographic Filtering

Content-Based Approaches

Hybrid Approaches [Celma2010]

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

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

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

Listening to music is a repetitive and continuous process

[Herrera2010]

Songs frequently preferred together in sessions rather than isolated

[Hansen2009]

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

COLLABORATIVE FILTERING APPROACHES

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

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

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

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

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

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

rating for the sessions s and v under comparison

TEMPORAL CONTEXT AWARE ALGORITHMS

Implicit Explicit

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

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

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

rating for the sessions s and v under comparison

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

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

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

rating for the sessions s and v under comparison

Explicit

Features

Time (Period of Day)

Weekday

Day of Month

Month

Session Diversity

Temporal

Context

Session

Diversity

Clustering performed to group sessions that have similar features

Expectation Maximization (EM)

[Dempster1977]

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

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

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

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

Implicit

Documents are collections of words

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

Uses Session Data Model with LDA

– Documents: sessions

– Words: songs

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

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

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

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

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

EVALUATION SETUP

Determine the next song to be played in active session

Song A Song B Song C

Song E

Song D

Song F Active Session

Listening History of 992 users

> 19 Million records

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

Session 1 Session 2

Time gap

[Pabarskaite2007]

Temporal Context Aware

SSCF [Park2011]

TSSCF

Session LDA

#c = 8

#t = 8

𝑘 ∈ 30, 50,… , 2000

[Park2011]

th = 20

HR@n Hit Ratio at N

(top-n recommendations)

MRR Mean Reciprocal Rank

Dataset – Session split

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

Test: the last song in the session

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

RESULTS

LDA

SSCF Hit Ratio MRR

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

Hit Ratio MRR

Hit Ratio MRR

Hit Ratio MRR

K = 30

MRR

LDA LDA

Hit Ratio

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

Hit Ratio MRR

CONCLUSIONS AND FUTURE WORK

Temporal Context improves recommendation accuracy in Session-based CF

– LDA based algorithm with best results

HR increased >200%

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

Recommended