5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Amazon Comprehendで社内チャットを感情分析してみた

Last updated at Posted at 2025-11-10

本記事はBIPROGY / ユニアデックス社内AWSコミュニティ「BIPROGY AWS Ambassador」の定期投稿企画第6回目の記事です。
他の定期投稿企画の記事は、
#BIPROGY_AWS_Ambassadorタグ またはOrganizationページをご覧ください。


AWSの文章解析サービス 「Amazon Comprehend」 を使い、社内チャットを分析対象として、感情分析機能の精度を検証してみました!
本記事では、Comprehendの基本機能と、実際に分析した結果をわかりやすく紹介します。

(そもそも)みなさんは 「Amazon Comprehend」 をご存知でしょうか?

おそらく資格勉強(SAAやAIF)の際に名前を聞いたことがあると思いますが、私自身、触れる機会がほとんどなかったので、復習を兼ねて試してみました。何かの参考にしていただければ幸いです。

Amazon Comprehend

機械学習を利用した自然言語処理(NLP)サービスで、感情分析含め5つの機能があります。

1. 感情分析

文章の感情を分析します。
「Positive(肯定的)」「Negative(否定的)」「Mixed(肯定と否定の混合)」「Neutral(いずれの感情にも分類されず感情的な賛否がはっきりしない中立)」の4つの指標があります。それぞれの指標は最大で1.0(100%)までの割合で示され、各指標を足すと1(100%)になります。
これにより、文章内の感情割合を確認できます。

2.キーフレーズ抽出

文章内のフレーズを抽出します。

3.エンティティ認識

文章内で言われている “人物・場所・モノ・組織 “などの名前を抽出します。

4.言語検出

文章の主要言語を分析します。

5.構文解析

文章内の各単語の品詞を分析します。

公式ドキュメントはこちら

実行方法

以下の手順で、チャット分析を実行しました。

1. Amazon Comprehend画面を開く
2. 分析モードを選択する:「Real-time analysis」
 ・「Real-time analysis」
→「リアルタイムで文章を入力して即時に分析できるモード」
 その場で入力した文章を即座に分析するモードで少量のテキストや、メッセージ単位での分析に適しています。
 ・「Analysis jobs」
→「複数のテキストファイルを一括で処理するバッチ分析モード」
  S3にアップロードしたテキストファイルを対象にジョブ形式で分析を実行しま
す。大量データの一括分析に適しており、出力結果もS3に保存されます。
※今回は以下の理由により「Real-time analysis」を選択しました。
  ・データ量が少ない
  ・メッセージ毎に分析を実施したい
3.分析対象データを「Input data」に貼り付ける
 ※今回はタイトルにあるように、上司・先輩・同僚とのチャット
 (10メッセージ×3人分)を貼り付けました。

image.png

結果

高精度な分析ができていたが、
造語や口語表現、リアクションなどは正しく処理できていない!

概ね主観と乖離はなく、総じて高精度な分析結果であると個人的には評価しました!
ただ、以下のカテゴリでは主観と大きく異なる結果が多く見られました。

1. 単語

「Cato(プロダクトの略称)」にネガティブを0.61つけてしまう。
エンティティ認識にてカテゴリをperson(人)と認識。

専門用語はComprehendの学習外。
#AWS Comprehendの学習不足が原因なので、この点に関しては今後に期待です!
##超個人的に「Cato」を映画『ハンガー・ゲーム』の登場人物である「カトー」と間違えたという仮説を立てています。知らない人は調べてみてください^^

image.png

image.png

2. 造語

「オサンクス」にネガティブを0.35をつけてしまう。

造語や口語的表現はComprehendの学習外。
#超個人的には「おサンクス」であれば正確に「サンキュー」の進化系であることを分析できたのかと思っています。(進化系か退化系かはおいといて。)
とはいえ、口語表現ならではの崩れた表現まで機械に理解されても、たまったもんじゃないので、ここは人類が紡いできた言葉の歴史が勝ったということで。

image.png

3. 感嘆符

感嘆符が複数ついたメッセージでも、一貫して「ニュートラル」に0.99をつける。。。

Comprehendにとって、感嘆符は評価対象外。
これはなんとなくですが(これといったチャット文があるわけではないのですが)、全体を通して、感嘆符(!)が含まれる文章は体感と異なる評価になることが多かったです。
個人的な感覚として、感嘆符が付いているとメッセージに感情が強く乗っているように感じてしまい、「ニュートラル」と評価がしづらくなります。
(実際、人間は感嘆符に対して感情的な印象を受けやすい傾向があります。)
そのため、推測ではありますが、Comprehendは感嘆符を評価指標としないことが原因という結論に至りました。

結論

機械が人間同士の会話を完全に理解するのは難しい!
ただ、上記で記載した点を除けば、今回のサンプルでは、ほぼ完璧に感情分析できていました。

生成AIが注目される今、感情分析の精度はさらに向上していく(AWSが頑張ってくれる)と思われますので、定期的にAmazon Comprehendの分析結果をチェックしながら、より信頼性の高い活用を目指していきたいと思います。
引き続き、アップデートがあればこちらで共有していきますので、お楽しみに!!

We Are Hiring!

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?