Alan Tsai 的學習筆記


學而不思則罔,思而不學則殆,不思不學則“網貸” 為現任微軟最有價值專家 (MVP)、微軟認證講師 (MCT) 、Blogger、Youtuber:記錄軟體開發的點點滴滴 著重於微軟技術、C#、ASP .NET、Azure、DevOps、Docker、AI、Chatbot、Data Science

[chatbot + AI = 下一代操作模式][17]語義識別服務 - LUIS概念介紹

[chatbot + AI = 下一代操作模式][17]語義識別服務 - LUIS概念介紹.jpg
圖片來源:https://pixabay.com/en/books-spine-colors-pastel-1099067/ 

在上一篇([16]Bot Builder SDK開發總結 - 下一步是搭AI服務)快速的總結了目前爲止的内容以及接下來的重點,Cognitive Service的AI服務包含的内容。

這篇將來看看最會被用到的服務,語義識別的AI 服務 LUIS的基本概念介紹。

什麽是LUIS?

LUIS其實是一個縮寫,全稱是:Language Understanding Intelligent Service。服務的首頁可以在https://www.luis.ai看到。

整個LUIS背後是由Azure在運行,luis.ai這個網站則是用來管理文字分析用的一個界面。因此,整個的LUIS操作以及使用都是在這個網址上面。

LUIS有提供免費的服務,不過如果需要更加穩定的服務,可以選擇付費。而費用則是和Azure 訂閲綁在一起。

LUIS解決什麽問題?

上面提到LUIS是一個語義識別的服務,不過這是什麽意思?

舉個例子來説好了,假設今天在酒店櫃檯,有個客人走過來并且説了一句:我想要訂1間雙人房2個晚上

作爲人類很直覺的會把部分語句拆出來:

  1. 客人想要訂房
  2. 需要1間房間
  3. 要住2個晚上

人類很直覺的把這段語句處理好了,可是如果程式面要處理這個可以怎麽做?當然,可以用拆字的方式,但是同樣意思的内容可以有好多種説法,總不可能把每種拆字組合都寫起來吧,那工程師不用做其他邏輯光在定義這些拆字法就搞死自己了。

LUIS就是一個幫工程師解決這個問題的服務。換句話説,透過簡單的設定可以讓輸入的語句拆解出類似上面列出的結構。

因此,LUIS是個語義識別的服務,透過直覺的設定來建立出符合自己application的文字分析模型。

LUIS幾個keywrod及概念

LUIS有幾個keywrod,把幾個keyword搞懂之後,在實際設定文字模型就不會有什麽問題。

Intent - 意圖
任何一個語句都有某個目的,在LUIS裡面稱之爲Intent。例如想要訂房,是屬於訂房的意圖,如果是要查飯店,那麽就屬於查找的意圖。意圖是LUIS的最基本概念,因此在規劃的時候要先把所有意圖定義出來。
Utterances - 句子
Intent是由多個Utterances組合。舉例來説,我要訂1間雙人房我要訂3間單人房2個句子(Utterances)都屬於訂房意圖(Intent)
Entities - 名詞

有了Intent和Utterances在判斷簡單的Intent的時候就夠用,但是有些句子裡面的關鍵字是需要截取出來,這些就是entities。

還是用上面的例子,會發現兩個句子裡面大部分一樣只有兩個地方不同:

  1. 1間 vs 3間
  2. 雙人房 vs 單人房

這些不同之處是想要截取出來的部分 - 可以想象,從開發的角度來説,訂房可能是個方法,這兩個值會是參數的一部分,因爲其他邏輯都會一樣。在LUIS裡面來説,截取出來的部分就是Entities。

依照不同的資料内容,在定義Entities的時候可以給與不同的形態。例如,數字類型還是日期類型等等。

LUIS有一些内建可以直接使用的Intent以及可以直接使用的Entities,開發者只需要透過luis.ai的網頁就可以設定自己的utterances以及intent來符合業務的需求。

爲什麽使用LUIS而不是其他的服務?

像LUIS這種的服務網路上還是有類似的,并且使用上概念非常類似。如果有用過別的語義識別的服務,那麽對於切換到LUIS不會覺得很突兀,因爲概念都差不多。

不過LUIS的優勢是什麽呢?爲什麽考慮用LUIS而不是用其他的?

當然,有部分是因爲LUIS在使用上非常的容易,并且和Azure有深度整合,在付費的地方又和Azure綁在一起,因此付款很方便。除了這些有點之外,LUIS其中一個很大的優勢是有支援中文

中文是世界上最難處理的語言之一,原因在於英文可以透過空白簡單斷字,但是中文不依靠空白,并且判斷需要依靠文字的上下文,因此斷錯地方,意思完全不一樣。

因此,要做中文的語義識別是非常的困難。因此有這麽一個LUIS服務對於開發者來説省掉非常多的事情。

結語

在這篇介紹了LUIS的用途以及基礎的概念,透過這一篇對於整個LUIS的運作應該有了一個模糊的概念。

在下一篇([18]在LUIS建立app - 概念變成實作),將會把這篇瞭解到的基礎和概念在luis.ai的網頁上面實際以目前的例子操作一遍,把理論和實際使用結合。


如果文章對您有幫助,就請我喝杯飲料吧
街口支付QR Code
街口支付QR Code
台灣 Pay QR Code
台灣 Pay QR Code
Line Pay 一卡通 QR Code
Line Pay 一卡通 QR Code
街口支付QR Code
支付寶QR Code
街口支付QR Code
微信支付QR Code
comments powered by Disqus