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
IIIA - CSIC
A Case-based Song Scheduler
for Group Customised Radio
Claudio Baccigalupo – Enric PlazaProject Presentation – IIIA – February 2007
ONE MUSIC, MANY LISTENERS
music club radio
juke-box home parties
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?
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
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
WHAT IS POOLCASTING ?
WHAT IS POOLCASTING ?
WHAT IS POOLCASTING ?
WHAT IS POOLCASTING ?
WHAT IS POOLCASTING ?
WHAT IS POOLCASTING ?
WHAT IS POOLCASTING ?
WHAT IS POOLCASTING ?
WHAT IS POOLCASTING ?
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 )=
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
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
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
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
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
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:
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
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)
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) =
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
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
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
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
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
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 μ
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) =
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^
^ ^
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
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
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
THE REUSE PROCESS / INTERACTIVE
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
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
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
THE REVISE PROCESS
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
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
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
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
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
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
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