こちらの記事を見てCOTOHA APIというものを知り,面白そうだったので触ってみることに.
今回はCOTOHA APIを使って森久保乃々のネガティブ度を感情分析してみました.
環境
- macOS Mojave 10.14.6
- Python 3.7.6
COTOHA APIとは
自然言語,音声の処理を簡単に行えるAPIです.例えば構文解析や音声認識などができます.NTTコミュニケーションズが提供しています.
森久保乃々とは
アイドルマスターシンデレラガールズに登場するアイドルの1人で,14歳の少女です.机の下がホームで,ときにはプロデューサーから逃げ回ったり,ときにはアイドルを頑張ったりする,そんな子です.
普段は「〜ですけど...」と後ろ向きな発言が多い彼女ですが,一体どれほどネガティブなのか,それを検証してみようというわけです.
感情分析
使い方はこちら
無料枠だと1日1000コールという上限があるので注意.
例
例えば,初期Nカードの
「あの…もっ…もりくぼですけど…あ、はい、森久保乃々ですけど、あの、プロデューサーさん、いきなりで申し訳ないのですけど、あの、あたし、もうアイドルとか辞めようかなって思って…あの、その…」
というセリフをCOTOHA APIで感情分析すると以下のような結果になります.
{'result': {'sentiment': 'Negative', 'score': 0.48786837208987766, 'emotional_phrase': [{'form': '申し訳ない', 'emotion': 'N'}]}, 'status': 0, 'message': 'OK'}
score
は0から1の範囲で出るので,このセリフはそこそこネガティブといえるでしょう.感情には「Positive」「Neutral」「Negative」の3種類があります.
実践
- 分析対象のセリフはMobage版アイドルマスターシンデレラガールズ内に実装されているカードとする.カード1枚につき14種類のセリフがある.
- 特訓前後で同じセリフは省く.
- セリフはwebサイトからスクレイピングしてくる.(手作業の方が早かったかもしれない・・)
- 各感情の回数,割合,平均スコアを算出.
- さらに,割合×平均スコアを感情の度合いとする.これは,ポジティブなセリフが多ければ多いほど,かつそのスコアが高ければ高いほどポジティブであると考えられるためです.例えば,100%全てがポジティブなセリフで,その平均スコアが1.0なら,度合いは(positive, neutral, negative)=(1, 0, 0)となります.
コード
Githubにあげています.
結果
総セリフ数:410
このうち1つだけ感情が「Positive/Negative」のものがあったので,それは計算に入っていません.
感情 | 回数 | 割合 | 平均スコア | 度合い |
---|---|---|---|---|
Positive | 135回 | 33% | 0.428 | 0.141 |
Neutral | 215回 | 52% | 0.342 | 0.179 |
Negative | 59回 | 14% | 0.551 | 0.079 |
Negativeの平均スコアは他より高いものの,回数が少ないため度合いは低くなっています.少し意外な結果でしたが,これは彼女が初期の頃より成長している証だとも言えます.実際,初期のカードのみで感情分析してみると以下のような結果でした.
総セリフ数:25
感情 | 回数 | 割合 | 平均スコア | 度合い |
---|---|---|---|---|
Positive | 6回 | 24% | 0.358 | 0.086 |
Neutral | 12回 | 48% | 0.380 | 0.183 |
Negative | 7回 | 28% | 0.580 | 0.163 |
比較
1人の結果だけでは評価しきれない部分もあるので,他のアイドルと比べてみます.今回はポジティブパッションを感情分析してみることに.
ポジティブパッションとは,本田未央,日野茜,高森藍子の3人からなるユニットの名前です.ポジティブでパッションな彼女たちならばきっと結果も変わってくるでしょう.
本田未央
総セリフ数:476
感情 | 回数 | 割合 | 平均スコア | 度合い |
---|---|---|---|---|
Positive | 199回 | 41.8% | 0.462 | 0.193 |
Neutral | 265回 | 55.7% | 0.421 | 0.234 |
Negative | 12回 | 2.5% | 0.442 | 0.011 |
日野茜
総セリフ数:409
感情 | 回数 | 割合 | 平均スコア | 度合い |
---|---|---|---|---|
Positive | 154回 | 37.7% | 0.425 | 0.160 |
Neutral | 228回 | 55.7% | 0.438 | 0.244 |
Negative | 27回 | 6.6% | 0.394 | 0.026 |
高森藍子
総セリフ数:457
このうち1つだけ感情が「Positive/Negative」のものがあったので,それは計算に入っていません.
感情 | 回数 | 割合 | 平均スコア | 度合い |
---|---|---|---|---|
Positive | 263回 | 57.5% | 0.464 | 0.267 |
Neutral | 172回 | 37.6% | 0.399 | 0.150 |
Negative | 21回 | 4.6% | 0.478 | 0.022 |
先ほどに比べて3人ともネガティブ度が低くポジティブ度が高い結果となりました.単純に回数だけを見てもネガティブな発言が少ないのがわかります.流石ポジパ.
度合いに関してまとめると以下のようになります.
名前 | Positive度 | Neutral度 | Negative度 |
---|---|---|---|
森久保乃々 | 0.141 | 0.179 | 0.079 |
本田未央 | 0.193 | 0.234 | 0.011 |
日野茜 | 0.160 | 0.244 | 0.026 |
高森藍子 | 0.267 | 0.150 | 0.022 |
こうしてみると目に見えて差があるように感じますね.藍子が一番ポジティブ度高かったのは意外でした・・.まあ対象としたセリフを限定したというのもあるのでしょうけど.
今回得たデータを他の手法で解析してみるのも面白そうなのでまた機会があればやってみたいですね.
まとめ
森久保乃々はやっぱりネガティブだったけど,昔よりは成長してるぞ森久保ォ!