歌詞感情コーパスの拡張についての検討
Consideration on extension of lyric-emotion corpus
片岡 麻輝
1∗篠山 学
1松本 和幸
2KATAOKA, Asaki
1SASAYAMA, Manabu
1MATSUMOTO, Kazuyuki
21
香川高等専門学校 情報工学科
1
National Institute of Technology, Kagawa College, Department of Information Engineering
2
徳島大学大学院 社会産業理工学研究部
2
Tokushima University, Faculty of Science and Technology
Abstract: Lyrics emotion estimation can achieve a song retrieval system based on emotions. An
emotion expression dictionary is often used on emotion estimation of dialogue. A lyric emotion is determined from a lyric phrase. Therefore, a lyric emotion corpus of phrase is required. However, since labelling emotion to the corpus is done manually, the size of the lyric emotion corpus is small. In this work, we propose a method to extend a small-scale lyric emotion corpus by using word replacement based on word embedding. In order to evaluate the proposed method, we also conduct a lyric emotion classification with convolutional neural network with a lyric emotion corpus as input. The corpus contains 5 classes of emotions.
1
はじめに
歌を聴くとき,聴き手には何らかの感情状態が引き 起こされる.これらの感情は,曲調によって引き起こさ れる場合と,歌詞によって引き起こされる場合がある. 曲調や歌詞による感情推定が実現すれば,楽しい歌 や悲しい歌といった歌詞の雰囲気をもとにした楽曲検 索などが可能になる.楽曲を検索する欲求は大きく分 けて 2 つある.1 つは歌詞やタイトル,アーティスト といった楽曲情報を知りたい欲求であり,もう 1 つは 新しい楽曲を発見したい欲求である.前者の知りたい 欲求に対しては,楽曲検索システムがある.クエリに メロディやテキスト情報を用い,楽曲のタイトルや正 確な歌詞を提示するものである.しかし,メロディを 忘れてしまったり,歌詞がうろ覚えの場合には検索で きない.また,歌詞を覚えていてもテキストが短けれ ば検索結果が多くなりすぎてしまう.後者の発見した い欲求に対しては楽曲推薦システムがある.ユーザが 好みの楽曲のタイトルを入力したり,システムの提案 する楽曲に評価を与えることで楽曲を推薦するもので ある.しかし,似たような楽曲しか提示されなかった り,曲調が好みでも歌詞が好みでない場合がある.歌詞 の感情推定ができれば,曲情報を知りたいときに検索 結果が多すぎても感情を用いて絞り込みができる.ま ∗連絡先:香川高等専門学校情報工学科 〒 769-1192 香川県三豊市詫間町香田 551 E-mail: [email protected] た,楽曲を発見したいとき,歌詞の感情だけを使うた め,まったく別のリズムの楽曲を提示できたり,曲全 体の感情の流れの好みを指定できる.そのため,歌詞 の感情推定が必要になる.日常会話における感情推定 の研究では,単語と感情の結びつきを示す感情表現辞 書が利用されるが,歌詞はフレーズ単位で感情が定ま ることが多いため,フレーズ単位の歌詞感情コーパス が必要となる.しかし,歌詞感情コーパスにおけるラ ベルの付与は人手で行われるため,機械学習を行うの に十分な大きな規模の歌詞感情コーパスを一から作成 するのは難しい. 本研究では,機械学習による歌詞の感情推定を最終 目標とし,既に集められた小規模な歌詞感情コーパス を単語置換によって拡張する方法を提案する.また,実 際に拡張されたコーパスを畳み込みニューラルネット ワークで学習し,交差検定を行うことによって提案手 法を評価する.具体的には単語分散表現を用いフレー ズ中の名詞を類似度の高い別の名詞と置換することで 拡張を行う.拡張元のデータには,15 曲の歌詞から抽 出した 366 の歌詞フレーズ(以下,フレーズという) に,アンケートによって 5 クラスの感情ラベルを付与 したものを用いる.拡張したデータを用いて 15 分割交 差検定を行う. コーパスの拡張に関する研究には,西本ら [2] の,拡 張したコーパスをニューラルネットワークによる感情 分析に用いたものがある.この研究では,ニューラル ネットワークの構造とデータ拡張の組み合わせについ 人工知能学会研究会資料 SIG-SLUD-B509-01ϓϪʖθΝܙସોմੵ ͍͵ͪͬͶͬࠕͬࠄ͝Γͬ͑ ϓϪʖθ಼໌ࢼΝखಚ ࠕ tŽƌĚϮsĞĐͲ໌ࢼྪࣇޢΝखಚ ࠕೖɾ͏ͯɾʀʀʀɾͤ͗͠ɾຌ tŽƌĚϮsĞĐͲ໌ࢼྪࣇޢΝखಚ ͍͵ͪͶࠕೖࠄ͝Γ͑ ͍͵ͪͶ͏ͯࠄ͝Γ͑ ͍͵ͪͶޛʓࠄ͝Γ͑ 図 1: 歌詞感情コーパスの拡張例 て検討している.本研究では,歌詞の感情推定のタス クにデータ拡張を適用する.
2
提案手法
2.1
歌詞感情コーパス
本研究では,15 曲の楽曲から取り出された歌詞 366 フレーズに,アンケートによって 5 クラスの感情ラベ ル(Joy,Love,Anger,Sorrow,Anxiety)を付与し た歌詞感情コーパスを用いる.2.2
歌詞感情コーパスの拡張
提案する歌詞感情コーパスの拡張方法は,単語分散 表現を用いてフレーズ中の名詞を類似度の高い別の名 詞と置換することで実現する.歌詞感情コーパス中の 名詞と類似度の高い名詞を得るために,置換スコアを 定義して用いる.提案手法の流れを以下に示す.また, 提案手法による歌詞感情コーパスの拡張の例を図 1 に 示す. 1. MeCab を用いてフレーズを形態素解析 2. Word2Vec を用いてフレーズ内の各名詞の類似語 を取得(2.3 節) 3. 2 で取得した各類似語の置換スコアを計算(2.4 節) 4. 置換スコアの 1 位から 3 位までの類似語と置換 (2.5 節)し拡張2.3
Word2Vec による類似語の取得
類似語の取得は Wikipedia の日本語全文コーパスか ら学習した Word2Vec[3] による単語の分散表現を用い て行った.Word2Vec はあるコーパスにおける単語の共 起関係をもとに,各単語間の意味的な距離を示すベクト ルを計算するモジュールである.すなわち,Word2Vec における類似語とは,「同じ共起単語を持つ単語」とい える.そのため,置換対象の品詞が形容詞や形容動詞, 副詞などになると,同じ文脈で多く出現する対義語に 置換されやすくなるため,感情が変化する可能性があ る.例えば,「楽しい」という単語は「今日は楽しいこと があった」という文脈で現れることが想定される.こ のとき,類義語である「嬉しい」の他にも,対義語で ある「悲しい」といった単語も同じ文脈で現れること が想定され,これらの単語も Word2Vec では「楽しい」 の類似語として扱われる.単語の置換によって感情が 変化すると,そのままでは適切な学習を行うことがで きないため,新たに生成されたフレーズにも再度ラベ ルを付与する必要が生じてしまう.そこで,感情を変 化させることなく単語置換によるコーパスの拡張を行 うために,置換対象とする品詞は名詞に限定した.名 詞であれば,「今日は楽しいことがあった」に含まれる 「今日」の類似語は「昨日」や「今朝」といった語に置 換されると予想されるが,これらの置換はフレーズの 感情を変化させることはないと推測される.2.4
置換スコアの算出
単にフレーズ中の名詞を取得して類似語と置換する だけでは,「今日は楽しいことがあった」という文中の 「こと」から「もの」や「場合」への置換のように,文 法的・意味的に違和感のあるフレーズが生成されてしま う場合がある.本研究では畳み込みニューラルネット ワーク(以下,CNN)を用いる.画像処理分野におけ る CNN の利用では,入力画像にノイズを混ぜた画像を 加えることで精度が向上することが報告されている (参 照必要).言語処理においてもノイズを含ませることで 同様に精度が向上すると考えられるが,どのようなノ イズを加えればよいかはわかっていない.本研究では 感情推定を目的としており,置換後にできるだけ違和 感のない文にしたい.そこで,Word2Vec によって選 択された類似語 100 単語に対し,予め用意した 3-gram コーパスを参照して,置換が自然なものかを表す置換 スコア S を式 1 より計算する. S = sim· (log ek1+ k2 2 + 1) (1) ここで sim は,Word2Vec により計算された置換語・被 置換語間のコサイン類似度を表す.k1および k2はそれぞれ,置換語を先頭とする場合と置換語を末尾とする 場合の,3-gram コーパスでのパターン出現回数である. 3-gram コーパスで 1 度も出現しないパターンと 1000 回出現するパターンの間には,置換後の自然さには大 きな差があるが,1000 回出現するパターンと 2000 回 出現するパターンの間には,同じ 1000 回の出現回数差 でも,置換後のフレーズの自然さには前者ほどの差は ないと考えられる.そこで,対数関数を用いて 3-gram コーパスでのパターン出現回数が多くなるにしたがっ て,S の変化は緩やかになるようにした.
2.5
フレーズの拡張
Word2Vec で取得した類似語 100 語に対し,置換ス コアを計算し,そのスコアが高かった上位 3 単語で置換 を行い,フレーズ中に含まれる名詞 1 単語につき,新た にフレーズを 3 つ生成する.すなわち,1 つのフレーズ に対する拡張で,元のフレーズ内の名詞数× 3 フレー ズが新たに生成される.2.6
拡張実験
2.6.1 実験条件 拡張手法により歌詞感情コーパス 366 フレーズを拡張 する.Word2Vec は Wikipedia の日本語記事全文コー パスより学習した.3-gram コーパスには「日本語ウェ ブコーパス」[4] を使用した. また,拡張によって新たに生成されたすべてのフレー ズにおいて,感情の変化がないかどうかを 1 名が確認 した.ネガティブなもの(Anger, Sorrow, Anxiety)か らポジティブなもの (Joy, Love) へ感情の極性が変化し ていないか,またはその逆方向で変化していないかを, 主観で検証した.拡張によって新たに生成されたフレー ズを,自然かつ感情の変化がない置換である「文」,感 情の変化はないが文法的・意味的に不自然な置換であ る「準文」,感情の変化がみられる置換である「不適 切」の 3 つに分類した. 2.6.2 実験結果 実際に 366 フレーズからなる歌詞感情コーパスを拡 張したところ,新たに 1779 フレーズが生成され,コー パスの全フレーズ数は 2145 となった.表 1 に,新たに 生成されたフレーズの分類結果を示す.新たに生成さ れたフレーズのほとんどが自然な置換である「文」に分 類され,「不適切」に該当する置換は約 0.03%であった.2.7
考察
歌詞感情コーパスの拡張を行った結果,新たに生成 されたフレーズのほとんどにおいて,感情の変化がみ られなかった.このことから,コーパス内のフレーズ に含まれるほとんどの名詞はフレーズそのものの感情 には影響がない一方で,「天使」と「悪魔」の例のよう に,単語の感情極性が変化することによってフレーズ 全体の感情極性が反転する場合もある.また,「後悔」 と「苦労」の例のように,同じ極性を持つ単語同士の 置換でも,文脈によってはフレーズの感情極性を変化 させてしまう置換もあった. このように感情が変化する置換の例は新たに生成さ れたフレーズのうち 0.03%に満たないが,ディープラー ニングにおいてはこのようなミスラベリングによって, しばしば精度の低下が起こる.このような置換の数を 減らすために • 「不適切」に分類されたフレーズから,感情の変 わりやすい語句を推定して予め除外しておく などの対策が考えられる.3
畳み込みニューラルネットワーク
3.1
概要
本研究では,CNN を用いて拡張手法の歌詞感情コー パスの評価実験を行う.CNN は主に画像認識の分野で 高い精度を発揮しているモデルで,高さ×幅×チャネ ル数の 3 階テンソルまたは,それらのデータを複数ま とめた 4 階テンソルを入力とする.CNN の特徴とし て,プーリング層によって実現される,データ内のパ タンの位置に対する応答の不変性が挙げられる.テキ スト分類などのタスクでも特徴を学習できることがわ かっている.3.2
ネットワークの構造
歌詞感情コーパスの学習に用いた CNN の構造を図 2 に示す.200 次元の単語ベクトルからなる入力を適切 に学習するため,1 層目の畳み込み層のフィルタの幅 は 200 とする.1 層目よりも細かな特徴を抽出させる ために,2 層目の畳み込みフィルタのサイズは 3 × 3 と小さくした.2 層目の畳み込み層の出力は 20 次元の 出力をする全結合層へ入力され,さらに次の全結合層 で感情のラベル数と同じ 5 次元に圧縮される.最終的 には Softmax 関数により分類の確率値に変換され,交 差エントロピー誤差関数へ入力される.畳み込み層・ 全結合層ともに活性化関数には ReLU を選択した.ま表 1: 生成されたフレーズの分類 フレーズ数 例 置換前 置換後 あの頃気づいた涙の色は無い あの時気づいた涙の色は無い 文 1341 ひとりじゃないクリスマス 夢じゃないクリスマス そうさ 100%勇気 そうさ 100%闘志 でも少しずつ理解ってきた戦うこと! でも少しずつ意識ってきた戦うこと! 準文 387 秋が吹いて冬が泣いて 風物詩が吹いて冬が泣いて どんな時も君を照らしてる どんな度も君を照らしてる 不適切 51 天使の羽そっと抱いて 悪魔の羽そっと抱いて HEART が燃えているなら後悔しない HEART が燃えているなら苦労しない ৠΊࠒΊ ϭĐŚїϲϰĐŚ͕ϮdžϮϬϬ ϕʖϨϱή ৠΊࠒΊ ϲϰĐŚїϭϲĐŚ͕ϯdžϯ ϕʖϨϱή સ݃ ड़ྙʁϮϬ࣏ݫ ƌŽƉŽƵƚ ZĂƚŝŽʁϬ͘ϱ સ݃ ड़ྙʁϱ࣏ݫ ^ŽĨƚŵĂdž ިࠫΦϱφϫϒʖޣࠫ 図 2: 畳み込みニューラルネットワーク た,使用する歌詞感情コーパスはデータ量が少ないた め,過学習を避けるために 1 つめの全結合層の直後に Dropout を適用した.
4
評価実験
4.1
実験条件
歌詞感情コーパスの学習を CNN で行った.提案した 手法で歌詞感情コーパスの拡張を行う場合と,拡張を 行わない場合でそれぞれ学習を実行し,両者の精度に ついて比較を行った.データセットには 2.1 節で述べた 366 フレーズからなる歌詞感情コーパスを,ランダムに 15 分割 (Song1∼Song15) して用いた.拡張された歌詞 感情コーパスを学習するとき,Song1をテストセット とする場合はその他の Song2∼Song15の拡張データを 訓練セットとした.これを Song1をテストセットとす る場合から Song15をテストセットとする場合まで 15 回繰り返し行った.拡張を行う場合も行わない場合も, 1 回の学習におけるエポック数は 50,ミニバッチのサ イズは訓練セットが 50,テストセットは 20 とした.4.2
実験結果
拡張データを用いた CNN の学習に伴う,訓練セット に対する精度とテストセットに対する精度の変化の様 子を,図 3 および図 4 に示す.また,拡張前の歌詞感 情コーパスを学習した際の,テストセットに対する精 度の様子を図 5 に示す.表 2 には,各ループの学習終 了時点でのテストセットに対する精度を示す. 拡張データを用いた学習において,訓練データに対 する精度は,どのループでも学習が進むにしたがって 向上しているが,テストデータに対する精度は常にば らつきがあり,向上している様子はみられない. 拡張前の学習の様子と比べると,ループによっては わずかに拡張前のコーパスを利用したほうが精度が高 くなっているのがわかるが,概ねの精度やばらつきの 大きさには差があまりないことが見てとれる. ϭ Ϯ ϯ ϰ ϱ ϲ ϳ ϴ ϵ ϭϬ ϭϭ ϭϮ ϭϯ ϭϰ ϭϱ ָसϩʖϕ ౕ 図 3: 訓練データに対する正解率(拡張あり)表 2: 各ループのテスト精度 精度 [%] ループ数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 拡張なし 41.1 47.5 52.9 52.5 51.6 22.2 48.9 55.3 44.4 70.0 72.3 72.1 42.1 47.1 50.6 拡張あり 42.1 68.2 61.1 64.8 58.8 18.1 46.5 54.3 43.0 51.4 70.0 57.9 43.1 62.9 43.9 表 3: 各ループの訓練セット内の感情ラベルの分布 感情ラベル ラベルが付与されたフレーズ数 ループ数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Joy 拡張なし 121 122 118 120 120 129 119 117 122 122 119 123 117 114 123 拡張あり 718 716 700 720 717 759 662 687 722 722 710 735 681 657 720 Love 拡張なし 54 58 58 62 58 49 63 62 61 62 60 60 58 57 60 拡張あり 312 346 328 359 346 283 369 359 361 365 336 363 352 333 354 Anger 拡張なし 18 19 18 18 18 17 18 19 16 18 16 19 16 18 18 拡張あり 87 91 90 87 84 77 87 91 82 87 79 91 70 90 81 Sorrow 拡張なし 101 105 105 105 101 103 101 101 102 103 106 105 104 100 98 拡張あり 611 621 639 633 605 625 599 623 600 616 637 612 620 613 572 Anxiety 拡張なし 43 45 43 42 41 41 44 40 41 43 44 44 39 42 38 拡張あり 259 267 250 261 236 242 263 250 221 259 266 263 240 243 218 ϭ Ϯ ϯ ϰ ϱ ϲ ϳ ϴ ϵ ϭϬ ϭϭ ϭϮ ϭϯ ϭϰ ϭϱ ָसϩʖϕ ౕ 図 4: テストデータに対する正解率(拡張あり)
4.3
考察
拡張された歌詞感情コーパスを学習した CNN がテ ストセットに対して高い精度を示さなかった理由のひ とつとして,拡張してもなお,ディープラーニングで 学習を行うには歌詞感情コーパスの規模が小さかった ことが挙げられる.2000 件程度のフレーズでは,5 ク ラスの感情分類を行うタスクにはデータ量が不十分で あったと考えられる.これに対しては, • 単語置換のみではなく,類似歌詞によるコーパス の拡張 などでの対策が可能である.また,ループ数によって 平均の精度に差が出るのは,ループごとに特定の感情 ϭ Ϯ ϯ ϰ ϱ ϲ ϳ ϴ ϵ ϭϬ ϭϭ ϭϮ ϭϯ ϭϰ ϭϱ ָसϩʖϕ ౕ 図 5: テストデータに対する正解率(拡張なし) ラベルが付与されたフレーズの数の分布が偏っている 場合があるからだと考えられる.表 3 に学習セット内 の感情ラベルの分布を示す.5
2
クラスによる評価実験
5.1
実験の目的
前節第 4.3 項で,拡張によって得られたデータ量は 5 クラスの感情分類を行うにあたって依然少ないもので あると考察した.ここでは,分類する感情を 5 クラス から 2 クラスに減らし,学習の精度がどのように変化 するかを検証する.5.2
実験条件
もともと Joy,Love,Anger,Sorrow,Anxiety の 5 クラスあった感情ラベルを Positive,Negative の 2 クラ スに統合した.Positive には Joy および Love を,Neg-ative には Anger,Sorrow ならびに Anxiety を含んだ. CNN の構造はほぼ変更せず,2 層目の全結合層の出力 のみ 2 次元とした.
5.3
実験結果
図 6 に,学習に伴う精度の変化の様子を示す.グラ フには,特に精度の高かった AdaGrad および SGD の 学習のみプロットした.5 クラス分類の学習(図 4)で は精度が大きくばらついてテストデータに適合してい なかったのに対し,図 6 を見ると,精度のばらつきは あるものの,ほとんどのループにおいて学習に伴って 精度が少しずつ向上している様子がわかる. 図 7 は,拡張を行わずに前項の条件で学習を行った 様子を示すグラフである.このグラフからは,拡張を 行った場合の方が,学習によって精度が向上しやすい ことがわかる. これらの結果より我々は,5 クラスの感情分類では コーパス拡張による精度の向上は見られないものの,分 類するクラス数を減らせば,歌詞感情推定のタスクに おいて提案手法による歌詞感情コーパスの拡張が有効 であると考えた. ϭ Ϯ ϯ ϰ ϱ ϲ ϳ ϴ ϵ ϭϬ ϭϭ ϭϮ ϭϯ ϭϰ ϭϱ ָसϩʖϕ ౕ 図 6: 2 クラス分類実験:テストデータに対する正解率 (拡張あり)6
おわりに
本論文では,規模の小さい歌詞感情コーパスの拡張 手法の提案と,CNN での学習による提案手法の検証を 行った.5 クラス分類のタスクではコーパス拡張の有 用性を実証できなかったが,タスクを 2 クラス分類に ϭ Ϯ ϯ ϰ ϱ ϲ ϳ ϴ ϵ ϭϬ ϭϭ ϭϮ ϭϯ ϭϰ ϭϱ ָसϩʖϕ ౕ 図 7: 2 クラス分類実験:テストデータに対する正解率 (拡張なし) 単純化することで,歌詞感情コーパスを拡張する前よ りも拡張した後のほうが,歌詞感情推定の精度が高く なることがわかった.謝辞
本研究は,科学研究費補助金若手研究 (B)(No.16K16134) の助成を受けて行われました.参考文献
[1] C´ıero, S., Ma´ıra, G.: Deep Convolutional Neural Networks for Sentiment Analysis of Short Texts,
International Conference on Computational Lin-guistics, Technical Papers, pp. 69–78 (2014)
[2] 西本慎之介, 能地宏, 松本裕治: データ拡張による 感情分析のアスペクト推定, 言語処理学会 第 23 回 年次大会, 発表論文集, pp. 581–584 (2017) [3] Yoav, G., Omer, L.: word2vec Explained:
Deriv-ing Mikolov et al. ’s Negative-SamplDeriv-ing Word-Embedding Method (2014) [4] 矢 田 晋: 「N-gram コ ー パ ス - 日 本 語 ウェブ コ ー パ ス 2010」, [online]http://s-yata.jp/corpus/nwc2010/ngrams/ (アクセス日: 2018/02/03) [5] 神嶌敏弘, 麻生英樹, 安田宗樹, 前田新一, 岡野原 大輔, 岡谷貴之, 久保陽太郎, ボレガラ・ダヌシカ: 「深層学習」, 近代科学社 (2015)
[6] Marc, L., J, Kalita.: Deep Learning applied to NLP (2017)