62
IIIA - CSIC A Case - based Song Scheduler for Group Customised Radio Claudio Baccigalupo – Enric Plaza Project Presentation – IIIA – February 2007

One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

  • View
    2.446

  • Download
    0

Embed Size (px)

DESCRIPTION

Poolcasting explained in a great slideshow - diagrams, sketches and screens. By Claudio Baccigalupo and Enric Plaza

Citation preview

Page 1: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

IIIA - CSIC

A Case-based Song Scheduler

for Group Customised Radio

Claudio Baccigalupo – Enric PlazaProject Presentation – IIIA – February 2007

Page 2: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

ONE MUSIC, MANY LISTENERS

music club radio

juke-box home parties

Page 3: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

SOME COMMON PROBLEMS

How to check the reactions of the audience?

How to provide users with a large collection of music?

How to prevent monopolistic selection of music?

How to avoid annoying disruptions between songs ?

How to match the tastes of all the listeners?

Page 4: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

OUR PROPOSED SOLUTION

A novel group-based web-radio architecture

Songs are broadcast from the libraries of the listeners

Users can requests and evaluate songs for each channel

The music is not pre-programmed, but selected in real-time by a CBR technique that combines both musical properties and listeners’ preferences to guarantee a fair satisfaction of the whole audience

Page 5: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

TODAY’S MENU

1. Introduction

2. The Poolcasting web-radio architecture

3. A Case-based Reasoning Song Scheduler

The Participants’ Case Bases

Musical Domain Knowledge

The Retrieve Process

The Reuse Process

The Revise Process

4. Conclusions and future work

Page 6: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

WHAT IS POOLCASTING ?

Page 7: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

WHAT IS POOLCASTING ?

Page 8: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

WHAT IS POOLCASTING ?

Page 9: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

WHAT IS POOLCASTING ?

Page 10: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

WHAT IS POOLCASTING ?

Page 11: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

WHAT IS POOLCASTING ?

Page 12: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

WHAT IS POOLCASTING ?

Page 13: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

WHAT IS POOLCASTING ?

Page 14: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

WHAT IS POOLCASTING ?

Page 15: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

DESIRED PROPERTIES FOR A CHANNEL

Variety: no song/artist should be repeated at a close distance

Continuity: each song should be musically associated with the song it follows

Listeners’ satisfaction: each song should match the musical preferences of (at least part of) the listeners

Fairness: the more unsatisfied a listener, the more her preferences should influence the choice of the next song

Page 16: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

ARCHITECTURE OF A WEB-RADIO

INTERNET

Listener

Stream Generator

Streaming Server

uncompressedaudio signal

Listener Admin

create streams

for the channel

create a

channel

MP3 stream (64 kbps)

OGG stream (256 kbps)

Visitor

request

channel

information

LISTENERS

list of

listenersSongs

Buffer

CHANNELS

Webpage

Web Interface

Database

Music Library

AVAILABLE SONGS

scheduled song

extract

scheduled

song

Song Scheduler

collect information

to schedule a song

Page 17: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

ARCHITECTURE OF POOLCASTING

INTERNET

Listener

Stream Generator

Streaming Server

uncompressedaudio signal

Listener Admin

create streams

for the channel

create a

channel

MP3 stream (64 kbps)

OGG stream (256 kbps)

Visitor

request

channel

information

LISTENERS

list of

listenersSongs

Buffer

CHANNELS

Webpage

Web Interface

Database

PARTICIPANTS

download

song

scheduled song

Participant

joins

channel

request to join

requests and

feedback

Web Interface

Song Scheduler

MUSIC POOL

collect information

to schedule a song

list of shared songs

Page 18: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

ARCHITECTURE OF POOLCASTING

INTERNET

Listener

Stream Generator

Streaming Server

uncompressedaudio signal

Listener Admin

create streams

for the channel

create a

channel

MP3 stream (64 kbps)

OGG stream (256 kbps)

Visitor

request

channel

information

LISTENERS

list of

listenersSongs

Buffer

CHANNELS

Webpage

Web Interface

Database

PARTICIPANTS

download

song

scheduled song

Participant

joins

channel

request to join

requests and

feedback

Web Interface

Song Scheduler

MUSIC POOL

collect information

to schedule a song

list of shared songs

INTERNET

Listener

Stream Generator

Streaming Server

uncompressedaudio signal

Listener Admin

create streams

for the channel

create a

channel

MP3 stream (64 kbps)

OGG stream (256 kbps)

Visitor

request

channel

information

LISTENERS

list of

listenersSongs

Buffer

CHANNELS

Webpage

Web Interface

Database

PARTICIPANTS

download

song

scheduled song

Participant

joins

channel

request to join

requests and

feedback

Web Interface

Song Scheduler

MUSIC POOL

collect information

to schedule a song

list of shared songs

Page 19: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

TODAY’S MENU

1. Introduction

2. The Poolcasting web-radio architecture

3. A Case-based Reasoning Song Scheduler

The Participants’ Case Bases

Musical Domain Knowledge

The Retrieve Process

The Reuse Process

The Revise Process

4. Conclusions and future work

Page 20: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

THE CBR SCHEMA

CASE BASES

SONGS

SONGS

SONGS

INPUT(channel description, last songs scheduled,

current listeners)

Variety Continuity Listeners’ satisfaction Fairness

RETRIEVAL

Variety Continuity

Song and Artist Associations inferred from public playlists

Listener

requests song

REUSEcandidate

songs

PREFERENCEMODEL

PREFERENCEMODEL

PREFERENCEMODEL

Analysis

Analysis

Analysis

Listeners’ satisfaction

Listener evaluates

scheduled song

Fairness

Listeners'satisfaction

best rankedsong

REVISE

Listener sends feedback

Page 21: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

THE CBR APPROACH

Problem: given the description of a channel H, the list of its current listeners, and the sequence of the recently scheduled songs, select which song to schedule next on channel H

Retrieval: retrieve from the channel pool Φ(H) a subset of songs either recommended by some user or not recently played and musica!y associated with the last song scheduled

Reuse: rank the retrieved set combining the preferences and the satisfaction degrees of the current listeners of H and schedule on channel H the best-ranked song

Revise: update the listeners’ preferences and the musical associations according to the feedback of the audience

Page 22: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

TODAY’S MENU

1. Introduction

2. The Poolcasting web-radio architecture

3. A Case-based Reasoning Song Scheduler

The Participants’ Case Bases

Musical Domain Knowledge

The Retrieve Process

The Reuse Process

The Revise Process

4. Conclusions and future work

Page 23: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

THE PARTICIPANTS’ CASE BASES

CASE BASES

SONGS

SONGS

SONGS

INPUT(channel description, last songs scheduled,

current listeners)

RETRIEVAL

Song and Artist Associations inferred from public playlists

Listener

requests song

REUSEcandidate

songs

PREFERENCEMODEL

PREFERENCEMODEL

PREFERENCEMODEL

Analysis

Analysis

Analysis

Listener evaluates

scheduled song

best rankedsong

Listeners'satisfaction

REVISE

Listener sends feedback

Song Associations local to the channel

Page 24: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

THE PARTICIPANTS’ CASE BASES

Every Case Base contains the list of songs in the library of a participant and a preference degree for each of these songs

The preference degree g(P, S) has values in [-1,1]; -1 means P hates song S, 1 means P loves S, and 0 reflects indifference

We infer the values of g(P, S) from the listening experience data included in the music library of each participant

We assume that the higher the rating assigned to a song and the higher the play count, the stronger the preference

Page 25: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

THE PREFERENCE DEGREE

The preference degree is a combination of the normalised rating and play count of each song:

g(P, S i) = θn(P, S i) + (1-θ )m(P, S i)

Si n(Si) m(Si) g(Si)

Take on me 0 1 0.5

Big in Japan 1 0 0.5

Venus -1 -1 -1

Avg. rating: n = 3

Avg. play count: m = 3.5

_

_

θ= 0 .5

Page 26: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

THE PREFERENCE DEGREE

The preference degree g(P, S) can be evaluated also for songs not included in the library of a Participant

We assume that if P does not own a song S but owns other songs "om the same artist of S, then the preference of P for S is her average preference for those songs

S g(P,S)

Take on me 0.5

Big in Japan 0.5

Venus -1

S g(P,S)Forerever

Young 0.5

In the Mood 0.5

songs by Alphaville

Page 27: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

THE PARTICIPANTS’ CASE BASES

CASE BASES

SONGS

SONGS

SONGS

INPUT(channel description, last songs scheduled,

current listeners)

RETRIEVAL

Song and Artist Associations inferred from public playlists

Listener

requests song

REUSEcandidate

songs

PREFERENCEMODEL

PREFERENCEMODEL

PREFERENCEMODEL

Analysis

Analysis

Analysis

Listener evaluates

scheduled song

best rankedsong

Listeners'satisfaction

REVISE

Listener sends feedback

Song Associations local to the channel

Page 28: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

MUSICAL DOMAIN KNOWLEDGE

CASE BASES

SONGS

SONGS

SONGS

INPUT(channel description, last songs scheduled,

current listeners)

RETRIEVAL

Song and Artist Associations inferred from public playlists

Listener

requests song

REUSEcandidate

songs

PREFERENCEMODEL

PREFERENCEMODEL

PREFERENCEMODEL

Analysis

Analysis

Analysis

Listener evaluates

scheduled song

best rankedsong

Listeners'satisfaction

REVISE

Listener sends feedback

Song Associations local to the channel

Page 29: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

SONG AND ARTIST ASSOCIATIONS

A human DJ knows from experience which songs are associated

We use an automatic process to extract this knowledge from a large collection of playlists available on the Web

We assume that the more the playlists where two songs/artists co-occur and the closer the distance at which they occur, the higher their association

Extracting such knowledge from playlists is much better for our goal than using a content-based method

Page 30: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

SONG ASSOCIATION DEGREE

The song association degree from a song X to a song Y is a combination of the number of playlists where X and Y co-occur, the distances at which they occur, the order in which they occur and the popularity of the two songs

f (X )

f (X ,Y )P (Y |X ) =

f (X ) · ( f (Y ) / f )β_

∑ q∈Q 1Let Q be the set of playlists where

X and Y occur: f (X ) · ( f (Y ) / f )β_

f (X ,Y )=

Page 31: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

SONG ASSOCIATION DEGREE

The song association degree from a song X to a song Y is a combination of the number of playlists where X and Y co-occur, the distances at which they occur, the order in which they occur and the popularity of the two songs

f (X ) · ( f (Y ) / f )β_

∑ q∈Q w (q , X , Y )s (X , Y ) =

Let Q be the set of playlists where

X and Y occur:

w(q,X ,Y ) ={ 0

1/|d(q,X,Y)|

α/|d(q,X,Y)|

if |d(q,X,Y)| > δif |d(q,X,Y)| ≤ δ ∧ d(q,X,Y) > 0

if |d(q,X,Y)| ≤ δ ∧ d(q,X,Y) < 0

f (X ) · ( f (Y ) / f )β_

f (X ,Y )

α=0.75β=0.5

δ=3

Page 32: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

ARTIST ASSOCIATION DEGREE

The artist association degree from an artist A to an artist B is a combination of the number of playlists where any song from A and B co-occur, the distances at which they occur and the popularity of the two artists:

f ’ (A ) · ( f ’ (B ) / f ’ )β_

∑ q∈Q w ’ (q , A , B )s ’ (A , B ) =

w’ (q ,A,B) ={ 0

1/|d’(q,A,B)|

if |d’(q,A,B)| > δ’

if |d’(q,A,B)| ≤ δ’

Let Q be the playlists where a song from A and a song from B occur:

δ ’=2

Page 33: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

SONG AND ARTIST ASSOCIATIONS

We have mined a collection of about 600,000 playlists from MyStrands, with the parameters set to α = 0.75, β = 0.5, δ = 3 and δ’ = 2, discarding single occurrences and associations between songs from the same artist

We have obtained association degrees for 112,238 distinct songs and for 25,881 distinct artists

For example, the most associated artists for Abba are: Agnetha Faltskog, A-Teens, Chic, Gloria Gaynor, The 5th Dimension

Page 34: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

MUSICAL DOMAIN KNOWLEDGE

CASE BASES

SONGS

SONGS

SONGS

INPUT(channel description, last songs scheduled,

current listeners)

RETRIEVAL

Song and Artist Associations inferred from public playlists

Listener

requests song

REUSEcandidate

songs

PREFERENCEMODEL

PREFERENCEMODEL

PREFERENCEMODEL

Analysis

Analysis

Analysis

Listener evaluates

scheduled song

best rankedsong

Listeners'satisfaction

REVISE

Listener sends feedback

Song Associations local to the channel

Page 35: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

THE RETRIEVE PROCESS

CASE BASES

SONGS

SONGS

SONGS

INPUT(channel description, last songs scheduled,

current listeners)

RETRIEVAL

Song and Artist Associations inferred from public playlists

Listener

requests song

REUSEcandidate

songs

PREFERENCEMODEL

PREFERENCEMODEL

PREFERENCEMODEL

Analysis

Analysis

Analysis

Listener evaluates

scheduled song

best rankedsong

Listeners'satisfaction

REVISE

Listener sends feedback

Song Associations local to the channel

Page 36: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

THE RETRIEVE PROCESS

First, we rate each song Z ∈ Φ(H) in the channel pool of Hwith a relevance value r(Y, Z) in [0,1] that expresses how much Z satisfies the conditions of variety and continuity

Next, we retrieve the κ best rated songs along this function

r(Y, Z) = 1 if some participant requested Z via the web-page

r(Y, Z) = 0 if the same song/artist was recently played on H

Otherwise, r(Y, Z) measures the musical association from Y (the last song scheduled on channel H) to Z, as follows:

Page 37: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

THE RETRIEVE PROCESS

s(Y, Z) → song association from Y to Z

u(Y, Z) → association from songs of the artist of Y to Z

v(Y, Z) → association from songs of artists associated with the artist of Y to Z

s’(a(Y), a(Z)) → association from artist of Y to artist of Z

ε ∈ [0,1] → controls the importance of these conditions

r(Y, Z) = s(Y, Z) + εu(Y, Z) + ε2v(Y, Z) + ε3s’(a(Y), a(Z))

ε=0.5

Page 38: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

Example: Y = Waterloo (Abba)

s(Y, Z) :

u(Y, Z) :

v(Y, Z) :

s’(a(Y), a(Z)) : (Abba)

THE RETRIEVE PROCESS

r(Y, Z) = s(Y, Z) + εu(Y, Z) + ε2v(Y, Z) + ε3s’(a(Y), a(Z))

ZWaterloo

Mamma mia FernandoS.O.S. … Z

(Chic)

(A-Teens)(Agnetha Faltskog)

(Gloria Gaynor) Z

a(Z)

Page 39: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

THE RETRIEVE PROCESS

u(Y, Z) is the average song association degree from every song whose artist is a(Y) to Z:

v(Y, Z) is the average song association degree from every song whose artist is associated with a(Y) to Z, combined with the relative artist association degree:

∑W∈U(Y,Z) s(W,Z)

#(U(Y,Z))u(Y,Z) =

where U(Y,Z) = {W | s(W,Z) > 0 ∧ a(Y) = a(W)}

where V(Y,Z) = {W | s(W,Z) > 0 ∧ s’(a(Y),a(W)) > 0}

∑W∈V(Y,Z) s(W,Z) s’(a(W),a(Z))

#(V(Y,Z))v(Y,Z) =

Page 40: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

Example of retrieve process for the ‘80s Music Channel, where Y = Super Trouper (Abba) and Φ(H)= {Z1, Z2, Z3, Z4, Z5}

THE RETRIEVE PROCESS

Zi f(Zi) s(Y,Zi) u(Y,Zi) v(Y,Zi) s’(a(Y),a(Zi)) r(Y,Zi)

Mamma Mia(Abba) --- --- --- --- --- 0 5º

Take on me(A-Ha)

1341(1937)

0.942103

0.574103

0.324103

2.817103

1.662103 2º

Listen to your heart(Roxette)

184(642)

2.548103

0.841103

1.119103

0.265103

3.281103 1º

The look of love(ABC)

237(878) 0

1.807103

0.852103

0.944103

1.234103 3º

I’m So Excited (The Pointer Sisters)

278(1149)

0 1.063103

0.114103

0.428103

0.614103 4º

Mr. Brightside(The Ki!ers)

19533(45787)

00.153103

0.858103

0.235103

0.320103

Page 41: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

THE RETRIEVE PROCESS

CASE BASES

SONGS

SONGS

SONGS

INPUT(channel description, last songs scheduled,

current listeners)

RETRIEVAL

Song and Artist Associations inferred from public playlists

Listener

requests song

REUSEcandidate

songs

PREFERENCEMODEL

PREFERENCEMODEL

PREFERENCEMODEL

Analysis

Analysis

Analysis

Listener evaluates

scheduled song

best rankedsong

Listeners'satisfaction

REVISE

Listener sends feedback

Song Associations local to the channel

Page 42: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

THE REUSE PROCESS

CASE BASES

INPUT(channel description, last songs scheduled,

current listeners)

RETRIEVAL

Song and Artist Associations inferred from public playlists

Listener

requests song

REUSEcandidate

songs

Listener evaluates

scheduled song

best rankedsong

Listeners'satisfaction

REVISE

Listener sends feedback

Song Associations local to the channel

PREFERENCE

MODEL

PREFERENCE

MODEL

PREFERENCE

MODEL

SONGS

SONGS

SONGS Analysis

Analysis

Analysis

Page 43: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

THE REUSE PROCESS

This process ranks the retrieved set according to the preferences of the current listeners of the channel and their group satisfaction, and returns the best ranked song as the next song to be scheduled on the channel

The most critical challenge is how to combine different individual preferences into one group satisfaction value

To guarantee fairness among listeners, we propose a weighted average of the individual preferences, where the weight associated to each listener depends on her satisfaction about the last scheduled songs

Page 44: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

AVERAGE WITHOUT MISERY

Let O(H,t) be the listeners of channel H at time t and R(H,t) the retrieved set; we define the group preference of O(H,t) for a

retrieved song S ∈ R(H,t) as G(S,H,t) ∈ [-1,1] by cases:

(average) if none of the current listeners hates song S, then we use a weighted average of the individual preferences for S:

(without misery) otherwise, if ∃ P ∈ O(H,t): g(P, S) < μ, then we set the group preference for S to the lowest possible value:

∑P∈O(H,t) g(P,S) [1-ω(P,H,t)]

#(O(H,t))G(S,H,t) =

G(S,H,t) = -1

μ = -0 .75

Page 45: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

AVERAGE WITHOUT MISERY

This strategy is Pareto-optimal: if at least one listener prefers a song S to a song S’ and nobody prefers S’ to S, then G(S,H,t) ≥ G(S’H,t)

This strategy avoids misery: if at least one listener has a bad preference for S’ (lower than a threshold μ), and no listener has a bad preference for S (lower than the threshold μ), then G(S,H,t) ≥ G(S’H,t)

Using this strategy, we endeavour to schedule songs for which every current listener has an individual preference at least equal to μ

Page 46: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

AVERAGE WITHOUT MISERY

The weight [1-ω(P,H,t)] biases the weighted average in favour of the listeners more unsatisfied with the songs recently scheduled on the channel H

ω(P, H, t) is the channel satisfaction degree of a listener P at a time t with respect to the music scheduled on H

To evaluate ω(P, H, t) we combine the satisfaction degrees of P for each song scheduled on H since P is listening to H

∑P∈O(H,t) g(P,S) [1-ω(P,H,t)]

#(O(H,t))G(S,H,t) =

Page 47: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

Let X(P,H,t) = (X1,X2,…,Xz) be the set of songs scheduled on H since P began listening to H. We define the song satisfaction degree of P for a song Xi ∈ X(P,H,t) scheduled at time t < t as:

e(P, Xi, H) takes values [-1,1] and equals 1 only when the scheduled song Xi was the most preferred song by P in the retrieved set R(H,t) at time t

Combining the song satisfaction degrees of P for the songs in X(P,H,t) we can estimate the channel satisfaction degree ω(P, H, t)

SONG SATISFACTION

^

e(P, Xi, H) = g(P, Xi) - maxS∈R(H,t) g(P, S) + 1^

^ ^

Page 48: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

CHANNEL SATISFACTION

Since satisfaction is an emotion that wears off with time, we combine the song satisfaction degrees assigning more importance the the most recent songs

We use the following geomtric series: where χ∈[0,1] is the decay rate of satisfaction over time

We normalise this series to return values in the interval [0,1] and define the channel satisfaction degree for P as:

2

∑ χz-i e(P, Xi, H)i = 1z

ω(P, H, t) = ∑ χz-i e(P, Xi, H) + 1i = 1z1 ( )

χ = 0 .8

Page 49: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

THE REUSE PROCESS / AUTOMATIC

CASE BASES

INPUT(channel description, last songs scheduled,

current listeners)

RETRIEVAL

Song and Artist Associations inferred from public playlists

Listener

requests song

REUSEcandidate

songs

Listener evaluates

scheduled song

best rankedsong

Listeners'satisfaction

REVISE

Listener sends feedback

Song Associations local to the channel

PREFERENCE

MODEL

PREFERENCE

MODEL

PREFERENCE

MODEL

SONGS

SONGS

SONGS Analysis

Analysis

Analysis

Page 50: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

THE REUSE PROCESS / INTERACTIVE

CASE BASES

INPUT(channel description, last songs scheduled,

current listeners)

RETRIEVAL

Song and Artist Associations inferred from public playlists

Listener

requests song

REUSEcandidate

songs

Listener evaluates

scheduled song

best rankedsong

Listeners'satisfaction

REVISE

Listener sends feedback

Song Associations local to the channel

PREFERENCE

MODEL

PREFERENCE

MODEL

PREFERENCE

MODEL

SONGS

SONGS

SONGS Analysis

Analysis

Analysis

Page 51: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

THE REUSE PROCESS / INTERACTIVE

Page 52: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

THE REUSE PROCESS / INTERACTIVE

If a listener P sends an explicit preference towards a scheduled song Z via the Poolcasting web-page, then the implicit knowledge g(P, Z) that was stored in the Case Base of P (inferred from the music library listening experience) is replaced with this new explicit evaluation provided

Next, since the Case Base has changed, the retrieved set is re-ranked, and the new most group-preferred song is scheduled

This process continues until the previous song scheduled is played and Z is downloaded to the local buffer; then the CBR process restarts to schedule the next song

Page 53: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

THE REUSE PROCESS

CASE BASES

INPUT(channel description, last songs scheduled,

current listeners)

RETRIEVAL

Song and Artist Associations inferred from public playlists

Listener

requests song

REUSEcandidate

songs

Listener evaluates

scheduled song

best rankedsong

Listeners'satisfaction

REVISE

Listener sends feedback

Song Associations local to the channel

PREFERENCE

MODEL

PREFERENCE

MODEL

PREFERENCE

MODEL

SONGS

SONGS

SONGS Analysis

Analysis

Analysis

Page 54: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

THE REVISE PROCESS

CASE BASES

INPUT(channel description, last songs scheduled,

current listeners)

RETRIEVAL

Song and Artist Associations inferred from public playlists

Listener

requests song

REUSEcandidate

songs

Listener evaluates

scheduled song

best rankedsong

Listeners'satisfaction

REVISE

Listener sends feedback

PREFERENCE

MODEL

PREFERENCE

MODEL

PREFERENCE

MODEL

SONGS

SONGS

SONGS Analysis

Analysis

Analysis

Song Associations local to the channel

Page 55: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

THE REVISE PROCESS

Page 56: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

THE REVISE PROCESS

S g(P,S)

La Isla Bonita(Madonna) -1

I’m Your Man (Wham!)

La Isla Bonita (Madonna)

s(Y,Z) = 0.5

S g(P,S)

La Isla Bonita(Madonna) 0.5

I’m Your Man (Wham!)

La Isla Bonita (Madonna)

s(Y,Z) = 0

Page 57: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

THE REVISE PROCESS

CASE BASES

INPUT(channel description, last songs scheduled,

current listeners)

RETRIEVAL

Song and Artist Associations inferred from public playlists

Listener

requests song

REUSEcandidate

songs

Listener evaluates

scheduled song

best rankedsong

Listeners'satisfaction

REVISE

Listener sends feedback

PREFERENCE

MODEL

PREFERENCE

MODEL

PREFERENCE

MODEL

SONGS

SONGS

SONGS Analysis

Analysis

Analysis

Song Associations local to the channel

Page 58: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

TODAY’S MENU

1. Introduction

2. The Poolcasting web-radio architecture

3. A Case-based Reasoning Song Scheduler

The Participants’ Case Bases

Musical Domain Knowledge

The Retrieve Process

The Reuse Process

The Revise Process

4. Conclusions and future work

Page 59: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

CONCLUSIONS

Poolcasting proposes a new paradigm for web-radios, shifting from a classic monolithic approach where “One controls, many listen”, to a new decentralised approach where “Many control, many listen”

A Poolcasting web-radio will be up and running in our Intranet in the next months, ready for tests and evaluations

Users need iTunes and a web sharing service to participate

We assume users will enjoy listening to music from other libraries, for they can easily get to discover new music

Tests should include both passive and active listeners

Page 60: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

CONTRIBUTION TO CBR

The Song Scheduler works with multiple participants’ case bases and with domain knowledge acquired from playlists containing listening experiences of a large number of users

The collection of case bases is open and dynamic

The Reuse Process combines data and preferences from different case bases (modeling users’ listening experiences), and generates a globally good sequence of solutions over a period of time – not just one “group solution” for a problem

Both intensive knowledge and preference models are used in the Retrieve and Reuse processes, while users’ feedback is used in the Revise process to improve customisation

Page 61: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

FUTURE WORK

Testing the CBR Song Scheduler with different parameters

Dealing with the issues of copyright and privacy

Introducing a reputation degree for the listeners

Extending the users’ preference models with other listening experience data (e.g., personal playlists, song recency)

Investigate how to apply this approach to other musical contexts where a group of persons gathers to listen to the same stream of music

Page 62: One Music, Many Listeners - A Case-based Song Scheduler for Group Customised Radio

IIIA - CSIC ANY QUESTION ?

Here are some recommended papers:

C. Baccigalupo, E. Plaza (2006) Case-based Sequential Ordering of Songs for Playlist Recommendation

J. Masthoff (2004) Group modeling: Selecting a sequence of television items to suit a group of viewers

K. McCarthy, L. McGinty, B. Smyth and M. Salamó (2006) The Needs of the Many: A Case-Based Group Recommender System