【AWS入門】AWSのテキスト分析で、コメントのネガティブ度を判定するには【Python】

AWSのAIテキスト分析(Amazon Comprehend)で、日本語コメントのネガティブ度合いを判定するには、detect_sentimentを使用します。

 

AIで日本語コメントのネガティブ度を判定するには【AWS】

入力コメント例

インドが小麦輸出を即時禁止した。ロシアによるウクライナ侵攻で小麦供給は逼迫(ひっぱく)している。

ネガティブ度 判定結果

ネガティブ度:45 / 100

上記の入力コメント例を、AIでネガティブ度判定した結果です。
ネガティブ度:45/100と、そこそこネガティブと判定されました。

Pythonサンプル

上記のネガティブ度判定のPythonサンプルです。

import boto3

#boto3のclient作成、AWSサービス名とリージョンを指定
client = boto3.client('comprehend','ap-northeast-1')

# ネガティブ度を判定したいテキストを代入
text = "インドが小麦輸出を即時禁止した。ロシアによるウクライナ侵攻で小麦供給は逼迫(ひっぱく)している。"

# AWSへアクセスして、感情分析結果を受け取る
response =client.detect_sentiment(Text=text, LanguageCode='ja')

# responseデータ内の、ネガティブ度合いを表示
negativeScore = round(response['SentimentScore']['Negative']*100)
print('ネガティブ度:' + str(negativeScore) + ' / 100')

AWSから日本語テキストの感情分析結果(json)を受け取り、その結果に含まれるネガティブ度を表示しています。
ネガティブ度は、100点満点で表示しています。

 

ネガティブコメント 判定例

では、他のコメントでネガティブ度はどの程度になるか、気になりますよね?
以下に、上記のPythonサンプルを使用した場合の、判定結果をまとめます。

コメント例 ネガティブ度
1 親譲りの無鉄砲で子供の時から損ばかりしている。小学校に居る時分学校の二階から飛び降りて一週間程腰を抜かした事がある。【坊っちゃん冒頭】 100/100
最高にネガティブ
2 インドが小麦輸出を即時禁止した。ロシアによるウクライナ侵攻で小麦供給は逼迫(ひっぱく)している。【Yahooニュースより】 45/100
そこそこネガティブ
3 うわっ…私の年収、低すぎ…? 23/100
少しネガティブ
4 4連休の外出は控えてください。 1/100
ほとんどネガティブでない

坊っちゃんの冒頭は、ネガティブ度が100点でした。
良い小説の冒頭は、読者の注意を引くために、あえてネガティブにしていることも多いと聞きます。

AIのテキスト分析で、いろいろなことが分かって面白いですね!

 

Pythonサンプル使用の前提

・AWSアカウント作成済み
・AWSキー情報を、自分のPCに初期設定済み

上記の準備の上、ご使用ください。

 

まとめ

AWSのAIで、日本語コメントのネガティブ度合いを判定する方法を解説しました。
みなさんも、気になるYahooニュースなどで、ネガティブ度が高くなっていないか判定してみてはどうでしょうか。

最後まで読んでいただき、ありがとうございます。
また、お会いしましょう。