專欄 | 用神經推理來幫助命名實體識別
- 論文題目:Neural Entity Reasoner for Global Consistency in NER
-
論文地址:https://arxiv.org/abs/1810.00347
當出現有歧義的說法或者少見的人名時,現有方法往往會遇到困難。而人在這種情況下,往往可以通過縱覽全文,打通和融合區域性的知識,來擺脫這種困境。所以,NER 任務本質是模型對抽取實體進行理解的任務。本文正是受到人的思維模型的啟發,為 NER 這個看似低階的任務引入了高階的「推理」機制,將符號化的命名實體資訊「取之於網路,用之於網路」,從而可以在深度學習的框架內融合同一文字中的命名實體的決策。
命名實體神經推理機(NE-Reasoner)從實體物件這一更高層次的角度出發,分析實體識別的運算過程,引入可人工設計的推理框架,通過以下三點完成實體的理解和推理:1)在現有方法的基礎上,得到對於實體的完整表示;2)引入符號化快取記憶,對實體資訊進行儲存;3)通過符號化的操作和推理模型,避免複雜化的處理,以端到端的形式輕鬆完成訓練。
概述
NE-Reasoner 整體上是一個多層的架構,每一層都由三部分組成,編碼器對輸入文字進行編碼以捕捉語義等資訊,推理單元通過編碼資訊和快取記憶,得到實體間的推理資訊,解碼器綜合這兩部分資訊得出最後的結果。在編碼器與解碼器保持不變的情況下,快取記憶在層之間根據識別出的實體動態的變化,通過推理單元達到逐步推理的效果。
圖1 NE-Reasoner整體多層架構
具體來講,每一層都獨立完成一次 NER;每層的 NER 結果,會通過一個符號化的「快取」儲存起來,作為下一層 NER 的參考;這種參考是通過一個互動式的池化神經網路來實現,它其實是一個基於多個事實的推理模型。通過這樣的設計,在做每個區域性的決策時,模型都可以「看見」目前識別出的所有實體資訊並參考別處相關決策,從而做出更加明智的決定。
實體的表示
探究實體的預測過程,首先要清楚實體出現的語言模式。每一個實體的確定,都存在決定性的標識,這種標識來自兩方面,一個是字詞本身的資訊,比如「張某某」這種詞彙,沒有任何上下文的情況下,會優先將它作為人名處理;另外一方面是前後文的模式,比如「我和 XX 是好朋友」,我們可以推斷 XX 處為人名。從這兩方面資訊,我們可以對實體模式進行如下的解構:
前文資訊-實體-後文資訊
這樣一種結構可以完整地描述一個實體。在神經網路中,現有的方法也是通過這些區域性的語言特徵進行識別,所以可以輕易地從編碼資訊中找到實體的表示。
對於本文使用的 Bi-LSTM編碼器,分別從前後兩個方向對一個字進行上下文的編碼,而解碼器通過這些資訊得到對於實體的決定性資訊。所以,在實體的第一個字,前向的LSTM的編碼資訊一定包含實體的前文資訊,最後一個字的後向LSTM編碼資訊一定包含實體的後向資訊,而另外兩部分都包含完整的實體字元資訊。對於每一個實體,我們都可以將它的編碼資訊做這樣的分解,以得到這樣四個不同維度對實體的表示:
前文資訊-前向實體資訊-後向實體資訊-後文資訊
這也剛好符合前面對實體模式的分析。通過每一層最終的預測結果,可以利用這樣的符號化資訊定位到實體位置,將每一個實體都從這四個方面進行完整的表示,然後存入快取記憶中。
圖 2 利用上下文和前後向資訊表示實體
推理單元
通過上面的操作,每一層都可以得到上一層識別出的實體的表示,除此之外,層與層之間沒有其他必然的聯絡。將每一層單獨來看,我們相當於得到了該文字中都有哪些是實體以及它們為什麼是實體這類非常重要的先驗知識。
不同於以往方法對記憶模組的使用,這裡的快取記憶實際上是由符號化資訊指導產生的堆放實體資訊的列表,作為外部資訊,不需要進行梯度的傳導。由於每個實體也都是獨立的,所以快取記憶在這裡可以看作由多個事實組成,而推理單元的作用就是從這些事實中得到全域性的推理資訊。
解碼時,字元的編碼資訊與每一個實體的表示進行運算以獲得與每一個實體的關係,再通過池化操作從中挑選出最具有代表性的關係作為最終的參考。具體到本文的任務來講,我們通過語義之間的相似性來進行推斷,如果存在實體模式與當前所讀到的欄位相似,那麼相似欄位在文字中所扮演的角色也應該是相似的,所以可以使用向量距離(如餘弦距離)等運算來代表字元編碼資訊與實體之間的關係,本文使用的是向量內積。
圖 3 利用記憶模組進行實體推理
之後,每一個實體的四個維度都可以得到一個運算結果,表示在這四個方面的相似度。在實體的推理中,最重要的是是否存在一個實體資訊與當前欄位資訊很相似,而具體哪一個或者有幾個這樣的資訊是不重要的;所以,在四個維度上進行max-pooling可以得到四個值,作為最終的參考資訊。將這部分資訊與編碼資訊一起輸入到解碼器,從而得到這一層的輸出。
訓練
由於每一層都相對獨立且具有單獨的輸出結果,層與層之間不需要梯度的傳導但卻通過預測結果進行影響,所以可以有多種訓練方式,比如預訓練第一層、每一層聯合訓練或僅利用最後一層輸出結果進行訓練。本文中所使用的模型的每一層都共享引數,實際上層間的區別只有快取記憶的實體資訊的不同,因此直接對最後一層進行訓練就可以在整體上得到好的結果。
實驗
本文在英文和中文兩個資料集上進行了實驗,均取得了明顯的提升。由於本方法是一個通用的框架,理論上可以疊加到任意編碼-解碼形式的網路模型中;並且由於是逐層的輸出,可以從不同層之間輸出結果的變化看到真實的推理效果,不僅提升了效果,而且符合對推理的預期,有極強的可解釋性。
圖 4 NE-Reasoner 修正前後典型結果對比
總結
通過在神經網路的推理過程中引入符號化的快取記憶,以及在快取基礎上的多事實全域性推理,可以顯著提高命名實體識別的準確率,尤其是在傳統方法容易犯錯的歧義和少見人名上有更好的表現。命名實體神經推理機作為神經符號推理機在 NER 任務上應用的一個例項,不僅打開了之前神經網路推理決策的黑箱,使得推理過程中的關鍵步驟對人類可見和可理解,還給予了人工進一步干預推理過程的可能性以及可用的介面。