Improving Music Recommendation in
Session-Based Collaborative Filtering by using

Temporal Context
Ricardo Dias, Manuel J....
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 listene...
1. Few work to study the usage of temporal
context combined with CF algorithms
2. Some take advantage of the songs listene...
1. Few work to study the usage of temporal
context combined with CF algorithms
2. Some take advantage of the songs listene...
Listening to music is a repetitive
and continuous process

[Herrera2010]
Songs frequently preferred together in sessions
rather than isolated

[Hansen2009]
User 1
Session 1
Session 2
…

User 2 …

Artist 1, Song 1, Timestamp
Artist 2, Song 3, Timestamp
Artist 1, Song 2, Timestam...
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

?

U...
Session profiles instead of User Profiles
Song 1

Song 2

Session 1

1

4

Session 2

1

Session 3

[Park2011]

Song 4

So...
Song 1

Song 2

Session 1

1

4

Session 2

1

Session 3

Song 4

Song 5

4

?

2
1

Session 4
Session 5

Song 3

2

1
1

...
𝑟 𝑠,𝑖 = 𝑟𝑠 +

𝑣 ∈ 𝑆(𝑠) 𝑘

𝒔𝒊𝒎 𝒔, 𝒗 ∙ (𝑟 𝑣,𝑖 − 𝑟 𝑣 )

𝑣 ∈ 𝑆(𝑠) 𝑘

𝒔𝒊𝒎(𝒔, 𝒗)

𝑺(𝒔) 𝒌 represents the k session neighbors for ...
TEMPORAL CONTEXT AWARE
ALGORITHMS
Explicit

Implicit
𝑟 𝑠,𝑖 = 𝑟𝑠 +

𝑣 ∈ 𝑆(𝑠) 𝑘

𝒔𝒊𝒎 𝒔, 𝒗 ∙ (𝑟 𝑣,𝑖 − 𝑟 𝑣 )

𝑣 ∈ 𝑆(𝑠) 𝑘

𝒔𝒊𝒎(𝒔, 𝒗)

𝑺(𝒔) 𝒌 represents the k session neighbors for ...
𝑟 𝑠,𝑖 = 𝑟𝑠 +

𝑣 ∈ 𝑆(𝑠) 𝑘

𝒔𝒊𝒎 𝒔, 𝒗 ∙ (𝑟 𝑣,𝑖 − 𝑟 𝑣 )

𝑣 ∈ 𝑆(𝑠) 𝑘

𝒔𝒊𝒎(𝒔, 𝒗)

𝑺(𝒔) 𝒌 represents the k session neighbors for ...
Explicit
Features
Time (Period of Day)

Temporal
Context

Weekday
Day of Month
Month
Session Diversity

Session
Diversity
Clustering performed to group sessions that
have similar features
Expectation Maximization (EM)

[Dempster1977]
Cluster
Membership

S1 and S2 more similar than S1 and S3 or S2 and
S3
1
0,8
0,6

Session 1

0,4
0,2

Session 2

0

Sessio...
𝑟 𝑠,𝑖 = 𝑟𝑠 +

𝑣 ∈ 𝑆(𝑠) 𝑘

𝒔𝒊𝒎 𝒔, 𝒗 ∙ (𝑟 𝑣,𝑖 − 𝑟 𝑣 )

𝑣 ∈ 𝑆(𝑠) 𝑘

𝒔𝒊𝒎(𝒔, 𝒗)

𝒔𝒊𝒎 𝒔, 𝒗 = 𝑲𝒖𝒍𝒍𝒃𝒂𝒄𝒌(𝒔, 𝒗)
Implicit
Documents are collections of words
Each document is represented as a mixture of
latent topics, and each topic has probabil...
Uses Session Data Model with LDA
– Documents: sessions
– Words: songs

Sessions (Documents) are treated as Bag-ofSongs (Wo...
Topic
Distribution

S1 and S2 more similar than S1 and S3 or S2 and
S3
1
0,8
0,6
0,4

Session 1

0,2

Session 2
Session 3
...
𝑟 𝑠,𝑖 = 𝑟𝑠 +

𝑣 ∈ 𝑆(𝑠) 𝑘

𝒔𝒊𝒎 𝒔, 𝒗 ∙ (𝑟 𝑣,𝑖 − 𝑟 𝑣 )

𝑣 ∈ 𝑆(𝑠) 𝑘

𝒔𝒊𝒎(𝒔, 𝒗)

𝒔𝒊𝒎 𝒔, 𝒗 = 𝑲𝒖𝒍𝒍𝒃𝒂𝒄𝒌(𝒔, 𝒗)
EVALUATION SETUP
Determine the next song to be played in active
session
Song E
Song A

Song B

Song C

Active Session

Song D

Song F
Listening History of 992 users

> 19

Million records
Session 1

Song 1

Song 2

Session 2

Song 3

Song 4
Time gap

[Pabarskaite2007]

Song 6

Song 3
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 i = 1
to i = 20

For each query obtained the top-100,
and recorded the presenc...
RESULTS
SSCF
Hit Ratio

MRR

LDA
Hit Ratio

H(2) = 1560.115; P < 0.01

MRR

H(2) = 1064.659; P < 0.01
Hit Ratio

MRR
Hit Ratio

MRR
K = 30
Hit Ratio

MRR

LDA

LDA
Hit Ratio

H(2) = 52.52; P < 0.01

MRR

H(2) = 2.294; P > 0.318
CONCLUSIONS AND FUTURE
WORK
Temporal Context improves recommendation
accuracy in Session-based CF
– LDA based algorithm with best results

HR increase...
Combine temporal properties with other
context features
– Example: locations, activities, user behavior
(skips), etc.

Con...
Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context
Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context
Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context
Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context
Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context
Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context
Upcoming SlideShare
Loading in …5
×

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

0 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
0
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

  1. 1. Improving Music Recommendation in Session-Based Collaborative Filtering by using Temporal Context Ricardo Dias, Manuel J. Fonseca University of Lisbon Instituto Superior Técnico ICTAI 2013
  2. 2. Amazon 17 Million Songs iTunes ~18 Million Songs
  3. 3. Content information User Feedback Songs listened Temporal Context
  4. 4. Context Filtering Collaborative Filtering Demographic Filtering Content-Based Approaches Hybrid Approaches [Celma2010]
  5. 5. 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
  6. 6. 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
  7. 7. 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
  8. 8. Listening to music is a repetitive and continuous process [Herrera2010]
  9. 9. Songs frequently preferred together in sessions rather than isolated [Hansen2009]
  10. 10. User 1 Session 1 Session 2 … User 2 … 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 Time
  11. 11. COLLABORATIVE FILTERING APPROACHES
  12. 12. 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
  13. 13. Session profiles instead of User Profiles Song 1 Song 2 Session 1 1 4 Session 2 1 Session 3 [Park2011] Song 4 Song 5 4 ? 2 1 Session 4 Session 5 Song 3 2 1 1 2 1 1 1
  14. 14. Song 1 Song 2 Session 1 1 4 Session 2 1 Session 3 Song 4 Song 5 4 ? 2 1 Session 4 Session 5 Song 3 2 1 1 2 1 1 1
  15. 15. 𝑟 𝑠,𝑖 = 𝑟𝑠 + 𝑣 ∈ 𝑆(𝑠) 𝑘 𝒔𝒊𝒎 𝒔, 𝒗 ∙ (𝑟 𝑣,𝑖 − 𝑟 𝑣 ) 𝑣 ∈ 𝑆(𝑠) 𝑘 𝒔𝒊𝒎(𝒔, 𝒗) 𝑺(𝒔) 𝒌 represents the k session neighbors for the active sessions, 𝒓 𝒔 and 𝒓 𝒗 the average rating for the sessions s and v under comparison
  16. 16. TEMPORAL CONTEXT AWARE ALGORITHMS
  17. 17. Explicit Implicit
  18. 18. 𝑟 𝑠,𝑖 = 𝑟𝑠 + 𝑣 ∈ 𝑆(𝑠) 𝑘 𝒔𝒊𝒎 𝒔, 𝒗 ∙ (𝑟 𝑣,𝑖 − 𝑟 𝑣 ) 𝑣 ∈ 𝑆(𝑠) 𝑘 𝒔𝒊𝒎(𝒔, 𝒗) 𝑺(𝒔) 𝒌 represents the k session neighbors for the active sessions, 𝒓 𝒔 and 𝒓 𝒗 the average rating for the sessions s and v under comparison
  19. 19. 𝑟 𝑠,𝑖 = 𝑟𝑠 + 𝑣 ∈ 𝑆(𝑠) 𝑘 𝒔𝒊𝒎 𝒔, 𝒗 ∙ (𝑟 𝑣,𝑖 − 𝑟 𝑣 ) 𝑣 ∈ 𝑆(𝑠) 𝑘 𝒔𝒊𝒎(𝒔, 𝒗) 𝑺(𝒔) 𝒌 represents the k session neighbors for the active sessions, 𝒓 𝒔 and 𝒓 𝒗 the average rating for the sessions s and v under comparison
  20. 20. Explicit
  21. 21. Features Time (Period of Day) Temporal Context Weekday Day of Month Month Session Diversity Session Diversity
  22. 22. Clustering performed to group sessions that have similar features Expectation Maximization (EM) [Dempster1977]
  23. 23. Cluster Membership S1 and S2 more similar than S1 and S3 or S2 and S3 1 0,8 0,6 Session 1 0,4 0,2 Session 2 0 Session 3 1 2 3 Clusters 4 sim(s1, s2) = 0.163 sim(s1, s3) = 1.139 sim(s2, s3) = 0.871
  24. 24. 𝑟 𝑠,𝑖 = 𝑟𝑠 + 𝑣 ∈ 𝑆(𝑠) 𝑘 𝒔𝒊𝒎 𝒔, 𝒗 ∙ (𝑟 𝑣,𝑖 − 𝑟 𝑣 ) 𝑣 ∈ 𝑆(𝑠) 𝑘 𝒔𝒊𝒎(𝒔, 𝒗) 𝒔𝒊𝒎 𝒔, 𝒗 = 𝑲𝒖𝒍𝒍𝒃𝒂𝒄𝒌(𝒔, 𝒗)
  25. 25. Implicit
  26. 26. Documents are collections of words Each document is represented as a mixture of latent topics, and each topic has probabilities of generating various words
  27. 27. Uses Session Data Model with LDA – Documents: sessions – Words: songs Sessions (Documents) are treated as Bag-ofSongs (Words)
  28. 28. Topic Distribution S1 and S2 more similar than S1 and S3 or S2 and S3 1 0,8 0,6 0,4 Session 1 0,2 Session 2 Session 3 0 1 2 3 Topics 4 sim(s1, s2) = 0.163 sim(s1, s3) = 1.139 sim(s2, s3) = 0.871
  29. 29. 𝑟 𝑠,𝑖 = 𝑟𝑠 + 𝑣 ∈ 𝑆(𝑠) 𝑘 𝒔𝒊𝒎 𝒔, 𝒗 ∙ (𝑟 𝑣,𝑖 − 𝑟 𝑣 ) 𝑣 ∈ 𝑆(𝑠) 𝑘 𝒔𝒊𝒎(𝒔, 𝒗) 𝒔𝒊𝒎 𝒔, 𝒗 = 𝑲𝒖𝒍𝒍𝒃𝒂𝒄𝒌(𝒔, 𝒗)
  30. 30. EVALUATION SETUP
  31. 31. Determine the next song to be played in active session Song E Song A Song B Song C Active Session Song D Song F
  32. 32. Listening History of 992 users > 19 Million records
  33. 33. Session 1 Song 1 Song 2 Session 2 Song 3 Song 4 Time gap [Pabarskaite2007] Song 6 Song 3
  34. 34. Temporal Context Aware SSCF [Park2011] TSSCF Session LDA
  35. 35. #c = 8
  36. 36. #t = 8
  37. 37. 𝑘 ∈ 30, 50, … , 2000 [Park2011]
  38. 38. th = 20
  39. 39. HR@n  Hit Ratio at N (top-n recommendations) MRR  Mean Reciprocal Rank
  40. 40. Dataset – Session split Training: all the songs in sessions, except the last one Test: the last song in the session
  41. 41. Queries  1000 Sessions randomly chosen For i = 1 to i = 20 For each query obtained the top-100, and recorded the presence and rank given by the algorithms
  42. 42. RESULTS
  43. 43. SSCF Hit Ratio MRR LDA
  44. 44. Hit Ratio H(2) = 1560.115; P < 0.01 MRR H(2) = 1064.659; P < 0.01
  45. 45. Hit Ratio MRR
  46. 46. Hit Ratio MRR
  47. 47. K = 30
  48. 48. Hit Ratio MRR LDA LDA
  49. 49. Hit Ratio H(2) = 52.52; P < 0.01 MRR H(2) = 2.294; P > 0.318
  50. 50. CONCLUSIONS AND FUTURE WORK
  51. 51. Temporal Context improves recommendation accuracy in Session-based CF – LDA based algorithm with best results HR increased >200%
  52. 52. 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

×