在上一篇([17]語義識別服務 - LUIS概念介紹)介紹完了微軟的語義識別服務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:
按下之後,會有個pop up出現,需要輸入:
- app的名稱,這個注意不要和其他app的名字重複了
- culture - 這邊只得是會用來輸入的文字語言。和界面語言沒有關係。因此,如果今天建立的是給英文語系的app,那就是留
English
- description - 這個隨意,是在app 清單裡面用來自己區分差別的文字
- 沒問題之後就按下
Done
就好了
稍等一下,就會自動進入到App的首頁
可以看到,預設會建立一個intent叫做None
。
定義一個intent
可以透過按下Create new intent
來建立新的intent:
這個時候會跳出一個pop up設定intent的名稱:
稍等一下會直接進入到這個intent的utterance以及entity定義畫面。
輸入和這個intent相關的utterances
直接在輸入框裡面輸入和這個intent相關的utterance然後按下enter鍵即可,utterance將會在清單裡面出現:
加所有目前可以想象的到的utterance進去,越多越好,建議每一個intent最好有5個utterance以上。
訓練模型
當Utterance都輸入好了之後,接下來就是要把這些輸入内容“儲存”到模型裡面,因此要做一個訓練模型的動作。
可以點右上角的Train
來執行:
Train會需要一些些時間,如果train好了,除了紅點會變成綠點之外,如果是第一次train,右邊的Test
按鈕會變成可以按。
測試及矯正識別結果
當模型透過Train建立出來了之後,可以做測試:
- 透過右上角的按鈕
- 輸入要測試的語句,按下enter按鍵
- 看看測試結果
如果說測試的語句裡面發現定位intent錯誤,例如輸入:找住的地方
,這個時候可以透過:
- 按下
Inspect
連接 - 在Intent旁邊按下
Edit
- 截圖沒有這個按鈕,因爲按下去就不見了,但是實際上會有 - 在輸入框找到正確的intent即可
inspect還有別的功能,例如可以把目前版本和正式版本(production)做比對,或者可以看到斷出來的entities等,這些功能未來會在介紹。
Train
才有效果。
當更新好了之後,在測試一次,會發現準確的定位到了intent。
結語
這篇看了怎麽建立LUIS的application并且幾個重要的概念,intent以及utterance怎麽建立。luis還有蠻多的細節還沒有介紹,例如entities的使用,建立phrase lists等,這些在未來篇幅會在介紹。
有了LUIS的application之後,接下來就是要結合在chatbot上面,下一篇([19]把LUIS和Bot Builder SDK整合),將來看看如何發佈今天建立的LUIS application,并且看看Bot Builder SDK内建的LuisDialog怎麽讓chatbot和luis無縫接軌。