iT邦幫忙

2021 iThome 鐵人賽

DAY 27
1
Software Development

Laravel 新手初見 API系列 第 27

Day27-介接 API(番外篇 II)Dialogflow ES 之 Intents 與 Entities

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

CREATE INTENT

在左側選單點擊 IntentsCREATE INTENT

選擇有點多...
來簡單認識一下這些選項有什麼作用吧!
首先從 Training phrases 開始!

Training phrases

將同意圖的問句設置在此,
好用來訓練 Agent 分辨哪些類似的問句要用什麼 Intent 處理。

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

Responses

設置要回傳的內容。

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

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

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

Action and parameters

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 待會實作環節在做介紹,
EventsFulfillment 我們日後再做說明。

Entities

我們直接透過實作來認識 Entities,
來訓練我們的 Dialogflow 區分水果與蔬菜吧!

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

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

成果預覽:

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

成功~

Contexts

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

點擊 Add follow-up intent

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

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

成果預覽:

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

參考資料:


上一篇
Day26-介接 API(番外篇 I)NLP 自然語言處理之初見 Dialogflow ES
下一篇
Day28-介接 API(番外篇 III)Dialogflow ES 之 Fulfillment 與 Events
系列文
Laravel 新手初見 API30

尚未有邦友留言

立即登入留言