# 歌詞のサビ区間検出手法

渡邊研斗 後藤真孝
産業技術総合研究所(AIST)
\{kento.watanabe, m.goto\}@aist.go.jp

## 1 はじめに

ポピュラー音楽における「サビ」とは，楽曲中で最も繰り返され記憶に残る区間である [1]. 音楽情報処理の分野では，音響信号に基づ くサビ区間検出手法が活発に研究されてきたが [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,1,18,19],歌詞テキストに基づいた検出手法はこれまで提案さ れていない.

本研究の目的は，歌詞を入力したときに，そのサ ビ区間を自動的に検出することである。テキストの みからサビ区間を検出可能かどうかは自明ではな く, 学術的な視点からも興味深い. 更に，様々な検索システムで歌詞に基づくサビ検出技術が有用であ る．例えば，音楽視聴者が “I love you” などの特定の フレーズを含むサビを探したいとき，検索システム は歌詞のサビ区間の位置を知っている必要がある。本研究では，英語・日本語の歌詞のサビ区間を検出する教師ありモデルを提案する．本モデルは，歌詞の繰り返しパターンを表す構造的特徴量と, サビ 区間特有のフレーズを表す言語的特徴量の両方を考慮する．また，教師あり学習に必要となる訓練デー タを大量に用意するために，我々は歌唱時刻で同期 された音響信号-歌詞のアライメントデータを利用 し, 1 万曲以上の歌詞に教師ラベルを自動付与した.実験では，提案特徴量の有効性や，自動付与した教師ラベルの有用性，英語と日本語のサビ区間に対す る言語依存性など，様々な観点から検出タスクや歌詞のサビ区間の性質を調査した。

## 2 歌詞のサビ区間検出タスク

図 1 はサビ区間のラベルが付与された歌詞の例 である。本タスクでは，入力歌詞には $\mathrm{A} \times ロ ・ \mathrm{~B} \times$ ロ・サビ区間の境界（空行）が一切存在しないと仮定し，全ての歌詞から空行を取り除いた。

本研究では，サビ区間検出タスクを系列ラベリ ング問題として定式化する. つまり，歌詞の各行
のサビおよび非サビのラベルを予測する. $X_{s}$ は $T$ 行のテキスト $\left.\{x_{1}, \ldots, x_{t}, \ldots, x_{T}\right.\}$ で構成される曲 $s$ の歌詞である. 各行 $x_{t}$ はバイナリラベル $y_{t}$ を持 つ. $y_{t}=1$ のとき $x_{t}$ はサビであり,$y_{t}=0$ のとき $x_{t}$ は非サビである． $Y_{S}$ は $X_{s}$ に対応するラベル系列 $\left.\{y_{1}, \ldots, y_{t}, \ldots, y_{T}\right.\}$ である. モデルの訓練では，条件付き確率 $P\left(Y_{S} \mid X_{S}\right)$ を学習する. モデルの評価では,訓練されたモデルは入力された行の系列 $X_{S}$ のラベ 几系列 $Y_{s}$ 予測する.

図 1 の例では，サビ区間は完全一致の繰り返しで あるが，繰り返される行を抽出するだけではサビ区間の検出は困難である。例えば，図 1の9-12 行と 21-24 行は完全一致であるがサビ区間ではない。ま た，様々なバリエーションのサビ区間を検出する ルールの作成も難しい. 本研究では，様々な種類の サビ区間に対応するための特徵量を設計する.

## 3 歌詞のサビ区間のモデル化

本研究では，音響信号に基づくサビ区間検出手法 で用いられる自己類似行列 (SSM) をテキストに応用 することで，歌詞の繰り返しパターンを捉えた構造的特徵量を設計する．更に単語・文脈べクトルを用 いることで，サビ特有のフレーズを捉えた言語的特徵量を設計する。

以下の節では，まず歌詞の繰り返しパターンを表 したSSM と，それらを構造的特徴量としてべクト ル化する方法について説明する。 次に word $2 \operatorname{vec}[21]$ と context2vec[22]を用いて歌詞の意味的・統語的な 情報をべクトル化することで得られる言語的特徵量 について説明する。最後に，これら構造的・言語的特徴量を用いたニューラルネットワーク $(\mathrm{NN})$ ベー スの系列ラベリングモデルについて説明する。

## 3.1 構造的特徵量

これまで音響信号に基づく音楽解析の研究では，図 1 に示したような SSM を用いて繰り返される A メロやサビ区間を検出してきた，繰り返される区間

図 1 サビラベル付きの歌詞（RWC 研究用音楽 DB No.81[20]）と自己類似行列の例. 各セルは行同士の類似度を表す.

は行列内で高い値を持つ斜線として表現され，この 斜線のパターンが構造検出の手がかりとして使わ れてきた. 本研究ではこのSSMによる手法をテキ ストに応用することで，歌詞の繰り返しパターンを 捉える。ただし，SSM 内の各セルの類似度計算に よって，捉えられる繰り返しパターンが大きく異な るため，類似度の設計が重要となる．そこで本研究 では，以下の 9 種類の類似度を設計する。

文字列類似度 行同士の標準化編集距離 [23].

先頭語類似度 各行の先頭単語間の標準化編集距離.

末尾語類似度 各行の末尾単語間の標準化編集距離.

発音類似度 押韻による繰り返しを捉えるために，発音記号の系列間の標準化編集距離を計算する. 本研究では CMU 発音辞書を用いて英語歌詞の発音記号 を抽出する。

品詞類似度 文法構造の類似度を計算するために, 品詞系列間の標準化編集距離を計算する。本研究では NLTK の品詞解析器 [24] を用いる.

単語ベクトル類似度 行同士の意味的類似性を捉え るために，本研究では訓練済みの word2 vec を用い て, 各行内の単語ベクトルを平均し, それらのコサ イン類似度を計算する。ただし， bag of words を仮定したこの類似度では語順の違いを区別できない。

文脈ベクトル類似度語順を考慮するために， word2vec をSTM を用いて拡張した context2vec を 用いて，各行の単語列を LSTM でベクトル化し，コ サイン類似度を計算する。

単語の音節数類似度 サビ区間の歌詞は，単語が全く異なっていても同じ音節数であることがあるため，各行で単語の音節数の系列を利用する. 例えば，歌詞 “Sometimes you lost yourself away” と “Everytime you just close your eyes” の音節数の系列はそれぞれ $\{2,1,1,2,1\}$ と $\{2,1,1,1,1,1\}$ である.これらの音節数系列が類似している場合，繰り返しの可能性があ る. 本研究では動的時間伸縮法 (DTW)[25] を用い て，音節数系列間の類似度を計算する。

行の音節数類似度 本研究では各行内の全単語の合計音節数も使用する。例えば，図 1 に示されている 全サビ区間では，最初の行の合計音節数は 6 であ り, 2 行目の合計音節数は 8 である. 次の手順によ り，各行ペアの合計音節数の類似性を計算する。 (1)連続した 4 行 $L_{t}=\left.\{x_{t}, x_{t+1}, x_{t+2}, x_{t+3}\right.\}$ を抽出する. (2) 行 $x_{t}$ と $x_{t^{\prime}}$ 間の類似度を $L_{t}$ と $L_{t^{\prime}}$ の合計音節数 のDTWによって計算する。

本研究で 9 種類の SSM を上記の類似度を用いて 計算する. SSM は $\mathbf{A}_{m} \in \mathbb{R}^{T \times T}$ で表し, $m(1 \leq m \leq 9)$ は類似度の種類を意味する。次に，SSM から特徵量を計算するために, 本研究では畳み込み ニューラルネットワーク (CNN) を用いる（図 2).各 SSM からターゲットとなる行を中心とした 固定窓幅 $w$ の部分行列を抽出する。ここで部分行列は $\mathbf{a}_{m}^{t}=\mathbf{A}_{m}[t-w+1, \ldots, t+w ; 1, \ldots, T] \in \mathbb{R}^{2 w \times T}$ で表す. CNNへ入力するのは 9 つの部分行列 $\left.\{\mathbf{a}_{s t r}^{t}, \ldots, \mathbf{a}_{s y L}^{t}\right.\} \in \mathbb{R}^{2 w \times T \times 9}$ であり，チャンネルの数は SSM の数に対応する。最初の $2 \mathrm{D}$ 畳み込み層のカー ネルサイズは $(w+1) \times(w+1)$ であるため, SSM 内の

図 $2 \mathrm{SSM}$ のための畳み込みニューラルネットワーク。

斜線の端を捉えることができる。ここで得られたテ ンソルはカーネルサイズが $w \times w$ の max pooling に よってダウンサンプルされる. 次にカーネルサイズ が w の 1D 畳み込み層を適用し, 最後に max pooling によってダウンサンプルする. 各畳込み層の活性化関数には ReLU を使用する．上記手順を歌詞の各行 $x_{t}$ に実行し，構造的特徵量 $\boldsymbol{v}_{t}$ を計算する.

## 3.2 言語的特徵量

サビ区間に出現しやすい歌詞のフレーズを調査す るため, サビ区間と非サビ区間の単語トライグラム の差を計算した. その結果，“I'll” “Let’s”などの 未来に関するフレーズがサビ区間に頻出し, “have been” や “idn't” などの過去に関するフレーズが非 サビ区間で頻出することがわかった。この傾向を利用するために，以下の特徵量を設計する。

単語ベクトルの平均行内の単語を訓練済み word2vec を用いてべクトル化し，その平均を特徴量とする。

単語列のベクトル表現 訓練済み context2vecを用い て行をべクトル化したものを特徴量とする。

歌詞の各行 $x_{t}$ について上記べクトルを計算し，そ れらを連結した言語的特徴量 $\boldsymbol{u}_{t}$ を得る.

## $3.3 \mathrm{NN$ ベースの系列ラベリングモデル}

本研究では，標準的な双方向 LSTM (Bi-LSTM)[26] を用いて, 条件付き確率 $P\left(Y_{s} \mid X_{s}\right)$ を計算する. 位置 $t$ での Bi-LSTM 層への入力は構造的特徴量 $\boldsymbol{v}_{t}$ と, 言語的特徵量 $\boldsymbol{u}_{t}$ の連結ベクトルである. 条件付き確率 $P\left(Y_{S} \mid X_{S}\right)$ は softmax 関数を用いて計算される：

$
P\left(Y_{s} \mid X_{s}\right)=\frac{\exp \left(\operatorname{Score}\left(X_{s}, Y_{s}\right)\right)}{\sum_{Y_{s}^{\prime}} \exp \left(\operatorname{Score}\left(X_{s}, Y_{s}^{\prime}\right)\right)}
$

ここで Score は以下の式で定義される.

$
\operatorname{Score}\left(X_{s}, Y_{s}\right)=\sum_{t}^{T} \mathrm{BN}\left(h_{t}\left[y_{t}\right]\right)
$

ここで $h_{t}\left[y_{t}\right]$ は位置 $t$ の Bi-LSTM の出力であり, BN はバッチ正規化 [27] であり，ロス関数はクロス エントロピーを用いる.

## 4 実験

音響信号ベースのサビ検出の研究 [1] を参考にし て，F-measure を用いて提案手法を評価した。ここ で F-measure は $(2 \cdot R \cdot P) /(R+P)$ で計算され, 各 $R$ と $P$ は以下の式で計算される.

$
\begin{aligned}
P & =\frac{\text { 正しく検出されたサビ区間内の行数 }}{\text { サビ区間として検出された行数 }} . \\
R & =\frac{\text { 正しく検出されたサビ区間内の行数 }}{\text { 正解のサビ区間の行数 }} .
\end{aligned}
$

更に, 音楽構造解析の評価で広く用いられる Python パッケージ mir_eval[28] を用いて, pairwise F-measure $(p-F)$, normalized conditional entropy F-measure (n-F)，V-measure を計算した.

## 4.1 モデルパラメータ

窓幅は 3 とし, $2 \mathrm{D}$ および $1 \mathrm{D}$ 畳み込み層のカーネ ル数をそれぞれ 200 と 400 とした．Bi-LSTM の隠れ 層の次元を 600 とした. word $2 \mathrm{vec} と$ context $2 \mathrm{vec}$ の次元数は 300 として，歌詞データを用いて事前訓練し た. パラメータの最適化には AdamW[29]を使用し，学習率は 0.001 , バッチサイズは 64 とした. 訓練は 100 エポック行い，開発セットにおける最も高い F-measure であるエポックのモデルを評価に用いた.

## 4.2 データセット

各行がサビかどうかを予測する教師ありモデルを 訓練するためには, 図 1 に示したような行単位で教師ラベルを持つ大量の歌詞データが必要となる. 本研究では以下の手順によって歌詞データの各行に 教師ラベルを自動付与した. (1) 我々は歌唱時刻で 同期された音響信号-歌詞のアライメントデータを 100,772 曲だけ用意した. (2) 音響信号べースのサビ 区間検出手法 [1]を用いて, サビ区間の開始時刻と 終了時刻を検出した. (3) 音響信号から検出された サビ区間内に存在する歌詞の行にサビラベルを付与 した. 本研究では 9,313 曲の英語歌詞と, 91,459 曲 の日本語歌詞に教師ラベルを自動付与し, それぞれ のデータをEN_auto とJA_auto と呼ぶ.

パラメータ調整や評価のために，信頼性の高い教
表 1 実験結果: 構造的・言語的特徴量の重要性.

師ラベルを持つ 3 つの歌詞データを用意した。

(a) 訓練の比較用データ自動付与した教師ラベルが 訓練において信頼できるか検証するために，比較用訓練データとして 1,103 曲の日本語歌詞に教師ラベ ルを手動で付与した。このデータをJA_man と呼ぶ.

(b) モデルパラメータの調整用データ我々は RWC 研究用音楽データベースの英語 21 曲と日本語 79 曲の 歌詞にラベルを手動で付与し，このデータをモデル パラメータの調整用に使用した.

(c) テストデータ 118 曲の英語歌詞と 128 曲の日本語歌詞にラベルを手動で付与し，それぞれを EN_test と JA_test と呼ぶ. これらはサビ区間検出手法の評価のために使用した。

## 4.3 構造的・言語的特徵量の重要性

構造的・言語的特徴量の有効性を調査するため に，各特徴量を用いたモデルの性能を比較した. 表 1 より，構造的特徵量のみを使ったモデルは，言語的特徴量のみを使ったモデルよりも大幅に優れるこ とがわかった．また，両特徴量を使用することで性能が更に向上した. これらの結果は, 音響信号のサ ビ区間検出で用いられる SSM を歌詞に応用するこ との重要性を示すだけでなく, 言語的特徴量の追加 が歌詞のサビ区間検出に役立つことを示している.

## 4.4 自動付与した教師ラベルの信頼性

教師ラベルを大量に自動付与した JA_auto と，教師ラベルを少量だが手動付与した JA_man の訓練データとしての性能を比較をする。表 2 より, JA_auto で訓練したモデルが JA_man で訓練したモ デルよりも高性能であることがわかる. この結果 は，教師ラベルが自動的に付与されたものであって も，十分なデータサイズであればモデルの訓練にお いて十分な信頼性を持つことを意味する。表 3 実験結果 : 訓練データサイズと言語依存性.

## 4.5 訓練データサイズと言語依存性

表 1 より，英語モデルよりも日本語モデルの方が 性能が良いことがわかるが，これは訓練データの量 が大きく異なるためだと考えられる．そこで本研究 では，大量の日本語データで訓練されたモデルが，英語のサビ区間をより正確に検出できるかどうか 調査した.なお本実験では，構造的特徴量のみを考慮したモデル1)を用いる．表 3 より，日本語データ で訓練されたモデルが，英語データで訓練されたモ デルよりも，英語のサビ区間を検出できることが わかった. 更に，英語と日本語をあわせたデータ (EJ_auto) で訓練されたモデルの性能が最も優れてい ることがわかった.これらの結果は (1) 異なる言語 で訓練されたモデルでもサビ区間を検出できるこ と，(2) 歌詞の繰り返しパターンは言語に依存しな いこと，(3) 異なる言語データを混合することでサ ビ区間の検出性能が向上することを意味する。これ は，少リソースの言語データであっても，利用可能 な他言語リソースと混ぜることで，サビ区間が検出 できる可能性があることを意味する。

## 5 おわりに

本論文は楽曲のサビ区間を歌詞のみから検出する という新しいタスクと，その手法を提案した。本研究の貢献は以下である：(1) サビ区間の構造的及び 言語的特性を捉えるために，様々な特徴量を設計し た. (2) 歌詞のサビ区間を検出する系列ラベリング モデルを提案した. (3) サビ区間の注釈付きの大規模な訓練データセットを作成する手法を示した。 (4)特徴量の重要性, 訓練データの量, 言語依存性など の様々な観点から，検出タスクや歌詞のサビ区間の 性質を調査した．今後は $\mathrm{A}$ メロや B メロなどの区間も検出できるように手法を拡張する。

謝辞 本研究は, RWC 研究用音楽データベースと,株式会社シンクパワーから提供された歌詞データを 利用した。また, 本研究はJST ACCEL (JPMJAC1602) および科研費 (20K19878) の支援を受けた.

1）SSM は繰り返しのパターンを表した行列に過ぎないため，異なる言語であってもモデルへの入力が実装上可能である.

## 参考文献

[1] Masataka Goto. A chorus section detection method for musical audio signals and its application to a music listening station. IEEE Transactions on Audio, Speech, and Language Processing, Vol. 14, No. 5, pp. 1783-1794, 2006.

[2] Go Shibata, Ryo Nishikimi, Eita Nakamura, and Kazuyoshi Yoshii. Statistical music structure analysis based on a homogeneity-, repetitiveness-, and regularityaware hierarchical hidden semi-markov model. In Proceedings of ISMIR 2019, pp. 268-275, 2019.

[3] Akira Maezawa. Music boundary detection based on a hybrid deep model of novelty, homogeneity, repetition and duration. In Proceedings of IEEE ICASSP 2019, pp. 206210, 2019 .

[4] Gabriel Sargent, Frédéric Bimbot, and Emmanuel Vincent. Estimating the structural segmentation of popular music pieces under regularity constraints. IEEE/ACM Transactions on Audio, Speech, and Language Processing, Vol. 25, No. 2, pp. 344-358, 2017.

[5] Tian Cheng, Jordan B. L. Smith, and Masataka Goto. Music structure boundary detection and labelling by a deconvolution of path-enhanced self-similarity matrix. In Proceedings of IEEE ICASSP 2018, pp. 106-110, 2018.

[6] Jordan B. L. Smith and Masataka Goto. Using priors to improve estimates of music structure. In Proceedings of ISMIR 2016, pp. 554-560, 2016.

[7] Thomas Grill and Jan Schlüter. Music boundary detection using neural networks on combined features and two-level annotations. In Proceedings of ISMIR 2015, pp. 531-537, 2015.

[8] Brian McFee and Dan Ellis. Analyzing song structure with spectral clustering. In Proceedings of ISMIR 2014, pp. 405-410, 2014.

[9] Geoffroy Peeters and Victor Bisot. Improving music structure segmentation using lag-priors. In Proceedings of $I S$ MIR 2014, pp. 337-342, 2014.

[10] Harald Grohganz, Michael Clausen, Nanzhu Jiang, and Meinard Müller. Converting path structures into block structures using eigenvalue decompositions of selfsimilarity matrices. In Proceedings of ISMIR 2013, pp. 209-214, 2013.

[11] Oriol Nieto and Tristan Jehan. Convex non-negative matrix factorization for automatic music structure identification. In Proceedings of IEEE ICASSP 2013, pp. 236-240, 2013.

[12] Florian Kaiser and Geoffroy Peeters. A simple fusion method of state and sequence segmentation for music structure discovery. In Proceedings of ISMIR 2013, pp. 257262, 2013.

[13] Joan Serrà, Meinard Müller, Peter Grosche, and Josep Lluís Arcos. Unsupervised detection of music boundaries by time series structure features. In Proceedings of AAAI 2012, 2012.

[14] Meinard Müller, Peter Grosche, and Nanzhu Jiang. A segment-based fitness measure for capturing repetitive structures of music recordings. In Proceedings of ISMIR 2011, pp. 615-620, 2011

[15] Jouni Paulus, Meinard Müller, and Anssi Klapuri. State of the art report: Audio-based music structure analysis. In Proceedings of ISMIR 2010, pp. 625-636, 2010.

[16] Jouni Paulus and Anssi Klapuri. Music structure analysis using a probabilistic fitness measure and a greedy search algorithm. IEEE Transactions on Audio, Speech, and Language Processing, Vol. 17, No. 6, pp. 1159-1170, 2009.

[17] Meinard Müller and Sebastian Ewert. Joint structure analysis with applications to music annotation and synchronization. In Proceedings of ISMIR 2008, pp. 389-394, 2008.

[18] M. Cooper and J. Foote. Summarizing popular music via structural similarity analysis. In Proceedings of WASPAA 2003, pp. 127-130, 2003.

[19] Jonathan Foote. Automatic audio segmentation using a measure of audio novelty. In Proceedings of IEEE ICME 2000 , p. 452, 2000.

[20] Masataka Goto, Hiroki Hashiguchi, Takuichi Nishimura, and Ryuichi Oka. RWC Music Database: Popular, classical and jazz music databases. In Proceedings of ISMIR 2002, Vol. 2, pp. 287-288, 2002.

[21] Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg Corrado, and Jeffrey Dean. Distributed representations of words and phrases and their compositionality. In Proceedings of NeurIPS 2013, pp. 3111-3119, 2013.

[22] Oren Melamud, Jacob Goldberger, and Ido Dagan. context2vec: Learning generic context embedding with bidirectional LSTM. In Proceedings of SIGNLL 2016, pp. 51-61, 2016.

[23] Yujian Li and Bi Liu. A normalized Levenshtein distance metric. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 29, No. 6, pp. 1091-1095, 2007.

[24] Steven Bird. NLTK: the natural language toolkit. In Proceedings of ACL 2006, 2006.

[25] Donald J. Berndt and James Clifford. Using dynamic time warping to find patterns in time series. In Proceedings of Workshop on Knowledge Discovery in Databases, pp. 359-370, 1994.

[26] Alex Graves, Abdel-rahman Mohamed, and Geoffrey E. Hinton. Speech recognition with deep recurrent neural networks. In Proceedings of IEEE ICASSP 2013, pp. 6645-6649, 2013.

[27] Sergey Ioffe and Christian Szegedy. Batch normalization: Accelerating deep network training by reducing internal covariate shift. In Proceedings of ICML 2015, Vol. 37, pp. 448-456, 2015

[28] Colin Raffel, Brian McFee, Eric J. Humphrey, Justin Salamon, Oriol Nieto, Dawen Liang, and Daniel P. W. Ellis. mir_eval: A transparent implementation of common MIR metrics. In Proceedings of ISMIR 2014, pp. 367-372, 2014.

[29] Ilya Loshchilov and Frank Hutter. Decoupled weight decay regularization. In Proceedings of ICLR 2019, 2019.
 渡邊研斗 後藤真孝 産業技術総合研究所(AIST) \{kento.watanabe, m.goto\}@aist.go.jp  