iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 4
0
AI & Data

Voice App 開發實務:使用Diagflow+firebase開發Google home App (google assistant action)系列 第 4

如何使用Dialogflow建立Chatbot #3 對話流程設計

  • 分享至 

  • xImage
  •  

在上一章中,我們建立了一個基本的聊天機器人,使用他來幫我們查詢桃園市有沒有路邊停車的車位,但你有注意到嗎?

當我們問完該路段有無停車位後,要問該路段的收費方式時,還得再提供一次路名。

這是不是有點煩呢!

因此,在本章中,我們將試著保留以前與用戶的對話中的相關訊息來讓我們的chatbot更聰明一些。

如何使用Dialogflow建立Chatbot
#1 介紹
#2 建立agent
#3 對話流程設計
#4 使用fulfilment串API
#5 使用fulfilment webhook串API
#6 部屬至 Line bot 上

Using Dialogs for Managing Conversations 線性對話

線性對話可以單一intent或多個intent中傳遞
Context可以完成訊息在Intent中的傳遞,登登 Context 登場!
**Context: **在線性對話中,完成訊息在Intent中的傳遞

在Intent: CanParking 裡的Contexts的output context 裡設定 parking_context

5是對話生命周期,就是這個參數可以存多久


在Intent : ParkingPayment 裡的Contexts的 input Context輸入parking_context

在 intent : Parking Payment 及 intent CanParking 裡,設定 Default Value。

輸入 #parking_context.Roadname

這個參數就可以被存在Context裡了。

玩玩看吧!


Linear Dialog using a Followup Intent 使用Follow up Intent來做

先清空上面的Context及default value的設定。

點add follow-up intent

選custom

編緝 CanParking

訓練follup的句子

新增回覆

試試吧!

好了!到目前為止,我們都是以問該路段有沒有停車位,再問收費方式,線型的表述;但真實的世界裡,通常不是線性的。

所以你知道 follow-up intent 跟傳遞 context 在intent 中,因該要怎麼設計你的對話情境,你應該有所了解了吧!



上一篇
如何使用Dialogflow建立Chatbot #2 建立agent
下一篇
如何使用Dialogflow建立Chatbot #4 使用fulfilment串API
系列文
Voice App 開發實務:使用Diagflow+firebase開發Google home App (google assistant action)31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

1
hfrkcy4664
iT邦新手 5 級 ‧ 2018-11-16 17:29:19

感謝 Wolke大分享,看了前4章又讓我更熟悉df的使用了!!
不過有幾個問題想請教,
1.請問"Events"的功能為何? 其中的 platform events 及 custom events 的差異又是甚麼呢?
2.不同的Agents間是否能互通資訊呢?(像intent的contexts)
3.add follow up intent的主要目的是在設定上下文嗎? 不好意思,我看完上面還是不太懂

以上,若方便的話,再請 Wolke大給予一些指導,謝謝囉~

Wolke iT邦新手 1 級 ‧ 2018-11-16 17:58:45 檢舉

1.你先參考 Default Welcome Intent 他的event設定裡面有一個 Welcome , 意思是說,當使用者一呼叫這個 agent 時, event Welcome就會被促發. 而 actions on google 還有定義很多event 可以被dialogflow 使用https://developers.google.com/actions/assistant/helpers
2.沒試過,應該不行吧,因為每個agent都可以在integration 裡設定成為一支獨立的bot,假設可以互傳, 之前滿多人用 dialogflow做fb messenger bot, 感覺會有災情產生。
3.follow up intent 通常是釐清使用者的問題吧!

好的,大致理解了,感謝你的回覆!!

proaben iT邦新手 5 級 ‧ 2019-09-06 12:00:52 檢舉

感謝 Wolke大分享!
想請教:
我的情境是:
用戶-> 機器人: 『我要看影片』
機器人->用戶:『請問要看哪一種類型』
用戶-> 機器人:『Netflix』
機器人->用戶:『以下是Netflix的一些片單提供您參考』

以上我有設定Action and parameters,設定參數為movietype,
也有設定Entities,幫一些類型歸類

但好奇,若用戶詢問機器人 『我要看Netflix影片』,DialogFlow也能正確判斷出來。
是因為DialogFlow可以取出符合Entities定義的關鍵字傳入參數嗎?
這樣若是沒有跨Intent,是否就不需要設定Context? 謝啦

我要留言

立即登入留言