文章目錄

前面一個專案《 Google Dialogflow 完整教學 (1)|零基礎也OK,打造你的餐廳聊天機器人 》,介紹了利用 Google Dialogflow 來建立一個可以互相問候及詢問餐廳資訊的簡易聊天機器人。但遇到詢問訂位日期時,Agent 對於你所輸入的任何日期,都無法理解,因此沒辦法給予適當回應。我們將接續上一個專案,讓聊天機器人更聰明也更智慧的可以幫助餐廳進行訂位。
在【從 AI 到 生成式 AI:40 個零程式的實作體驗,培養新世代人工智慧素養】這一本書當中,將會完整介紹有關聊天機器人的基本知識、工作原理及許多應用,有興趣的讀者可以參考。現在就來帶讀者利用 Google Dialogflow 平台,一起手把手輕鬆建立屬於您的智慧聊天機器人。本文將帶大家在不需要具備程式能力情況下,訓練出升級智慧對話且有趣的餐廳小幫手,來幫助餐廳跟為智能的與客人互動。下圖是我們專案二預計完成的作品。

本文將帶大家在不需要具備程式能力情況下,訓練出有趣的餐廳小幫手,來幫助餐廳跟客人互動。下圖是我們預計完成的第一個作品,會用 Dialogflow Messenger 的方式展現,並且可以跟你做簡易的互動,另一個專案我們將讓聊天機器人更智慧化,並且會用不同方式呈現。
- 活動目的:利用 Google Dialogflow 平台後續意圖方式建立智慧化聊天機器人
- 活動平台:Google Dialogflow
- 使用環境:桌機或手機
準備好專案所需的平台網址及 Gmail 帳號後,我們將利用前一個專案來完成更智慧化的餐廳聊天機器人!
Step 1 選取 Agent (代理程式):
連結到 Dialogflow 平台 ( 如下圖) 並使用自己的 Gmail 帳號做登入後,可以從點擊左側 View all Agents,你將可以看到前一
個專案 – Restaurant Agent。點擊後您將可以看到之前所建立的相關意圖及資料。

Step 2 建立第一層 Follow-up intents (後續意圖)
這時候我們利用 Dialogflow 的 Follow-up intents ( 後續意圖) 功能來進行調整。首先我們希望在 ” 預約” 的 Intent 確定後,可以有進一步的 Intent 理解,這時候我們可以回到 Intent 主選單 ( 如下圖),在 “預約” 這個 Intent 後面有一個 Add follow-up intent,點擊它時會出現如下圖的許多選項 ( 如 custom、fallback 等等),我們選擇 custom。

讀者也可以試試其他後續意圖選項,其用途說明表如下:

2-1 建立”預約_custom”後續意圖

接著我們點選上圖中的 預約 – custom,並將其改為 預約_ 日期 如下圖,同時增加下面這些短語加入到訓練語句 (Training phrases) 當中,讓 Agent 可以進行訓練並辨識其意圖。
- 這個月七號
- 三月八日
- 2021/12/25

2-2 加入帶有變數的文字回應
同時將下面這些文字回應加入此意圖當中。
- $date-time, 想要預約幾位?
- 請問 $date-time 會有幾位?
而 $date-time 所表示的是若我們想要在回覆的訊息 (Responses) 中,來回應日期,則可以透過呼叫這個變數 ($date-time) 來達成。

Step 3 建立第二層 Follow-up intents (後續意圖)
接著我們在預約_ 日期這個Intent 後面,再點擊 Add follow-up intent 來加入後續意圖,同樣地我們選擇 custom ( 如下圖)。

3-1 建立”預約_日期_custom”後續意圖
接著將 Intent 名稱改為 預約_ 日期_ 人數 如下圖,同時增加下面這些短語加入到訓練語句 (Training phrases) 當中,讓 Agent 可以進行訓練並辨識其意圖。
- 2個人
- 3 people
- 5

3-2 加入帶有變數的文字回應
並在此 Intent 後面,將下面這些文字加入到回應當中。( 如下圖)
- $number 人的位子已經成功為你保留,期待你的光臨
- $number 人的座位預定完成,期待您的光臨
- 很抱歉,我們目前沒有 $number 人的座位
而 $number 同樣表示著,若我們想要在回覆的訊息 (Responses) 中來回應人數,則可以透過呼叫這個變數 ($number) 來達成。

3-3 查看 Intents 的架構
由下圖 Intents 主畫面可以看出,目前我們的 Intents 的架構。

Step 4 展示我們的聊天機器人
我們一樣使用剛剛用的 Dialogflow Messenger,並進行測試如下圖,當你回應聊天機器人預約日期時,它將會正確理解你的意圖,並將帶有你輸入日期的變數值一併回應給你,同時繼續詢問你人數。同樣地您提供相關人數後,聊天機器人也可以理解您的意圖,回覆時同時將你的人數顯示出來並與你確認。


Google Dialogflow 是一個很方便及智能的服務,簡化了許多使用者不少開發的工作,無論是在設計 Intent 或 Follow-up intent 都有許多細節需要留意,例如您希望訓練這個 Agent ( 聊天機器人) 能夠理解客戶以及回應,這些都是需要規劃的。例如可以事先設計類似下圖的表格來協助規劃。

對於初學者來說經過這樣的動手實作,對日常生活所接觸的聊天機器人及人工智慧中的自然語言處理 (NLP) 的應用都有了基本認識,最重要還是回到作者一開始提到的人工智慧素養,瞭解生活上的 AI 及應用,在這個世代是重要的。未來大家如果想要進一步朝向 AI 開發或更為技術的工作時,可參考以此為基礎再繼續前進。
Dialogflow Agent 是設計好的「對話流程代理人(Agent)」,遇到較複雜、多變的任務時,仍需仰賴事前設定。我們將在下一本新書中帶讀者進入更智慧的時代——AI Agent:不再只是回應指令,而是能思考、規劃,並完成任務的智慧代理人!
如果大家想要多了解一些 AI 或 生成式 AI 的基礎概念,可以參考這一本書《 「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養 》,或是 SimpleLearn|Online 課程,它將帶領讀者在不會程式、不會數學也OK!的情況下,了解整個 AI 到 生成式 AI 的相關觀念及應用,不僅可以建立最完整的 AI 入門知識,更是培養 AI 素養的最好學習內容。
如果你喜歡這篇文章歡迎訂閱、分享(請載名出處)與追蹤,並持續關注最新文章。同時 FB 及 IG 也會不定期提供國內外教育與科技新知。