聊天機器人為 CUI(Conversational user interface) 聊天介面應用程式,與網頁, APP等GUI(Graphical user interface) 圖像介面應用程式不同,GUI應用程式使用圖像,表單,選項等控制選項,引導使用者應用程式,CUI應用程式如聊天機器人則無法控制使用者會輸入什麼訊息,聊天機器人其智慧能回應的問題完全取決於程式腳本的豐富度,但使用者的輸入往往會超出預期,以先前的口罩查詢機器人為例:
當使用者輸入查詢口罩相關的訊息時,聊天機器人要求使用者輸入定位座標,但我們不可能將所有使用者可能的輸入都預設好,如下圖:
雖然輸入類似的訊息但對機器人來說是例外訊息
我們總不能把程式這樣寫吧,因為我們不可能列出使用者可能輸入的所有語句!
export const textUnderstanding = (phrase: string, replyToken: string) => {
switch (phrase) {
case "哪裡還有口罩":
case "口罩剩餘數量查詢":
case "查詢口罩商店地點":
case "幫我尋找口罩特約商店":
case "查詢附近口罩特約商店":
case "哪邊買得到口罩":
case "口罩查詢":
case "口罩商店查詢":
case "尋找口罩":
const replyMessage = "請輸入定位地點以查詢口罩特約商店"
lineService.replyMessage(replyMessage, replyToken)
break;
default:
const defaultMessage = "很抱歉我聽不懂!請查明後再查詢"
lineService.replyMessage(defaultMessage, replyToken)
break;
}
}
因此我們希望使用Azure 認知服務中的Language Understanding 服務 (LUIS) ,讓應用程式了解人力自然語言文字中所表達的意思。
接下來的幾天將會帶大家了解如何使用Azure 認知服務-Language Understanding來了解自然語言,並整合至聊天機器人中來處理使用者輸入的訊息。