本篇想的都是從純語音溝通做為思考的出發點,不考慮有營幕的狀況。
dialogflow有google自已原版的對話設計的教學 ,連結如下,可是我覺得這個教學會讓你越看頭越痛,進入五里雲之中,但我覺得這明明是一個很簡單的對東西,所以小弟我就提出自已的想法,還望幫的上各位。
翻開你的文法書,語音裝置的對話設計,就把三個基本句型做好,體驗就贏人家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 很難設計啊!