Google AI 聊天機器人開發平台 Dialogflow 介紹

Google AI 聊天機器人開發平台 Dialogflow 介紹

在 AI 聊天機器人領域,Google 除了有與 ChatGPT 同樣屬於生成式 AI 的 Bard,在 Google Cloud 上,也推出了 AI 聊天機器人開發平台 Dialogflow,其採用 Google 助理的深度學習技術並擁有視覺化流程建構工具,是開發者設計、建立和部署聊天機器人的好幫手,一起認識 Dialogflow 的功能與優勢吧!

Dialogflow 與 AI 聊天機器人開發功能介紹

Google Cloud 的 Dialogflow 是一個採用 AI 技術的對話式應用程式開發平台,提供開發者設計、建立和部署 AI 聊天機器人、語音助手或虛擬助理,並擁有 Dialogflow ES(Essentials)及 Dialogflow CX 兩種版本,本次主要介紹 Dialogflow CX 的基本功能。透過 Dialogflow CX,開發者可有效提升對話式應用程式的效能與擴展性,並在開發時更精確地控制對話流程。

Dialogflow CX 功能1:Agent

Agent 就像一個虛擬機器人,主要負責與使用者對話,且能透過自身的語言理解能力來了解語句的細微差別,它也可以將使用者回覆的文字或聲音轉換為應用程式或服務可理解的結構化數據。所以簡單來說很像我們俗稱的客服人員,需透過訓練來處理預期的使用者對話場景。此外,Dialogflow CX Agent 具備高整合性,除了與 Google Cloud 的服務相容,也能跨平台整合 Facebook Messenger、Line ,並支援使用者自行串接 Webhook 等功能。

Google AI 聊天機器人開發平台 Dialogflow 功能介紹_Agent 列表頁面
Agent 列表頁面
截圖自:Google Cloud Dialogflow CX Console 頁面
©2023 Google

Dialogflow CX 功能2:Flow and Page

當對話流程變得複雜,開發者可能需要處理多個不同的對話主題。例如外送披薩的 Agent,訂單、客戶資訊和確認訊息都可被視為不同的主題,而每個主題可能需要多次與使用者對話才能獲取完整資訊,在這種情況下,就可以使用 Flow 區分多個主題與相關對話路徑。但每個 Agent 其實都有一個預設的 Flow(Default Start Flow),對功能單純的 Agent 而言,預設的 Flow 已足夠使用。

Google AI 聊天機器人開發平台 Dialogflow 功能介紹_Agent、Flow 與 Page 的關係圖
Agent、Flow 與 Page 的關係圖

另外一個 Flow 可以包含許多 Pages,這些 Pages 主要用來定義不同主題的對話內容,和收集使用者相關資訊。以外送披薩 Agent 為例,假設有一個訂餐 Flow,那這個 Flow 裡面的不同 Pages 可以用來分別收集飲料、披薩和炸雞的訂購資訊。單一 Page 內也能設置 Entry fulfillment、Parameter 和 Route 等功能,以下分別介紹。

Dialogflow CX 功能3:Fulfillment

Fulfillment 可視為 Agent 回覆的內容,其中最常使用的包含 Entry fulfillment、Initial prompt fulfillment 及 General fulfillment,而他們最主要的差異為適用範圍的不同。當對話流程進入一個新 Page,Entry fulfillment 會作為 Agent 的開頭句回應使用者,屬於 Page 的 Fulfillment;而 Initial prompt fulfillment 屬於 Parameter 範圍的 Fulfillment,也就是 Agent 收集使用者資訊時詢問的問題;最後 General fulfillment 則主要是使用者回覆 Agent 後,Agent 再回覆的內容。

Google AI 聊天機器人開發平台 Dialogflow 功能介紹_Fulfullment 設置頁面
Fulfullment 設置頁面
截圖自:Google Cloud Dialogflow CX Console 頁面
©2023 Google

另外,Fulfillment 也能藉由呼叫 Webhook 進行動態回覆。舉例來說,當 Dialogflow CX Agent 要透過 Fulfillment 回覆,如果該 Fulfillment 具有 Webhook,便會向 Webhook 發出請求。我們可以在 Webhook 中進行動態回覆訊息提供、參數值覆寫,或當前頁面更改等操作,並適時回應給 Dialogflow CX Agent。如此一來,開發者就能利用這個功能讓應用程式與服務更加靈活,進而優化用戶體驗。

Dialogflow CX 功能4:Route

Route 是將對話轉移到不同位置的機制,每個 Route 主要包含 Intent、Condition、Fulfillment 和 Transition,而每一項也都能再進一步做其他設置或使用進階功能,以上四項功能非必要,但可選擇性地搭配來設置 Route。由於前文已介紹過 Fulfillment,因此以下逐一介紹另外三項功能。

首先,Intent 主要用來識別使用者意圖,需要設置的項目有名稱及 Training phrases,也就是使用者可能會說的短句範例。透過 Dialogflow 內建的機器學習功能,我們可訓練 Agent 了解使用者意圖,而依據對話複雜度,一般建議設置10至25組完整或不完整的訓練句子。以建立訂機票的 Intent 為例,在 Training phrases 中可輸入 Book SFO to MIA on August 10th one way、I need a flight saturday from LAX to San Jose 或 Book a flight 等範例句,如此一來當使用者輸入類似的語句,Agent 就能快速理解使用者的目的,並在接下來的對話中回覆使用者所需的資訊。

Google AI 聊天機器人開發平台 Dialogflow 功能介紹_Intent 設置頁面
Intent 設置頁面
截圖自:Google Cloud Dialogflow CX Console 頁面
©2023 Google

而 Condition 則用於判斷何時該使用哪個 Route。當對話流程進展到某個特定點,Agent 會檢查當前對話的狀態是否符合該 Route 的條件,若符合則該 Route 會被使用,否則會繼續尋找下一個符合條件的 Route。透過設置 Condition,我們可以建立更彈性且精確的對話流程,更好地滿足使用者需求。最後的 Transition 作為轉折設定,可以是一個完整的對話 Flow 或當中的任一 Page,其功能是擔任 Agent 與使用者下一個對話的起點。

Dialogflow CX 功能5:Entity type

Entity type 主要用來定義與辨識特定類型的資訊,例如日期、時間、人名和地點等。我們可將 Entity type 視為一個類別,用來代表特定的資訊類型,透過在 Entity type 中定義相關的 Synonyms,讓 Dialogflow CX 在判斷使用者 Intent 時更加靈活,因為它能識別出使用者輸入的不同語句,並將它們轉換為相同的 Entity value。以地點為例,設定一個 Entity type 為「地點」,並且將「台北」、「臺北」、「北市」等詞彙定義為 Synonyms,當使用者輸入這些字詞時,Dialogflow CX 便能自動將它們轉換為相同的「臺北市」Entity value,並進一步執行相關的邏輯處理或產生回應。

Google AI 聊天機器人開發平台 Dialogflow 功能介紹_Entity type 說明

Dialogflow CX 本身有提供一些預設的 Entity type,例如日期、時間、顏色、和電子郵件等,我們也能根據自身機器人的對話設計來建立自定義的 Entity type(如:蔬菜 Entity type),以便更精準地辨識使用者輸入的蔬菜類型,並給予適當的回應。

Google AI 聊天機器人開發平台 Dialogflow 功能介紹_Entity type 設置頁面
Entity type 設置頁面
截圖自:Google Cloud Dialogflow CX Console 頁面
©2023 Google

Dialogflow CX 功能6:Parameter

在對話過程中,Parameter 主要用於保留或引用使用者回答的資訊,每個 Parameters 都有一個獨立的名稱和 Entity type,當使用者輸入語句,Dialogflow 會自動將其轉換成結構化數據。這對於開發者而言非常方便,因為不需手動切割句子中的字詞或短句就能直接用於執行特定的邏輯或生成回應等作業。Dialogflow 中主要包含以下三種 Parameter,其差別為適用範圍不同。

  1. Intent parameter:針對使用者在對話中做的回覆,由 Intent 自動提取出來的資訊。當使用者與 Agent 對話時,Intent parameter 會儲存與 Intent 相關的資訊,例如使用者輸入「我要預訂 3/15 11:00 的會議室A」,則使用者提到的會議室名稱以及預訂時間會儲存為 Intent Parameter。
  2. Form parameter:針對每個 Page 我們可以定義一個表單,主要用來收集使用者回覆的一系列資訊。其運作流程為 Agent 依照我們在 Page 中定義的 Parameter 順序與使用者進行多輪對話,直到收集完所有必要的 Form parameter 為止,這些參數也稱為 Page parameter。此外,對於每個必填的 Form parameter,Agent 可透過 Initial prompt fulfillment(可視為給使用者的提示)來讓使用者回覆相對應的確切資訊。
  3. Session parameter:它是一種可以在整個對話過程中使用的參數,對話開始時會被初始化,並一直存在對話過程中。Session parameter 可用來儲存一些全域的變數或設定,例如語言和地區等,這些參數可以在整個對話過程中保持不變或隨時被修改。

簡單來說,Intent parameter 專屬於特定的 Intent;Form parameter 專屬於特定的 Page ;而 Session parameter 則是全域共用,可以在對話過程中被重複使用與修改。

Google AI 聊天機器人開發平台 Dialogflow 功能介紹_Parmeter 設置頁面
Parmeter 設置頁面
截圖自:Google Cloud Dialogflow CX Console 頁面
©2023 Google

Dialogflow CX 作為 AI 聊天機器人開發平台的優勢

Dialogflow CX 是 Google Cloud 最先進的全方位對話式應用程式開發平台,其 Agent 主要採用 Google Assistant 的深度學習技術,可處理具有多個追加問題的對話,打造自然而準確的用戶互動體驗。此外它豐富的功能及 API,讓開發者能輕鬆快速地建構具有高度自然語言理解(NLU)模型,和對話流程控制的智能對話系統。除了上述優點及功能,Dialogflow CX 還具備以下9項特色與優勢。

  1. 一次性試用金:針對首次使用者提供 USD$600 試用金,讓開發者在開發初期可節省費用支出。
  2. 視覺化流程建構工具:讓開發者可快速查看、理解、編輯及分享,並輕鬆部署至各個環境,如網頁、行動裝置、社交軟體或其他第三方電話合作夥伴的服務等,除了縮短開發時間,也利於跨部門合作。
  3. 以流程為基礎的模組:Dialogflow CX 最多支援20個獨立對話流程和40,000個意圖,可以在不同流程間共用意圖和訓練語句。
  4. 以狀態為基礎的資料模型:開發者可重複使用意圖、處理追加問題,並以符合直覺的方式定義 Transition 作業和資料條件,讓使用者即便偏離主題,也能順利回到主要流程。
  5. 數據分析:進階效能資訊頁面可顯示多種 Agent 請求和回應的數據統計。這些數據可用來評估 Agent 在 Production 環境中的使用情況,進而用於精進 Agent 的訓練。
圖片來源:freepik
  1. 原生 IVR(Interactive Voice Response) 設定:針對 Google Cloud 的 Contact Center AI 服務部署進行優化,支援 DTMF(Dual-Tone Multi-Frequency)、真人服務專員轉接、語音插話和語音逾時等設定。
  2. 端對端管理:開發者不需其他任何自訂軟體,便可在 Dialogflow CX 中完成所有虛擬服務專員管理工作,包括 CI/CD、數據分析、實驗和機器人評估。Dialogflow CX 與用於測試與部署的流程層級版本與環境相容,並支援實驗和流量分配功能。
  3. Speaker ID:主要運用生物特徵語音辨識技術來快速識別及驗證使用者。Dialogflow CX 提供多一層的驗證機制且免用 PIN 碼和密碼,提高整體的安全與便利性。
  4. 測試模擬工具:讓開發者評估虛擬機器人品質,藉此找出錯誤並避免重複發生已解決的問題。此外在模擬器進行測試時皆免費,可降低開發成本並提高生產力。

以上就是 Dialogflow CX 的基本功能與優勢介紹,後續也會再分享實作教學的內容,歡迎訂閱電子報掌握文章上架訊息!大家針對文中內容如有任何問題都可留言詢問,有進一步的技術疑問或想更認識 Google Cloud,也歡迎聯絡 Cloud Ace 獲得更進一步的資訊。

延伸閱讀:

Vertex AI 教學與介紹 – 實作以 AutoML 訓練機器學習模型
使用 BigQueryML 來預測新生兒體重
以更好上手的機器學習工具,普及化資料分析與洞察
大數據應用實踐懶人包!步驟、工具、目標建議一次了解

Cloud Ace 研討會主頁

發佈留言