0
本文作者: 木子 | 2018-11-16 15:34 | 專題:語言智能的技術(shù)與商業(yè)前沿 | 走進(jìn)深度好奇 |
雷鋒網(wǎng)按:本文原作者為深度好奇研究組,原發(fā)表于公眾號“深度好奇AI”(deeplycurious)。雷鋒網(wǎng)已獲授權(quán)轉(zhuǎn)載。
論文題目:Neural Entity Reasoner for Global Consistency in NER
論文地址:(請戳此處)
命名實(shí)體識別(Named Entity Recognition)被認(rèn)為是文本理解的基礎(chǔ)和底層任務(wù),因?yàn)樗穆毮芫褪前l(fā)現(xiàn)和標(biāo)識文本中的人名、地名等。傳統(tǒng)的NER方法依賴局部和底層的語言特征,近年來神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)對局部語言特征的掌握取得令人矚目的效果,以至于NER很多時候被當(dāng)成“已解決”的任務(wù)。但現(xiàn)有的方法與研究往往局限于底層的分析和計算,忽視實(shí)體本身對文本理解過程的影響,引入CRF進(jìn)行解碼的成功也正是因?yàn)槿绱恕?br/>
當(dāng)出現(xiàn)有歧義的說法或者少見的人名時,現(xiàn)有方法往往會遇到困難。而人在這種情況下,往往可以通過縱覽全文,打通和融合局部的知識,來擺脫這種困境。所以,NER任務(wù)本質(zhì)是模型對抽取實(shí)體進(jìn)行理解的任務(wù)。本文正是受到人的思維模型的啟發(fā),為NER這個看似低級的任務(wù)引入了高級的“推理”機(jī)制,將符號化的命名實(shí)體信息“取之于網(wǎng)絡(luò),用之于網(wǎng)絡(luò)”,從而可以在深度學(xué)習(xí)的框架內(nèi)融合同一文本中的命名實(shí)體的決策。
命名實(shí)體神經(jīng)推理機(jī)(NE-Reasoner)從實(shí)體對象這一更高層次的角度出發(fā),分析實(shí)體識別的運(yùn)算過程,引入可人工設(shè)計的推理框架,通過以下三點(diǎn)完成實(shí)體的理解和推理:1)在現(xiàn)有方法的基礎(chǔ)上,得到對于實(shí)體的完整表示;2)引入符號化緩存記憶,對實(shí)體信息進(jìn)行存儲;3)通過符號化的操作和推理模型,避免復(fù)雜化的處理,以端到端的形式輕松完成訓(xùn)練。
NE-Reasoner整體上是一個多層的架構(gòu),每一層都由三部分組成,編碼器對輸入文本進(jìn)行編碼以捕捉語義等信息,推理單元通過編碼信息和緩存記憶,得到實(shí)體間的推理信息,解碼器綜合這兩部分信息得出最后的結(jié)果。在編碼器與解碼器保持不變的情況下,緩存記憶在層之間根據(jù)識別出的實(shí)體動態(tài)的變化,通過推理單元達(dá)到逐步推理的效果。
圖1 NE-Reasoner整體多層架構(gòu)
具體來講,每一層都獨(dú)立完成一次NER;每層的NER結(jié)果,會通過一個符號化的“緩存”存儲起來,作為下一層NER的參考;這種參考是通過一個交互式的池化神經(jīng)網(wǎng)絡(luò)來實(shí)現(xiàn),它其實(shí)是一個基于多個事實(shí)的推理模型。通過這樣的設(shè)計,在做每個局部的決策時,模型都可以“看見”目前識別出的所有實(shí)體信息并參考別處相關(guān)決策,從而做出更加明智的決定。
探究實(shí)體的預(yù)測過程,首先要清楚實(shí)體出現(xiàn)的語言模式。每一個實(shí)體的確定,都存在決定性的標(biāo)識,這種標(biāo)識來自兩方面,一個是字詞本身的信息,比如“張某某”這種詞匯,沒有任何上下文的情況下,會優(yōu)先將它作為人名處理;另外一方面是前后文的模式,比如“我和XX是好朋友”,我們可以推斷XX處為人名。從這兩方面信息,我們可以對實(shí)體模式進(jìn)行如下的解構(gòu):
前文信息-實(shí)體-后文信息
這樣一種結(jié)構(gòu)可以完整地描述一個實(shí)體。在神經(jīng)網(wǎng)絡(luò)中,現(xiàn)有的方法也是通過這些局部的語言特征進(jìn)行識別,所以可以輕易地從編碼信息中找到實(shí)體的表示。
對于本文使用的Bi-LSTM編碼器,分別從前后兩個方向?qū)σ粋€字進(jìn)行上下文的編碼,而解碼器通過這些信息得到對于實(shí)體的決定性信息。所以,在實(shí)體的第一個字,前向的LSTM的編碼信息一定包含實(shí)體的前文信息,最后一個字的后向LSTM編碼信息一定包含實(shí)體的后向信息,而另外兩部分都包含完整的實(shí)體字符信息。對于每一個實(shí)體,我們都可以將它的編碼信息做這樣的分解,以得到這樣四個不同維度對實(shí)體的表示:
前文信息-前向?qū)嶓w信息-后向?qū)嶓w信息-后文信息
這也剛好符合前面對實(shí)體模式的分析。通過每一層最終的預(yù)測結(jié)果,可以利用這樣的符號化信息定位到實(shí)體位置,將每一個實(shí)體都從這四個方面進(jìn)行完整的表示,然后存入緩存記憶中。
圖2 利用上下文和前后向信息表示實(shí)體
通過上面的操作,每一層都可以得到上一層識別出的實(shí)體的表示,除此之外,層與層之間沒有其他必然的聯(lián)系。將每一層單獨(dú)來看,我們相當(dāng)于得到了該文本中都有哪些是實(shí)體以及它們?yōu)槭裁词菍?shí)體這類非常重要的先驗(yàn)知識。
不同于以往方法對記憶模塊的使用,這里的緩存記憶實(shí)際上是由符號化信息指導(dǎo)產(chǎn)生的堆放實(shí)體信息的列表,作為外部信息,不需要進(jìn)行梯度的傳導(dǎo)。由于每個實(shí)體也都是獨(dú)立的,所以緩存記憶在這里可以看作由多個事實(shí)組成,而推理單元的作用就是從這些事實(shí)中得到全局的推理信息。
解碼時,字符的編碼信息與每一個實(shí)體的表示進(jìn)行運(yùn)算以獲得與每一個實(shí)體的關(guān)系,再通過池化操作從中挑選出最具有代表性的關(guān)系作為最終的參考。具體到本文的任務(wù)來講,我們通過語義之間的相似性來進(jìn)行推斷,如果存在實(shí)體模式與當(dāng)前所讀到的字段相似,那么相似字段在文本中所扮演的角色也應(yīng)該是相似的,所以可以使用向量距離(如余弦距離)等運(yùn)算來代表字符編碼信息與實(shí)體之間的關(guān)系,本文使用的是向量內(nèi)積。
圖3 利用記憶模塊進(jìn)行實(shí)體推理
之后,每一個實(shí)體的四個維度都可以得到一個運(yùn)算結(jié)果,表示在這四個方面的相似度。在實(shí)體的推理中,最重要的是是否存在一個實(shí)體信息與當(dāng)前字段信息很相似,而具體哪一個或者有幾個這樣的信息是不重要的;所以,在四個維度上進(jìn)行max-pooling可以得到四個值,作為最終的參考信息。將這部分信息與編碼信息一起輸入到解碼器,從而得到這一層的輸出。
由于每一層都相對獨(dú)立且具有單獨(dú)的輸出結(jié)果,層與層之間不需要梯度的傳導(dǎo)但卻通過預(yù)測結(jié)果進(jìn)行影響,所以可以有多種訓(xùn)練方式,比如預(yù)訓(xùn)練第一層、每一層聯(lián)合訓(xùn)練或僅利用最后一層輸出結(jié)果進(jìn)行訓(xùn)練。本文中所使用的模型的每一層都共享參數(shù),實(shí)際上層間的區(qū)別只有緩存記憶的實(shí)體信息的不同,因此直接對最后一層進(jìn)行訓(xùn)練就可以在整體上得到好的結(jié)果。
本文在英文和中文兩個數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),均取得了明顯的提升。由于本方法是一個通用的框架,理論上可以疊加到任意編碼-解碼形式的網(wǎng)絡(luò)模型中;并且由于是逐層的輸出,可以從不同層之間輸出結(jié)果的變化看到真實(shí)的推理效果,不僅提升了效果,而且符合對推理的預(yù)期,有極強(qiáng)的可解釋性。
圖4 NE-Reasoner修正前后典型結(jié)果對比
通過在神經(jīng)網(wǎng)絡(luò)的推理過程中引入符號化的緩存記憶,以及在緩存基礎(chǔ)上的多事實(shí)全局推理,可以顯著提高命名實(shí)體識別的準(zhǔn)確率,尤其是在傳統(tǒng)方法容易犯錯的歧義和少見人名上有更好的表現(xiàn)。命名實(shí)體神經(jīng)推理機(jī)作為神經(jīng)符號推理機(jī)在NER任務(wù)上應(yīng)用的一個實(shí)例,不僅打開了之前神經(jīng)網(wǎng)絡(luò)推理決策的黑箱,使得推理過程中的關(guān)鍵步驟對人類可見和可理解,還給予了人工進(jìn)一步干預(yù)推理過程的可能性以及可用的接口。
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。