アルパカログ

Webエンジニア兼マネージャーがプログラミングやマネジメント、読んだ本のまとめを中心に書いてます。

GCP Natural Language APIを使って日本語の自然言語テキストから感情分析してみる

f:id:otoyo0122:20200919182415p:plain:w300

GCPのNatural Language APIを使えば、日本語テキストの感情分析を簡単に行うことができます。

そこで試しに、感情分析の結果によって反応が変わるLINE Botを作ってみました。

このエントリでは、LINEメッセージの日本語文をNatural Language APIを使って感情分析し、分析結果に応じて態度を変えるLINE Bot作ったので紹介します。

システム構成

f:id:otoyo0122:20180422144243p:plain:w600

LINE Messaging APIから受け取ったLINEメッセージのテキストをNatural Language APIに投げるだけのシンプルな構成です。

Google Cloud Functionsを使ったLINE Botの作り方は下記のエントリでも紹介しているので参考にしてください。

Natural Language APIによる感情分析

Natural Language APIでの感情分析は、リクエストしたテキストに対し-1.0~+1.0の感情スコアを返します。負数がネガティブな感情です。

料金は、1件1,000文字以内であれば月に5,000件まで無料です。日で換算すると1日160件程度までになります。

サンプルコードと実際の様子

今回作成したコードは下記のGitHubリポジトリで公開しています。

スコアによるセリフの分岐は雑に下記のあたりで行っています。

if (sentiment.score >= 0) {
  sentimentKey = 'positive';
} else {
  sentimentKey = 'negative';
}

f:id:otoyo0122:20180422161540p:plain:w320

元気付けるどころか煽ってるように見えますね…

以上です。

このエントリでは、LINEメッセージの日本語文をNatural Language APIを使って感情分析し、分析結果に応じて態度を変えるLINE Botを紹介しました。

参考になった方は、ぜひ「はてブ」やSNSでシェアしていただけると嬉しいです。