基本概念
首先,我們需要知道一些概念,LUIS的基本功能(以後有空再說複雜的),就是分析一句話,區分出用戶的意圖(Intent)和相關的entities,我們看底下這張圖:
拿點餐這個Intent來說,如果我們要點一個早餐,用語(句型)大概會是:
我要點一份燒餅油條
麻煩你我需要一份蛋餅
給我來個大亨堡
三明治帶走
上面這四句話,基本上intent都是『客戶點餐』,而其中的entities則是『餐點』,具體的內容(Entity Value)是燒餅油條、蛋餅、大亨堡、三明治。
而LUIS的目的,是幫我們在雲端分析各種不同的句型,找出用戶的意圖,並且抓出entities。而且,由於用戶不可能只用上面這四種說法點餐,有時候可能會換成底下這樣:
今天請幫我來一個飯糰
這個句型就跟上面四種截然不同,但LUIS能夠從雲端大量的語句資料庫中,幫我們進行歸納,判斷(評估)這個句型的相似性,以判斷其意圖,和抓取其中的關鍵字。
一開始可能判斷不對,這時人工可以介入,指導LUIS,讓它理解上面這個句型就是『點餐』,這樣下次LUIS就知道了。而其中的entities也是,餐點種類繁多,第一次LUIS可能不知道有個餐點名稱叫做『飯糰』,所以它抓不出這個entity,但你可以指導它,它就知道下次在某種句型中看到飯糰,就可以將其視為entity。
而一但當我們透過LUIS服務,建立好了這個基礎架構之後,我們就可以用程式碼,把從bot接收到的語句,透過API丟給雲端的LUIS進行判斷,LUIS就會告訴我們,用戶所輸入的這個語句,其意圖intent與entities為何。
以便於我們的chat bot進一步就後續的回覆與處理。