56
Claudio Baccigalupo, IIIA–CSIC Bellaterra, November 6th, 2009 Poolcasting: an intelligent technique to customise music programmes for their audience

Poolcasting

Embed Size (px)

DESCRIPTION

Slides for my Ph.D. defense at the Universitat Autònoma de Barcelona, November 2009

Citation preview

Page 1: Poolcasting

Claudio Baccigalupo, IIIA–CSICBellaterra, November 6th, 2009

Poolcasting:

an intelligent technique to

customise music programmes

for their audience

Page 2: Poolcasting

Create something intelligent

flick

r.com

/pho

tos/

jess

icaf

m/4

5178

0564

Page 3: Poolcasting

Nobody understands me!

flick

r.com

/pho

tos/

jess

icaf

m/8

7422

0566

Page 4: Poolcasting

Let’s search for an actual problem

flick

r.com

/pho

tos/

jess

icaf

m/8

7336

5059

Page 5: Poolcasting

PartyStrands

flick

r.com

/pho

tos/

jaej

ongk

wak

/389

5315

62/

Page 6: Poolcasting

Develop an intelligent technique

to satisfy a group of listeners

by delivering a sequence of songs

adapted for the entire audience

Scope of the research

Page 7: Poolcasting

Desired properties

Variety avoiding repetitions

Smoothness nice musical transitions

Customisation adapted for the audience

Fairness satisfactory for everyone

Page 8: Poolcasting

Structure of the thesis

1. Introduction

2. Musical associations smoothness

3. Individual listening behaviours customisation

4. The poolcasting CBR technique fairness

5. Poolcasting Web radio

6. Experiments and evaluation

7. Conclusions

Page 9: Poolcasting

Chapter 2.Musical associations from a Web of experiences

Page 10: Poolcasting

State of the art

Methods to uncover associated songs:

experts-based not scalable

content-based ignore cultural liaisons

social-based observing how people use music in their activities

Page 11: Poolcasting

Collecting listening habits

flick

r.com

/pho

tos/

itzafi

neda

y/30

2929

685

Page 12: Poolcasting

A Web of music data

Page 13: Poolcasting

How often do and occur in the same playlists? Do they always occur in the same order? Contiguously?

Playlists

X

Y

Co-occurrence analysis

X Y

Page 14: Poolcasting

measures the association between and based on their co-occurrences in a set of playlists

Playlists

s(X, Y )X

Y

Co-occurrence analysis

s(X,Y ) ! [0, 1] X

Y

Page 15: Poolcasting

From playlists to associations

Initial data set: 993,825 playlists

After noise removal: 465,438 playlists

estimated for ~400K songs by ~50K artists

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

010

0,00

020

0,00

030

0,00

0

0 4 8 12 16 20 24 28 32 36 40

010

,000

20,000

30,000

40,000

50,000

Fig 2.2

Alphabetically ordered songs/artists [limited to 1~15]

Num

ber o

f pla

ylis

ts

Number of songs [limited to 1~40]N

umbe

r of p

layl

ists

songsartists

! !

s(X, Y )

Page 16: Poolcasting

Top associated songs with ‘New York, New York’:

1. ‘The Waters of March’ (Susannah McCorkle)

2. ‘Stardust’ (Glenn Miller)

Top associated artists with Frank Sinatra:

1. Dean Martin

2. Sammy Davis Jr.

the same result of

Lists of associated songs

Page 17: Poolcasting

Structure of the thesis

1. Introduction

2. Musical associations

3. Individual listening behaviours customisation

4. The poolcasting CBR technique fairness

5. Poolcasting Web radio

6. Experiments and evaluation

7. Conclusions

s(X, Y )

Page 18: Poolcasting

Chapter 3.Individual listening behaviours

Page 19: Poolcasting

State of the art

Methods to compile user models:

explicit asking for a direct feedback

implicit observing behavioural patterns (listening, purchasing, sharing, forwarding, rating a song)

Page 20: Poolcasting

Listening habits data

Page 21: Poolcasting

estimates the implicit preference of for a song combining the observed rating and play count

From habits to implicit preferences

Implicit user modeling

X

U

i(U, X)

i(U, X) ! [0, 1] U

X

Page 22: Poolcasting

Structure of the thesis

1. Introduction

2. Musical associations

3. Individual listening behaviours

4. The poolcasting CBR technique fairness

5. Poolcasting Web radio

6. Experiments and evaluation

7. Conclusions

i(U, X)

s(X, Y )

Page 23: Poolcasting

Chapter 4.The poolcasting technique

Page 24: Poolcasting

Overview

C3U3U1C1 C2

U2

timeT = 1 T = 2 T = 3

H1 H2 H3 . . .

Poolcasting Poolcasting Poolcasting

Page 25: Poolcasting

Adding one song to the sequence

C3U3

timeT = 1 T = 2 T = 3

H1 H2

PoolcastingCase-Based Reasoning

Page 26: Poolcasting

A collection of Case Bases

Build one Case Base for each userC3

U3

timeT = 1 T = 2 T = 3

H1 H2

Listeninghabits

Case Bases

Individual preferences

U1

X

0.5

. . .

X

. . .

1.00.2

!0.7

U2

i(U1, X)

i(U2, X)

Page 27: Poolcasting

The Retrieve process

Extract from the Case Bases a subset of songs that:

- have not been played recently

- maximise the degree

C3U3

timeT = 1 T = 2 T = 3

H1 H2

Listeninghabits

Case Bases

Retrieve

Musical

association

Individual preferences

variety

smoothnesss(H2, Y )

Y

Page 28: Poolcasting

The Reuse process

Rank the retrieved set accordingto the aggregated preferences ofall the members of the audience

C3U3

timeT = 1 T = 2 T = 3

H1 H2

Listeninghabits

Case Bases

Retrieve

Musical

association

Individual preferences

Reuse

customisationfairness

H3

Page 29: Poolcasting

The Revise process

Update the implicit preferenceswith the users’ explicit feedback

C3U3

timeT = 1 T = 2 T = 3

H1 H2

Listeninghabits

Case Bases

Retrieve

Musical

association

Revise

H3 . . .

Individual preferences

Reuse

i(U, X)

e(U, X, T )

p(U, X, T )

implicit

explicit

preference

Page 30: Poolcasting

The iterated CBR technique

C3U3

Listeninghabits

Case Bases

Retrieve

Musical

association

Revise

U1C1 C2U2

timeT = 1 T = 2 T = 3

H1 H2 H3 . . .

Individual preferences

Reuse

Individual preferences

MusicalassociationReuse

RetrieveRevise

Listeninghabits

Case Bases

Individual preferences

Reuse

RetrieveRevise

Listeninghabits

Case Bases

Page 31: Poolcasting

Aggregating individual preferences

From multiple preference degrees :

to an aggregated group-preference :

p(U1, X, T ) p(U2, X, T ) p(U3, X, T )X

g(X, T ) ! ["1, 1]

p(U, X, T ) ! ["1, 1]

Page 32: Poolcasting

From multiple preference degrees :

to an aggregated group-preference :

defined as a satisfaction-weighted average

Aggregating individual preferences

p(U1, X, T ) p(U2, X, T )

g(X, T ) =!

U!UT

(1! q(U, T ! 1)) ·p(U, X, T )

#(UT )

p(U3, X, T )X

X

weight average

g(X, T ) ! ["1, 1]

p(U, X, T ) ! ["1, 1]

Page 33: Poolcasting

Avoiding misery

The satisfaction-weighted aggregation is completed with a measure intended to avoid misery:

This results is an acceptable compromise for the group

g(X, T ) =

!"""""#

"""""$

!1 if "U # UT :p(U, X, T ) < µ

%U!UT

(1! q(U, T ! 1)) ·p(U, X, T )

#(UT )otherwise.

assign the minimum degree if any user strongly dislikes X

g(X, T ) ! ["1, 1]

Page 34: Poolcasting

Structure of the thesis

1. Introduction

2. Musical associations

3. Individual listening behaviours

4. The poolcasting CBR technique

5. Poolcasting Web radio

6. Experiments and evaluation

7. Conclusions

Page 35: Poolcasting

Chapter 5.Group-customised Web radio

Page 36: Poolcasting

What is Poolcasting radio?

Page 37: Poolcasting

A Poolcasting radio channel

Page 38: Poolcasting

Listeners can play music

Page 39: Poolcasting

Listeners can create public channels

Page 40: Poolcasting

Participants contribute with own music

Page 41: Poolcasting

Listeners can interact

Page 42: Poolcasting

Listeners influence the music played

Page 43: Poolcasting

The Poolcasting radio architecture

Participant ParticipantPersonal LibraryMediaPlayer

I N T E R N E T

share library

list ofshared songs

ratings andplay counts

PREFERENCES

MUSIC POOL

availablesongs

Library Parser

MUSICAL ASSOCIATIONSplaylists

CURRENT LISTENERS

CHANNELS

Streaming Server

Stream Generator

list oflisteners

audio signal

OGG stream(256 Kbps)

MP3 stream(64 Kbps)

metadata

rate songs

Song Scheduler

knowledge toschedule

create channel

uploadsong

Database

Web Interface

Page 44: Poolcasting

Chapter 6.Experiments and evaluation

Page 45: Poolcasting

Subjective evaluation

Poolcasting Web radio as a test platform for one year

10 users sharing 24,763 identified songs

4,828 preferences inferred from personal libraries

Positive feedback for the overall experience

Variety requirement was too weak

Smootness requirement was too strong

Page 46: Poolcasting

Artificially created profiles

Individualpreferences

Satisfactiondegrees

Five users with random profiles

5 10 15 20 25

0.0

0.2

0.4

0.6

0.8

1.0

5 10 15 20 25

0.0

0.2

0.4

0.6

0.8

1.0

Page 47: Poolcasting

A worst-case scenario

Individualpreferences

Satisfactiondegrees

Five users with random profiles

Two groups with discordant tastes

5 10 15 20 25

0.0

0.2

0.4

0.6

0.8

1.0

5 10 15 20 25

0.0

0.2

0.4

0.6

0.8

1.0

5 10 15 20 25

0.0

0.2

0.4

0.6

0.8

1.0

5 10 15 20 25

0.0

0.2

0.4

0.6

0.8

1.0

Page 48: Poolcasting

A worst-case scenario

Individualpreferences

Satisfactiondegrees

Five users with random profiles

Two groups with discordant tastes

(non-weighted aggregation)

5 10 15 20 25

0.0

0.2

0.4

0.6

0.8

1.0

5 10 15 20 25

0.0

0.2

0.4

0.6

0.8

1.0

5 10 15 20 25

0.0

0.2

0.4

0.6

0.8

1.0

5 10 15 20 25

0.0

0.2

0.4

0.6

0.8

1.0

Page 49: Poolcasting

A realistic scenario

Individualpreferences

Satisfactiondegrees

Five users with random profiles

Five users with concordant

profiles

5 10 15 20 25

0.0

0.2

0.4

0.6

0.8

1.0

5 10 15 20 25

0.0

0.2

0.4

0.6

0.8

1.0

5 10 15 20 25

0.0

0.2

0.4

0.6

0.8

1.0

0.0 0.5 1.0 1.5 2.0

0.0

0.2

0.4

0.6

0.8

1.0

Page 50: Poolcasting

Scalability

Satisfactiondegrees

Five users with random profiles

Two and twenty users with

random profiles

5 10 15 20 25

0.0

0.2

0.4

0.6

0.8

1.0

5 10 15 20 25

0.0

0.2

0.4

0.6

0.8

1.0

5 10 15 20 25

0.0

0.2

0.4

0.6

0.8

1.0

5 10 15 20 25

0.0

0.2

0.4

0.6

0.8

1.0

Page 51: Poolcasting

Other experiments

Size of the retrieval set(defaults to )

Misery threshold(defaults to )

Initial satisfaction(defaults to )

k = 15

µ = !0.75

! = 0.45 10 15 20 25

0.0

0.2

0.4

0.6

0.8

1.0

5 10 15 20 250.0

0.2

0.4

0.6

0.8

1.0

5 10 15 20 25

0.0

0.2

0.4

0.6

0.8

1.0

5 10 15 20 25

0.0

0.2

0.4

0.6

0.8

1.0

5 10 15 20 25

0.0

0.2

0.4

0.6

0.8

1.0

0 10 20 30 40

0.0

0.2

0.4

0.6

0.8

1.0

Page 52: Poolcasting

Chapter 7.Conclusions

Page 53: Poolcasting

Contributions

1. Reinterpretation of Case-Based Reasoning

2. Mining the Web for valuable experiential data

3. Iterated social choice and preference aggregation

4. A social Web radio application

Listening habits

Playlists

Poolcasting

Tasks

Group Customisation

Experience

Web

Musical Sequence

Musical Associations

Individual Preferences

Page 54: Poolcasting

Future work

1. Generalising poolcasting to other domains

2. Abstracting the iterated social choice problem

3. Uncovering associations for movies, TV shows, …

Content

Audience

Poolcasting

system

Delivers a sequence of items

to satisfy the group of people

Page 55: Poolcasting

Publications

[ECCBR ’06] Baccigalupo and Plaza. Case-based sequential ordering of songs for playlist recommendation. In Proceedings of the 8th European Conference on Case-Based Reasoning, volume 4106 of Lecture Notes in Computer Science, pages 286–300, Springer 2006.

[ICCBR ’07] Baccigalupo and Plaza. A case-based song scheduler for group customised radio. In Proceedings of the 7th International Conference on Case-Based Reasoning, volume 4626 of Lecture Notes in Computer Science, pages 433–448, Springer 2007.

[ECML ‘07] Baccigalupo and Plaza. Mining music social networks for automating social music services. In Workshop Notes of the ECML/PKDD 2007 Workshop on Web Mining 2.0, pages 123–134, 2007.

Best Application Paper

Page 56: Poolcasting

Publications

[AXMEDIS ‘07] Baccigalupo and Plaza. Poolcasting: a social Web radio architecture for group customisation. In Proceedings of the 3rd International Conference on Automated Production of Cross Media Content for Multi-Channel Distribution, pages 115–112, IEEE Computer Society 2007.

[ICMC ‘07] Baccigalupo and Plaza. Sharing and combining listening experience: a social approach to Web radio. In Proceedings of the 2007 International Computer Music Conference, pages 228–231, 2007.

[ISMIR ‘08] Baccigalupo, Plaza, and Donaldson. Uncovering affinity of artists to multiple genres from social behaviour data. In Proceedings of the 8th International Conference of Music Information Retrieval (ISMIR), pages 275–280, 2008.

[ICCBR ‘09] Plaza and Baccigalupo. Principle and praxis in the experience Web: a case study in social music. In Proceedings of the ICCBR 2009 Workshops, pages 55–63, University of Washington Tacoma, 2009.