Images to contain:
- 전반적인 procedure
- 모델 training 방식 (transformer decoder 그림)
- training text 예시
- Inference 예시?
Settings
Data preproc
Genius dataset (from kaggle)
- 5134856개의 다국어 데이터셋
- songform tag 달려있는 데이터 수집
- pre-defined songforms: [verse, chorus, pre-chorus, post-chorus, bridge]
- 문자열 process
- 특수문자 제외 (\’, , 등 말고)
- guitar solo 등의 의미없는 가사 제외
- x2 등의 반복 문자 제외
- 숫자 → 영어 변환 (library: num2words)
- 공백 line 등 제외.
- 제외 데이터
- 데이터 수
- Train/valid/test: 340K / 18K / 10K 정도
- in loader…
- max token num = 1024, phrase 넘어가면 1024안에 들어가도록 phrase 하나씩 지웠음.
- 평균적인 input 길이 표시
- phrase/line/ngram/word의 평균적인 syllable, word, token개수???
- tree-traversal:\녀
- generation: granularity 설정 확률. 20%
- infilling: masking granularity 설정 확률. 10%.
- ngram이 선택될 경우,
- 50% single word
- 50% ngram. ⇒ 최대 8개 단어 random mix. min(8, line_end)
- max_syllable_count_token =1000
- seed 고정했으므로, generation / infilling condition은 모든 실험에 대해 같음. → paired t-test가능
- syllable count
- library: syllables ← 조금 이상함. one을 syllable 2라고 함.
- 단어별로 세고 더함.
- Sentencebert: 'sentence-transformers/all-mpnet-base-v2’
- inspired by kento, 2023
- Training : Lyric 전체에 대한 sentence embedding conditioned
- Inference: Input text 에 대한 sentence embedding conditioned
Evaluation 공통사항