感情分析は、人間のエージェントとエンドユーザー間の会話中にメッセージを分析して感情的な意図を判断する機能です。会話プロファイルの作成時または編集時に有効にできます。既存の会話プロファイルを編集している場合、会話プロファイルが更新された後にのみ、会話に効果が表示されます。Agent Assist コンソールを使用して会話プロファイルを作成するときに、感情分析を有効にすることもできます。
MessageAnalysisConfig
でenableSentimentAnalysis
をtrue
に設定します。- この機能が有効になっている
ConversationProfile
を使用して、createConversation
リクエストを送信します。 - 感情分析の結果は
AnalyzeContentResponse.message.sentimentAnalysis
で返されます。 - Agent Assist で Cloud Pub/Sub 統合を有効にしている場合、感情分析の結果は
NewMessagePayload
にも表示されます。
感情分析の結果を解釈する
感情は、レスポンスで返される指標である score
と magnitude
の値で表されます。感情の score
は -1.0(ネガティブ)~ 1.0(ポジティブ)の範囲で、テキストの全体的な感情の傾向に対応します。magnitude
値は、指定したテキストの全体的な感情の強度(ポジティブとネガティブの両方)を 0.0
~+inf
の値で示します。これらの指標の解釈の詳細については、Natural Language の感情分析のドキュメントをご覧ください。
以下は、Natural Language API のデモ機能による感情分析の出力例です。デモを使用してサンプル テキストの感情分析をテストするには、テキスト ボックスにテキストを貼り付けて [分析] をクリックし、[感情] タブを選択します。
例 1
テキスト: 「I'm not happy.」(私は満足していません)
返される score
は -0.9、magnitude
は 0.9 です。これは、感情の強度が低いか中程度で、非常に強いネガティブな感情の傾向があることを示しています。
例 2
テキスト: 「Google Cloud は Google のクラウド サービスです。」
score
と magnitude
の両方の戻り値は 0 です。これは、テキストに感情や感情の強さが示されていないことを意味します。
例 3
テキスト: 「結果に非常に腹が立ち、失望しています。一方、チームが熱心に取り組んでおり、プロフェッショナルな姿勢を示していることを確認できてうれしく思います。」
例 1 とは異なり、このテキストには 2 つの文が含まれています。出力には、ドキュメント全体の指標と、個々の文の指標が含まれます。ドキュメント全体の値は、一方の文ではなく、両方の文の指標を表します。各文は、対応する magnitude
値と score
値とともに一覧表示されます。
ドキュメント全体の感情 score
は 0 で、magnitude
は 1.6 です。複数文のドキュメントで score
が 0 の場合、感情的に本当に中立であるか、テキストのさまざまなポイントでポジティブな感情とネガティブな感情が互いに相殺されている可能性があります。感情が完全に中立なテキストの場合、magnitude
は 0 に等しいか、0 に近い値になります。この場合、magnitude
が 1.6 と比較的高い値になっているのは、2 つの文の感情が実際には中立ではなく、混在している(たとえば、テキストのさまざまな箇所で怒り、失望、喜びが混在している)ことを意味します。各文の score
値を見ると、1 つは非常にポジティブ(0.8)、もう 1 つは非常にネガティブ(-0.8)であるため、ドキュメント全体の score
の平均が 0 になっています。