為應(yīng)用增加語(yǔ)言理解功能
LUIS 為你提供一種簡(jiǎn)單的模型創(chuàng)建方式坞琴,使你的應(yīng)用程序能夠理解諸如“開燈”或“訂購(gòu)去巴黎的機(jī)票”等用戶命令。創(chuàng)建后逗抑,只需單擊一次即可將模型發(fā)布成HTTP服務(wù)剧辐,并返回易于使用的 JSON寒亥。
使用LUIS的好處
人 - 計(jì)算機(jī)交互中的關(guān)鍵問題之一是計(jì)算機(jī)能夠理解人們想要什么,并且找到與他們的意圖相關(guān)的信息片段的能力荧关。例如护盈,在旅行社應(yīng)用程序中,你可以說“幫我預(yù)訂一張票到巴黎”羞酗,在這種情況下有意圖“訂票”,而“巴黎”是位置實(shí)體紊服。意圖可以被定義為期望的動(dòng)作檀轨,并且通常包含動(dòng)詞,在這種情況下是“預(yù)訂”欺嗤,并且實(shí)體是動(dòng)作要處理的主要和次要目標(biāo)参萄,在這種情況下是“巴黎”。
一旦應(yīng)用程序上線煎饼,接收到真實(shí)的數(shù)據(jù)讹挎,LUIS會(huì)使用主動(dòng)學(xué)習(xí)來(lái)提高自身。在主動(dòng)學(xué)習(xí)過程中吆玖,LUIS將模棱兩可的文本識(shí)別出來(lái)筒溃,并要求你根據(jù)意圖和實(shí)體標(biāo)記它們。其次沾乘,通過專門的樣本怜奖,LUIS可以快速地學(xué)習(xí),短時(shí)間內(nèi)達(dá)到特定領(lǐng)域較高的智能水平翅阵。
本地化支持
LUIS UI始終為英語(yǔ)歪玲,但在理解語(yǔ)音時(shí),支持英語(yǔ)掷匠,法語(yǔ)滥崩,意大利語(yǔ),西班牙語(yǔ)和中文等多種語(yǔ)言讹语。
以編程方式訪問LUIS
LUIS提供了一個(gè)可編程的REST API钙皮,可用于自動(dòng)化創(chuàng)建和發(fā)布特定語(yǔ)意模型。
首次使用LUIS
要使用LUIS募强,請(qǐng)確保你有最新版本的Microsoft Edge株灸,Internet Explorer或Google Chrome。 轉(zhuǎn)到主頁(yè)www.luis.ai并登錄擎值。您將看到如下所示的屏幕慌烧。
創(chuàng)建你的第一個(gè)LUIS應(yīng)用程序
所有LUIS應(yīng)用程序都圍繞特定領(lǐng)域的主題,例如預(yù)訂機(jī)票鸠儿,航班屹蚊,酒店厕氨,租車等或與鍛煉有關(guān)的內(nèi)容,跟蹤健身努力和設(shè)置目標(biāo)汹粤。在創(chuàng)建LUIS應(yīng)用程序之前命斧,你需要確定特定領(lǐng)域的主題。在這種情況下嘱兼,讓我們以虛擬旅行預(yù)訂代理應(yīng)用程序?yàn)槔帷T趹?yīng)用程序中,你將捆綁對(duì)您的任務(wù)很重要的意圖和實(shí)體芹壕。與旅行預(yù)訂相關(guān)的兩個(gè)意圖是“預(yù)定飛機(jī)票”和“了解天氣情況”汇四。兩個(gè)重要的實(shí)體是“位置”和“日期”。一旦你確定了意圖和實(shí)體踢涌,當(dāng)用戶與你的應(yīng)用程序交互時(shí)通孽,LUIS可以采取適當(dāng)?shù)男袆?dòng)。
步驟1:創(chuàng)建應(yīng)用程序
單擊“My Applications”睁壁,然后單擊“New App”按鈕創(chuàng)建一個(gè)新的應(yīng)用程序背苦。在對(duì)話框中,將其命名為“TravelAgent”潘明。然后單擊“Add App”行剂。
步驟2:添加意圖,實(shí)體和標(biāo)簽
接下來(lái)钉疫,我們將向應(yīng)用程序添加兩個(gè)意圖硼讽。 在菜單面板的左上角,你將看到一個(gè)意圖區(qū)域牲阁。 所有應(yīng)用程序都有一個(gè)預(yù)定義的意圖固阁,“None”。 這將識(shí)別與應(yīng)用程序無(wú)關(guān)的用戶語(yǔ)句城菊,例如备燃,如果有人說“給我一個(gè)很棒的甜點(diǎn)食譜”。
然后點(diǎn)擊水平欄上的意圖旁邊的+凌唬。 你將看到一個(gè)對(duì)話框并齐,以添加新的意圖。 輸入“BookFlight”的意圖名稱客税,以及觸發(fā)意圖為“Book flight to Paris”的示例命令况褪。 這將看起來(lái)像下面的屏幕截圖。
單擊“Save”更耻、單擊“Submit”完成操作测垛。
接下來(lái),添加第二個(gè)名為“了解天氣情況”的意圖秧均,使用觸發(fā)意圖的示例命令為“倫敦的天氣怎么樣”食侮。單擊保存号涯、單擊提交。
定義實(shí)體
在左側(cè)面板上锯七,你將看到一個(gè)添加實(shí)體的選項(xiàng)链快。我們希望能夠說出我們感興趣的旅行方式,并且規(guī)劃目的地眉尸,了解旅行目的地的天氣情況域蜗。為了捕獲“位置”的主題,讓我們創(chuàng)建實(shí)體類型:“位置”噪猾。為此地消,請(qǐng)單擊實(shí)體欄上的“+”按鈕,然后在文本輸入框中鍵入“位置”畏妖。你現(xiàn)在已創(chuàng)建一個(gè)名為“位置”的簡(jiǎn)單通用實(shí)體,通常是你可能需要的疼阔,但有更多的高級(jí)選項(xiàng)戒劫。
分層實(shí)體
你還可以定義實(shí)體之間的繼承關(guān)系。通用實(shí)體用作父級(jí)婆廊,子級(jí)是父級(jí)下的特定類型或子組迅细,但兩者具有相同的特性。例如淘邻,通用實(shí)體可以稱為“位置”茵典,并且該父實(shí)體的特定自級(jí)可以稱為“目的地”和“出發(fā)地”。 LUIS服務(wù)可以在解析語(yǔ)音宾舅,構(gòu)建模型和訓(xùn)練它們時(shí)識(shí)別這種類型的實(shí)體及其子實(shí)體统阿。
定義分層實(shí)體
使用上述“位置”示例,請(qǐng)按照下列步驟操作筹我。
在“應(yīng)用程序編輯器”工作區(qū)中扶平,在左側(cè)菜單面板中查找“Entities”,然后單擊+號(hào)蔬蕊。
在“Add a new Entity”對(duì)話框中结澄,鍵入“位置”作為實(shí)體名稱。
單擊“Entity Children”旁邊的加號(hào)岸夯。
在出現(xiàn)的文本框中麻献,鍵入第一個(gè)子實(shí)體的名稱“目的地”。
再次單擊加號(hào)以添加第二個(gè)子實(shí)體“出發(fā)地”猜扮,依此類推勉吻。
如果要?jiǎng)h除子實(shí)體,請(qǐng)點(diǎn)擊子實(shí)體旁邊的垃圾桶標(biāo)志破镰。
完成后餐曼,單擊“保存”压储。
使用必應(yīng)的預(yù)定義實(shí)體
假如你的應(yīng)用程序要發(fā)出一組旅行預(yù)訂請(qǐng)求,你可能會(huì)想說一些像“幫我預(yù)訂5月4日飛往波士頓的機(jī)票”源譬。這需要能聽懂日期類型的話集惋,包括月份、年份的名字踩娘。例如“五月”刮刑,“六月”,“下個(gè)月”和“明年”等养渴。我們可以使用一個(gè)必應(yīng)的預(yù)定義實(shí)體模型“DateTime”雷绢。點(diǎn)擊+號(hào)從預(yù)定義實(shí)體下拉菜單中選擇“DateTime”。
實(shí)體限制的重要注意事項(xiàng)
在一個(gè)LUIS應(yīng)用程序中每個(gè)意圖最多可以使用10個(gè)實(shí)體理卑。
每個(gè)父實(shí)體最多可使用10個(gè)子實(shí)體翘紊。
添加子實(shí)體時(shí),請(qǐng)確保在創(chuàng)建父實(shí)體的同時(shí)添加子實(shí)體藐唠。
要?jiǎng)h除帶有子實(shí)體的父實(shí)體帆疟,請(qǐng)單擊左側(cè)面板中的實(shí)體名稱,然后單擊對(duì)話框中的“刪除”宇立。
步驟3:為了讓系統(tǒng)理解語(yǔ)意踪宠,對(duì)文本內(nèi)容做特定標(biāo)記
現(xiàn)在我們有了定義好的一組意圖和實(shí)體,下一步是輸入更多例子來(lái)建立話術(shù)體系妈嘹。單擊屏幕頂部的“新建工具”選項(xiàng)卡柳琢。在輸入框中輸入“將航班預(yù)訂到倫敦”,然后按Enter鍵润脸。你將看到一個(gè)下拉框柬脸,顯示可能的意圖。通過突出顯示選擇“BookFlight”毙驯。點(diǎn)擊“l(fā)ondon”肖粮,然后從下拉框中選擇“位置”,你會(huì)看到以黃色突出顯示的“l(fā)ondon”字樣尔苦,表示你已將“l(fā)ondon”一詞標(biāo)記為“位置”涩馆。選擇它是“ToLocation”還是“FromLocation”,然后單擊提交以提交此標(biāo)簽允坚。
每個(gè)意圖和每個(gè)實(shí)體都需要輸入的幾個(gè)示例魂那。另外,不要忘記添加一個(gè)或兩個(gè)不在預(yù)定義意圖范圍內(nèi)的例子稠项,例如涯雅,輸入“我喜歡冰淇淋”。
系統(tǒng)現(xiàn)在已經(jīng)獲得足夠的數(shù)據(jù)來(lái)部署初始應(yīng)用程序展运。這是通過培訓(xùn)和發(fā)布模型完成的活逆。
步驟4:訓(xùn)練模型
當(dāng)你“訓(xùn)練”一個(gè)模型的時(shí)候精刷,LUIS會(huì)分析所有已經(jīng)標(biāo)記過的例子,進(jìn)行抽象蔗候,并在將來(lái)開發(fā)代碼來(lái)識(shí)別相關(guān)的意圖和實(shí)體怒允。LUIS使用邏輯回歸分類器來(lái)確定意圖,以及條件隨機(jī)字段(CRF)來(lái)確定實(shí)體锈遥。訓(xùn)練過程產(chǎn)生優(yōu)化的分類器和CRF纫事,稱為模型。要開始一個(gè)訓(xùn)練所灸,只需點(diǎn)擊頁(yè)面左下角的Train按鈕即可丽惶。訓(xùn)練也會(huì)定期自動(dòng)進(jìn)行。
步驟5:發(fā)布模型
下一步是將模型發(fā)布成HTTP服務(wù)爬立,它將解釋我們發(fā)送的句子钾唬。單擊左上角的“發(fā)布”按鈕,然后在生成的窗口中發(fā)布Web服務(wù)侠驯。幾分鐘后知纷,你將看到一個(gè)網(wǎng)址,使你的模型可用作Web服務(wù)陵霉。 LUIS將如下面的截圖所示。
了解JSON格式的返回值
下面展示了一個(gè)意圖和分層實(shí)體的示例伍绳,語(yǔ)意分析結(jié)果采用JSON格式返回給調(diào)用者踊挠。
現(xiàn)在,你已經(jīng)學(xué)會(huì)了怎么使用LUIS為自己的應(yīng)用添加智能了冲杀。