- Dialogflow 教程
- Dialogflow - 首頁
- Dialogflow - 概述
- Dialogflow - 開始使用
- Dialogflow - 元件
- Dialogflow - 建立第一個 Agent
- Dialogflow - 建立引數
- Dialogflow - 建立自定義實體
- Dialogflow - 上下文
- Dialogflow - 建立自定義意圖
- Dialogflow - 訓練
- Dialogflow - 意圖匹配
- Dialogflow - 整合
- Dialogflow - 構建聊天機器人
- Dialogflow - 知識庫
- Dialogflow 有用資源
- Dialogflow - 有用資源
- Dialogflow - 討論
Dialogflow - 概述
關於 Dialogflow,在使用它之前,您需要了解一些事項。為了正常工作,傳統的計算機系統需要可預測且結構化的輸入,這有時會使介面使用起來困難且不自然。有時,終端使用者可能會發現自己無法理解輸入的結構,也無法弄清楚該怎麼做。對於終端使用者使用的自然語言,理想情況下,介面應該能夠準確地確定使用者想要什麼。
Dialogflow 的作用
例如,假設使用者詢問:“今天天氣怎麼樣?”其他使用者也可能會問:
現在天氣怎麼樣?
孟買的氣溫是多少?
10月20日天氣如何?
您知道,針對這些基本問題使用語言體驗可能具有挑戰性。自然語言處理和解釋需要非常強大的語言解析器。Dialogflow 提供了這種型別的解析器,以便您可以為終端使用者提供出色的對話體驗。
Dialogflow 的主要元件
Agent、意圖和實體是 Dialogflow 的三個主要元件。這些是幫助使用者輕鬆進行對話體驗所必需的。讓我們在下一節中逐一討論這三個元件:
Agent
Dialogflow Agent 是負責管理終端使用者對話的虛擬 Agent。能夠理解人類語言細節的模組稱為 Agent。為了使您的應用程式能夠在討論過程中理解終端使用者的文字或語音,Dialogflow 會將其轉換為結構化資料。Dialogflow Agent 可以管理您的系統所需的對話型別。
Dialogflow Agent 與實際呼叫中心中的 Agent 相同。由於他們已經準備好處理對話情況,因此他們都不需要在其指令中過於精確。
意圖
意圖對特定對話輪次中終端使用者的意圖進行分類。每個 Agent 需要設定多個使用者,並且組合的 Agent 能夠管理整個對話。當用戶編寫或說出被稱為終端使用者表達的內容時,Dialogflow 會查詢終端使用者表達和您的 Agent 最佳興趣之間的匹配。意圖分類是意圖匹配的另一個術語。
例如:如果您必須為天氣建立一個 Agent,請確保它能夠識別並響應終端使用者關於天氣的查詢。設定天氣預報問題的目標是下一個階段。
使用者詢問“天氣預報如何?”。Dialogflow 檢查並比較預報提供的含義與使用者的表達。如果我們想從終端使用者的表達中提取重要資訊,例如位置和天氣報告的正確時間,我們必須明確我們的目標。系統需要收集到的資訊才能響應與系統相關的請求。
實體
Dialogflow 使用實體來識別和提取自然語言輸入中的相關資料。實體幫助您的 Agent 理解特定使用者輸入背後的原因,而意圖則讓它檢測使用者提到的特定資料,例如產品名稱、帶單位的數量、街道位置等等。對於您想要從使用者請求中檢索的每個重要資料片段,都將有一個與之關聯的實體。
Dialogflow 控制檯
Dialogflow 控制檯是 Dialogflow 設計的一個 Web 介面。它可用於建立、評估和管理 Agent。Dialogflow 控制檯與 Google Cloud Platform (GCP) 控制檯之間存在差異。
GCP 控制檯處理 Google Cloud 服務引數(例如資源分配和付款),而 Dialogflow 控制檯主要處理 Dialogflow Agent 管理。
您還可以使用 Dialogflow 控制檯輕鬆建立新的 Agent。
上下文
Dialogflow 的上下文的工作方式與自然語言上下文的工作方式類似。例如 - 當有人說“它們是藍色的”時,您必須弄清楚“它們”指的是誰或什麼。Dialogflow 透過根據上下文將使用者意圖與正確的目的相匹配來執行類似的操作。
上下文使對話管理更容易。可以使用簡單的名稱來構建輸入和輸出上下文。這些設定有助於集中對話並選擇正確的目標。當意圖匹配時,輸出上下文變為活動狀態。之後,Dialogflow 會查詢屬於活動輸入上下文的意圖。
後續意圖
後續意圖可用於自動為意圖對構建上下文。後續意圖是其連線的父意圖的子級。建立後續意圖時,會自動向父意圖新增輸出上下文,並向後續意圖新增名稱相同的輸入上下文。後續意圖只在一種情況下匹配,那就是父意圖在之前的對話輪次中表達過。可以使用 Dialogflow 建立巢狀後續意圖的多個級別。
Dialogflow 中的預定義後續意圖之一,例如取消、是、否等等,可以顯示為典型的終端使用者響應。我們還可以生成我們自己的後續意圖,以控制客戶的響應。
與整合的使用者互動
Dialogflow 與各種聊天平臺相容,例如 Google 助理、Slack 和 Facebook。您可以從多種整合選項中選擇,為任何這些平臺建立 Agent。Dialogflow 簡化了直接使用者通訊,使您可以更專注於開發您的 Agent。
與 API 的使用者互動
如果您決定不使用任何整合的整合選項,則需要編寫程式碼來直接與使用者互動。對於每次交換,您的程式碼都需要連線到 Dialogflow 的 API。您可以透過這種方式傳達使用者的訊息並再次獲取他們的意圖。
下圖顯示了使用 API 的過程。
以下是 Dialogflow 中與 API 進行使用者互動的過程:
終端使用者正在鍵入或說出這些詞語。
您的服務在檢測意圖請求訊息中將終端使用者表達傳送到 Dialogflow。
之後,Dialogflow 會告訴您的服務它打算識別響應。該訊息包含有關引數、操作、響應和為意圖陳述的匹配意圖的資訊。
您的服務處理必要的操作,例如進行外部 API 呼叫或執行資料庫查詢。
終端使用者從您的服務接收響應。
終端使用者可以看到或聽到答案。
整合的履行
當意圖匹配時,Agent 將自動回覆一條簡單且預先程式設計的訊息。但是,如果您選擇整合選項,“履行”可用於提供更靈活和動態的響應。
Dialogflow 透過聯絡您配置的服務之一來響應啟用了履行的意圖。例如,如果使用者想在星期一安排購物,您的服務將檢查資料庫並告知他們是否開放。
每個目標都有一個允許履行的設定。如果意圖需要來自您的系統的動態響應或操作,您必須啟用履行。如果未啟用履行,Agent 將回復您為該意圖提供的靜態訊息。
如果啟用了履行並且意圖匹配,則 Dialogflow 會發送包含詳細資訊的請求。Dialogflow 將從您的系統獲得您需要的資訊以進一步推進。