iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 18
0

在上一篇介紹完了微軟的語義識別服務LUIS的概念之後,在這一篇將把理論變成實作。

來看一下怎麽實際建立出一個符合目前chatbot的模型。

如何開始使用LUIS?

要使用LUIS要做以下幾個動作:

登入到luis.ai的系統
建立一個Application
定義一個intent
輸入和這個intent相關的utterances
訓練模型
測試及矯正識別結果

登入到luis.ai的系統

整個LUIS的操作都要透過https://wwww.luis.ai這個網站,進去了之後就有一個Login/Sign up的按鈕。

最好選擇有Azure Subscription的帳號,是爲了當需要切換到付費的時候比較方便。當然,之後就算要把在LUIS建立出來的model做搬遷到其他帳號也能夠非常容易做到,因此也不用太過擔心。

建立一個Application

在LUIS,每一個模型都是一個Application,畢竟不同的application在對待相同的utterance可能是不一樣的處理方式。

所以,要開始之前需要建立一個Application。

可以透過,在My Apps下面的按鈕Create new app來建立新的application:

chrome_2018-07-23_17-06-39.jpg
Create new app的截圖
按下之後,會有個pop up出現,需要輸入:

app的名稱,這個注意不要和其他app的名字重複了
culture - 這邊只得是會用來輸入的文字語言。和界面語言沒有關係。因此,如果今天建立的是給英文語系的app,那就是留English
description - 這個隨意,是在app 清單裡面用來自己區分差別的文字
沒問題之後就按下Done就好了
chrome_2018-07-23_17-11-34.jpg
建立出新的app pop up畫面欄位截圖
稍等一下,就會自動進入到App的首頁

chrome_2018-07-23_17-14-33.jpg
app首頁
可以看到,預設會建立一個intent叫做None。

定義一個intent

可以透過按下Create new intent來建立新的intent:

chrome_2018-07-23_17-17-31.jpg
在Intents 裡面 按下Create new intent
這個時候會跳出一個pop up設定intent的名稱:

chrome_2018-07-23_17-19-10.jpg
輸入intent名稱
intent 名稱可以是中文,不過個人習慣還是會寫英文。
稍等一下會直接進入到這個intent的utterance以及entity定義畫面。

chrome_2018-07-23_17-20-43.jpg
建立完intent看到的畫面

輸入和這個intent相關的utterances

直接在輸入框裡面輸入和這個intent相關的utterance然後按下enter鍵即可,utterance將會在清單裡面出現:

chrome_2018-07-23_17-25-03.jpg
輸入utterance
加所有目前可以想象的到的utterance進去,越多越好,建議每一個intent最好有5個utterance以上。

訓練模型

當Utterance都輸入好了之後,接下來就是要把這些輸入内容“儲存”到模型裡面,因此要做一個訓練模型的動作。

可以點右上角的Train來執行:

chrome2018-07-2317-59-01.jpg
右上角Train按鈕的位置
如果有修改沒有Train過,按鈕前面會有個紅色的點,因此如果未來在測試發現怎麽都沒有用,注意看看是不是還沒有Train過。
Train會需要一些些時間,如果train好了,除了紅點會變成綠點之外,如果是第一次train,右邊的Test按鈕會變成可以按。

測試及矯正識別結果

當模型透過Train建立出來了之後,可以做測試:

透過右上角的按鈕
輸入要測試的語句,按下enter按鍵
看看測試結果
chrome_2018-07-23_18-04-42.jpg
測試模型的按鈕
如果說測試的語句裡面發現定位intent錯誤,例如輸入:找住的地方,這個時候可以透過:

按下Inspect連接
在Intent旁邊按下Edit - 截圖沒有這個按鈕,因爲按下去就不見了,但是實際上會有
在輸入框找到正確的intent即可
chrome_2018-07-23_18-08-34.jpg
透過inspect來修正intent
inspect還有別的功能,例如可以把目前版本和正式版本(production)做比對,或者可以看到斷出來的entities等,這些功能未來會在介紹。

題外話,從截圖可以看到,其實SearchHotel的intent判斷率也有30%,和None只差了2%。因此,LUIS不是想象中簡單文字清單而已,内部是由很多複雜的AI邏輯在裡面。因此,語句越多,判斷的成功率也越高。
有個地方要注意,當修改完intent,記得要按下Train才有效果。
當更新好了之後,在測試一次,會發現準確的定位到了intent。

結語

這篇看了怎麽建立LUIS的application并且幾個重要的概念,intent以及utterance怎麽建立。luis還有蠻多的細節還沒有介紹,例如entities的使用,建立phrase lists等,這些在未來篇幅會在介紹。

有了LUIS的application之後,接下來就是要結合在chatbot上面,下一篇,將來看看如何發佈今天建立的LUIS application,并且看看BotBuilder内建的LuisDialog怎麽讓chatbot和luis無縫接軌。


上一篇
[17]語義識別服務 - LUIS概念介紹
下一篇
[19]把LUIS和BotBuilder整合
系列文
使用 Microsoft Conversational AI Tools - 打造新时代的UI界面30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言