下町データサイエンティストの日常

下町データサイエンティストの成果物

B'zの歌詞をPythonと機械学習で分析してみた 〜LDA番外編〜

1. 本Part概要

こんにちは。pira_ninoです。
先日、30周年ライブであるPleasureツアー@横浜に行って「やっぱB'z最高」な最近です。

ライブについて語り出すと長いので、本編へ。 前回のLDA編では皆様のおかげで週間11位というブログ初心者には恐れ多い反響を頂き、本当にびっくりしております。。。ありがとうございます。。。

pira-nino.hatenablog.com

blog.hatenablog.com

そんなちょっとバズったブログに関してでしたが、LDA編のトピック別のWord Cloudの図が小さいということはずっと思っており、加えてブックマークコメントにも小さいと書いていらっしゃる方を見かけまして、「それな」と思い本Partで一気に20トピックの図を貼ります

現在、Word 2 Vec 編を絶賛執筆中なのですが気分転換で本Partを書きました。箸休め程度のPartなので内容は薄いのですがよろしくお願い致します。。。

2. LDAで何をやったか

詳しくはLDA編を観てくだされば大丈夫なのですが、念のため概要をさらっと書きます。

LDAとは?

LDAは「たくさんの文書データから単語のグルーピングを行う」モデルです。
このグループ1つ1つを「トピック」と呼びます。

例えば、大量のニュース記事にLDAを適用する例を考えます。

f:id:pira_nino:20180729204436p:plain
ニュース記事データにLDAを適用した例
LDAでは「各トピック(トピック数は予め指定)における各単語の所属確率」が算出されます。
理論的なことはさておき、文書データから単語をいくつかのグループに自動で分けてくれる手法 との理解で大丈夫です。

B'zの歌詞に適用

LDAをB'zの歌詞に適用し、単語を20個のグループに分類しました。 で、私が独断と偏見で与えた解釈は以下の通りです。

Topic 1 Topic 2 Topic 3 Topic 4
あなたと世界の果てでloveを欲しいlife あなたと新しい世界でnight 旅立ちだれかと逢いひとつのloveの声聞いて ラララ あなたとDive Round
Topic 5 Topic 6 Topic 7 Topic 8
GUITAR KIDS RHAPSODY 知らないおまえとlove nightにきみと見つめあってbaby あなたといつか来るだれかのための声
Topic 9 Topic 10 Topic 11 Topic 12
baby yeah Freedom Time day Now ひとつaway Lady Go Round
Topic 13 Topic 14 Topic 15 Topic 16
特に意味を持たない あなたが欲しくてoh 特に意味を持たない あなたと僕らでhey
Topic 17 Topic 18 Topic 19 Topic 20
今日あなたとbaby alright 特に意味を持たない 特に意味を持たない 特に意味を持たない

LDAで得られた単語の所属確率を元に所属確率が大きい単語を大きくWord Cloudで表示した結果が以下の通りです。

f:id:pira_nino:20180729203743p:plain
全20トピックのWord Cloud

3. 20トピックのWord Cloud

全20トピックの図を並べたら、めっちゃ幅とるしなぁ」と悩んだ結果上記図のような小さくて見にくい図で妥協してしましました。。。
という背景もあり番外編ということで20トピック一気に載せます

トピック1: あなたと世界の果てでloveを欲しいlife

f:id:pira_nino:20180812010906p:plain

トピック2: あなたと新しい世界でnight

f:id:pira_nino:20180812011001p:plain

トピック3: 旅立ちだれかと逢いひとつのloveの声聞いて

f:id:pira_nino:20180812011047p:plain

トピック4:ラララ あなたとDive Roundf:id:pira_nino:20180812011201p:plain

トピック5:GUITAR KIDS RHAPSODY

f:id:pira_nino:20180812011703p:plain

トピック6:知らないおまえとlove

f:id:pira_nino:20180812011727p:plain

トピック7:nightにきみと見つめあってbaby

f:id:pira_nino:20180812011816p:plain

トピック8:あなたといつか来るだれかのための声

f:id:pira_nino:20180812011831p:plain

トピック9:baby yeah

f:id:pira_nino:20180812011859p:plain

トピック10:Freedom Time day Now

f:id:pira_nino:20180812011917p:plain

トピック11:ひとつaway

f:id:pira_nino:20180812012711p:plain

トピック12:Lady Go Round

f:id:pira_nino:20180812011957p:plain

トピック13:特に意味を持たない

f:id:pira_nino:20180812012919p:plain

トピック14:あなたが欲しくてoh

f:id:pira_nino:20180812012031p:plain

トピック15:特に意味を持たない

f:id:pira_nino:20180812013401p:plain

トピック16:あなたと僕らでhey

f:id:pira_nino:20180812013419p:plain

トピック17:今日あなたとbaby alright

f:id:pira_nino:20180812013455p:plain

トピック18:特に意味を持たない

f:id:pira_nino:20180812012229p:plain

トピック19:特に意味を持たない

f:id:pira_nino:20180812013622p:plain

トピック20:特に意味を持たない

f:id:pira_nino:20180812012300p:plain

しっかり見て頂いた方はお気づきかもしれませんが、作者の解釈はかなり直観的に行っております。
この辺りの解釈をうまくやることもデータサイエンティストとして求められる力かもしれませんね。

以上、怒涛の20トピックのWord Cloudでした。

4. 最後に

本Partでは、番外編としてLDAにより得られた分析結果を元に作成した20トピックのWord Cloudを再掲しました。 次PartではWord 2 Vecを用いた単語の意味の分析を行います。

pira-nino.hatenablog.com