LoginSignup
12
5

More than 3 years have passed since last update.

BERTは椎名林檎とB'z、そしてサーフィスの歌詞を区別できるのか?

Last updated at Posted at 2020-01-07

BERTを使ってちょっと遊んでみようと思い立ち、歌詞の分類をやってみた。

このページをご覧の方ならご存知の通り、BERTは近年の自然言語処理分野にブレークスルーをもたらしたモデルの一つです。
今回はこれを使ってなにかやわらかいことをやってみよう、と思い立ち、歌詞からアーティストを推論できるかどうか実験をしてみました。

今回、参考・利用させていただいたのはhidekiさんのこちらのページ。コードはほとんどこちらのものを流用させていただいているので、詳しくはこちらを参照してください。

SentencePiece + 日本語WikipediaのBERTモデルをKeras BERTで利用する

そして、こちらのyoheikikutaさんの日本語WIKIで事前学習したモデルです。

BERT with SentencePiece を日本語 Wikipedia で学習してモデルを公開しました

動作環境はコラボラトリー。今回、私が用意したのは訓練・テスト用の歌詞データセットだけです。

 椎名林檎と稲葉さんの詩を分類してみる

まずは簡単な2クラスでやってみよー!!

データは歌詞が個性的、そして曲数がたくさんあるあたりということで、まず椎名林檎さんをチョイス。
次に対照的な感じで、やっぱり曲数がたくさんある人といえばー、、異論はあろうかと思いますが、B'zをチョイスしました。

次に、林檎さんとB'zの曲の中から、主に日本語で書かれている曲、そして、林檎さんあるいは稲葉さんが作詞のものを選びます。
それぞれ25曲を適当にピックアップしてデータを作成しました。適当というか、あいうえお順で上から順に選んだだけですね、ハイ。
サンプル数が少ないですが、お遊びなのでご容赦を。
(著作権の関係がありますのでデータセットは公開できませんが、歌詞にクラス分類ラベルふっただけです)

椎名林檎 B'z
愛妻家の朝食 あいかわらずなボクら
アイデンティティ 愛と憎しみのハジマリ
あおぞら 愛のバクダン
茜さす 帰路照らされど・・・ 愛のままにわがままに 僕は君だけを傷つけない
ありあまる富 I'm in Love?
ありきたりな女 Out Of Control
暗夜の心中立て 赤い河
意識 紅い陽炎
依存症 アクアブルー
映日紅の花 明日また陽が昇るなら
熱き鼓動の果て
色恋沙汰 あなたならかまわない
いろはにほへと 甘く優しい微熱
薄ら氷心中 雨だれぶるーず
おいしい季節 アマリニモ
おこのみで アラクレ
おだいじに ARIGATO
同じ夜 ある密かな恋
歌舞伎町の女王 ALONE
カプチーノ イカせておくれ!
カーネーション イカロス
虚言症 Exit To The Sun
ギブス イチブトゼンブ
ギャンブル 一心不乱
IT'S SHOWTIME!!

で、この中からそれぞれ20曲を訓練データ、5曲をテスト用データとしてランダム抽出して、分類を実施した結果が以下のものです。

bert-2songs.png

驚異の精度!!

確かに、林檎さんと稲葉さんでは全然違いますよ。でもだいたい歌詞って恋とか愛とか、そんなかんじにあんな感じで方向性としては似てるじゃないですか。だがしかしこのサンプル数でこの精度。100%ってなんか噓くさいよね。
むしろあまりにも成績が良いとバグやなにかの間違いを疑うエンジニアあるあるです。
ということでもう少し難問を与えてみましょう。

 椎名林檎と稲葉さんとSURFACE(椎名慶治さん)の詩を分類してみる

林檎さんの歌詞はあまりにも個性的ですので、B'z(稲葉さん)の歌詞に近い歌詞のアーティストは誰かいないのか?!B'zのファン歴20数年の古参ファンの方に聞いてみたところ、SURFACE(サーフィス)がわりと似ているんじゃないかとの情報を入手。

SURFACE さぁ

すみません、勉強不足で知りませんでした。SURFACEさん。Microsoftのアレではありません。

うーん、タイトルだけ眺めていても、確かに似てるような似てないような。。。でもうっかりしたことを言って炎上したら大変ヨ!そうだ、ここは中立公正なAIに聞いてみよう!教えてBERT!

今回も訓練データはそれぞれ20曲、テストデータは5曲です。

椎名林檎 B'z SURFACE
愛妻家の朝食 あいかわらずなボクら アイムファインセンキューアンジュー?
アイデンティティ 愛と憎しみのハジマリ airy
あおぞら 愛のバクダン about love
茜さす 帰路照らされど・・・ 愛のままにわがままに 僕は君だけを傷つけない Is life beautiful?
ありあまる富 I'm in Love? イッツオーライ
ありきたりな女 Out Of Control WAIT!
暗夜の心中立て 赤い河
意識 紅い陽炎 嘘じゃなく 愛していた
依存症 アクアブルー
映日紅の花 明日また陽が昇るなら 欠片1ピース
熱き鼓動の果て 傷痕
色恋沙汰 あなたならかまわない キミスター★
いろはにほへと 甘く優しい微熱 君の声で 君のすべてで…
薄ら氷心中 雨だれぶるーず 君を平穏から救い出せるのは
おいしい季節 アマリニモ 切り拓けマイセルフ
おこのみで アラクレ くしゃみ -たまり場 パート2-
おだいじに ARIGATO クセになりそうだ
同じ夜 ある密かな恋 CROW
歌舞伎町の女王 ALONE 偶然=必然
カプチーノ イカせておくれ! ココロのつぼみ
カーネーション イカロス 御褒美
虚言症 Exit To The Sun ゴーイングmy上へ
ギブス イチブトゼンブ さぁ
ギャンブル 一心不乱 死が二人を分かつまでは
IT'S SHOWTIME!! シンプルシンボル

はい、ドン!!

bert-3songs.png

BERT「B'zとサーフィス?全然似てないですよ。一目瞭然じゃないですか。」

※上記結果はベストな結果を表示しています。データセットの訓練データとテストデータへの分割はランダムにシャッフルされるため、試行によっては実際のところもう少し成績は下がります。それでもf1値が0.8を下回ることはあまりありませんでしたので、かなり精度は高いと考えてよいでしょう。

以上!

12
5
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
5