チャットデータの感情分析

感情分析は、人間のエージェントとエンドユーザー間の会話中のメッセージを分析して、感情的な意図を判断する機能です。会話プロファイルの作成または編集時に有効にできます。既存の会話プロファイルを編集する場合、その効果は会話プロファイルの更新後にのみ会話に表示されます。Agent Assist コンソールを使用して会話プロファイルを作成するときに、感情分析を有効にすることもできます。

  1. MessageAnalysisConfigenableSentimentAnalysistrue に設定します。
  2. この機能を有効にした ConversationProfile を使用して、createConversation リクエストを送信します。
  3. 感情分析の結果は AnalyzeContentResponse.message.sentimentAnalysis で返されます。
  4. Agent Assist で Cloud Pub/Sub の統合を有効にしている場合、感情分析の結果も NewMessagePayload に表示されます。

感情分析の結果を解釈する

感情は、レスポンスで返される指標である score 値と magnitude 値で表されます。感情の score は -1.0(ネガティブ)~ 1.0(ポジティブ)の範囲で、テキストの全体的な感情の傾向に相当します。magnitude 値は、指定したテキストの全体的な感情の強度(ポジティブとネガティブの両方)が 0.0+inf の値で示されます。これらの指標の解釈の詳細については、Natural Language の感情分析のドキュメントをご覧ください。

以下は、Natural Language API のデモ機能からの感情分析出力の例です。デモを使用してサンプルテキストの感情分析をテストするには、テキストをテキスト ボックスに貼り付け、[分析] をクリックして、[感情] タブを選択します。

例 1

テキスト: 「満足していません。」

返される score は -0.9、magnitude は 0.9 です。これは、感情の強さが低い~中程度で、非常に強いネガティブな感情傾向を示しています。

例 2

テキスト: 「Google Cloud は Google のクラウド サービスです。」

scoremagnitude の両方の戻り値は 0 です。これは、テキストに感情や感情の強さがないことを意味します。

例 3

テキスト: 「この結果に非常に怒り、失望しています。一方で、チームが非常に懸命に取り組んでおり、プロ意識を示していることを嬉しく思います。」

例 1 とは異なり、このテキストには 2 つの文が含まれています。出力には、ドキュメント全体の指標と、個々のセンテンスの指標が含まれます。ドキュメント全体の値は、どちらか一方ではなく、両方の文の指標を組み合わせたものです。各個別の文には、対応する magnitude 値と score 値も一覧表示されます。

ドキュメント全体の返された感情 score は 0 ですが、magnitude は 1.6 です。複数の文を含むドキュメントで score が 0 の場合、そのドキュメントが本当に感情的にニュートラルであるか、テキスト内のさまざまな場所でポジティブな感情とネガティブな感情が相殺されていることを意味します。本当にニュートラルなセンチメントのテキストの場合も、magnitude は 0 またはそれに近い値になります。この場合、比較的高い magnitude 値 1.6 は、2 つの文のセンチメントが完全に中立ではなく、混在していることを意味します(たとえば、テキストのさまざまな箇所で怒り、失望、喜びが混在している場合)。各文の score 値を見ると、1 つは非常にポジティブ(0.8)で、もう 1 つは非常にネガティブ(-0.8)です。そのため、ドキュメント全体の score の平均は 0 になっています。