NLU定義
自然語言理解(NLU)就是要獲得一個(gè)計(jì)算機(jī)能用來計(jì)算的語義框架
文字本身就是人類用來承載語義的工具扔亥,語義框架就是對(duì)其含義的抽象典徊,語言的表示是多樣的合砂,但是背后的語義是不變的,明確的語義框架就可以由計(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)最普遍的就是語料丟進(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)按具體語法、句式做出的示范忌栅,教它在某一個(gè)特定語法车酣、句式中理解對(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ù)大大減少晰筛,基本上都趨于使用通過語料訓(xùn)練的模式嫡丙。
不論是用什么方式拴袭,意圖識(shí)別最終解決的是一個(gè)分類問題,只是告訴系統(tǒng)這屬于 【訂酒店】還是【問天氣】
實(shí)體識(shí)別與槽填充
“實(shí)體”是 Dialogflow 用于從自然語言輸入中識(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)將語義表示相似的詞也放入詞典進(jìn)行識(shí)別。
2、通過上下文標(biāo)注
將自己定義的實(shí)體在語料中進(jìn)行標(biāo)注臊岸,讓系統(tǒng)通過標(biāo)注學(xué)習(xí)識(shí)別該實(shí)體红伦;
這樣的標(biāo)注通常處于語句環(huán)境中,上下文具有一定的相似性作彤,就比較容易將這類特征的實(shí)體識(shí)別出來膘魄;
比如 我這里的 @cityto 與 @cityfrom 都是城市實(shí)體,系統(tǒng)并不容易區(qū)分竭讳;通過多次在語句中標(biāo)注后根據(jù)上下文做識(shí)別瓣距。比如它會(huì)總結(jié)出 前后位置、從代咸、去這些特征的影響從而確定槽位的識(shí)別蹈丸。
通過意圖識(shí)別與槽填充,可以將用戶的query表示為結(jié)構(gòu)化的語義呐芥;比如
北京明天天氣怎么樣逻杖? → 【v.city】【v.date】天氣怎么樣? 通過這樣的表示就可以更精確的識(shí)別意圖思瘟、提取語義信息荸百,并且為后續(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í)別慧起,但是問題在于語言表達(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)