1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

トークルームの会話を感情分析する LINE WORKS Bot

Posted at

トークルーム内の発言を Azure Cognitive Services の Text Analytics で感情分析しスコアを記録する Bot です。

単なる記録用途の Bot は愛想がなさすぎるので、会話の雰囲気にあったスタンプを送るようにもしてみます。

感情分析は Microsoft Azure Cognitive Service の Text Analytics を使います。
https://azure.microsoft.com/ja-jp/services/cognitive-services/text-analytics/

メッセージの受信と送信には LINE WORKS の トーク Bot API を利用します。

TITLE: メッセージ送信 (text)
URL: https://developers.worksmobile.com/jp/document/100500801?lang=ja

TITLE: メッセージ受信 - Callback 形式
URL: https://developers.worksmobile.com/jp/document/1005009?lang=ja

一連の処理は Microsoft Flow で、ほぼコーディングなしで行います。

Microsoft Flow のフロー作成

トリガーに "HTTP 要求の受信時" を選択。
image.png
image.png

要求本文の JSON スキーマを "サンプルのペイロードを使用してスキーマを生成する" で生成します。
ペイロードのサンプルは、こちらのページの記載を用います。

TITLE: メッセージ受信 - Callback 形式
URL: https://developers.worksmobile.com/jp/document/1005009?lang=ja

TITLE: メッセージ受信 - Callback 形式 (message)
URL: https://developers.worksmobile.com/jp/document/100500901?lang=ja

-> Request Example - type "text" の箇所

{
  "type": "message",
  "source": {
    "accountId": "admin@example.com",
    "roomId": "12345"
  },
  "createdTime": 1470902041851,
  "content": {
    "type": "text",
    "text": "hello"
  }
}

次に Azure Cognitive Services の Text Analytics で感情分析するため、"テキスト分析" の "感情の検出" をアクションに指定します。

image.png
image.png

Webhook で受信したテキストを感情検出します。
image.png

分析結果は OneDrive for Business の Excel Book に記録します。
image.png
image.png

スコアは 0 から 1 の数値で表されます。0.7 を超えると肯定的、0.3 を下回ると否定的。

スコアが一定の値を上回ると Bot からスタンプやメッセージが送信されるように条件とアクションを追加します。

image.png

動作確認

トークルームに Bot を招待し、メンバーの発言が感情分析されること、肯定的な発言でスタンプの送信などが行われることを確認します。

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?