in my 雑記

プログラミング bump 日々のことなど

BUMPの曲を機械学習で分類分けしてみた。

f:id:inmyzakki:20170920114604j:plain

はじめに

こんにちは。
BUMP好きのじぇーたです。
今回は機械学習でBUMPの曲を分類分けしてみたいと思います。
BUMP好きな人にはわかると思いますが、
BUMPの曲には、曲と曲につながりがあるものがあります。

例えば、「くだらない唄」と「続・くだらない唄」
これはタイトルからみても一目瞭然ですね。

他にも「opning」と「ending」といった、
2曲で1つの曲になっているもの。

歌詞の内容まで見ていくと「夢の飼い主」と「分別奮闘記」は
同じ夢という物について歌った曲です。

また、裏設定まで見ていくと、ラフ・メーカーは
「opning」と「ending」の人物だとか、曲と曲には面白いつながりがあります。

今回はそういった、曲と曲のつながりを機械学習で分類分けできるのか?
また新しい観点で「この曲とこの曲は確かに同じものを感じるなぁ」
と思える分類分けがされるのかを見ていきたいと思います。

分類分け方法

機械学習に興味ない人は結果まで飛ばしてください。
分類分け方法はTF-IDF→K平均法で行います。

BUMPの全曲の歌詞をTF-IDFで特徴量の抽出を行います。
TF-IDFとは文章から特徴言を抽出する手法です。
具体的に以下の4つの文章があったとすると、

1. 天気 は 晴れ
2. 天気 は 雨
3. 天気 は 曇り
4. 天気 は 曇り のち 雨

言葉は「天気」、「は」、「晴れ」、「雨」、「曇り」、「雨」、「のち」という単語があります。 この文章を各言葉ごとの成分に単語の出現数を元に算出します。
すると上記の文章は以下の成分になります。

文章番号 天気 晴れ 曇り のち
10.410.410.800000
20.480.480000.730
30.480.48000.7300
40.310.31000.470.470.59

表を見てわかるように、「天気」、「は」という言葉は全ての文章で使われているため特徴量は低くなり、「晴れ」という言葉は他文章に使われていないため大きくなります。
今回はこのTF-IDFを1曲を一つの文章と考えて全曲に対して行います。

K平均法はこのサイトの説明がわかりやすいです。
このサイトの点一つが一曲だとして分類分けしています。
なので、歌詞が似たような曲が分類分けされます。

結果

上記の分類方法で全ての曲を分類分けした結果を書きます。

5グループに分けした結果

グループ5を見ると、しっかり機械学習でグループ化されていることがわかりますね。「flyby」と「voyager」は対になっている曲なので、それを認識していることがわかります。

ただ、グループ1は謎グループですね。(笑)
「ガラスのブルース」と「Smile」は全然似ていると思ったことないなぁ。

グループ2は古い曲多めで、グループ4は新しい曲多めになっていますね。
BUMPは変わったと言われるけど、こうして歌詞で分類分けすると、確かに、詩の内容は変わっているということがわかります。

グループ2は古い曲多めの中で1曲だけ「宝石になった日」が最新アルバム「Butterflies」から分類されています。詩の内容が古い曲と似ているんでしょうね。

グループ1

曲名 アルバム/シングル名 発売日
ガラスのブルースFLAMEVEIN1999.03.18
SmileSmile2011.05.11

グループ2

曲名 アルバム/シングル名 発売日
くだらない唄FLAMEVEIN1999.03.18
とっておきの唄FLAMEVEIN1999.03.18
ノーヒット・ノーランFLAMEVEIN1999.03.18
EndingTHELIVINGDEAD2000.03.25
キャッチボールjupiter2002.02.20
ベルjupiter2002.02.20
ホリデイスノースマイル2002.12.18
カルマsupernova/カルマ2005.11.23
涙のふるさと涙のふるさと2006.11.22
メーデーメーデー2007.10.24
かさぶたぶたぶorbitalperiod2007.12.19
ひとりごとorbitalperiod2007.12.19
時空かくれんぼorbitalperiod2007.12.19
飴玉の唄orbitalperiod2007.12.19
Merry ChristmasR.I.P./MerryChristmas2009.11.25
キャラバン魔法の料理~君から君へ~2010.04.21
セントエルモの火COSMONAUT2010.12.15
分別奮闘記COSMONAUT2010.12.15
ディアマングッドラック2012.01.18
トーチRAY2014.03.12
パレードパレード2014.11.29
宝石になった日Butterflies2016.02.10

グループ3

曲名 アルバム/シングル名 発売日
ナイフFLAMEVEIN1999.03.18
LAMPLAMP1999.11.25
OpeningTHELIVINGDEAD2000.03.25
ベストピクチャーTHELIVINGDEAD2000.03.25
スノースマイルスノースマイル2002.12.18
embraceユグドラシル2004.08.25
車輪の唄ユグドラシル2004.08.25
東京賛歌花の名2007.10.24
花の名花の名2007.10.24
才悩人応援歌orbitalperiod2007.12.19
プレゼントpresentfromyou2008.06.18
R.I.P.R.I.P./MerryChristmas2009.11.25
魔法の料理 ~君から君へ~魔法の料理~君から君へ~2010.04.21
宇宙飛行士への手紙宇宙飛行士への手紙/モーターサイクル2010.10.13
ウェザーリポートCOSMONAUT2010.12.15
white noteRAY2014.03.12
You were hereYouwerehere2014.08.01
アリアアリア2016.08.17

グループ4

曲名 アルバム/シングル名 発売日
アルエFLAMEVEIN1999.03.18
リトルブレイバーFLAMEVEIN1999.03.18
バトルクライLAMP1999.11.25
Ever lasting lieTHELIVINGDEAD2000.03.25
KTHELIVINGDEAD2000.03.25
グロリアスレボリューションTHELIVINGDEAD2000.03.25
グングニルTHELIVINGDEAD2000.03.25
リリィTHELIVINGDEAD2000.03.25
続・くだらない唄THELIVINGDEAD2000.03.25
ダイヤモンドダイヤモンド2000.09.20
ラフ・メイカーダイヤモンド2000.09.20
バイバイ、サンキュー天体観測2001.03.14
天体観測天体観測2001.03.14
ハルジオンハルジオン2001.10.17
彼女と星の椅子ハルジオン2001.10.17
Stage of the groundjupiter2002.02.20
Title of minejupiter2002.02.20
ダンデライオンjupiter2002.02.20
ベンチとコーヒーjupiter2002.02.20
メロディーフラッグjupiter2002.02.20
sailing dayロストマン/sailingday2003.03.12
ロストマンロストマン/sailingday2003.03.12
オンリー ロンリー グローリーオンリーロンリーグローリー2004.07.07
睡眠時間オンリーロンリーグローリー2004.07.07
fire signユグドラシル2004.08.25
ギルドユグドラシル2004.08.25
レムユグドラシル2004.08.25
乗車権ユグドラシル2004.08.25
同じドアをくぐれたらユグドラシル2004.08.25
太陽ユグドラシル2004.08.25
夢の飼い主車輪の唄2004.12.01
プラネタリウムプラネタリウム2005.07.21
銀河鉄道プラネタリウム2005.07.21
supernovasupernova/カルマ2005.11.23
真っ赤な空を見ただろうか涙のふるさと2006.11.22
arrowsorbitalperiod2007.12.19
ハンマーソングと痛みの塔orbitalperiod2007.12.19
HAPPYHAPPY2010.04.14
pinkieHAPPY2010.04.14
good friends宇宙飛行士への手紙/モーターサイクル2010.10.13
モーターサイクル宇宙飛行士への手紙/モーターサイクル2010.10.13
66号線COSMONAUT2010.12.15
angel fallCOSMONAUT2010.12.15
beautiful gliderCOSMONAUT2010.12.15
イノセントCOSMONAUT2010.12.15
三ッ星カルテットCOSMONAUT2010.12.15
透明飛行船COSMONAUT2010.12.15
友達の唄友達の唄2011.02.23
歩く幽霊友達の唄2011.02.23
ゼロゼロ2011.10.19
グッドラックグッドラック2012.01.18
fireflyfirefly2012.09.12
ほんとのほんとfirefly2012.09.12
虹を待つ人虹を待つ人2013.08.21
(please)forgiveRAY2014.03.12
morning glowRAY2014.03.12
rayRAY2014.03.12
サザンクロスRAY2014.03.12
ラストワンRAY2014.03.12
ファイターファイター2014.11.28
Hello,world!Hello,world!/コロニー2015.04.22
コロニーHello,world!/コロニー2015.04.22
ButterflyButterflies2016.02.10
GOButterflies2016.02.10
大我慢大会Butterflies2016.02.10
孤独の合唱Butterflies2016.02.10
流星群Butterflies2016.02.10
リボンリボン2017.05.01

グループ5

曲名 アルバム/シングル名 発売日
flybyorbitalperiod2007.12.19
voyagerorbitalperiod2007.12.19

10グループに分けした結果

さらに細かくグループ分けしてもらいました。
グループ1を見ると、「Ending」と「Opening」を合わせた曲が「プレゼント」なのでそれをちゃんと認識していますね。

個人的にアルバム単位で結構似たものが多いのかなぁと思っていましたが、割と全体的にばらけているのがわかりますが、「COSMONAUT」の曲だけはグループ6に偏っていますね。
グループ4,5は古い曲多めのグループになっています。
ちなみに私はグループ2がいちばん好きな曲多いです。

グループ1

曲名 アルバム/シングル名 発売日
EndingTHELIVINGDEAD2000.03.25
OpeningTHELIVINGDEAD2000.03.25
プレゼントpresentfromyou2008.06.18

グループ2

曲名 アルバム/シングル名 発売日
ダンデライオンjupiter2002.02.20
ホリデイスノースマイル2002.12.18
オンリー ロンリー グローリーオンリーロンリーグローリー2004.07.07
レムユグドラシル2004.08.25
夢の飼い主車輪の唄2004.12.01
カルマsupernova/カルマ2005.11.23
真っ赤な空を見ただろうか涙のふるさと2006.11.22
arrowsorbitalperiod2007.12.19
ハンマーソングと痛みの塔orbitalperiod2007.12.19
Merry ChristmasR.I.P./MerryChristmas2009.11.25
HAPPYHAPPY2010.04.14
宇宙飛行士への手紙宇宙飛行士への手紙/モーターサイクル2010.10.13
三ッ星カルテットCOSMONAUT2010.12.15
透明飛行船COSMONAUT2010.12.15
ディアマングッドラック2012.01.18
虹を待つ人虹を待つ人2013.08.21
ファイターファイター2014.11.28
Hello,world!Hello,world!/コロニー2015.04.22
コロニーHello,world!/コロニー2015.04.22
ButterflyButterflies2016.02.10
GOButterflies2016.02.10
アリアアリア2016.08.17

グループ3

曲名 アルバム/シングル名 発売日
涙のふるさと涙のふるさと2006.11.22
メーデーメーデー2007.10.24
東京賛歌花の名2007.10.24
かさぶたぶたぶorbitalperiod2007.12.19
時空かくれんぼorbitalperiod2007.12.19
セントエルモの火COSMONAUT2010.12.15
歩く幽霊友達の唄2011.02.23
SmileSmile2011.05.11
You were hereYouwerehere2014.08.01
宝石になった日Butterflies2016.02.10
リボンリボン2017.05.01

グループ4

曲名 アルバム/シングル名 発売日
くだらない唄FLAMEVEIN1999.03.18
LAMPLAMP1999.11.25
Ever lasting lieTHELIVINGDEAD2000.03.25
グングニルTHELIVINGDEAD2000.03.25
天体観測天体観測2001.03.14
メロディーフラッグjupiter2002.02.20
スノースマイルスノースマイル2002.12.18
sailing dayロストマン/sailingday2003.03.12
embraceユグドラシル2004.08.25
fire signユグドラシル2004.08.25
孤独の合唱Butterflies2016.02.10

グループ5

曲名 アルバム/シングル名 発売日
アルエFLAMEVEIN1999.03.18
ガラスのブルースFLAMEVEIN1999.03.18
ナイフFLAMEVEIN1999.03.18
バトルクライLAMP1999.11.25
KTHELIVINGDEAD2000.03.25
リリィTHELIVINGDEAD2000.03.25
続・くだらない唄THELIVINGDEAD2000.03.25
ラフ・メイカーダイヤモンド2000.09.20
ハルジオンハルジオン2001.10.17
彼女と星の椅子ハルジオン2001.10.17
Stage of the groundjupiter2002.02.20
Title of minejupiter2002.02.20
キャッチボールjupiter2002.02.20
ロストマンロストマン/sailingday2003.03.12
睡眠時間オンリーロンリーグローリー2004.07.07
同じドアをくぐれたらユグドラシル2004.08.25
太陽ユグドラシル2004.08.25
車輪の唄ユグドラシル2004.08.25
銀河鉄道プラネタリウム2005.07.21
グッドラックグッドラック2012.01.18
流星群Butterflies2016.02.10

グループ6

曲名 アルバム/シングル名 発売日
ノーヒット・ノーランFLAMEVEIN1999.03.18
ギルドユグドラシル2004.08.25
乗車権ユグドラシル2004.08.25
プラネタリウムプラネタリウム2005.07.21
花の名花の名2007.10.24
pinkieHAPPY2010.04.14
66号線COSMONAUT2010.12.15
angel fallCOSMONAUT2010.12.15
beautiful gliderCOSMONAUT2010.12.15
ウェザーリポートCOSMONAUT2010.12.15
分別奮闘記COSMONAUT2010.12.15
友達の唄友達の唄2011.02.23
(please)forgiveRAY2014.03.12
morning glowRAY2014.03.12
サザンクロスRAY2014.03.12

グループ7

曲名 アルバム/シングル名 発売日
flybyorbitalperiod2007.12.19
voyagerorbitalperiod2007.12.19

グループ8

曲名 アルバム/シングル名 発売日
才悩人応援歌orbitalperiod2007.12.19
white noteRAY2014.03.12

グループ9

曲名 アルバム/シングル名 発売日
ベストピクチャーTHELIVINGDEAD2000.03.25
ベルjupiter2002.02.20
ひとりごとorbitalperiod2007.12.19
飴玉の唄orbitalperiod2007.12.19
R.I.P.R.I.P./MerryChristmas2009.11.25

グループ10

曲名 アルバム/シングル名 発売日
とっておきの唄FLAMEVEIN1999.03.18
リトルブレイバーFLAMEVEIN1999.03.18
グロリアスレボリューションTHELIVINGDEAD2000.03.25
ダイヤモンドダイヤモンド2000.09.20
バイバイ、サンキュー天体観測2001.03.14
ベンチとコーヒーjupiter2002.02.20
supernovasupernova/カルマ2005.11.23
キャラバン魔法の料理~君から君へ~2010.04.21
魔法の料理 ~君から君へ~魔法の料理~君から君へ~2010.04.21
good friends宇宙飛行士への手紙/モーターサイクル2010.10.13
モーターサイクル宇宙飛行士への手紙/モーターサイクル2010.10.13
イノセントCOSMONAUT2010.12.15
ゼロゼロ2011.10.19
fireflyfirefly2012.09.12
ほんとのほんとfirefly2012.09.12
rayRAY2014.03.12
トーチRAY2014.03.12
ラストワンRAY2014.03.12
パレードパレード2014.11.29
大我慢大会Butterflies2016.02.10

おわり

今回は機械学習によってBUMPの歌詞を分類分けした。発売日と照らし合わせて見ると、古い曲が多いグループと新しい曲が別れていて、

「BUMPの歌詞の内容は年代によって変わっていっている」

ということがわかった。