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

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

B'zの歌詞をPythonと機械学習で分析してみた 〜イントロ編〜

1. 自己紹介

はじめましてpira-ninoです。
2018年4月に某社にデータサイエンティストとして新卒入社したピチピチの新米社員です。

学生時代は様々な企業のデータを機械学習を使って色々な提案をしてました。(単にパッケージを使うだけでなく、モデルの改良もしてました。) まぁそんな訳で、機械学習は最低限広く浅く知ってます。

最近は強化学習を勉強したりkaggleに取り組んだりしてます。Santenderコンペのleakは流石に頭を抱えましたね。。。

2. B'zの歌詞を分析してみた経緯

さて、本題のB'zの歌詞分析について「背景」と「分析概要」について書かせて頂きます。 背景は無駄に長文になったので、読み飛ばしても大丈夫です。

2.1 背景

新卒研修あるあるだと思うのですが、様々なバックグラウンドを持った新卒がいるが故に、ある程度余裕を持ってしまう人も出てしまいます。で、それが私であったという訳です。念の為にフォローしますと、弊社の研修は幅広い知識を身につけられる洗練された良い研修であると思います。

そこで、ちょっと余裕な間に「機械学習で何か目に見えるアウトプットを出したい」と思い何をやろうかと考えていました。

自分のスキルアップの為に非構造データ(POSデータのように綺麗なテーブル構造になっていないデータ)の扱いの勉強としてkaggleのいくつかのコンペのkernelをまとめながらネタ探しをしてました。

その最中「毎日テキストマイニング」というAKBのツイッター等の分析をモチベーションにテキスト分析の日記を綴るブログ を見つけまして「自分の好きなアーティストの分析」というアイディアをお借りし、「そうだ!!B'zの歌詞の分析をしよう!!」と思いつきました。 御察しの通り、作者はB'zのファン歴15年以上の熱狂的ファンであり、現在開催中の30周年ライブにも行きます。

そこで、ひとまず「B'zにとっての愛は何か」をWord 2 Vecを使って分析することを目標として本ブログを書き始めました。

dailytextmining.hatenablog.com

2.2 分析概要

  1. データ入手と前処理

  2. 簡単な分析と可視化

    • 単語の頻度の集計
    • Word Cloudで可視化
  3. 機械学習を用いた分析

    • TF-IDFの算出
    • LDAを用いた単語のトピック分類
    • Word 2 Vec、Doc 2 Vecを用いた分析

こんな感じの分析をしましたので次パート以降でコードの共有を含めお話しします。

3. 今後やりたいこと

結論から述べると、今回の取り組みでB'zの歌詞をもとに単語の意味解析ができました。

そこでふと思ったのは、「同じ単語でもアーティストによって使い分けが違うのでは?」との疑問が湧きました。例えば、B'zとAKBとサザンでは同じ「夏」でみ意味していることが異なることが考えられます。

こんな感じで、「様々なアーティストによる単語の意味の比較」は気が向いたら行います。

4. 最後に

ではでは、ここまで読んでいただきありがとうございます。 次Partでは分析の本編に入る前に「 分析結果の公開について」について書きます。

pira-nino.hatenablog.com