iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 29
1
AI & Data

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

Voice App 開發實務 #28 dialogflow Intent的 對話設計

  • 分享至 

  • xImage
  •  

本篇想的都是從純語音溝通做為思考的出發點,不考慮有營幕的狀況。
dialogflow有google自已原版的對話設計的教學 ,連結如下,可是我覺得這個教學會讓你越看頭越痛,進入五里雲之中,但我覺得這明明是一個很簡單的對東西,所以小弟我就提出自已的想法,還望幫的上各位。

https://designguidelines.withgoogle.com/conversation/conversation-design-process/gather-requirements.html#

翻開你的文法書,語音裝置的對話設計,就把三個基本句型做好,體驗就贏人家n倍了。

Intent 就以這三個基本句型出發

肯定敘述句(通常有明確的目地):打開電燈!,幫我叫計程車!,我要聽劉德華的歌!
疑問句 Yes/No:今天有播七寶奇謀嗎?有沒有劉德華的歌?這附近有計程車嗎?
疑問句 Wh+( Who, What, Which, When, Where, Why, How):幾點播七寶奇謀?誰有演世間情?那裡買的到大麥克?
假設今天我們做的是一個?巴克咖啡的Voice App好了:

那基本的對話如下:

肯定敘述句:

我要點{冷熱}{尺寸}{大小}{種類}{產地}咖啡!

可以發現不填括號內的內容,句子還是成立的,只是你就不知道店員會做什麼咖啡給你喝了。
通常在資訊不清楚會造成上述狀況時,就會設計follow-up question。

我要點牛肉麵

雖然在咖啡廳點牛肉麵好像不太合理,但遠?咖啡真的有提供。

疑問句 Yes/No:
請問你們有{冷熱}{尺寸}{大小}{種類}{產地}咖啡嗎?

回覆有或沒有之後,通常還會有follow up question詢問細節,例如要點嗎?然後會再設計一個觸發的action或是提供相關的資訊,例如:問:請問有外送嗎?有的,但我們滿200元才外送。

疑問句 Wh+( Who, What, Which, When, Where, Why, How):
營業到幾點?
有賣那些種類的咖啡?
這些咖啡豆的產地?

營業到幾點的資訊可能不夠明確,你可能還得問他,問的是今天嗎?或是直接給他相關的資訊,總之還是得看你們對問題的設計。

follow-up的問題設計

主要目地通常是為了讓資訊更清楚,並在明確之後,回覆;或觸發你所其待的動作,例如完成點餐。

客:請問你們有摩卡咖啡嗎? 疑問句 Yes/No

bot:有的,請問大中小?follow up 疑問句 Which

客:大!肯定敘述句

bot:冷熱?follow up 疑問句 Which

客:熱 肯定敘述句

bot:好的,熱摩卡,咖啡是現煮的,約再等十分鐘,可以嗎?follow up疑問句 Yes/No

客:我趕時間,有其他比較快的咖啡嗎?follow up疑問句 Yes/No

bot:有的,為你推薦熱卡布奇諾,可以嗎? follow up疑問句 Yes/No

客:好!

光是這樣的常見對話,要讓使用者體驗正常,就很不簡單了,一開始就要撈資料庫,有無該品項,品項有無量,故資料庫得即時,客人要換別的時,還得作相關推薦,相關要怎麼決定?tag,價格嗎?那尷尬了,牛肉麵跟熱摩卡可能價格相近,tag剛好又多雷同,但人家要的是咖啡喔,那權值怎麼訂,讓AI了解,這兩個品項差很多呢?

結論:
剛開始作dialogflow 的model設計時,總會一頭霧水,不知道如何開始作intent,但當你將所有對話展開,依照這三個句型分類時,就會變的很明朗了,難後你就會進階到發現 follow up 很難設計啊!


上一篇
actions-on-google 建置 Google Home App #27 Knowledge connectors BETA
下一篇
Line clova-cek-sdk-nodejs 撰寫clova skill #29 導入
系列文
Voice App 開發實務:使用Diagflow+firebase開發Google home App (google assistant action)31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言