SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
MMCF: Multimodal Collaborative Filtering
for Automatic Playlist Continuation
Team ‘hello world!’ (2nd place), main track
Hojin Yang*, Yoonki Jeong, Minjin Choi, and Jongwuk Lee
Sungkyunkwan University, Republic of Korea
2
Motivation & Challenges
Automatic Playlist Continuation
➢Dataset: Million Playlist Dataset (MPD)
3
Playlist title
Tracks
in the
playlist
Metadata of tracks
(artist, album)
Challenge Set
4
1 2 3 4 5 6 7 8 9 10
# of tracks 0 1 5 10 5 10 25 100 25 100
Title
available
Yes Yes Yes Yes No No Yes Yes Yes Yes
Track order Seq Seq Seq Seq Seq Seq Seq Seq Shuffled Shuffled
# of playlists 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000
Few tracks in the
first part
Many tracks in the
first part
Many tracks in the
random position
Challenge Set
5
1 2 3 4 5 6 7 8 9 10
# of tracks 0 1 5 10 5 10 25 100 25 100
Title
available
Yes Yes Yes Yes No No Yes Yes Yes Yes
Track order Seq Seq Seq Seq Seq Seq Seq Seq Shuffled Shuffled
# of playlists 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000
No tracks in the playlist
How to deal with an edge case?
Challenge Set
6
1 2 3 4 5 6 7 8 9 10
# of tracks 0 1 5 10 5 10 25 100 25 100
Title
available
Yes Yes Yes Yes No No Yes Yes Yes Yes
Track order Seq Seq Seq Seq Seq Seq Seq Seq Shuffled Shuffled
# of playlists 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000
Scarce information
How to treat playlists with scarce
information?
Challenge Set
7
1 2 3 4 5 6 7 8 9 10
# of tracks 0 1 5 10 5 10 25 100 25 100
Title
available
Yes Yes Yes Yes No No Yes Yes Yes Yes
Track order Seq Seq Seq Seq Seq Seq Seq Seq Shuffled Shuffled
# of playlists 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000
Various types of Input
How to deal with various types of
input?
8
Proposed Model
Overview of the Proposed Model
➢An ensemble method with two components.
◆ Autoencoder for tracks and metadata for tracks.
◆ CharCNN for playlist titles.
9
Overview of the Proposed Model
➢An ensemble method with two components
◆ Autoencoder for tracks and metadata for tracks
◆ CharCNN for playlist titles
10
Autoencoder
11
encoder decoder
Compressed representation
of the input image
28X28X3 pixels
➢Learn a latent representation by reconstructing the
input itself
28X28X3 pixels
Collaborative Autoencoder
12
1
0
1
1
0
1Hey Jude
Rehab
Yesterday
Dancing Queen
Mamma Mia
Viva la Vida
encoder decoder
➢Learn a latent representation of a given playlist
consisting of a set of tracks
0.9
0.01
0.78
0.9
0. 6
0.8
✔
Top-1
Recommendation
Output
Collaborative Autoencoder
13
1
0
1
1
0
1
1
0
1
0
0
0
0.9
0.01
0.78
0.9
0. 6
0.8Hey Jude
Rehab
Yesterday
Dancing Queen
Mamma Mia
Viva la Vida
dropout
encoder decoder
1
0
1
1
0
1
➢Training with dropout
◆ Some positive input values are corrupted (set to zero).
Collaborative Autoencoder
14
➢Training with dropout
◆ Some positive input values are corrupted (set to zero).
How to utilize the metadata such
as artists and albums?
1
0
1
1
0
1
1
0
1
0
0
0
0.9
0.01
0.78
0.9
0. 6
0.8Hey Jude
Rehab
Yesterday
Dancing Queen
Mamma Mia
Viva la Vida
dropout
encoder decoder
1
0
1
1
0
1
Utilizing Metadata
15
1
0
1
1
0
1
0
1
1
0
0.9
0.01
0.78
0.9
0. 6
0.8
0.2
0.98
0.9
0.6
Hey Jude
Rehab
Yesterday
Dancing Queen
Mamma Mia
Viva la Vida
encoder decoder
➢Simply concatenate an artist vector corresponding
to the track vector.
➢Randomly choose either the playlist or its artists as
input.
16
Training Strategy: Hide-and-Seek
Training Strategy: Hide-and-Seek
➢Randomly choose either the playlist or its artists as
input.
17
Training Strategy: Hide-and-Seek
➢Randomly choose either the playlist or its artists as
input.
18
➢About 0.5~9.0% improvement over the baseline
19
sequential shuffled
Input 1 5 10 25 100 25 100
Track 0.111 0.153 0.183 0.215 0.159 0.306 0.301
Track + Artist 0.121 0.156 0.184 0.216 0.172 0.317 0.303
Gain(%) +9.00 +1.96 +0.55 +0.47 +8.18 +3.60 +0.66
* R-precision
Training Strategy: Hide-and-Seek
➢How to design a dropout strategy?
20
1
0
1
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0.9
0.23
0.78
0.1
0.1
0.8
0.2
0.98
0.9
0.1
Hey Jude
Rehab
Yesterday
Dancing Queen
Mamma Mia
Viva la Vida
dropout
encoder decoder
1
0
1
1
0
1
0
1
1
0
Training Strategy: Dropout Scheme
Hide
Training Strategy: Dropout Scheme
➢Dropout ratios vary in the input size.
21
1 2 3 4 5 6 7 8 9 10
# of tracks 0 1 5 10 5 10 25 100 25 100
Title
available
Yes Yes Yes Yes No No Yes Yes Yes Yes
Track order Seq Seq Seq Seq Seq Seq Seq Seq Shuffled Shuffled
# of playlists 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000
Dropout a lot
Dropout a little
➢Dropout can be sequential or random.
22
1 2 3 4 5 6 7 8 9 10
# of tracks 0 1 5 10 5 10 25 100 25 100
Title
available
Yes Yes Yes Yes No No Yes Yes Yes Yes
Track order Seq Seq Seq Seq Seq Seq Seq Seq Shuffled Shuffled
# of playlists 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000
Dropout
the back part
Dropout
randomly
Training Strategy: Dropout Scheme
CharCNN for Playlist Titles
➢An ensemble method with two components
◆ Autoencoder for tracks and metadata for tracks
◆ CharCNN for playlist titles
23
Character-level CNN for NLP
➢Effective for capturing spatial locality of a
sequence of texts
24
I like this
song
very
much
0.1 0.3 0.2 0.6
0.2 0.6 -1.2 -0.2
-2.1 0.2 0.1 0.4
-2.1 0.9 -3.1 1.4
0.1 0.3 -0.2 0.1
0.4 0.1 0.7 0.1
I
like
this
song
very
Filter (3 by k )
2.2
2.3
-1.3
0.9
max
pooling
Conv layer
2.3
Feature
much
k-dimension embedding
convolutional
Character-level CNN for NLP
➢Effective for capturing spatial locality of a
sequence of texts
25
I like this
song
very
much
0.1 0.3 0.2 0.6
0.2 0.6 -1.2 -0.2
-2.1 0.2 0.1 0.4
-2.1 0.9 -3.1 1.4
0.1 0.3 -0.2 0.1
0.4 0.1 0.7 0.1
I
like
this
song
very
Filters (3 by k )
convolutional
2.2
2.3
-1.3
0.9
max
pooling
2.3
Feature
much
k-dimension embedding
Conv layer
2.2
2.3
-1.3
0.9
Conv layers
2.2
2.3
-1.3
0.9
1.2
2.4
-1.1
0.4
max
pooling
2.3
1.2
2.4
Feature vector
convolutional
CharCNN for Playlist Titles
➢The playlist title is represented by a short text, implying
the abstract description of a playlist.
➢Leverage character-level embedding instead of
word-level embedding.
26
Conv layers
Feature vector
Combining Two Models
➢Simplest method: 𝑤𝒊𝒕𝒆𝒎 = 0.5 and 𝑤𝒕𝒊𝒕𝒍𝒆 = 0.5
27
Combining Two Models
➢The accuracy of the AE relies on the number of
tracks in a playlist.
◆ Dynamic: Set weights according to the number of items.
28
Items
Playlist Title
Chill songs
0.7
0.4
0.9
0.1
0.2
0.1
0.2
0.3
0.7
0.1
0.6
0.4
0.7
0.2
0.2
AE
CNN
𝑤_𝑖𝑡𝑒𝑚 = 5
𝑤_𝑡𝑖𝑡𝑙𝑒 = 1
Combining Two Models
➢The weight of two models is combined
dynamically depending on the size of input.
➢The playlist title is primarily useful for playlists with
very few tracks.
29
sequential shuffled
Title leverage 0 1 5 10 25 100 25 100
Item only - 0.121 0.156 0.184 0.216 0.172 0.317 0.303
Title only 0.078 - - - - - - -
Constant(0.5) 0.078 0.131 0.158 0.181 0.211 0.161 0.310 0.292
Dynamic 0.078 0.131 0.158 0.184 0.216 0.172 0.317 0.303
Gain(%) - - - +1.6 +2.3 +6.8 +2.2 +3.7
* R-precision
Q&A
30
Thank you!
Hojin Yang
- undergraduate student, SKKU
- code: github.com/hojinYang/spotify_recSys_challenge_2018
- email: hojin.yang7@gmail.com

Contenu connexe

Tendances

Approximate nearest neighbor methods and vector models – NYC ML meetup
Approximate nearest neighbor methods and vector models – NYC ML meetupApproximate nearest neighbor methods and vector models – NYC ML meetup
Approximate nearest neighbor methods and vector models – NYC ML meetupErik Bernhardsson
 
Music Personalization : Real time Platforms.
Music Personalization : Real time Platforms.Music Personalization : Real time Platforms.
Music Personalization : Real time Platforms.Esh Vckay
 
Productionizing Deep Reinforcement Learning with Spark and MLflow
Productionizing Deep Reinforcement Learning with Spark and MLflowProductionizing Deep Reinforcement Learning with Spark and MLflow
Productionizing Deep Reinforcement Learning with Spark and MLflowDatabricks
 
Scala Data Pipelines @ Spotify
Scala Data Pipelines @ SpotifyScala Data Pipelines @ Spotify
Scala Data Pipelines @ SpotifyNeville Li
 
Image Processing using Matlab ( using a built in Highboost filtering,averagin...
Image Processing using Matlab ( using a built in Highboost filtering,averagin...Image Processing using Matlab ( using a built in Highboost filtering,averagin...
Image Processing using Matlab ( using a built in Highboost filtering,averagin...Majd Khaleel
 
Applying Statistical Modeling and Machine Learning to Perform Time-Series For...
Applying Statistical Modeling and Machine Learning to Perform Time-Series For...Applying Statistical Modeling and Machine Learning to Perform Time-Series For...
Applying Statistical Modeling and Machine Learning to Perform Time-Series For...PyData
 
Interactive Recommender Systems with Netflix and Spotify
Interactive Recommender Systems with Netflix and SpotifyInteractive Recommender Systems with Netflix and Spotify
Interactive Recommender Systems with Netflix and SpotifyChris Johnson
 
Scala Data Pipelines for Music Recommendations
Scala Data Pipelines for Music RecommendationsScala Data Pipelines for Music Recommendations
Scala Data Pipelines for Music RecommendationsChris Johnson
 
Locality Sensitive Hashing By Spark
Locality Sensitive Hashing By SparkLocality Sensitive Hashing By Spark
Locality Sensitive Hashing By SparkSpark Summit
 
System design for recommendations and search
System design for recommendations and searchSystem design for recommendations and search
System design for recommendations and searchEugene Yan Ziyou
 
Machine learning pipeline with spark ml
Machine learning pipeline with spark mlMachine learning pipeline with spark ml
Machine learning pipeline with spark mldatamantra
 
Language Detection Library for Java
Language Detection Library for Java Language Detection Library for Java
Language Detection Library for Java Shuyo Nakatani
 
Survey of High Performance NoSQL Systems
Survey of High Performance NoSQL SystemsSurvey of High Performance NoSQL Systems
Survey of High Performance NoSQL SystemsScyllaDB
 
Music Recommendations at Scale with Spark
Music Recommendations at Scale with SparkMusic Recommendations at Scale with Spark
Music Recommendations at Scale with SparkChris Johnson
 
Scalable Monitoring Using Apache Spark and Friends with Utkarsh Bhatnagar
Scalable Monitoring Using Apache Spark and Friends with Utkarsh BhatnagarScalable Monitoring Using Apache Spark and Friends with Utkarsh Bhatnagar
Scalable Monitoring Using Apache Spark and Friends with Utkarsh BhatnagarDatabricks
 
Building Custom ML PipelineStages for Feature Selection with Marc Kaminski
Building Custom ML PipelineStages for Feature Selection with Marc KaminskiBuilding Custom ML PipelineStages for Feature Selection with Marc Kaminski
Building Custom ML PipelineStages for Feature Selection with Marc KaminskiSpark Summit
 
Register Allocation
Register AllocationRegister Allocation
Register AllocationEelco Visser
 
From Idea to Execution: Spotify's Discover Weekly
From Idea to Execution: Spotify's Discover WeeklyFrom Idea to Execution: Spotify's Discover Weekly
From Idea to Execution: Spotify's Discover WeeklyChris Johnson
 

Tendances (20)

Approximate nearest neighbor methods and vector models – NYC ML meetup
Approximate nearest neighbor methods and vector models – NYC ML meetupApproximate nearest neighbor methods and vector models – NYC ML meetup
Approximate nearest neighbor methods and vector models – NYC ML meetup
 
Music Personalization : Real time Platforms.
Music Personalization : Real time Platforms.Music Personalization : Real time Platforms.
Music Personalization : Real time Platforms.
 
Productionizing Deep Reinforcement Learning with Spark and MLflow
Productionizing Deep Reinforcement Learning with Spark and MLflowProductionizing Deep Reinforcement Learning with Spark and MLflow
Productionizing Deep Reinforcement Learning with Spark and MLflow
 
Scala Data Pipelines @ Spotify
Scala Data Pipelines @ SpotifyScala Data Pipelines @ Spotify
Scala Data Pipelines @ Spotify
 
Search@flipkart
Search@flipkartSearch@flipkart
Search@flipkart
 
Image Processing using Matlab ( using a built in Highboost filtering,averagin...
Image Processing using Matlab ( using a built in Highboost filtering,averagin...Image Processing using Matlab ( using a built in Highboost filtering,averagin...
Image Processing using Matlab ( using a built in Highboost filtering,averagin...
 
Applying Statistical Modeling and Machine Learning to Perform Time-Series For...
Applying Statistical Modeling and Machine Learning to Perform Time-Series For...Applying Statistical Modeling and Machine Learning to Perform Time-Series For...
Applying Statistical Modeling and Machine Learning to Perform Time-Series For...
 
Interactive Recommender Systems with Netflix and Spotify
Interactive Recommender Systems with Netflix and SpotifyInteractive Recommender Systems with Netflix and Spotify
Interactive Recommender Systems with Netflix and Spotify
 
Scala Data Pipelines for Music Recommendations
Scala Data Pipelines for Music RecommendationsScala Data Pipelines for Music Recommendations
Scala Data Pipelines for Music Recommendations
 
Locality Sensitive Hashing By Spark
Locality Sensitive Hashing By SparkLocality Sensitive Hashing By Spark
Locality Sensitive Hashing By Spark
 
System design for recommendations and search
System design for recommendations and searchSystem design for recommendations and search
System design for recommendations and search
 
Machine learning pipeline with spark ml
Machine learning pipeline with spark mlMachine learning pipeline with spark ml
Machine learning pipeline with spark ml
 
Language Detection Library for Java
Language Detection Library for Java Language Detection Library for Java
Language Detection Library for Java
 
Survey of High Performance NoSQL Systems
Survey of High Performance NoSQL SystemsSurvey of High Performance NoSQL Systems
Survey of High Performance NoSQL Systems
 
Music Recommendations at Scale with Spark
Music Recommendations at Scale with SparkMusic Recommendations at Scale with Spark
Music Recommendations at Scale with Spark
 
Scalable Monitoring Using Apache Spark and Friends with Utkarsh Bhatnagar
Scalable Monitoring Using Apache Spark and Friends with Utkarsh BhatnagarScalable Monitoring Using Apache Spark and Friends with Utkarsh Bhatnagar
Scalable Monitoring Using Apache Spark and Friends with Utkarsh Bhatnagar
 
Building Custom ML PipelineStages for Feature Selection with Marc Kaminski
Building Custom ML PipelineStages for Feature Selection with Marc KaminskiBuilding Custom ML PipelineStages for Feature Selection with Marc Kaminski
Building Custom ML PipelineStages for Feature Selection with Marc Kaminski
 
Register Allocation
Register AllocationRegister Allocation
Register Allocation
 
Dataflow Analysis
Dataflow AnalysisDataflow Analysis
Dataflow Analysis
 
From Idea to Execution: Spotify's Discover Weekly
From Idea to Execution: Spotify's Discover WeeklyFrom Idea to Execution: Spotify's Discover Weekly
From Idea to Execution: Spotify's Discover Weekly
 

Similaire à MMCF: Multimodal Collaborative Filtering for Automatic Playlist Conitnuation

Emotion and Theme Recognition of Music Using Convolutional Neural Networks
Emotion and Theme Recognition of Music Using Convolutional Neural NetworksEmotion and Theme Recognition of Music Using Convolutional Neural Networks
Emotion and Theme Recognition of Music Using Convolutional Neural Networksmultimediaeval
 
Deep Learning Meetup #5
Deep Learning Meetup #5Deep Learning Meetup #5
Deep Learning Meetup #5Aloïs Gruson
 
Chord recognition mac lab presentation
Chord recognition mac lab presentationChord recognition mac lab presentation
Chord recognition mac lab presentation牧衡 楊
 
Audio chord recognition using deep neural networks
Audio chord recognition using deep neural networksAudio chord recognition using deep neural networks
Audio chord recognition using deep neural networksbzamecnik
 
Deep Learning with Audio Signals: Prepare, Process, Design, Expect
Deep Learning with Audio Signals: Prepare, Process, Design, ExpectDeep Learning with Audio Signals: Prepare, Process, Design, Expect
Deep Learning with Audio Signals: Prepare, Process, Design, ExpectKeunwoo Choi
 
jpg image processing nagham salim_as.ppt
jpg image processing nagham salim_as.pptjpg image processing nagham salim_as.ppt
jpg image processing nagham salim_as.pptnaghamallella
 
Automatic Set List Identification and Song Segmentation of Full-Length Concer...
Automatic Set List Identification and Song Segmentation of Full-Length Concer...Automatic Set List Identification and Song Segmentation of Full-Length Concer...
Automatic Set List Identification and Song Segmentation of Full-Length Concer...Ju-Chiang Wang
 
Practical Deep Learning Using Tensor Flow - Sandeep Kath
Practical Deep Learning Using Tensor Flow - Sandeep KathPractical Deep Learning Using Tensor Flow - Sandeep Kath
Practical Deep Learning Using Tensor Flow - Sandeep KathSandeep Kath
 
Recent Advances in Natural Language Processing
Recent Advances in Natural Language ProcessingRecent Advances in Natural Language Processing
Recent Advances in Natural Language ProcessingApache MXNet
 
Cepicky os-mapping-frameworks
Cepicky os-mapping-frameworksCepicky os-mapping-frameworks
Cepicky os-mapping-frameworksJachym Cepicky
 
Splice site recognition among different organisms
Splice site recognition among different organismsSplice site recognition among different organisms
Splice site recognition among different organismsDespoina Kalfakakou
 
Genome assembly: then and now — v1.2
Genome assembly: then and now — v1.2Genome assembly: then and now — v1.2
Genome assembly: then and now — v1.2Keith Bradnam
 
Row Pattern Matching 12c MATCH_RECOGNIZE OOW14
Row Pattern Matching 12c MATCH_RECOGNIZE OOW14Row Pattern Matching 12c MATCH_RECOGNIZE OOW14
Row Pattern Matching 12c MATCH_RECOGNIZE OOW14stewashton
 
Dsoop (co 221) 1
Dsoop (co 221) 1Dsoop (co 221) 1
Dsoop (co 221) 1Puja Koch
 

Similaire à MMCF: Multimodal Collaborative Filtering for Automatic Playlist Conitnuation (17)

Emotion and Theme Recognition of Music Using Convolutional Neural Networks
Emotion and Theme Recognition of Music Using Convolutional Neural NetworksEmotion and Theme Recognition of Music Using Convolutional Neural Networks
Emotion and Theme Recognition of Music Using Convolutional Neural Networks
 
Deep Learning Meetup #5
Deep Learning Meetup #5Deep Learning Meetup #5
Deep Learning Meetup #5
 
Chord recognition mac lab presentation
Chord recognition mac lab presentationChord recognition mac lab presentation
Chord recognition mac lab presentation
 
CNN (v2).pptx
CNN (v2).pptxCNN (v2).pptx
CNN (v2).pptx
 
Audio chord recognition using deep neural networks
Audio chord recognition using deep neural networksAudio chord recognition using deep neural networks
Audio chord recognition using deep neural networks
 
Deep Learning with Audio Signals: Prepare, Process, Design, Expect
Deep Learning with Audio Signals: Prepare, Process, Design, ExpectDeep Learning with Audio Signals: Prepare, Process, Design, Expect
Deep Learning with Audio Signals: Prepare, Process, Design, Expect
 
jpg image processing nagham salim_as.ppt
jpg image processing nagham salim_as.pptjpg image processing nagham salim_as.ppt
jpg image processing nagham salim_as.ppt
 
Automatic Set List Identification and Song Segmentation of Full-Length Concer...
Automatic Set List Identification and Song Segmentation of Full-Length Concer...Automatic Set List Identification and Song Segmentation of Full-Length Concer...
Automatic Set List Identification and Song Segmentation of Full-Length Concer...
 
Practical Deep Learning Using Tensor Flow - Sandeep Kath
Practical Deep Learning Using Tensor Flow - Sandeep KathPractical Deep Learning Using Tensor Flow - Sandeep Kath
Practical Deep Learning Using Tensor Flow - Sandeep Kath
 
Recent Advances in Natural Language Processing
Recent Advances in Natural Language ProcessingRecent Advances in Natural Language Processing
Recent Advances in Natural Language Processing
 
Cepicky os-mapping-frameworks
Cepicky os-mapping-frameworksCepicky os-mapping-frameworks
Cepicky os-mapping-frameworks
 
Splice site recognition among different organisms
Splice site recognition among different organismsSplice site recognition among different organisms
Splice site recognition among different organisms
 
Genome assembly: then and now — v1.2
Genome assembly: then and now — v1.2Genome assembly: then and now — v1.2
Genome assembly: then and now — v1.2
 
Row Pattern Matching 12c MATCH_RECOGNIZE OOW14
Row Pattern Matching 12c MATCH_RECOGNIZE OOW14Row Pattern Matching 12c MATCH_RECOGNIZE OOW14
Row Pattern Matching 12c MATCH_RECOGNIZE OOW14
 
Chpater 6
Chpater 6Chpater 6
Chpater 6
 
Hsjs.pdf
Hsjs.pdfHsjs.pdf
Hsjs.pdf
 
Dsoop (co 221) 1
Dsoop (co 221) 1Dsoop (co 221) 1
Dsoop (co 221) 1
 

Dernier

Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...shivangimorya083
 
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfAccredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfadriantubila
 
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...SUHANI PANDEY
 
Determinants of health, dimensions of health, positive health and spectrum of...
Determinants of health, dimensions of health, positive health and spectrum of...Determinants of health, dimensions of health, positive health and spectrum of...
Determinants of health, dimensions of health, positive health and spectrum of...shambhavirathore45
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxolyaivanovalion
 
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...amitlee9823
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxolyaivanovalion
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusTimothy Spann
 
Data-Analysis for Chicago Crime Data 2023
Data-Analysis for Chicago Crime Data  2023Data-Analysis for Chicago Crime Data  2023
Data-Analysis for Chicago Crime Data 2023ymrp368
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfLars Albertsson
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfMarinCaroMartnezBerg
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptxAnupama Kate
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAroojKhan71
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...amitlee9823
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxolyaivanovalion
 
Zuja dropshipping via API with DroFx.pptx
Zuja dropshipping via API with DroFx.pptxZuja dropshipping via API with DroFx.pptx
Zuja dropshipping via API with DroFx.pptxolyaivanovalion
 

Dernier (20)

Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
 
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfAccredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
 
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
 
Determinants of health, dimensions of health, positive health and spectrum of...
Determinants of health, dimensions of health, positive health and spectrum of...Determinants of health, dimensions of health, positive health and spectrum of...
Determinants of health, dimensions of health, positive health and spectrum of...
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptx
 
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFx
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and Milvus
 
Data-Analysis for Chicago Crime Data 2023
Data-Analysis for Chicago Crime Data  2023Data-Analysis for Chicago Crime Data  2023
Data-Analysis for Chicago Crime Data 2023
 
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get CytotecAbortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdf
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx
 
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts ServiceCall Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptx
 
Zuja dropshipping via API with DroFx.pptx
Zuja dropshipping via API with DroFx.pptxZuja dropshipping via API with DroFx.pptx
Zuja dropshipping via API with DroFx.pptx
 

MMCF: Multimodal Collaborative Filtering for Automatic Playlist Conitnuation

  • 1. MMCF: Multimodal Collaborative Filtering for Automatic Playlist Continuation Team ‘hello world!’ (2nd place), main track Hojin Yang*, Yoonki Jeong, Minjin Choi, and Jongwuk Lee Sungkyunkwan University, Republic of Korea
  • 3. Automatic Playlist Continuation ➢Dataset: Million Playlist Dataset (MPD) 3 Playlist title Tracks in the playlist Metadata of tracks (artist, album)
  • 4. Challenge Set 4 1 2 3 4 5 6 7 8 9 10 # of tracks 0 1 5 10 5 10 25 100 25 100 Title available Yes Yes Yes Yes No No Yes Yes Yes Yes Track order Seq Seq Seq Seq Seq Seq Seq Seq Shuffled Shuffled # of playlists 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000 Few tracks in the first part Many tracks in the first part Many tracks in the random position
  • 5. Challenge Set 5 1 2 3 4 5 6 7 8 9 10 # of tracks 0 1 5 10 5 10 25 100 25 100 Title available Yes Yes Yes Yes No No Yes Yes Yes Yes Track order Seq Seq Seq Seq Seq Seq Seq Seq Shuffled Shuffled # of playlists 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000 No tracks in the playlist How to deal with an edge case?
  • 6. Challenge Set 6 1 2 3 4 5 6 7 8 9 10 # of tracks 0 1 5 10 5 10 25 100 25 100 Title available Yes Yes Yes Yes No No Yes Yes Yes Yes Track order Seq Seq Seq Seq Seq Seq Seq Seq Shuffled Shuffled # of playlists 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000 Scarce information How to treat playlists with scarce information?
  • 7. Challenge Set 7 1 2 3 4 5 6 7 8 9 10 # of tracks 0 1 5 10 5 10 25 100 25 100 Title available Yes Yes Yes Yes No No Yes Yes Yes Yes Track order Seq Seq Seq Seq Seq Seq Seq Seq Shuffled Shuffled # of playlists 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000 Various types of Input How to deal with various types of input?
  • 9. Overview of the Proposed Model ➢An ensemble method with two components. ◆ Autoencoder for tracks and metadata for tracks. ◆ CharCNN for playlist titles. 9
  • 10. Overview of the Proposed Model ➢An ensemble method with two components ◆ Autoencoder for tracks and metadata for tracks ◆ CharCNN for playlist titles 10
  • 11. Autoencoder 11 encoder decoder Compressed representation of the input image 28X28X3 pixels ➢Learn a latent representation by reconstructing the input itself 28X28X3 pixels
  • 12. Collaborative Autoencoder 12 1 0 1 1 0 1Hey Jude Rehab Yesterday Dancing Queen Mamma Mia Viva la Vida encoder decoder ➢Learn a latent representation of a given playlist consisting of a set of tracks 0.9 0.01 0.78 0.9 0. 6 0.8 ✔ Top-1 Recommendation Output
  • 13. Collaborative Autoencoder 13 1 0 1 1 0 1 1 0 1 0 0 0 0.9 0.01 0.78 0.9 0. 6 0.8Hey Jude Rehab Yesterday Dancing Queen Mamma Mia Viva la Vida dropout encoder decoder 1 0 1 1 0 1 ➢Training with dropout ◆ Some positive input values are corrupted (set to zero).
  • 14. Collaborative Autoencoder 14 ➢Training with dropout ◆ Some positive input values are corrupted (set to zero). How to utilize the metadata such as artists and albums? 1 0 1 1 0 1 1 0 1 0 0 0 0.9 0.01 0.78 0.9 0. 6 0.8Hey Jude Rehab Yesterday Dancing Queen Mamma Mia Viva la Vida dropout encoder decoder 1 0 1 1 0 1
  • 15. Utilizing Metadata 15 1 0 1 1 0 1 0 1 1 0 0.9 0.01 0.78 0.9 0. 6 0.8 0.2 0.98 0.9 0.6 Hey Jude Rehab Yesterday Dancing Queen Mamma Mia Viva la Vida encoder decoder ➢Simply concatenate an artist vector corresponding to the track vector.
  • 16. ➢Randomly choose either the playlist or its artists as input. 16 Training Strategy: Hide-and-Seek
  • 17. Training Strategy: Hide-and-Seek ➢Randomly choose either the playlist or its artists as input. 17
  • 18. Training Strategy: Hide-and-Seek ➢Randomly choose either the playlist or its artists as input. 18
  • 19. ➢About 0.5~9.0% improvement over the baseline 19 sequential shuffled Input 1 5 10 25 100 25 100 Track 0.111 0.153 0.183 0.215 0.159 0.306 0.301 Track + Artist 0.121 0.156 0.184 0.216 0.172 0.317 0.303 Gain(%) +9.00 +1.96 +0.55 +0.47 +8.18 +3.60 +0.66 * R-precision Training Strategy: Hide-and-Seek
  • 20. ➢How to design a dropout strategy? 20 1 0 1 1 0 1 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0.9 0.23 0.78 0.1 0.1 0.8 0.2 0.98 0.9 0.1 Hey Jude Rehab Yesterday Dancing Queen Mamma Mia Viva la Vida dropout encoder decoder 1 0 1 1 0 1 0 1 1 0 Training Strategy: Dropout Scheme Hide
  • 21. Training Strategy: Dropout Scheme ➢Dropout ratios vary in the input size. 21 1 2 3 4 5 6 7 8 9 10 # of tracks 0 1 5 10 5 10 25 100 25 100 Title available Yes Yes Yes Yes No No Yes Yes Yes Yes Track order Seq Seq Seq Seq Seq Seq Seq Seq Shuffled Shuffled # of playlists 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000 Dropout a lot Dropout a little
  • 22. ➢Dropout can be sequential or random. 22 1 2 3 4 5 6 7 8 9 10 # of tracks 0 1 5 10 5 10 25 100 25 100 Title available Yes Yes Yes Yes No No Yes Yes Yes Yes Track order Seq Seq Seq Seq Seq Seq Seq Seq Shuffled Shuffled # of playlists 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000 1,000 Dropout the back part Dropout randomly Training Strategy: Dropout Scheme
  • 23. CharCNN for Playlist Titles ➢An ensemble method with two components ◆ Autoencoder for tracks and metadata for tracks ◆ CharCNN for playlist titles 23
  • 24. Character-level CNN for NLP ➢Effective for capturing spatial locality of a sequence of texts 24 I like this song very much 0.1 0.3 0.2 0.6 0.2 0.6 -1.2 -0.2 -2.1 0.2 0.1 0.4 -2.1 0.9 -3.1 1.4 0.1 0.3 -0.2 0.1 0.4 0.1 0.7 0.1 I like this song very Filter (3 by k ) 2.2 2.3 -1.3 0.9 max pooling Conv layer 2.3 Feature much k-dimension embedding convolutional
  • 25. Character-level CNN for NLP ➢Effective for capturing spatial locality of a sequence of texts 25 I like this song very much 0.1 0.3 0.2 0.6 0.2 0.6 -1.2 -0.2 -2.1 0.2 0.1 0.4 -2.1 0.9 -3.1 1.4 0.1 0.3 -0.2 0.1 0.4 0.1 0.7 0.1 I like this song very Filters (3 by k ) convolutional 2.2 2.3 -1.3 0.9 max pooling 2.3 Feature much k-dimension embedding Conv layer 2.2 2.3 -1.3 0.9 Conv layers 2.2 2.3 -1.3 0.9 1.2 2.4 -1.1 0.4 max pooling 2.3 1.2 2.4 Feature vector convolutional
  • 26. CharCNN for Playlist Titles ➢The playlist title is represented by a short text, implying the abstract description of a playlist. ➢Leverage character-level embedding instead of word-level embedding. 26 Conv layers Feature vector
  • 27. Combining Two Models ➢Simplest method: 𝑤𝒊𝒕𝒆𝒎 = 0.5 and 𝑤𝒕𝒊𝒕𝒍𝒆 = 0.5 27
  • 28. Combining Two Models ➢The accuracy of the AE relies on the number of tracks in a playlist. ◆ Dynamic: Set weights according to the number of items. 28 Items Playlist Title Chill songs 0.7 0.4 0.9 0.1 0.2 0.1 0.2 0.3 0.7 0.1 0.6 0.4 0.7 0.2 0.2 AE CNN 𝑤_𝑖𝑡𝑒𝑚 = 5 𝑤_𝑡𝑖𝑡𝑙𝑒 = 1
  • 29. Combining Two Models ➢The weight of two models is combined dynamically depending on the size of input. ➢The playlist title is primarily useful for playlists with very few tracks. 29 sequential shuffled Title leverage 0 1 5 10 25 100 25 100 Item only - 0.121 0.156 0.184 0.216 0.172 0.317 0.303 Title only 0.078 - - - - - - - Constant(0.5) 0.078 0.131 0.158 0.181 0.211 0.161 0.310 0.292 Dynamic 0.078 0.131 0.158 0.184 0.216 0.172 0.317 0.303 Gain(%) - - - +1.6 +2.3 +6.8 +2.2 +3.7 * R-precision
  • 30. Q&A 30 Thank you! Hojin Yang - undergraduate student, SKKU - code: github.com/hojinYang/spotify_recSys_challenge_2018 - email: hojin.yang7@gmail.com