auralist: introducing serendipity into music recommendation
DESCRIPTION
Recommendation systems exist to help users discover content in a large body of items. An ideal recommendation system should mimic the actions of a trusted friend or expert, producing a personalised collection of recommendations that balance between the desired goals of accuracy, diversity, novelty and serendipity. We introduce the Auralist recommendation framework, a system that - in contrast to previous work - attempts to balance and improve all four factors simultaneously. Using a collection of novel algorithms inspired by principles of ‘serendipitous discovery’, we demonstrate a method of successfully injecting serendipity, novelty and diversity into recommendations whilst limiting the impact on accuracy. We evaluate Auralist quantitatively over a broad set of metrics and, with a user study on music recommendation, show that Auralist’s emphasis on serendipity indeed improves user satisfaction.TRANSCRIPT
Filter bubble (chilling idea … for some)
Your content limited by your past& self-propagating interests
LDA
create virtual bins (latent topics)assign words to a bin (@ random)for each bin: select pair of words if co-occur more than chance: keep them in the bin else: put them into another bin (@ random)
Facebook Twitter
LDA
create virtual bins (latent topics)assign words to a bin (@ random)for each bin: select pair of words if co-occur more than chance: keep them in the bin else: put them into another bin (@ random)
Facebook Twitter
social
econometrics
LDA
create virtual bins (latent topics)assign words to a bin (@ random)for each bin: select pair of words if co-occur more than chance: keep them in the bin else: put them into another bin (@ random)
Facebook Twitter
social
econometrics
LDA
create virtual bins (latent topics)assign words to a bin (@ random)for each bin: select pair of words if co-occur more than chance: keep them in the bin else: put them into another bin (@ random)
For each doc:
LDA
create virtual bins (latent topics)assign words to a bin (@ random)for each bin: select pair of words if co-occur more than chance: keep them in the bin else: put them into another bin (@ random)
For each doc:
users
user1, user2, … (who belong to a given community)
artist
LDA
create virtual bins (latent topics)assign words to a bin (@ random)for each bin: select pair of words if co-occur more than chance: keep them in the bin else: put them into another bin (@ random)
The Beatles HolyBlood
LDA
create virtual bins (latent topics)assign words to a bin (@ random)for each bin: select pair of words if co-occur more than chance: keep them in the bin else: put them into another bin (@ random)
The Beatles HolyBlood
diversity() diversity()
similarity()
2. Community-Aware
balance * match(user’s history, artist) * diversity(artist)
favors artists with
broader fan bases
e.g., The Beatles ov
er HolyBlood
2. Community-Aware
balance * match(user’s history, artist) * diversity(artist)
favors artists with
broader fan bases
e.g., The Beatles ov
er HolyBlood
… but discounting for popularity
3. Bubble-Aware
The Beatles
HolyBlood
The Rolling Stones
balance * match(user’s history, artist) * bubbleness(artist)
3. Bubble-Aware
balance * match(user’s history, artist) * bubbleness(artist)
favors cluster
-avoiding artis
ts by
pushing the bo
undaries of a
user’s taste
User Study: Basic Auralist vs. Full Auralist
Some: accept accuracy loss for serendipityMajority: favours of greater accuracy
* serendipity IS a user-specific parameter