PlyTitle_Generation
This is the official repository of Music Playlist Title Generation: A Machine-Translation Approach. The paper has been accepted by 2nd Workshop on NLP for Music and Spoken Audio co-located with ISMIR'2021.
Inference Results
This model use the track_id sequence
as an input and return the playlist title sequence
as an output.
- Melon dataset's results can be found here (test set).
"25269": {
"ground_truth": "취향저격 감성힙합+α 두번째",
"prediction": "r&b soul introduction 버벌진트
"
},
"69588": {
"ground_truth": "걸그룹의 대표적인 곡들",
"prediction": "신나는 댄스곡 모음
"
},
"66941": {
"ground_truth": "미리 메리 크리스마스",
"prediction": "크리스마스 캐롤 크리스마스 캐롤
"
},
- Spotify-million-playlist-dataset dataset's results can be found here (test set).
"923035": {
"ground_truth": "wedding dinner music",
"prediction": "wedding - cocktail hour
"
},
"634077": {
"ground_truth": "history of rap",
"prediction": "old school hip hop
"
}
"540451": {
"ground_truth": "metal up your ass",
"prediction": "rock and roll
"
},
Environment
-
Install python and PyTorch:
- python==3.8.5
- torch==1.9.0 (Please install it according to your CUDA version, in my case cu111)
-
Other requirements:
- pip install -r requirements.txt
Training from scratch
-
Download the data files from spotify-million-playlist and Melon Kakao.
-
Run preprocessing code and split dataset
python preprocessing.py
or you can download pre-split dataset from here.
- Training options (best pramas):
python train.py --dataset_type melon --model transfomer --shuffle True --e_pos False
python train.py --dataset_type mpd --model transfomer --shuffle True --e_pos False
- Evaluation & Inference
python eval.py --dataset_type melon --model transfomer --shuffle True --e_pos False
python infer.py --dataset_type melon --model transfomer --shuffle True --e_pos False