周 祺,陶 皖,孔 超,崔佰婷
安徽工程大學 計算機與信息學院,安徽 蕪湖241000
命名實體識別(named entity recognition,NER)是一項識別句子中具有特定意義實體的任務。NER借助人工標注的語料庫為具有特定意義的實體分配類型標簽,其有兩個關鍵的任務:一是要識別出句子中是否有命名實體,二是要判斷出命名實體具體所指的目標類型[1]。作為自然語言處理(natural language processing,NLP)領域中重要的基礎工作,其準確率影響許多下游任務,如信息提取、問答系統、句法分析、機器翻譯等的可信度及工作效率。然而,傳統的命名實體識別只是將實體類型分為幾種粗粒度的實體種類,例如:人名、地點、組織、其他。在現有的大型數據庫以及知識圖譜中,實體類型不再局限于某幾種,已達到數十種,甚至成百上千種,而且實體類別之間形成一定的層次關系。如果此時繼續沿用粗粒度的實體分類會加大人工標注的難度,給后續的關系抽取、事件抽取等增加判斷難度,影響許多NLP下游任務的可信度和處理質量。因此,學者們將粗粒度的命名實體識別推向細粒度實體分類(finegrained entity typing,FET)領域。
細粒度實體分類通過給定實體指稱(entity mention,又稱實體提及,即實體在具體上下文中的一段指代)及其上下文,預測實體可能的類型標簽,允許實體指稱有多種類型,而且類型之間通常具有一定的層次結構。細粒度的實體類型表示為其他NLP任務提供了更多的語義信息,有助于為后續的關系抽取和事件抽取等任務增強指示性,提高問答系統、句法分析、實體推薦等下游任務的工作效率和精確率。目前,大多數的細粒度實體分類采用遠程監督的方式將實體在知識庫中的所有類型標簽分配給實體指稱,這不可避免地會引入噪聲標簽。以往處理噪聲標簽時采用人工標注、啟發式剪枝噪聲等方法,但人工標注效率低,無法適用于大規模的數據集;剪枝噪聲使得訓練集規模減小,影響分類模型的整體性能。因此,針對遠程監督引入的噪聲標簽問題,本文將噪聲標簽劃分為兩種:無關噪聲標簽(out-ofcontext noise labels)和具體噪聲標簽(overly-specific noise labels),如圖1所示。若為句子1分配除musician以外與上下文無關的類型標簽,則為無關噪聲標簽。若為句子2 分配任一細粒度標簽都使得在句子中的實體含義不夠準確,由此將其歸為具體噪聲標簽,在此情況下應選擇細粒度實體類型標簽的父類型person最佳。

圖1 兩種噪聲標簽形式Fig.1 Two forms of noise labels
為減輕以上兩種噪聲標簽對細粒度實體分類的負面影響,本文提出利用記憶網絡模型增強實體指稱的上下文和類型標簽之間的關聯性。基于語義的相關性,相似的上下文句子中實體指稱對應的類型也具有相似性,因此增強對相似的指稱上下文所對應類型標簽的記憶表示以達到減輕無關噪聲標簽影響的目的。而且通過使用變形的層次損失函數,深入學習類型標簽之間的層次關系,有助于緩解具體噪聲標簽的消極影響。最后,通過引入L2 正則化函數防止模型對噪聲標簽過擬合,從而提高細粒度實體分類模型的整體性能。
首次處理細粒度實體類型分類任務的是Lee 等人[2],利用條件隨機場模型(conditional random field,CRF)檢測命名實體的邊界,并使用最大熵(maximum entropy,ME)對實體進行分類,同時定義147 種細粒度的實體類型。Sekine[3]定義200種實體類型作為細粒度實體類型集的基礎。Ling 等人[4]創建了細粒度實體類型數據集FIGER,將原本只具有5~6種類型的實體擴展到具有112種類型標簽的實體;并且受到文獻[5]啟發,通過遠程監督利用Wikipedia詞條獲得實體類型,完成了多類型、多標簽的細粒度實體分類任務。Yosef 等人[6]以層次分類法劃分了實體的505 種類型,在不同級別的數百種類型基礎上開發了一個多標簽的分級分類系統HYENA(hierarchical type classification for entity names)。Yogatama等人[7]、Dong 等人[8]使用標簽嵌入以實現相關標簽之間的信息共享,并且證明了細粒度的類型標簽能夠改進粗粒度實體分類模型的性能。Corro 等人[9]構建FINET模型,能從實體指稱和實體類型中生成感知上下文的候選類型并從中選出最合適的類型,此外還創建New York Times 和Twitter 兩個細粒度的實體類型數據集。Shimaoka 等人[10]提出一種基于注意力機制的神經網絡模型,通過使用長短期記憶網絡(long shortterm memory,LSTM)編碼實體的上下文,并利用注意力機制將模型的關注點集中在實體指稱的上下文表示上。馬建紅等人[11]提出了一種基于多通道神經網絡的實體識別模型,融合了字詞特征和片段特征,利用半馬爾科夫隨機場完成實體邊界識別和實體分類任務。盛劍等人[12]利用網絡詞典回標實體,獲得命名實體的領域標簽,之后再根據實體的上下文確定細粒度類型標簽。王紅等人[13]利用注意力機制計算知識圖譜中實體與相鄰實體的相關性,并且通過圖卷積神經網絡融合實體特征和關系特征,為實體分類提供了有效幫助。胡新棒等人[14]利用多頭注意力機制挖掘上下文信息,并將先驗知識融入實體詞典中,以增強模型的學習能力。西爾艾力·色提等人[15]利用字符級和單詞級注意力機制,增強字符與單詞之間的關聯性和互補性,有利于更好地完成中文的細粒度命名實體識別任務。
現有大多數模型通過遠程監督為實體從知識庫中分配類型標簽,由于返回的是實體在知識庫中的所有類型標簽,這難免會引入噪聲標簽。為緩解遠程監督帶來的噪聲問題,Lawrence等人[16]對于含噪聲標簽的訓練數據,構造了一種核Fisher 判別算法,將每個標簽被翻轉的概率與實例相關聯,再利用期望最大化算法更新概率并確定判別式的參數。Gillick等人[17]利用啟發式規則剪枝噪聲,刪除與單個實體關聯的同級類型、與粗粒度類型分類器輸出標準不一致的類型以及出現次數少于文檔中最小次數的類型,但此方法會顯著減少訓練集的樣本量,后期將導致分類模型的整體性能變差。Ren 等人[18]針對噪聲標簽,創新性地將訓練集劃分為“干凈集”和“噪聲集”,并采用不同的方法對以上兩種訓練集進行訓練。參考文獻[18],Abhishek 等人[19]也將訓練數據分為“干凈集”和“噪聲集”,并提出聯合學習實體指稱及其上下文表示的模型。通過類型路徑劃分數據集的方法取得了一定的成功,但忽略了相同路徑的類型標簽可能也會出錯。為進一步減輕噪聲標簽的影響,Xu 等人[20]提出了一種基于神經網絡端到端的解決方案NFETC(neural fine-grained entity type classification),將噪聲標簽分為與上下文無關的標簽以及過于具體的標簽,利用變形的交叉熵損失函數和層次損失函數來處理以上兩種噪聲標簽。Chen等人[21]提出壓縮隱空間簇(compact latent space clustering,CLSC)算法,基于實體指稱的相似度圖,推導噪聲標簽的分布,將具有相似語義的實體指稱形成緊密的簇,從而緩解噪聲標簽對分類模型性能的負面影響。考慮到實體和類型標簽的語義相關性,Xin 等人[22]提出以無監督的方式,利用標簽含義衡量指稱上下文與遠程監督得到類型標簽之間的兼容性,減少由遠程監督產生的噪聲。為平等對待干凈數據和含噪聲的數據,Zhang等人[23]提出一種基于概率自動重標記的方法,統一處理所有訓練樣本,在無額外監督的情況下解決噪聲標簽問題。Xia等人[24]提出一種基于隨機森林的高效方法,通過模擬網格的生成和擴展以檢測分類噪聲,并且引入投票機制有效處理含特征噪聲的數據集。Zhang 等人[25]利用自動編碼器學習具體類型特征,找出每個類中將含噪聲的數據,并將其視為類的離群值,在含噪聲標簽的數據清理和分類任務中取得了較好的結果。Wei 等人[26]將實例特征作為輔助信息,將噪聲標簽問題定義為矩陣重建問題,通過輔助信息的低維映射構建正例標簽矩陣,行稀疏矩陣建模負例標簽矩陣,兩者相結合使得矩陣重建能力加強,有助于提高處理標簽噪聲時的性能。
細粒度實體分類是一項多類型、多標簽的復雜任務。針對遠程監督引入的噪聲標簽問題,提出融合記憶網絡的細粒度實體分類模型(neural fine-grained entity type classification-memory network,NFETC-MN),整體的模型架構如圖2所示。具體來說,NFETC-MN模型主要分為四部分,分別是實體指稱處理器、類型標簽處理器、指稱上下文處理器以及優化處理器。在此,預定義T為包含所有實體類型標簽的標簽集,通過給定實體指稱m以及指稱上下文c,以預測實體指稱所對應的細粒度實體類型t。

圖2 融合記憶網絡的細粒度實體分類模型Fig.2 Fine-grained entity classification model fused with memory network
根據每個句子給定的實體指稱,其可能具有不同的單詞數,因此將實體指稱中的單詞進行平均嵌入處理。給定實體指稱的表示形式為mi=(ω1,ω2,…,ωk)(k為實體指稱中的單詞個數),根據其表示計算實體指稱中每個單詞的平均詞嵌入em,如式(1)所示。

為獲得知識庫中豐富的實體類型信息,采用實體鏈接將Freebase 中的實體類型信息鏈接到具體的實體指稱上。若實體鏈接能夠返回實體類型標簽,就將其收集存儲在Freebase的實體類型信息中;若不能鏈接到相應實體,則將返回值設置為空。由于Freebase 知識庫中的類型信息與預定義的標簽集T中的表示形式不同,運用與Zhou 等人[27]相似的映射方法,將收集的Freebase實體類型信息轉換成標簽集T中的類型表示形式,并運用獨熱編碼將細粒度的實體類型標簽表示成et的形式。此外,針對遠程監督產生的噪聲標簽影響,除了使用簡單的實體鏈接以外,受Dai 等人[28]的啟發,采用共性分數以衡量實體鏈接的可信度。共性分數[29]是由Wikipedia的錨鏈接計算得來,能通過給定實體指稱估計各實體類型標簽的正確概率分數,并在類型標簽處理器中以es表示共性分數。
為從實體指稱的上下文中獲取更多的實體相關信息,首先將上下文向量表示為c1,c2,…,ck-1,ck,ck+1,…,cn(n為句子中的單詞數,ck作為實體指稱的向量表示)。本文不僅對實體指稱左右兩邊的上下文做詞嵌入處理,還將實體指稱本身進行詞嵌入得到最終的上下文向量。傳統的方法對上下文向量進行處理大多采用雙層的LSTM 或單層雙向長短期記憶網絡(bi-directional long short-term memory,BiLSTM)。Bi-LSTM 網絡包含兩個子網絡:一個稱為前向LSTM,另一個稱為后向LSTM。為提取上下文之間更多的關系信息,本文利用兩層的BiLSTM 處理上下文向量。在此,將上下文向量在第一層BiLSTM、第二層BiLSTM 的輸出分別表示為hf和hs,對于兩層的BiLSTM 輸出hf和hs,采用全連接進行計算,如式(2)所示。

另外,考慮到指稱上下文對選擇類型標簽的重要性,避免將不必要的標簽引入,減輕噪聲標簽對細粒度實體分類模型整體性能的影響,使用端到端的記憶網絡再次對指稱的上下文和類型標簽進行記憶學習,記憶網絡的具體框架結構如圖3所示。雖然單獨學習實體指稱上下文的信息,對分配類型標簽有一定的指示作用,但未充分利用實體所對應的類型標簽信息。因此,通過添加記憶網絡模塊,聯合學習指稱上下文和類型標簽,有助于增強指稱上下文與類型標簽之間的關聯性,為分配最優類型標簽提供強指示性。并且在相似的指稱上下文中,記憶網絡以往分配的最優類型標簽也成為細粒度分類模型的記憶基礎,有利于為相似實體指稱分配最合適的類型標簽。

圖3 記憶網絡的具體框架結構Fig.3 Concrete frame structure of memory network
首先,將指稱上下文經過兩層的BiLSTM輸出后的向量h以及獲得的類型標簽et作為記憶網絡的輸入。在記憶網絡的輸入空間中,利用內積和Softmax函數計算h以及et之間的匹配度,將其最終表示為概率向量Pi,如式(3)所示。

字符級注意力機制專注于提取單詞中每個英文字符的語義信息以及位置信息,過程復雜且意義不大。句子級注意力機制能在段落中提取具有更多信息的句子,并對其賦予較高權重,較適合用于段落或文檔中。相較于字符級注意力機制、句子級注意力機制,單詞級注意力機制能進一步捕獲實體指稱的上下文語義,同時突出具有指示性單詞的重要性并分配其權重。因此為方便記憶網絡的計算,提高其記憶性能,對實體指稱上下文的兩層BiLSTM輸出h的最后一層隱藏層做單詞級注意力機制[30]處理。首先將h的BiLSTM 最后一層隱藏層狀態表示為利用兩層前向和后向相結合的神經網絡計算注意力權重,讓記憶網絡選擇信息更豐富的單詞進行訓練,如式(4)~式(7)所示。


其 中,j=l或r,,Dh為BiLSTM隱藏層的維度,Da為注意力維度。通過對上文、下文、實體指稱的加權和得到另一種指稱上下文的嵌入向量Ci,如式(7)所示。利用指稱上下文的嵌入向量Ci以及上文計算得來的概率向量Pi相乘的和作為端到端記憶網絡的輸出部分ec,作為指稱處理器的最終表示,如式(8)所示。

根據以上實體指稱處理器、指稱上下文處理器、類型標簽處理器計算得出的向量em、ec、et、es進行全連接處理,得到的結果表示為e。為優化向量表示、提高后期分類模型的預測性能,在多層感知器(multi-layer perceptron,MLP)中,對e進行三層訓練,其中第一層為輸入層,第二層為隱層,第三層為輸出層。經過三層MLP 的處理,有助于訓練模型提取出更具特征的向量,并將整個句子最終表示為ef的向量形式。這時,將預定義標簽集T中的標簽嵌入到與ef相同的維度空間中得到標簽向量ti,之后通過對ef和ti進行點積處理,得到實體指稱m與實體類型ti之間的預測分數score,如式(9)所示。

由于遠程監督為實體指稱分配的是實體在知識庫中所有的類型標簽,其中有些類型標簽可能與指稱上下文沒有太大關系。因此,為減少無關標簽噪聲的影響,利用變形的鉸鏈損失函數及懲罰參數α,使得較符合語義的類型標簽損失值減小,無關噪聲標簽的損失值增大。通過選擇損失值較小的類型標簽,以減輕無關噪聲標簽的影響。針對具體噪聲標簽的問題,一味地分配細粒度類型標簽并不是最佳解決方案,于是引入變形的層次損失函數,可以更好地理解類型標簽之間的層次結構(如:父類型-子類型)。在標簽集T中,所有實體的類型標簽都具有一定的層次結構,例如Jay Chou 對應的類型標簽為/person/artist、/person/actor、/person/director、/person/musician 等。在某些語境下,在標簽集中無法找到實體指稱所對應的細粒度類型標簽時,應分配細粒度標簽的父類型最為合適。此時如果堅持為其分配實體所對應的任一細粒度標簽,由于不符合語義環境,在測試時都會判斷為負例標簽。因此,在無法選擇對應指稱語義的細粒度類型標簽時,利用層次損失函數理解分配類型標簽時的路徑,確定person、location、organization 等父類型地位,為實體指稱分配父類型標簽,以緩解具體噪聲標簽的影響,有助于提高細粒度實體分類模型性能。支持向量機(support vector machine,SVM)的二分類問題通常采用標準的鉸鏈損失函數(hinge loss function),以實現“最大間隔(max-margin)”分類。對于訓練集中數據xi,計算第j類得分向量f(xi,ω)j,yi表示正確標簽,Δ為閾值,如式(10)所示。

可以看出,標準鉸鏈損失函數在處理實體類型標簽時可能導致訓練模型過擬合無關噪聲標簽,造成分類模型性能降低。因此采用變形的鉸鏈損失函數進行處理,通過以不同的參數α懲罰與上下文無關的錯誤標簽,以減少無關噪聲標簽的影響,如式(11)所示。

其中,m為實體指稱,Ttrue是分配給m的正例類型標簽集,Tnotrue是分配給m的負例類型標簽集,α為參數,可調整對無關噪聲標簽的懲罰力度。
受文獻[20]啟發,使用層次損失函數有助于理解類型標簽之間層次結構,緩解因過于具體的類型標簽而造成的消極影響。因此,為處理具體噪聲標簽的影響,本文利用變形的層次損失函數,即以鉸鏈損失函數形式預測細粒度實體類型標簽父類型,如式(12)所示。其中,tj表示細粒度實體類型標簽ti的父類型,β為調整懲罰力度的參數。當預測實體指稱的類型時出現過于具體的類型標簽,訓練模型可增大β以達到有效減輕具體噪聲標簽消極影響的目的。

在遠程監督過程中,從Freebase中獲得的正確實體類型信息鏈接到實體指稱上時,可能會造成訓練模型過擬合噪聲標簽。于是在優化損失函數時,在損失函數中添加L2 正則項,對訓練模型中的參數wi進行L2 正則化約束,可改善訓練模型對噪聲標簽的過擬合問題,如式(13)所示,其中λ是正則化參數。

為驗證本文方法的優越性,將該方法與其他幾種方法進行了對比實驗。本章首先介紹實驗所用的數據集、評價指標以及對比方法,然后采用以往先進的實驗方法作為基線,評估各方法在處理細粒度實體分類中噪聲標簽時的性能,重點展示NFETC-MN模型在兩個數據集上的性能表現。
評估NFETC-MN使用到兩個在細粒度實體分類任務中公開的英文數據集,即以FIGER 和BBN 作為實驗的基礎數據集,其中FIGER 和BBN 都是兩層細粒度實體分類數據集,具體細節如表1所示。

表1 數據集中的統計數據Table 1 Statistics in datasets
(1)FIGER:訓練數據為Wikipedia 中的句子,通過遠程監督將Wikipedia的語料映射于Freebase中相同的類型標簽后自動生成訓練數據。測試數據主要是來自新聞報道里的句子,并且經過人工標注實體指稱后進行驗證[4]。
(2)BBN:數據集包括華爾街日報中2 311 篇文章的句子,訓練數據和測試數據均為人工標注[31]。
對于細粒度實體分類任務的評價指標,采用Ling等人[4]提出的準確率(strict accuracy,Strict Acc)、宏觀F1值(macro F1-measure,Macro F1)以及微觀F1值(micro F1-measure,Micro F1),其中公式如下所示:

宏觀F1值(Macro F1)是宏觀精確率(macro precision,Pma)和宏觀召回率(macro recall,Rma)的調和平均值。

微觀平均F1 值(Micro F1)是微觀精確率(micro precision,Pmi)和微觀召回率(micro recall,Rmi)的調和平均值。

其中,m為實體指稱,M為其集合,Y表示實體指稱的真實類型標簽,表示實體指稱的預測類型標簽。
實驗采用PyTorch 框架,并使用NVIDIA 的3070顯卡進行了加速,其他實驗設置如下:
(1)預訓練詞向量:GloVe 詞向量模型[32]是一種廣泛使用的詞向量模型,以無監督的方式學習單詞的向量表示,能有效地捕捉詞的語義信息。采用300 維預訓練的GloVe 詞向量表示句子中單詞的詞向量。
(2)參數設置:模型的參數包括批處理大小B、Adam 優化器的學習率lr、BiLSTM 中隱藏層的維數Dh、MLP 中隱藏層的維數Dm、類型標簽嵌入維數Dt、懲罰無關噪聲標簽的參數α、懲罰具體噪聲標簽的參數β以及L2正則化參數λ。對于兩個數據集的具體參數設置如表2所示。

表2 超參數設置Table 2 Hyperparameter setting
本節將本文提出的NFETC-MN模型與其他先進的細粒度實體分類模型進行了對比。
(1)Attentive[10]:Shimaoka 等人提出基于特征提取的注意力網絡模型,但未將訓練集中的干凈數據與含噪聲數據進行區分。
(2)AFET[18]:針對細粒度實體分類的噪聲標簽,根據類型路徑將訓練數據劃分為“干凈集”和“噪聲集”,再利用部分標簽損失對標簽嵌入進行訓練。
(3)AAA[19]:Abhishek等人也將訓練數據分為“干凈集”和“噪聲集”,并提出聯合學習實體指稱及其上下文表示的神經網絡模型。
(4)NFETChier[20]:使用變形的交叉熵損失函數和層次損失函數來處理無關噪聲標簽以及具體噪聲標簽。
(5)NFETC-CLSChier[21]:通過標簽傳播和候選類型約束以推斷噪聲標簽的類型分布,使用壓縮隱空間規范遠程監督分配的噪聲標簽,并利用層次損失函數處理具體噪聲標簽。
(6)NFETC-ARhier[23]:基于概率自動重標記數據,能平等對待干凈和含噪聲樣本。在沒有額外監督的情況下解決噪聲標簽問題,并利用層次損失函數處理具體噪聲標簽。
在FIGER 和BBN 兩個數據集上,細粒度實體分類任務中各方法的準確率、Macro F1值以及Micro F1值如表3所示。通過對比實驗結果發現,NFETC-MN在準確率、Macro F1 值以及Micro F1 值上均優于以往的細粒度實體分類方法。

表3 細粒度實體分類方法性能比較Table 3 Performance comparison of fine-grained entity classification methods 單位:%
NFETC-MN 模型首先利用記憶網絡模型,聯合學習指稱上下文及類型標簽,構成記憶表示,為分配符合語義的類型標簽增加指示性信息。其中,通過對指稱上下文進行兩種不同方式的處理以及計算指稱上下文向量與類型標簽的匹配度,能夠進一步為上下文中更具指示性的單詞分配更高權重,充分提取指稱上下文與類型標簽的重要信息。其次,為了緩解無關噪聲標簽以及具體噪聲標簽的消極影響,分別設計變形的鉸鏈損失函數和變形的層次損失函數。通過調整懲罰參數α、β,增大無關噪聲標簽以及具體噪聲標簽的損失值,能夠有效減輕噪聲標簽對細粒度分類模型整體性能的負面影響。
具體來說,融合記憶網絡的NFETC-MN在FIGER數據集上相較于NFETC-ARhier,準確率提高2 個百分點左右,Macro F1 值無太大差異,Micro F1 值提高1個百分點左右。在BBN 數據集上,相較于NFETCARhier,NFETC-MN 的準確率提高2 個百分點左右,Macro F1 值提高6 個百分點左右,Micro F1 值提高6個百分點左右。綜合看來,融合記憶網絡的NFETCMN在BBN數據集上的表現優于在FIGER數據集上的表現,尤其是在BBN 上的Macro F1 值和Micro F1值,相較于NFETC-ARhier增長約6個百分點。原因可能有以下兩點:(1)BBN數據集中實體類型數量少于FIGER;(2)BBN 是單類型路徑的數據集,FIGER 數據集允許實體有多個類型路徑,因此細粒度實體分類任務與FIGER相比較為簡單。
正如表3所示,通過增加記憶網絡使得細粒度實體分類模型能夠更好地學習實體指稱上下文以及類型標簽表示,并且利用深度學習的MLP 模型提取到更有效的特征,從而提高NFETC-MN模型在準確率、Macro F1 值以及Micro F1 值上的性能表現。與此同時,采用變形的鉸鏈損失函數以及變形的層次損失函數分別處理無關噪聲標簽、具體噪聲標簽,可以改善NFETC-MN 模型的分類性能。另外,實驗結果表明L2正則化函數的引入能有效避免訓練模型對噪聲標簽過擬合。
本文針對遠程監督引入的噪聲標簽問題,提出了一種融合記憶網絡的實體分類方法(NFETCMN)。通過引入記憶網絡增強對實體指稱上下文和類型標簽之間的聯合學習,建立指稱上下文與類型標簽之間的關聯性。同時使用變形的鉸鏈損失函數和變形的層次損失函數以緩解無關噪聲標簽和具體噪聲標簽的消極影響。此外,結合L2 正則化函數防止訓練模型對噪聲標簽過擬合。實驗結果表明,引入記憶網絡模型、變形的層次損失函數以及L2 正則化函數,有助于處理細粒度實體分類噪聲標簽任務。并且該模型在準確率、Macro F1值以及Micro F1值三個評價指標上,均優于以往處理噪聲標簽方法。