Dialogflow'對 Intent 的定義:
意圖將最終使用者'在一次對話中的意圖進行分類。 對於每個代理,您可以定義許多意圖,組合意圖可以處理完整的對話。 當最終使用者寫下或說出某些內容(稱為最終使用者表達)時,Dialogflow 會將最終使用者表達與代理中的最佳意圖進行配對。 匹配意圖也稱為意圖分類。
基本意圖包含以下內容:
訓練短語 - 這些是最終用戶可能會說的範例短語。 當最終用戶的表達類似於這些短語之一時,Dialogflow 會匹配意圖。
在訓練期間,模板短語將被棄用並忽略。 這裡了解更多 。
動作 - 您可以為每個意圖定義一個動作。 當意圖匹配時,Dialogflow 會為您的系統提供操作,您可以使用該操作來觸發系統中定義的某些操作。
參數 - 當執行時間符合意圖時,Dialogflow 會從最終使用者表達中提取的值作為參數提供。 每個參數都有一個類型,稱為實體類型,它明確規定如何提取資料。
回應 - 您定義文字、語音或視覺回應以傳回給最終使用者。 這些可能會為最終用戶提供答案,向最終用戶詢問更多信息,或終止對話。
更複雜的意圖也可能包含以下內容:
上下文: Dialogflow 上下文與自然語言上下文類似。 如果有人對你說 "他們是橘色的",你需要了解上下文才能明白這個人指的是什麼。 類似地,為了讓 Dialogflow 處理這樣的最終使用者表達,需要提供上下文才能正確匹配意圖。
事件: 透過事件,您可以根據已經發生的事情而不是最終用戶所傳達的內容來調用意圖。
可以根據您的聯絡人' 國 和 語言觸發意圖。 如果您的聯絡人的聯絡詳細資訊包含國家或語言值,則可以根據國家和語言的不同值觸發意圖。
步驟 1:登入 Dialogflow
導覽至 Dialogflow 控制台並使用您的使用者憑證登入。
步驟 2:導航至 Intents
選擇您要設定的代理,然後從側邊導航選單中選擇“意圖”
所有預設意圖和建立的意圖都將在此視圖中列出。
當您建立代理程式時,Dialogflow 將為您建立兩個預設意圖。
預設歡迎意圖: 當聯絡人開始與平台對話時,此意圖就會匹配。 此意圖應該會回傳一個回應,讓最終用戶知道您的代理商做了什麼或他們可以說什麼來開始對話。
預設後備意圖: 當代理無法將最終使用者表達與任何其他意圖配對時,會符合此意圖。
提示: 了解有關 Dialogflow'的預設歡迎意圖的定義的更多資訊。
如您所見,預設歡迎意圖以歡迎事件和問候語為先決條件。 當聯絡人第一次向您發送訊息時,該意圖將根據指定的內容進行配對。
請參閱以下範例:
建議: 為了管理聯絡人'的期望,我們建議包括告知聯絡人他們正在與聊天機器人互動的回應。
提示: 了解 Dialogflow's 預設後備意圖的定義的更多資訊。
當傳入的訊息或事件與任何現有意圖都不符時,將匹配後備意圖。
請參閱以下範例:
建議: 如果代理無法理解該訊息,代理應該主動將對話轉交給現場代理,以幫助解決聯繫人'的問題。
如果您想為特定用例建立自動化流程,可以建立新的意圖。 透過參數和事件,可以創建適合多種用例的意圖。
為了幫助您更好地理解,下面的指南將基於如下所述的特定用例:
XYZ 公司經常從網站'的網路聊天接收有關訂單狀態的查詢。 在進行對話時,他們發現了一個常見的模式,即他們的代理商會要求客戶'的客戶 ID 來進一步檢查問題或解決查詢。 一旦他們從客戶那裡獲得客戶 ID,他們就會更新自訂欄位並將其新增為標籤。
基於上述場景,取得客戶ID的過程可以由聊天機器人完成。 一旦獲得客戶 ID,聯絡人將轉交給人工代理以獲得進一步的協助。
讓'將其分解為更簡單的步驟:
建立一個提示輸入客戶 ID 的意圖。
建立一個意圖來獲取客戶ID。
將客戶 ID 儲存為 respond.io 上的自訂欄位。
新增標籤。
將對話轉交給人工代理。
通知人工代理。
禁用機器人。
預期結果
步驟 1:創建意圖
導航至 Dialogflow 控制台 並從側邊導航選單中按下 Intents。 按 ➕
或從模組頂部 CREATE INTENT 。
步驟 2: 命名你的意圖
輸入您的意圖的名稱。 您的意圖名稱應該代表它所能辨識的最終使用者表達。
對於這種情況,我們'將其命名為 order_status_enquiry
。
步驟 3:新增訓練片語
根據上述場景,我們應該包括專門詢問訂單狀態的訓練短語。 首先在訓練短語部分輸入佔位符。 您可以包含多個短語以滿足不同類型的短語的需求。
例如:
我的訂單在哪裡
可以幫我查看我的訂單嗎
我的訂單狀態如何
步驟 4:建構意圖響應
對於此意圖,回應應該提示聯絡人輸入他們的客戶 ID,以便用於以下意圖。
向下捲動到 Responses 部分並輸入回應。 您可以新增 文字回應 或 自訂有效負載。 對於這種情況, 文字回應 將達到目的。
提示:
- 您可以一次發送多個回复,以提高可讀性。
- 您可以添加幾種不同的回覆方式,發送給聯絡人時它們將隨機化。
為了實現這個意圖,我們將建構的回應是:
如果您的訂單處理時間過長,我提前表示歉意。
我可以拿到您的客戶 ID 嗎?
提示: 在此以了解更多關於 回應範本的更多資訊。
在我們將值儲存為自訂欄位之前,我們需要建立一個實體來偵測傳入訊息中的值。
根據上述場景,我們將此實體命名為 customerId
並且它將用於儲存客戶的客戶 ID。
步驟 1:建立實體
導航到實體模組。 按下 ➕ 或 CREATE ENTITY。
第 2 步:命名實體
對於此範例,我們將其命名為 customer_id。
步驟 3:輸入可能的數值
實體應該接受長度為 5 個整數的字串。 將應用正規表示式來驗證該值。
對於這個例子,值將是 (\d){5}
,它接受任何有 5 位數字的字串。
提示: 在這裡了解更多關於 正規表示式的資訊。
提示: 在這裡了解更多關於 實體的更多資訊。
步驟 1:建立後續意圖
導覽至 Dialogflow 控制台 並從側邊導覽選單中按下 意圖 。 找到先前建立的意圖並按 新增後續意圖。
之所以使用後續意圖,是因為此意圖需要在指定意圖之後觸發。
預設情況下,上下文和動作將預設填充,以便意圖按順序工作。
第 2 步:新增訓練短語
此意圖中包含的短語很可能是包含客戶 ID 的短語。 我們可以輸入一個短語並突出顯示可能是客戶 ID 的文字。 選擇之前建立的實體並用它註釋文字。
預設情況下,當您使用實體註釋文字時將建立一個參數以儲存其值。
提示: 在此了解更多關於 註釋訓練短語的更多資訊。
步驟 3:建構意圖響應
為此,回應應該告知聯絡人已收到客戶 ID,並且人工代理將接管對話並解決問題。
向下捲動到 Responses 部分並輸入回應。 新增 文字回應。
為了實現這個意圖,我們將建構的回應是:
感謝您提供您的客戶 ID。 您的問題已分配給我們的人工代理。
當聯絡人使用其客戶 ID 回覆時,該值可以儲存為 respond.io 平台中的自訂欄位。
為了將值儲存到自訂字段,請確保在 respond.io 平台上建立自訂字段。
若要儲存數值,請新增參數 RB_FIELD_{custom field's name}
。 在這種情況下,參數將為 RB_FIELD_customerid
並將實體 $customer_id
設為值。
新增參數 RB_ADDTAGS
並將實體 $customer_id
設為值
現在,我們想將對話轉交給人工代理。 這可以透過另一個參數 RB_USER_ASSIGN
來實現,並將使用者'的電子郵件設定為值
參數將按順序執行。 最後,我們將停用此聯絡人的機器人回應,因為我們不希望在人工處理該聯絡人時觸發任何意圖。
為此,我們將添加另一個參數 RB_BOTSTATUS
並將 FALSE
設為值。
當機器人被停用時,聯絡人將無法再接收來自機器人的訊息,直到機器人狀態啟用。 可以透過訊息控制台或自動化手動啟用機器人狀態。
當從聯絡人接收到位置時,類型為 LOCATION
的事件將會傳送到 Dialogflow。 您可以將 LOCATION
新增至事件中以觸發對應的觸發器。
查看 Dialogflow 中可用的其他參數:
如果您需要測試意圖,請使用位於 Dialogflow 控制台右側的測試面板。
從意圖清單中,將滑鼠懸停在您想要刪除的意圖上。 按下意圖的垃圾圖示。