39
Using Song Social Tags and Topic Models to Describe and Compare Playlists Christhophe Rhodes Ben Fields [email protected] Mark d’Inverno Sunday, September 26, 2010

Using tags and topic models to describe and compare playlists

Embed Size (px)

DESCRIPTION

Playlists are a natural delivery method for music recom- mendation and discovery systems. Recommender systems offering playlists must strive to make them relevant and enjoyable. In this paper we survey many current means of generating and evaluating playlists. We present a means of comparing playlists in a reduced dimensional space through the use of aggregated tag clouds and topic models. To evaluate the fitness of this measure, we perform prototypical retrieval tasks on playlists taken from radio station logs gathered from Radio Paradise and Yes.com, using tags from Last.fm with the result showing better than random performance when using the query playlist’s station as ground truth, while fail- ing to do so when using time of day as ground truth. We then discuss possible applications for this measurement technique as well as ways it might be improved. Presented at the Workshop on Music Recommendation and Discovery on 26 September 2010, co-located with ACM Recommender Systems.

Citation preview

Page 1: Using tags and topic models to describe and compare playlists

Using Song Social Tags and Topic Models to Describe and

Compare Playlists

Christhophe Rhodes

Ben Fields [email protected]

Mark d’Inverno

Sunday, September 26, 2010

Page 2: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 20102

overview– motivation– describing playlists– comparing playlists– use and evaluation

Sunday, September 26, 2010

Page 3: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 20103

motivation

Sunday, September 26, 2010

Page 4: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 2010

how is music consumed?

4

Sunday, September 26, 2010

Page 5: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 2010

listening.

5

Sunday, September 26, 2010

Page 6: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 2010

is music recommendation broken?

6

Sunday, September 26, 2010

Page 7: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 2010

listening.

7

Sunday, September 26, 2010

Page 8: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 2010

perhaps we should consider recommendations in the context of their playorder

8

Sunday, September 26, 2010

Page 9: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 2010

perhaps we should consider recommendations in playlists

9

Sunday, September 26, 2010

Page 10: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 201010

describing playlists

Sunday, September 26, 2010

Page 11: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 2010

describing playlistssong representation

11

Artist: dev/nullTitle : Zombie Sunset

Sunday, September 26, 2010

Page 12: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 2010

describing playlistssong representation

11

Artist: dev/nullTitle : Zombie Sunset

Sunday, September 26, 2010

Page 13: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 2010

describing playlistssong representation

11

Sunday, September 26, 2010

Page 14: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 2010

describing playlistssong representation

11

Sunday, September 26, 2010

Page 15: Using tags and topic models to describe and compare playlists

P (Ti)

Fields et al. - Tags, Topics and Playlists WOMRAD 2010

describing playlistssong reduction

12

tag weightbreakcore 100idm 60electronic 35experimental 35grindcore 10... ...

=>

Sunday, September 26, 2010

Page 16: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 2010

describing playliststopic models

13

– a tag cloud is a representation of a song

– a topic is a pdf of all tags– many weighted topics can model tag

clouds– dimensionality is the number of

topics

Sunday, September 26, 2010

Page 17: Using tags and topic models to describe and compare playlists

!

wz"#NM

Fields et al. - Tags, Topics and Playlists WOMRAD 2010

describing playlistsLatent Direchlete Allocation

14

Sunday, September 26, 2010

Page 18: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 2010

describing playlistsLatent Direchlete Allocation

15

gather tags for all songs

create LDA model describing topic distributions

infer topic mixtures for all songs

create vector database of playlists

Sunday, September 26, 2010

Page 19: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 201016

comparing playlists

Sunday, September 26, 2010

Page 20: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 2010

comparing playlistssequence matching

17

Sunday, September 26, 2010

Page 21: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 2010

comparing playlistssequence matching

17

Sunday, September 26, 2010

Page 22: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 2010

comparing playlistssequence matching

17

Sunday, September 26, 2010

Page 23: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 2010

comparing playlistssequence matching

17

Sunday, September 26, 2010

Page 24: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 2010

comparing playlistssequence matching

17

Sunday, September 26, 2010

Page 25: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 2010

comparing playlistsdistance between sequences

18

– Compatible with any n-dimensional distance measure

– In our evaluation we use multi-dimensional euclidean distance

– For query and retrieval among playlists we use audioDB

Sunday, September 26, 2010

Page 26: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 201019

evaluation

Sunday, September 26, 2010

Page 27: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 2010

– Radio Paradise

–18 months of logs from 1 station–partitioned with marked links

– yes.com–1 week of logs from 9 genres of

stations, eval uses ‘rock’ and ‘jazz’–partitioned every hour

20

evaluationtest sets

Sunday, September 26, 2010

Page 28: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 201021

evaluationtest sets

source St Smt Pt Pavg(time) Pavg(songs)

whole yes.com 885810 2543 70190 55min 12.62“Rock” stations 105952 865 9414 53min 11.25“Jazz” stations 36593 1092 3787 55min 9.66“Radio Paradise” 195691 2246 45284 16min 4.32

Table 1: Basic statistics for both the radio log datasets. Symbols are as follows: St is the total number ofsong entries found in the dataset; Smt is the total number of songs in St where tags could not be found; Pt istotal number of playlists; Pavg(time) is the average runtime of these playlists and Pavg(songs) is the mean numberof songs per playlist.

of continuously played songs, with no breaks between thesongs in the playlists. The playlists from Yes are approxima-tions of a complete radio program and can therefore containsome material inserted between songs (e.g. presenter link,commercials).

Statistics for our dataset can be see in Table 1 we thenuse the tags clouds for these songs to estimate LDA topicmodels as described in Section 310. For all our experimentswe specify 10 topic models a priori. The five most relevanttags in each of the topics in models trained on both the rockand jazz stations can be seen Table 2.

5.2 Daily PatternsOur first evaluation looks at the difference between the

time of day a given query playlist starts and the start timefor the closest n playlists by our measure. For this evaluationwe looked at the 18 month log from Radio Paradise as well asthe “Rock” and “jazz” labelled stations from Yes.com, eachin turn. Further we used a twelve hour clock to account forThe basis for this test relies on the hypothesis that for muchcommercial radio content in the United States, branding ofprograms is based on daily repeatable of tone and contentfor a given time of day. It should therefore be expectedthat playlists with similar contours would occur at similartimes of day across stations competing for similar marketsof listeners.

Figure 4 shows the mean across all query playlists of thetime difference for each result position for the closest n re-sults, where n is 200 for the Radio Paradise set and 100for the Yes.com set. The mean time difference across allthree sets is basically flat, with an average time differenceof just below 11000 or about three hours. Given the max-imum difference of 12 hours, this result is entirely the op-posite of compelling, with the retrieved results showing nocorespondance to time of day. Further investigation is re-quired to determine whether this is a failure of the distancemetric or simply an accurate portrail of the radio stationslogs. A deeper examination of some of the Yes.com datashows some evidence of the latter case. Many of the playlistqueries exactly match (distance of 0) with the entirity of the200 returned results. Further these exact match playlists arerepeated evenly throughout the day. One of these queries isshown in Figure 5. The existance of these repeating playliststhroughout the day, ensures this task will not confirm ourhypothesis, perhaps due to progaming with no reliance on

10Our topic models are created using the open source imple-mentation of LDA found in the gensim python package avail-able at http://nlp.fi.muni.cz/projekty/gensim/ whichin turn is based on Blei’s C implementation available athttp://www.cs.princeton.edu/~blei/lda-c/

time of day, at least in the case of Radio Paradise.

Figure 5: The time of day difference from the queryplaylist for 200 returned results, showing even timeof day spread. Note that all the results show herehave a distance of 0 from the query.

5.3 Inter-station vs. Intra-stationIn this evaluation we examined the precision and recall

of retrieving playlists from the same station as the queryplaylist. Here we looked at the “Rock” and “Jazz” labelledstations retrieved via the Yes API, each in turn. Similar tothe first task, it is expected that a given station will haveits own tone or particular feel that should lead to playlistsfrom that station being more apt to match playlist fromtheir generating station then with other stations from thesame genre. More formally, for each query we treat returnedplaylists as relevant, true positives when they come fromthe same station as the query playlist and false positivesotherwise. Based on this relevance assumption, precisionand recall can be calculated using the following standardequations.

P =|{relevantplaylists}

T{retrievedplaylists}|

|{retrievedplaylists}| (2)

R =|{relevantplaylists}

T{retrievedplaylists}|

|{relevantplaylists}| (3)

The precision versus recall for a selection of stations’ playlistsfrom both the “Rock” and“Jazz” stations are show in Figure6. When considering the precision and recall performance itis useful to compare against random chance retrieval. There

Sunday, September 26, 2010

Page 29: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 2010

using both datasets, will playlists retrieve to others that are played around the same time?

22

evaluationfinding dayparts

Sunday, September 26, 2010

Page 30: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 201023

evaluationfinding dayparts

Sunday, September 26, 2010

Page 31: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 201024

evaluationfinding dayparts

Sunday, September 26, 2010

Page 32: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 2010

is a playlist similar to others from its own station?

25

evaluationretrieval by station

Sunday, September 26, 2010

Page 33: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 201026

evaluationretrieval by station

Sunday, September 26, 2010

Page 34: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 201027

evaluationretrieval by station

Sunday, September 26, 2010

Page 35: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 201028

evaluationretrieval by station

Sunday, September 26, 2010

Page 36: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 201029

conclusionssummary– tag clouds and topic models for

representation of playlists– sequence matching – two evaluations

–dayparting needed better data

–station based queries showed solid result

Sunday, September 26, 2010

Page 37: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 201030

–other distance metrics–more datasets–better labels–alignment with humans

conclusionsfuture work

Sunday, September 26, 2010

Page 38: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 201031

resources– audioDB http://omras2.doc.gold.ac.uk/software/audiodb

– gensim http://nlp.fi.muni.cz/projekty/gensim/

– slides: http://slideshare.com/BenFields

– contact: [email protected]

http://blog.benfields.net

twitter: @alsothings

Sunday, September 26, 2010

Page 39: Using tags and topic models to describe and compare playlists

Fields et al. - Tags, Topics and Playlists WOMRAD 201031

Questions?

resources– audioDB http://omras2.doc.gold.ac.uk/software/audiodb

– gensim http://nlp.fi.muni.cz/projekty/gensim/

– slides: http://slideshare.com/BenFields

– contact: [email protected]

http://blog.benfields.net

twitter: @alsothings

Sunday, September 26, 2010