大家好~
今天來一起實作 Intents 與 Entities 吧!

在左側選單點擊 Intents 後 CREATE INTENT。

選擇有點多...
來簡單認識一下這些選項有什麼作用吧!
首先從 Training phrases 開始!
將同意圖的問句設置在此,
好用來訓練 Agent 分辨哪些類似的問句要用什麼 Intent 處理。

假如我想要這個 Intent 負責處理建立會議的任務,
那麼就在 Training phrases 內放入我們想到的一些問句來訓練 Agent。
設置要回傳的內容。

上圖中的 $date-time.original 待會 Action and parameters 會再做說明。

Response 也可以用其他 integration 提供的模板,
回傳純文字以外的內容。
下圖是可以在 LINE 上用的訊息模板:

其他 integration 支援的 Rich response messages 可以看這篇
官方文件~

ENTITY 有 Dialogflow 預設與自訂,
Dialogflow 預設的 entities 列表可以參考這篇官方文章,
這裡僅會用 @sys.date-time 做示範。
剛剛在 Responses 內設置的 $date-time.original,
就是在 Response 中引用 Parameter,$date-time.original 為引用用戶輸入的原始資料。
回傳結果如下圖:

如果沒有加上 .original,
而是引用 $date-time就會變成:

Dialogflow 幫我們辨識句子內的要求後,
做好了時間的運算,

測試當下時間為 2021-10-12T13:55:35+08:00,
Dialogflow 傳給我們的是 2021-10-12T16:55:35+08:00,
為三小時後的時間。
Contexts 待會實作環節在做介紹,
而 Events 與 Fulfillment 我們日後再做說明。
我們直接透過實作來認識 Entities,
來訓練我們的 Dialogflow 區分水果與蔬菜吧!

新增一個 Entity,
再輸入兩個 Reference value 與其對應的 Synonym。

建立一個 Intent 訓練他到能分辨句子內的 Entity。



用畫面右側的測試區來做測試。


成功~
上下文 Contexts 也透過實作來認識吧!
要建立 Contexts 十分簡易~

點擊 Add follow-up intent

除了有 custom 可以自訂之外,
Dialogflow 也有已經幫我們訓練好的 Intents 可以選用喔~

上圖是我設計好的一段對話流程~
來看看成果如何吧!

今天先這樣吧!
若文章有任何問題,
還請大家不吝賜教!
大家明天見!