LUIS 是自然語言的語意分析服務,接下來的文章會用官方文件為基底,開始學習如何建立屬於自己的 LUIS 服務,過程中我會將這些步驟記錄下來,希望也能對別人有所助益
參考文件:安裝和執行適用于 LUIS 的 Docker 容器
什麼是 Language Understanding Intelligent Service (LUIS)?#
在LUIS文件首頁的地方我看到這句話,真的是很精簡:了解 Language Understanding 如何讓應用程式了解人在文字中所表達的意思
我們可以從概觀頁面中看到定義
Language Understanding(LUIS) 是一種雲端式交談式 AI 服務,可將自訂機器學習智慧套用至使用者的對話、自然語言文字中,以預測整體意義,並找出相關的詳細資訊。
LUIS 的用戶端應用程式是任何對話應用程式,可與使用者透過自然語言溝通以完成工作。 用戶端應用程式的例子包括社群媒體應用程式、AI 聊天機器人,以及啟用語音功能的桌面應用程式。
從上面這簡短的介紹當中可以發現 LUIS 能被廣泛的應用到很多的情境中,相信能夠為我們實務上的問題帶來一些嶄新的解決方案,我是還蠻期待的,至於有沒有用,那就之後慢慢看下去吧
事前準備#
因為LUIS需要在Azure裡面先建立起服務,所以可想而知的也必須要先有個Azure帳號才能夠使用,但我們可以使用免費的額度來進行測試開發使用,所以不用太擔心費用的問題
申請完畢之後,登入Azure

建立資源

luis可看到language understanding


LUIS,稍後也會將它發布出去測試,所以選擇兩者,如果想了解細節的人,可以看看定價


F0免費的來測試
建立完畢 LUIS 服務後,接著到LUIS 網站去建立 luis 應用程式

New App,他會跳出一個燈箱讓我填寫新的 App 資料;如果是第一次進入,印象是會要你選擇剛剛在Azure建立的資源,才可以繼續使用
建立模型#
首先需要先知道一下整個 LUIS 的概念,我們以點餐為例,在Intents裡面新增一個點餐行為
然後輸入幾個口語化的訂單範例給他,注意要不同的句型喔

Entities去建立

再次回到Intents就可以將剛剛的點餐範例,標記上哪個東西代表的是餐點名稱了
當我們都設定完畢後,就可以點右上角的Train去訓練我們的模型了
訓練完畢之後我們可以在Test測試我們的模型
可以看到他預測這個輸入的文字,意圖是點餐行為,但是他沒有抓到正確的 Entities

接下來我們講講複雜一點的實體,再剛剛操作的是機器學習的 Entity,稱之為 ML Entity,那這個東西他是可以做階層的,再這邊我另外做了一個小吃攤的點餐行為,先建立一個叫做餐食的 entity,並且加上幾個子實體,分別是餐點的份量、麵條種類以及主菜

這樣的話,測試的結果會在餐食底下看到各個子實體
細節的部分請參照說明文件
發布#
右上角的Publish按鈕點下去後他會問說要發佈到哪裡去,我們因為只是測試練習,所以就直接發到production去

- APIkey
- EndPoints
- 測試用的網址
我們可以直接用測試網址後面帶 QueryString 去測試語句,測試結果會回應 Json 資料格式