はじめに
辛い時に元気付けてくれるポジティブな曲ありますよね・・・。
そのポジティブな曲の歌詞は、AIもポジティブと判断するのか気になったのでやってみました。
発展させればヒット曲の傾向とかわかるかも!とか色々考えたんですが、あまり時間がなくてちょっとしか出来てません。
※もうひとつ、スキャットマン・ジョンの曲をSpeech APIで文字起こししてみるという最高のネタがあったんですが、Speech APIは音楽を認識してくれなくて、ボツになりました。
出たばっかりのAmazon Comprehendも気になるけど、日本語対応していないのでGoogle Cloud Natural Language APIを使いました。
実験結果
曲は、自分が独断と偏見で元気付けられる応援ソングをセレクトしました。歌詞の全文をAPIに突っ込んでいます。
Scoreはマイナスがネガティブ、プラスがポジティブ、0がニュートラルです。
Magnitudeは感情の強度です。
APIでは全文トータルの結果とセンテンスごとの結果を見ることが出来ます(今回はセンテンスごとの結果は省略します)。
明日があるさ(Re:Japan)
- Score: 0.2
- Magnitude: 23.6
最もポジティブと判定されたセンテンスは「たった一言好きですと」でScoreが0.8でした。素敵ですね。
最もネガティブと判定されたセンテンスは「何もできず 何もできず」でScoreが-0.8でした。なんとなく正しそう。
今回試してみた曲の中ではMagnitudeが最も大きくなりました。感情の波が激しいということでしょうか。
ちなみにGoogleのドキュメントを読むと、Scoreが0に近いけどMagnitudeが大きい場合は、ポジティブとネガティブが混在していると判断できるそうです。
上を向いて歩こう(坂本 九)
- Score: 0.3
- Magnitude: 8.8
この曲はネガティブなセンテンスがほとんど無かったです。さすが。
「幸せは 雲の上に」というセンテンスがScore0.9を叩き出しました。
負けないで(ZARD)
- Score: 0.3
- Magnitude: 10.5
この曲もネガティブなセンテンスはほとんど見られませんでした。
最もポジティブなセンテンスは「パステルカラーの季節に恋した」でScore0.9、Magnitude0.9でした。名フレーズほどMagnitudeが大きくなるとかあるんでしょうか。
「負けないで」というワード単体での結果はScore0.4、Magnitude0.4でした。
おわりに
もっと突っ込んで分析してみたら面白そうですが、今日は金曜だしこの辺にしておきます。
センテンス別に見るとポジティブなワードが入っているとポジティブに出ているのでその辺はちゃんと出ているのかなと思いました。でも、総合スコアはセンテンス全体の合算より低めに出ているように感じたので、その辺どうなってるんだろうなと思いました(素人なのでよくわかりません)。