感情分析は、ユーザー入力を調べて感情的な考え方を分析します。具体的には、ユーザーの考え方がポジティブか、ネガティブか、どちらでもないかを判断します。インテント検出リクエストを行うときに感情分析を有効にすると、レスポンスに感情分析値が含まれます。
Natural Language API は Dialogflow でこの分析を行うために使用されます。API の詳細および Dialogflow の感情分析結果の解釈に関するドキュメントについては、以下をご覧ください。
サポートされている言語
サポートされている言語の一覧については、
言語ページの感情 列をご覧ください。サポートされていない言語の感情分析をリクエストすると、インテント検出リクエストは失敗しませんが、QueryResult.diagnostic_info フィールドにエラー情報が挿入されます。
始める前に
この機能は API をエンドユーザー インタラクションに使用する場合にのみ利用できます。 統合を使用している場合は、 このガイドをスキップできます。
始める前に、次の手順を完了してください。
- Dialogflow の基本をご覧ください。
- 手順に沿って設定してください。
エージェントを作成する
- Dialogflow ES コンソールに移動します。
- 要求された場合は、コンソールにログインします。詳細については、 Dialogflow コンソールの概要をご覧ください。
- サイドバー メニューで [エージェントの読み込み] を開きます。
- [CREATE AGENT] をクリックします。
- エージェント名、デフォルトの言語、デフォルトのタイムゾーンを入力します。
- 既存のプロジェクトを入力します。Dialogflow コンソールでプロジェクトを作成できるようにするには、 [Create a new Google project] を選択します。
- [作成] をクリックします。
感情分析のためのエージェントを設定する
インテントの検出リクエストごとに感情分析をトリガーすることも、感情分析結果を常に返すようにエージェントを構成することもできます。
すべてのクエリに対して感情分析を有効にするには:
- Dialogflow ES コンソールに移動します。
- エージェントを選択します。
- エージェント名の横にある設定settings アイコンを選択します。
- [Advanced] タブを選択します。
- [Enable sentiment analysis for the current query] をオンにします。
Dialogflow シミュレータを使用する
Dialogflow シミュレータを使用してエージェントを操作し、感情分析結果を受け取ることができます。
- 「Thank you for helping me.」と入力します。
- シミュレータの下部にある [SENTIMENT] セクションを確認します。ポジティブな感情スコアが表示されます。
- シミュレータに「It didn't work at all.」と入力します。
- シミュレータの下部にある [SENTIMENT] セクションを確認します。ネガティブな感情スコアが表示されます。
インテントの検出
インテントを検出するには、detectIntent メソッドを
Sessions タイプで呼び出します。
REST
detectIntent メソッドを呼び出して、sentimentAnalysisRequestConfig フィールドを指定します。
リクエストのデータを使用する前に、 次のように置き換えます。
- PROJECT_ID: 実際の Google Cloud プロジェクト ID
- SESSION_ID: セッション ID
HTTP メソッドと URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/agent/sessions/SESSION_ID:detectIntent
リクエストの本文(JSON):
{
"queryParams": {
"sentimentAnalysisRequestConfig": {
"analyzeQueryTextSentiment": true
}
},
"queryInput": {
"text": {
"text": "please reserve an amazing meeting room for six people",
"languageCode": "en-US"
}
}
}
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{
"responseId": "747ee176-acc5-46be-8d9a-b7ef9c2b9199",
"queryResult": {
"queryText": "please reserve an amazing meeting room for six people",
"action": "room.reservation",
"parameters": {
"date": "",
"duration": "",
"guests": 6,
"location": "",
"time": ""
},
"fulfillmentText": "I can help with that. Where would you like to reserve a room?",
...
"sentimentAnalysisResult": {
"queryTextSentiment": {
"score": 0.8,
"magnitude": 0.8
}
}
}
}
sentimentAnalysisResult フィールドに score 値と magnitude 値が含まれていることに注意してください。
Java
Dialogflow CX への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、 ローカル開発環境の認証の設定をご覧ください。
Node.js
Dialogflow CX への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、 ローカル開発環境の認証の設定をご覧ください。
Python
Dialogflow CX への認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、 ローカル開発環境の認証の設定をご覧ください。