1. All Collections >
  2. 集成 >
  3. 對話流 >
  4. Dialogflow:管理意圖

Dialogflow:管理意圖

Avatar
Susan Swier
9 分鐘

什麼是意圖?

Dialogflow'對 Intent 的定義:

意圖將最終使用者'在一個對話回合中的意圖進行分類。 對於每個代理,您可以定義許多意圖,組合意圖可以處理完整的對話。 當最終使用者寫下或說出某些內容(稱為最終使用者表達)時,Dialogflow 會將最終使用者表達與代理中的最佳意圖進行配對。 匹配意圖也稱為意圖分類。

基本意圖包含以下內容:

  • 訓練短語 - 這些是最終用戶可能會說的範例短語。 當最終用戶的表達類似於這些短語之一時,Dialogflow 會匹配意圖。

在訓練期間,模板短語將被棄用並忽略。 了解更多 請造訪

  • 動作 - 您可以為每個意圖定義一個動作。 當意圖匹配時,Dialogflow 會為您的系統提供操作,您可以使用該操作來觸發系統中定義的某些操作。

  • 參數 - 當在運行時匹配意圖時,Dialogflow 將從最終用戶表達中提取的值作為參數提供。 每個參數都有一個類型,稱為實體類型,它明確規定如何提取資料。

  • 回應 - 您定義文字、語音或視覺回應以傳回給最終使用者。 這些可能會為最終用戶提供答案,向最終用戶詢問更多信息,或終止對話。

更複雜的意圖也可能包含以下內容:

  • 上下文: Dialogflow 上下文類似自然語言上下文。 如果有人對你說 "他們是橘色的",你需要結合上下文才能理解這個人指的是什麼。 類似地,為了讓 Dialogflow 處理這樣的最終使用者表達,需要提供上下文才能正確匹配意圖。

  • 事件: 透過事件,您可以根據已經發生的事情而不是最終用戶的交流來調用意圖。

可以根據您的聯絡人' 語言觸發意圖。 如果您的聯絡人的聯絡詳細資訊包含國家或語言值,則可以根據國家和語言的不同值觸發意圖。

查看意圖

步驟 1:登入 Dialogflow

導覽至 Dialogflow 控制台並使用您的使用者憑證登入。

步驟 2:導航至 Intents

選擇您要設定的代理,然後從側邊導航選單中選擇“意圖”

所有預設意圖和建立的意圖都將在此視圖中列出。

預設意圖

當您建立代理程式時,Dialogflow 將為您建立兩個預設意圖。

  • 預設歡迎意圖: 當聯絡人開始與平台對話時,此意圖會相符。 此意圖應該會回傳一個回應,讓最終用戶知道您的代理商做了什麼或他們可以說什麼來開始對話。

  • 預設後備意圖: 當代理無法將最終使用者表達與任何其他意圖配對時,會符合此意圖。

預設歡迎意圖

提示: 了解更多關於 Dialogflow'的預設歡迎意圖定義的更多資訊。

如您所見,預設歡迎意圖以歡迎事件和問候語為先決條件。 當聯絡人第一次向您發送訊息時,該意圖將根據指定的內容進行配對。

請參閱以下範例:

建議: 為了管理聯絡人'的期望,我們建議包括告知聯絡人他們正在與聊天機器人互動的回應。

預設後備意圖

提示: 了解 Dialogflow's 預設後備意圖的定義的更多資訊。

當傳入的訊息或事件與任何現有意圖都不符時,將匹配後備意圖。

請參閱以下範例:

建議: 如果代理無法理解該訊息,代理應該主動將對話轉交給現場代理,以幫助解決聯絡人的問題。

創建意圖

如果您想為特定用例建立自動化流程,可以建立新的意圖。 透過參數和事件,可以創建適合多種用例的意圖。

為了幫助您更好地理解,下面的指南將基於如下所述的特定用例:

XYZ 公司經常從網站'的網路聊天中收到有關訂單狀態的查詢。 在進行對話時,他們發現了一個常見的模式,即他們的代理商會要求客戶'的客戶 ID 來進一步檢查問題或解決查詢。 一旦他們從客戶那裡獲得客戶 ID,他們就會更新自訂欄位並將其新增為標籤。

基於上述場景,取得客戶ID的過程可以由聊天機器人完成。 一旦獲得客戶 ID,聯絡人將轉交給人工代理以獲得進一步的協助。

讓'將其分解為更簡單的步驟:

  1. 建立一個提示輸入客戶 ID 的意圖。

  2. 建立一個意圖來獲取客戶ID。

  3. 將客戶 ID 儲存為 respond.io 上的自訂欄位。

  4. 新增標籤。

  5. 將對話轉交給人工代理。

  6. 通知人工代理。

  7. 禁用機器人。

預期結果

創建基本意圖

步驟 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 位數字的字串。

提示: 在此處了解有關 正規表示式的更多資訊

提示: 在此處了解有關 實體的更多資訊

建立帶有參數的 Intent

步驟 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 控制台右側的測試面板。

刪除意圖

從意圖清單中,將滑鼠懸停在您想要刪除的意圖上。 按下意圖的垃圾圖示。

分享這篇文章
Telegram
Facebook
Linkedin
Twitter

找不到您想要的東西? 🔎