ブログ一覧に戻る

「Google Cloud natural Language」で感情分析してみる!

GoogleCloudNaturalLanguagePython

みなさんこんにちは!
イザナギです!


import json, config #標準のjsonモジュールとconfig.pyの読み込み
import requests
# gcp感情分析
def emotion(text_emotion):
    #APIキーの取得
    key = config.gcp_api_key
    url = 'https://language.googleapis.com/v1/documents:analyzeSentiment?key=' + key

    header = {'Content-Type': 'application/json'}
    body = {
        "document": {
            "type": "PLAIN_TEXT",
            "language": "JA", #テキストの種類(ENにすれば英語を解読できる)
            "content": text_emotion #ここに感情分析するテキストを挿入
        },
        "encodingType": "UTF8"
    }

    #json形式で結果を受け取る。
    response = requests.post(url, headers=header, json=body).json()

    #magnitudeとscoreを返す
    return [response["documentSentiment"]["magnitude"],response["documentSentiment"]["score"]]

これで感情分析ができるようになります。

テキストをTwitterから取得して、実行したやつをファイルにしてみました。(テキストは複数入れてます。)
総合スコアというものが、感情を表していています。
総合マイグレーションは感情の強さです。

直近50件ほどツイートを取得して、「score」をグラフにしてみました。
この人の場合だと、感情の振れ幅が大きいですよね。
他の人も検証してみましたけど、みなさんこんな感じでした。
基本的に振り幅が高くなるのでしょうか?(私の選んだ人が悪かったのかな?)

まとめ

今回は「Google Cloud natural Language」で感情分析してみました。
個人的な感想なのですが、分析したテキストを見る限りあってると思うものもあれば、ないと感じるものもありました。
さらに検証していく必要がありそうですね。
また何かありましたら、記事にしていきたいと思います。
それでは、今回はここで筆を置かせていただきます。
最後まで記事をご覧いただきありがとうございました!

参考

PythonでGoogle Natural Language APIを叩いて感情分析 | AVILEN AI Trend wrap a-wrap cf
Natural Language API の基本  |  Google Cloud

関連記事

この記事に関連するおすすめです。