【Python】mecabを使ってサポーターの感情分析をしてみた

Python

少しずつコロナ規制が緩和されていき、Jリーグはサポーターの手拍子が解禁になりました。

東京は15節終わって3位。首位川崎とは勝ち点差10の位置につけています。

まだ全然優勝を狙える位置につけていますが、いかんせん川崎が強すぎる…!!

印象に残っている節が8/19の11節広島戦、東京は終盤まで3-2とリードしていたのですが、試合終了間際に同点にされてしまい、引き分けに終わりました。そんな中この日川崎は破竹の10連勝達成。

この時の両軍サポーターの気持ちはかなり雲泥の差があるのではないかと思い、Pythonで感情分析にチャレンジしてみました。

Pythonの勉強も兼ねてやってみます。

環境準備

今回はこちらの記事を参考にさせて頂きました。つぶやきを文節で区切って配列に入れていくやり方が非常に分かりやすかったです。

前回のWordcloud同様、Twitterのつぶやきを収集→適当なテキストファイルに保存までは同じ、そこからテキストを一つ一つ取ってきて、感情分析(PN値を算出して返す)、といった流れでやってみようと思います。

条件

今回は川崎フロンターレとFC東京のサポーターのつぶやきを取ってきたいと思います。

  • 検索ハッシュタグはそれぞれ「#frontale」「#fctokyo」
  • 時間指定ができなかったので検索対象は8/19時点のつぶやき。(できれば試合後が良かった)
  • PN値の平均値を取って最終的に評価。別途、ポジティブツイート(PN値正の値)、ネガティブツイート(PN値正負の値)の平均値も見てみる

結果比較

川崎フロンターレ

降順で見てみると確かにポジティブ系と思われるツイートが上位に来ていますね。「素晴らしい」とか「運」が引っかかっているのでしょうか。

ネガティブ系の方を見ていきます。「惜しい」とかポジティブ系ですね…。あと「強すぎない」とかは「ない」に引っ張られてネガティブに反応してしまうようです。(改善してほしい)

川崎のPN平均値は-0.36、ポジティブ系PN平均値0.30、ネガティブ系PN平均値-0.46でした。

FC東京

ポジティブ系のおそらく得点の時間帯でのツイートが上位に来ています。ディエゴの存在はデカい…。

やはり「悪くない」とかの否定文がネガティブ系に判定されてしまいますね。「川崎強すぎない?欧州行ってくれ」はあながち間違った判定ではなくて少し笑いました。

東京のPN平均値は-0.34、ポジティブ系PN平均値0.42、ネガティブ系PN平均値-0.49でした。

まとめ

視覚化に続いて、今度は感情を数値化してみました。感情値に改善点はありそうですが(お偉い教授さんお願いします🥺)あまり両軍に値の差異がなかったので、東京は悲観せずどんどん勝ち続けてほしいと思います。YNWA。

コメント

Copied title and URL