文章目錄

在參考這一本書【從 AI 到 生成式 AI:40 個零程式的實作體驗,培養新世代人工智慧素養】當中,介紹有關聊天機器人的基本知識、工作原理及許多應用,現在就來帶讀者利用 Google Dialogflow 平台,一起手把手輕鬆建立屬於您的第一個聊天機器人。
本文將帶大家在不需要具備程式能力情況下,訓練出有趣的餐廳小幫手,來幫助餐廳跟客人互動。下圖是我們預計完成的第一個作品,會用 Dialogflow Messenger 的方式展現,並且可以跟你做簡易的互動,另一個專案我們將讓聊天機器人更智慧化,並且會用不同方式呈現。

- 活動目的:利用 Google Dialogflow 平台簡易建立聊天機器人,並瞭解所有流程。
- 活動平台:Google Dialogflow
- 使用環境:桌機或手機
準備好專案所需的平台網址及 Gmail 帳號後,接著我們將開始帶大家一步一步輕鬆完成專案!
Step 1 環境簡介及建立 Agent (代理程式):
連結到 Dialogflow 平台 ( 如下圖) 後,您可以使用自己的 Gmail 帳號做登入。

當我們登入後會看到下方歡迎畫面,點擊 Create Agent 來建立自己第一個聊天機器人。

1-1 建立 Agent
接著我們就會看到如下圖,它是 Dialogflow 控制台的畫面,若需要建立相關 Agent 、Intents、Entities 及其他設定都會在這裡進行處理,就讓我們依序介紹介面上幾個常用的功能。
- 選擇你要運行的區域,此專案選擇預設的 Global。
- 幫你的 Agent ( 聊天機器人) 命名,此專案取名叫做 RestaurantAgent。
- 選擇語言。此專案選擇以繁體中文為主 Chinese (Traditional) ― zh-TW,如果你想要讓你的 Agent 同時也瞭解其他語言,您可以在下方另外加入其他語系
- 選擇時區。此專案選擇 (GMT+8:00) Asia / Hong_Kong 這個時區。
- 如果設定都沒有問題,可以按下 Create 按鈕,就可以建立完成。

1-2 查看意圖 (Intents)
建立完一個新的 Agent 後,我們可以在下圖中,開始建立自己聊天機器人需理解那些意圖,接著會帶大家建立每一個 Intent,這裡將先介紹相關功能,首先:
- 如果要新增或查看相關 Intents ( 意圖) 時,可以在此點選。
- 這個位置可命名每一個 Intents ( 意圖) 的名稱。
- 每個 Agent 被建立後,都會有兩個系統預設的 Intents ( 意圖),其中一個是 Default Welcome Intent,也就是預設與歡迎有關的 Intent。
- 另一個預設則是 Default Fallback Intent,也就是 Agent 不清楚訊息的意義時,就會使用這一個 Intent。
- 最後如果要開始建立時,可以按下 CREATE INTENT 按鈕,就可以建立完成一個意圖。

1-3 預設意圖 (Intents)
下圖是 Default Welcome Intent 預設意圖,大家可以看到它接受了那些 Training phrases ( 訓練短語),例如「你好」或「嗨」等短語,系統將會用這些短語來訓練這一個預設意圖。

1-4 預設回應 (Responses)
當 Agent 收到訊息, 並判斷屬於這個 Default Welcome Intent 預設意圖時,它會做出的回應就是網頁下方 Responses
區的內容,如右圖「嘿!」、「你好!」等內容。

1-5 加入新的回應短語
我們試著在 Responses 區加入一個新的短語 ” 安安!我是餐廳小幫手,有什麼可以幫忙的嗎?” ( 如下圖所示) 來增加活潑性,當然讀者也可以試著多一些自己覺得有趣的歡迎語句來讓 Agent 訓練理解,未來在真正互動時,這些語句就會隨機產生,就不會讓大家覺得 Agent 只會講一些固定內容而覺得枯燥。

1-6 無法識別意圖時所做的預設回應
預設的 Intents ( 意圖) 還有另外一個 Default Fallback Intent 。主要是當 Agent 無法識別您的意圖時會做的預設回應,大家也可以加入其他內容,此處我們先略過。

1-7 試著輸入語句”哈囉”
現在就讓我們利用這兩個預設意圖來理解 Dialogflow 基本運作。我們可以在畫面右側 Try it now 的地方試著輸入語句來看看效果,例如當我們輸入 ” 哈囉”,它辨識出來是屬於 Default Welcome Intent 預設歡迎意圖,於是會隨機顯示回應語句中的內容 「嘿!歡迎你回來。」 ( 如下圖) 。

1-8 試著輸入語句”Hello”
當我們輸入 “Hello”,它辨識不出來 ,所以是屬於這個 Default Fallback Intent 預設意圖,它就會隨機顯示回應語句中的內容「對不起,我聽不懂你的問題」 ( 如右圖) 。

1-9 加入”Hello” 單詞進行訓練
這時候我們可以回到 Default Welcome Intent 預設意圖,加入 “Hello” 或” 哩厚” 短語進行訓練( 按下 SAVE 即可)。

1-10 可以辨識”Hello”的意圖
此時再鍵入 “Hello~~”,Agent就能辨識為歡迎意圖,並且隨機回應當中的歡迎語句 ” 歡迎歸來。” ( 如下圖)。這個部分只是讓讀者先暖身一下,並瞭解整個 Dialogflow 的重要觀念,現在就繼續帶大家建立屬於自己的 Intents ( 意圖) 。

Step 2 建立自己的 Intents (意圖):
點選如下圖的 CREATE INTENT 按鈕就可以開始進行建立。

2-1 建立”聯絡資訊”意圖
接著在下圖中的 Intent name 位置鍵入意圖名稱 ” 聯絡資訊”,並點擊下方訓練語句 (Training phrases)。然後在 Training
phrases ( 訓練短語) 中,輸入三筆資料( 如下圖):
- 請問餐廳地址
- 聯絡方式
- 電話號碼是多少

2-2 建立Training phrases (訓練短語)

並在同一頁的下方 Responses ( 回應),鍵入欲回應的文字。
- (02) 2121-8888,台北市羅斯福路一段99號
當然您也可以視情況, 增加多一點資訊或回應語句。
2-3 建立”聯絡資訊”意圖的回應

接著如下圖,我們可以再建立另一個意圖 ” 預約”,並將下面這些短語加入到訓練語句 (Training phrases) 當中。
- 我想要訂位子
- 想要預約
- 預約餐廳
2-4 建立”預約”意圖

並且將下列文字回應,加在同頁面下方 Responses ( 回應) 當中 ( 如下圖)。
- 您好,請問您希望預約幾月幾號的位子?
- OK,請問您想要預約什麼時候?
2-5 建立”預約”意圖的回應

2-6 完成建立”聯絡資訊”及”預約”兩個意圖 (Intents)
這時候我們回到 Intents ( 意圖) 主頁面時,就可以看到除了兩個系統預設的 Intents 之外,另外增加了剛剛我們建立的 ” 聯
絡資訊” 及 ” 預約” 這兩個Intents ( 如右圖)。

Step 3 測試我們的聊天機器人:
我們可以試試看剛剛建立的 Agent 及 Intents 有沒有符合我們要的,Dialogflow 可以跟一些流行的平台或應用程式進行串接,例如 Line、Facebook、Messenger、Slack 或其他,但這些因為串接時都需要有一些技術背景,所以不在我們這次介紹範圍當中。
3-1 選擇 Dialogflow Messenger 進行測試
我們可以利用平台提供的 Dialogflow Messenger 來測試看看剛剛設定的聊天機器人運作情況。首先可以在左側選單中點擊 Integrations,並在右邊畫面中點選 Dialogflow Messenger ( 如下圖)。

3-2 點擊 TRY IT NOW 進行測試
在跳出視窗的右下角,點擊 ENABLE 使用此服務。這時候會出現下方( 圖) 的畫面,你可以嵌入 (Embedded) 到你自己的網頁頁面當中,如果沒有網頁也沒關係,你可以點擊下圖中的TRY IT NOW 後,將可在對話框中進行測試。

3-3 測試聊天機器人
這時候你會看出現下方 ( 圖) 的畫面,你就可以跟聊天機器人進行對話。

下圖是你測試後的情況,一開始跟 Agent 互動時都沒有問題,對於一般性的問答,它都能理解你要問的意圖並給予適當回應,但當詢問訂位日期時,Agent 對於你所輸入的任何日期,都無法理解,那是因為我們並沒有訓練它要認識各種時間或日期這個 Intent ( 意圖)。

我們將試著進行下一個專案來做調整,讓它能夠更聰明地與我們互動!(如下圖)

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