NLU定義
自然語(yǔ)言理解(NLU)就是要獲得一個(gè)計(jì)算機(jī)能用來計(jì)算的語(yǔ)義框架
文字本身就是人類用來承載語(yǔ)義的工具,語(yǔ)義框架就是對(duì)其含義的抽象,語(yǔ)言的表示是多樣的,但是背后的語(yǔ)義是不變的,明確的語(yǔ)義框架就可以由計(jì)算機(jī)處理。
應(yīng)用
NLU目前應(yīng)用比較成熟的領(lǐng)域大概有兩大類
1、人機(jī)對(duì)話
2、搜索與推薦系統(tǒng)
對(duì)話系統(tǒng)中的NLU模塊
人機(jī)對(duì)話中,NLU是對(duì)話系統(tǒng)的重要組成部分,用戶每次的輸入都要NLU模塊的處理。主要解決以下任務(wù):
1、意圖的識(shí)別,識(shí)別用戶想要干啥
2、實(shí)體識(shí)別,對(duì)信息進(jìn)行標(biāo)注以用于后續(xù)多輪對(duì)話填槽
3、情感識(shí)別 閑聊機(jī)器人可能需要識(shí)別用戶的情緒以影響給用戶的回復(fù)
這里以谷歌的dialogflow為例

目前對(duì)話系統(tǒng)最普遍的就是語(yǔ)料丟進(jìn)去直接進(jìn)行意圖分類
目前的對(duì)話系統(tǒng)丟入10條以上的數(shù)據(jù)就可以有個(gè)初步的識(shí)別效果。后期需要進(jìn)行進(jìn)一步訓(xùn)練達(dá)到精確識(shí)別。
雖然無法看到背后的技術(shù)原理,猜測(cè)應(yīng)該是基于神經(jīng)網(wǎng)絡(luò)的模型,能快速提取特征實(shí)現(xiàn)分類任務(wù),而且和實(shí)體識(shí)別一塊兒完成
基于模板的意圖識(shí)別(百度UNTI)
對(duì)話模板是對(duì)話系統(tǒng)按具體語(yǔ)法、句式做出的示范,教它在某一個(gè)特定語(yǔ)法、句式中理解對(duì)話意圖,哪個(gè)詞是重要信息,對(duì)應(yīng)的詞槽、特征詞是什么。
例如: [D:sys_loc][D:sys_time]天氣如何,上述標(biāo)注表示可以將所有滿足[城市]+[時(shí)間]+天氣如何這一規(guī)則的query解析,這樣的模板句式命中天氣詢問的意圖。
基于模板的意圖識(shí)別是傳統(tǒng)的手動(dòng)設(shè)計(jì)特征的方式做識(shí)別。但目前隨著深度學(xué)習(xí)預(yù)訓(xùn)練模型的完善,識(shí)別意圖所以依賴的數(shù)據(jù)大大減少,基本上都趨于使用通過語(yǔ)料訓(xùn)練的模式。
不論是用什么方式,意圖識(shí)別最終解決的是一個(gè)分類問題,只是告訴系統(tǒng)這屬于 【訂酒店】還是【問天氣】
實(shí)體識(shí)別與槽填充
“實(shí)體”是 Dialogflow 用于從自然語(yǔ)言輸入中識(shí)別和提取有用數(shù)據(jù)的一種機(jī)制。例如:北京→city 包子→food ;
在任務(wù)型對(duì)話中,對(duì)于任務(wù)完成必要的實(shí)體信息我們稱為槽位(比如詢問天氣總得知道哪里、什么時(shí)候),識(shí)別這種實(shí)體信息的過程叫填槽;一般系統(tǒng)會(huì)本身附帶通用的實(shí)體,比如時(shí)間、地點(diǎn)等;在具體的任務(wù)中有些實(shí)體信息需要我們自己定義。一般有兩種方式
1、通過同義詞詞典做匹配

本質(zhì)上是關(guān)鍵詞匹配;命中關(guān)鍵詞即識(shí)別實(shí)體
系統(tǒng)還提供了詞典自動(dòng)擴(kuò)充的功能,推測(cè)是基于詞向量相似,自動(dòng)將語(yǔ)義表示相似的詞也放入詞典進(jìn)行識(shí)別。
2、通過上下文標(biāo)注

將自己定義的實(shí)體在語(yǔ)料中進(jìn)行標(biāo)注,讓系統(tǒng)通過標(biāo)注學(xué)習(xí)識(shí)別該實(shí)體;
這樣的標(biāo)注通常處于語(yǔ)句環(huán)境中,上下文具有一定的相似性,就比較容易將這類特征的實(shí)體識(shí)別出來;
比如 我這里的 @cityto 與 @cityfrom 都是城市實(shí)體,系統(tǒng)并不容易區(qū)分;通過多次在語(yǔ)句中標(biāo)注后根據(jù)上下文做識(shí)別。比如它會(huì)總結(jié)出 前后位置、從、去這些特征的影響從而確定槽位的識(shí)別。
通過意圖識(shí)別與槽填充,可以將用戶的query表示為結(jié)構(gòu)化的語(yǔ)義;比如
北京明天天氣怎么樣? → 【v.city】【v.date】天氣怎么樣? 通過這樣的表示就可以更精確的識(shí)別意圖、提取語(yǔ)義信息,并且為后續(xù)的DM系統(tǒng)做準(zhǔn)備
情感識(shí)別
情感識(shí)別應(yīng)用于閑聊機(jī)器人的情感化回復(fù),系統(tǒng)可以針對(duì)用戶的情緒給出響應(yīng)回答。在客服領(lǐng)域可以根據(jù)用戶情緒給予積極、中立、樂觀等情緒角色的回答

情感識(shí)別是典型的分類任務(wù)。上述生成任務(wù)中對(duì)情感的分類高達(dá)6種,越豐富細(xì)膩的情感機(jī)器識(shí)別率越低。一般應(yīng)用時(shí)可能只有三種: 積極、消極、中立 ;準(zhǔn)確率高點(diǎn),90%以上。
這是百度大腦的情感識(shí)別功能


這類情感識(shí)別任務(wù)可以應(yīng)用到社交網(wǎng)絡(luò)以及評(píng)論領(lǐng)域去做用戶群體傾向的分析;
情感分類之前有用關(guān)鍵詞做匹配去識(shí)別,但是問題在于語(yǔ)言表達(dá)有時(shí)候出現(xiàn)的雙重否定句。目前通過深度學(xué)習(xí)網(wǎng)絡(luò)去做這類分類會(huì)比較準(zhǔn)確。能夠進(jìn)一步更細(xì)膩的情感分類。
推薦系統(tǒng)的NLU應(yīng)用
挖坑待填
(筆者正尋求NLP、人機(jī)對(duì)話方向產(chǎn)品職位 微信:cheng390552021)