Skip to content

seungheondoh/ply_title_gen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 버벌진트 <eos>"
    },
    "69588": {
        "ground_truth": "걸그룹의 대표적인 곡들",
        "prediction": "신나는 댄스곡 모음 <eos>"
    },
    "66941": {
        "ground_truth": "미리 메리 크리스마스",
        "prediction": "크리스마스 캐롤 크리스마스 캐롤 <eos>"
    },
  • Spotify-million-playlist-dataset dataset's results can be found here (test set).
    "923035": {
        "ground_truth": "wedding dinner music",
        "prediction": "wedding - cocktail hour <eos>"
    },
    "634077": {
        "ground_truth": "history of rap",
        "prediction": "old school hip hop <eos>"
    }
    "540451": {
        "ground_truth": "metal up your ass",
        "prediction": "rock and roll <eos>"
    },

Environment

  1. Install python and PyTorch:

    • python==3.8.5
    • torch==1.9.0 (Please install it according to your CUDA version, in my case cu111)
  2. Other requirements:

    • pip install -r requirements.txt

Training from scratch

  1. Download the data files from spotify-million-playlist and Melon Kakao.

  2. Run preprocessing code and split dataset

python preprocessing.py

or you can download pre-split dataset from here.

  1. 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
  1. 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

Reference

https://github.com/bentrevett/pytorch-seq2seq

About

Music Playlist Title Generation [NLP4Musa 2021]

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published