情緒分析會檢查使用者輸入內容,進而識別主要的主觀意見,判斷使用者的態度為肯定、否定或中立。提出偵測意圖要求時,您可以啟用情緒分析,而回應將會包含情緒分析值。
Dialogflow 會使用 Natural Language API 執行這類分析。如要進一步瞭解該 API 及關於解讀 Dialogflow 情緒分析結果的說明文件,請參閱以下連結:
支援的語言
如需支援的語言清單,請參閱「Languages」(語言) 頁面中的「sentiment」(情緒) 欄。如果您要求對不支援的語言進行情緒分析,偵測意圖要求不會失敗,不過 QueryResult.diagnostic_info 欄位會包含錯誤資訊。
事前準備
這項功能僅適用於使用 API 進行使用者互動的情況。如果您使用的是整合項目,可以略過本指南。
開始之前,請先完成下列步驟:
- 詳閱 Dialogflow 基本概念。
- 執行設定步驟。
建立虛擬服務專員
- 前往 Dialogflow ES 主控台。
- 如果系統提示,請登入控制台。詳情請參閱「Dialogflow 主控台總覽」。
- 在側欄選單中,展開「載入代理程式」。
- 按一下「建立新代理」。
- 輸入代理程式名稱、預設語言和預設時區。
- 輸入現有專案。如要讓 Dialogflow 主控台建立專案,請選取「建立新的 Google 專案」。
- 按一下「Create」(建立)。
情緒分析的代理程式設定
您可以針對每個偵測意圖要求觸發情緒分析,也可以設定讓代理程式一律傳回情緒分析結果。
如要為所有查詢啟用情緒分析:
- 前往 Dialogflow ES 主控台。
- 選取代理程式。
- 選取代理程式名稱旁邊的設定 settings 圖示。
- 選取 [Advanced] (進階) 分頁標籤。
- 開啟「Enable sentiment analysis for the current query」(針對目前查詢啟用情緒分析)。
使用 Dialogflow 模擬器
您可以使用 Dialogflow 模擬工具與代理程式互動及接收情緒分析結果:
- 輸入「謝謝你幫我。」
- 查看模擬工具底部的「SENTIMENT」(情緒) 區段。顯示正向情緒分數。
- 在模擬工具中輸入「It didn't work at all.」(完全無法運作)。
- 查看模擬工具底部的「SENTIMENT」(情緒) 區段。顯示負面情緒分數。
偵測意圖
如要偵測意圖,請呼叫 Sessions 類型的 detectIntent 方法。
REST
呼叫detectIntent 方法並提供 sentimentAnalysisRequestConfig 欄位。
使用任何要求資料之前,請先修改下列項目的值:
- PROJECT_ID:您的 Google Cloud 專案 ID
- SESSION_ID:工作階段 ID
HTTP 方法和網址:
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 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。