廖濤,黃榮梅,張順香,段松松
(安徽理工大學計算機科學與工程學院,安徽淮南 232001)
命名實體識別(Named Entity Recognition,NER)是從一個給定文本中識別并判斷具有特殊意義的詞以及所屬類型,例如,人名、地名、組織機構(gòu)名、專有名詞等。命名實體識別在自然語言處理(Natural Language Processing,NLP)過程中具有重要意義,并被廣泛應用在關(guān)系抽?。?]、信息檢索[2]、機器翻譯[3]、問答系統(tǒng)[4]等領(lǐng)域。
現(xiàn)有研究主要針對非嵌套命名實體(flat NER),在處理非嵌套命名實體時,現(xiàn)有方法將其作為序列標注的問題[5],但是無法準確地識別具有嵌套結(jié)構(gòu)的實體。在GENIA數(shù)據(jù)集的某個嵌套命名實體“the CD28 surface receptor”中,“CD28”表示某種protein 實體,包含在另一種protein 實體“CD28 surface receptor”中,這種實體結(jié)構(gòu)被稱為嵌套命名實體(nested NER)。嵌套命名實體作為一種常見的語言現(xiàn)象,備受研究人員的關(guān)注。
近些年,研究人員在處理nested NER 時,基于轉(zhuǎn)化的方法提出構(gòu)建嵌套命名實體的超圖結(jié)構(gòu)。例如,文獻[6]基于遞歸神經(jīng)網(wǎng)絡構(gòu)建超圖識別嵌套實體,設計表達性標記模式來識別嵌套實體,但該方法未考慮句子特征信息的提取。文獻[7]基于條件隨機場(Conditional Random Field,CRF)通過轉(zhuǎn)移操作將嵌套結(jié)構(gòu)轉(zhuǎn)換為平面結(jié)構(gòu)來預測實體類型,但該方法需要進行復雜的轉(zhuǎn)換,并且在解碼過程中耗費大量時間。除此以外,研究人員基于跨度的方法解決nested NER 問題。例如,文獻[8]采用局部檢測方法將給定文本劃分不同片段,并將其編碼成固定大小的表示,但該方法忽略了邊界信息容易造成實體片段邊界劃分錯誤的問題。文獻[9]提出額外的邊界檢測任務來預測實體邊界的單詞,但它與實體識別任務分開進行,忽略了邊界信息與實體內(nèi)部信息的聯(lián)系。
本文提出基于交互式特征融合的嵌套命名實體識別模型。通過字符向量與字向量的交互融合,得到單詞深層語義信息,采用雙向長短時記憶(BiLSTM)網(wǎng)絡提取句子級特征,對不同單詞特征表示得到的句子級特征向量進行二次交互,并加入多頭注意力機制捕獲句子隱層序列表示的多重語義信息。為了增強實體邊界信息的識別,構(gòu)建粗粒度候選區(qū)間感知模塊,并采用二元序列標記法過濾一些非實體區(qū)域。
研究人員結(jié)合基于規(guī)則和機器學習的方法來處理嵌套命名實體[10]。文獻[11]基于隱馬爾可夫模型(HMM)[12]的方法檢測最內(nèi)部的實體提及,再通過基于規(guī)則的后處理方法檢測外部提及。文獻[13]提出CRF[14]識別生物醫(yī)學文本中的蛋白質(zhì)實體和基因?qū)嶓w。文獻[15]在文獻[13]研究的基礎(chǔ)上,提出基于線性鏈條件隨機場構(gòu)建模型,有效提升生物醫(yī)學文本中的識別效果。然而,基于規(guī)則的方法存在靈活性差、可擴展性差以及除字典之外的詞查找能力不足的問題。
隨著深度學習的不斷發(fā)展,深度學習被用于各類NLP 任務中[16]。近年來,研究人員提出各種針對嵌套命名實體識別的方法,主要分為基于轉(zhuǎn)化和基于跨度的方法?;谵D(zhuǎn)化的方法將復雜的序列嵌套問題轉(zhuǎn)化為標注型的序列標記任務,例如,JU等[17]提出堆疊的LSTM-CRF 識別嵌套命名實體,將每一層的輸出作為下一層的輸入,并在其相應的內(nèi)部實體中編碼信息,但該模型并沒有關(guān)注上下文信息的有效性和實體邊界信息,可能存在傳播過程的錯誤級聯(lián)問題。文獻[18]提出以BiLSTM 作為編碼器,LSTM 作為解碼器實現(xiàn)序列到序列的序列標記模型,但模型在嵌套命名實體識別中需要大量人力來標注語料庫中的轉(zhuǎn)換以及復雜的特征工程。以往的實驗結(jié)果表明,基于轉(zhuǎn)化的方法需要大量的標記信息和復雜的特征工程,且操作復雜。
基于跨度的方法首先將句子劃分為不同的跨度,然后用局部標準化的分數(shù)對這些跨度進行分類。XIA等[19]提出一種MGNER 神經(jīng)網(wǎng)絡架構(gòu),檢測某一詞段是否為實體詞段,再用相同結(jié)構(gòu)的分類器判斷實體類型。YU等[20]結(jié)合詞級嵌入和字符級別嵌入作為文本輸入,經(jīng)過BiLSTM 獲取句子的上下文語義信息,使用雙仿射模型對句子中帶有開始和結(jié)束標記對的所有跨度分配分數(shù)并排序。SOHRAB 和MIVA[21]將嵌套命名實體識別看作分類問題,采用深度窮舉模型自上而下地對設定區(qū)間L及L以下區(qū)間(L是人為設定數(shù)據(jù))進行實體判斷。以上基于跨度的方法雖然解決了基于轉(zhuǎn)換方法中的問題,但忽略了在單詞嵌入時不同特征之間的相互依賴關(guān)系,并且將不同單詞特征表示直接相加,未捕捉深層單詞語義信息。這兩種方法學習句子中不同長度的所有候選跨度會耗費許多人力和時間。
綜上所述,嵌套命名實體識別方法存在單詞語義特征融合效果較差、邊界信息檢測不足的問題。本文對字級別嵌入和字符級別嵌入特征向量進行交互學習,采用二元序列標記法過濾非實體區(qū)間,得到只含有實體詞的粗粒度候選區(qū)間,再對其進行細粒度劃分。實驗結(jié)果表明,本文模型避免了對不同長度的所有跨度進行識別,減少了計算時間和成本,通過字特征表示向量交互學習得到強語義信息,提高了實體識別的準確性。
與大多數(shù)嵌套命名實體識別方法相同,本文基于跨度的方法構(gòu)建嵌套命名實體識別模型。本文模型架構(gòu)如圖1 所示。整體結(jié)構(gòu)分為五層:第一層為字嵌入層,獲得字級別嵌入和字符級別嵌入的向量表示,并使兩個向量交互學習獲取強化的單詞語義信息;第二層為基于BiLSTM 的特征交互表示層,經(jīng)過BiLSTM 編碼器捕獲單詞間的長依賴關(guān)系,并使兩個隱層信息表示交互學習得到最終的上下文序列表示;第三層為基于特征融合的注意力機制層,使用多頭注意力層進一步提取多重語義信息;第四層為粗粒度候選區(qū)間感知層,利用二元序列標記過濾一些非實體區(qū)間,得到粗粒度候選區(qū)間;第五層為細粒度劃分及類別判斷層,得到所有候選跨度的實體類別或非實體類別。
圖1 本文模型結(jié)構(gòu)Fig.1 Structure of the proposed model
2.2.1 字嵌入
在字嵌入過程中,輸入的句子被編碼為X={X1,X2,…,Xn}。每個單詞都有字級別嵌入向量和字符級別嵌入向量2 種類型的嵌入表示,分別得到字級別嵌入向量表示和字符級別嵌入向量表示(i表示第i個單詞)。本文字嵌入的初始化使用了MIKOLOV等[22]和PENNINGTON等[23]提出的公開可用的預訓練詞向量。首先,根據(jù)數(shù)據(jù)集構(gòu)建單詞詞匯表,然后,通過公開可用的預訓練單詞向量初始化詞匯表以得到詞向量表,在不斷的訓練過程中更新詞向量得到最終單詞的字級別表示向量。因此,本文采用BiLSTM 捕獲字符級別的信息。首先,對數(shù)據(jù)集上所有字符構(gòu)建字符表;然后,對每個字符隨機初始化字符向量,此時將每個單詞看作字符序列;最后,通過BiLSTM 網(wǎng)絡得到最終單詞的字符級別嵌入向量。單詞的字符級別表示過程如圖2 所示。本文第i個單詞xi由和分開表示,為了方便后面兩種特征向量交互學習,未對兩種單詞嵌入方式進行連接操作。
圖2 單詞的字符級別表示過程Fig.2 Character-level representation process of a word
單詞Xi是由兩種嵌入方式表示,本文定義xw表示句子的字級別向量表示,xc表示句子的字符級別向量表示。因此,句子的輸入以兩種不同的形式嵌入到分布空間中,如式(1)和式(2)所示:
2.2.2 嵌入單詞表示向量交互
兩種單詞表示向量可以通過強化學習來挖掘深層次的字語義信息和字符構(gòu)成的單詞信息。本文通過兩次交互機制來強化特征之間的信息融合。
其中:mul 表示不同數(shù)據(jù)之間的信息交互,經(jīng)過第一次信息交互,字級別表示向量和字符級別表示向量分別帶有對方的信息,強化了單詞的信息表示。此時的兩種單詞表示向量包含了強化的單詞語義信息。單詞表示向量第一次交互過程如圖3 所示。
BiLSTM 分別采用順序和逆序?qū)γ總€句子進行計算,以有效利用上下文信息,并且不存在梯度爆炸的問題[24]。本文融合字級別嵌入與字符級別嵌入來表示單詞語義信息,在BiLSTM 網(wǎng)絡編碼層中捕獲句子上下文信息,再將兩個隱層狀態(tài)交互學習并融合得到最終上下文序列表示,通過多頭注意力機制進一步得到句子的深層語義信息,該過程如圖4 所示。
圖4 基于BiLSTM 的特征交互表示流程Fig.4 Procedure of feature interaction representation based on BiLSTM
2.3.1 BiLSTM 特征提取
2.3.2 特征交互
本文通過對隱藏狀態(tài)的句子特征向量進行強化訓練,獲取深層語義信息,引入Softmax 激活函數(shù)更新不同特征的權(quán)重,同時讓兩個隱藏狀態(tài)句子特征向量與權(quán)重矩陣進行交互,從而達到提高有用信息比重、降低非實體信息比重的目的。該過程如式(11)和式(12)所示:
字級別嵌入向量與字符級別嵌入向量經(jīng)過兩次交互之后,最終包含單詞語義信息和句子上下文信息的隱藏狀態(tài)序列表示H={h1,h2,…,hn}。每個隱藏單元ht滿足式(13):
2.3.3 基于特征交互的多頭注意力
多頭注意力通過多個子空間表示來提升模型關(guān)注不同特征的能力,有利于后續(xù)實體的邊界分類和類型分類。因此,本文在BiLSTM 后加入多頭注意力來獲取上下文信息的依賴關(guān)系。其中,縮放點積注意力的計算如式(14)所示:
其中:AAttention(Q,K,V)表示注意力分數(shù);Q表示查詢向量;K表示鍵向量;V表示值向量表示鍵向量維數(shù)的平方根。
多頭注意力層本質(zhì)指進行兩次以上的注意力頭運算[25],對于基于BiLSTM 的特征交互表示得到的隱層序列狀態(tài)表示,單頭注意力計算如式(15)所示:
其中:MMH為多頭注意力層的計算結(jié)果;Wc為權(quán)重參數(shù)。
在粗粒度候選區(qū)間感知層中,本文采用二元序列標記法給每一個文本標記實數(shù),其中實體詞被標記為1,非實體詞被標記為0,以判斷每個詞是否屬于某個或多個實體,以便過濾掉一些非實體的區(qū)域,找到只含有實體詞的粗粒度候選區(qū)間,進而劃分出不同層的實體詞,避免對所有不同跨度類型的區(qū)間進行實體判斷,減少了計算的時間成本。隱藏層特征序列輸出經(jīng)過一個全連接層和Sigmoid 激活函數(shù)得到每個詞屬于實體內(nèi)部或?qū)嶓w邊界的實體詞概率p。
本文設定當粗粒度候選區(qū)間感知層中每個詞被預測屬于實體詞的概率p大于(不包含)0.5 時,即視為實體詞。粗粒度候選區(qū)間全為實體詞,對于每個粗粒度候選區(qū)間interval(i,j)=(Xi,Xi+1,…,Xj),Xi表示輸入文本的第i個詞,此時定義粗粒度候選區(qū)間的左邊界信息為區(qū)間第一個詞的句子級信息hi,右邊界信息為區(qū)間最后一個詞的句子級信息hj,整體信息為區(qū)間的所有詞句子級信息表示的平均值。即每個粗粒度候選區(qū)間interval(i,j)向量表示如式(17)所示:
其中:hk表示輸入句子中第k個單詞的隱藏狀態(tài)特征表示。
句子的粗粒度候選區(qū)間感知層使用二元交叉熵函數(shù)作為損失函數(shù)Lword,如式(18)所示:
其中:y表示所判斷詞的真實標簽;p表示所判斷詞為實體詞的概率。
當模型進行訓練時,若輸入的句子X={X1,X2,…,Xn},且在區(qū)間(Xi,Xi+1,…,Xj)內(nèi)都是實體,則對應的二元序列標簽yi,yi+1,…,yj都為1,不在任何實體中的詞被標記為0。句子的粗粒度候選區(qū)間感知層在當前批次的損失如式(19)所示:
其中:Lword表示粗粒度候選區(qū)間感知層的損失函數(shù);wordi表示當前訓練批次的第i個詞;mx表示當前訓練批次詞的個數(shù)。當模型進行訓練時,在訓練集上運用反向傳播算法對式(19)進行最小化,達到優(yōu)化模型的目的。
本文通過過濾一些非實體區(qū)域得到粗粒度候選空間。細粒度劃分及類別判斷層將對粗粒度候選區(qū)間進行劃分,得到不同層的細粒度候選區(qū)間,通過一個全連接層和Softmax 層判斷實體類別或非實體類別。細粒度劃分及類別判斷層的結(jié)構(gòu)如圖5 所示。
圖5 細粒度劃分及類別判斷層的結(jié)構(gòu)Fig.5 Structure of fine granularity division and category judgment layer
在大多數(shù)句子中含有的實體詞較少,且連續(xù)實體詞的長度也較短,因此,采用枚舉的方法對粗粒度候選區(qū)間的細粒度進行劃分。其中,細粒度區(qū)間的向量表示和粗粒度候選區(qū)間的向量表示方法保持一致。將細粒度區(qū)間的向量表示輸入到由全連接層和Softmax 輸出層構(gòu)成的區(qū)域,用于分類該細粒度區(qū)間屬于哪種實體類別或者不屬于任何實體類別。本文的細粒度區(qū)間分類損失函數(shù)采用交叉熵損失函數(shù),如式(20)所示:
其中:yinterval,c表示細粒度區(qū)間是否屬于實體類別c的二元標簽(1 表示屬于,0 表示不屬于);pinterval,c表示細粒度區(qū)間屬于實體類別c的概率。實體類別總共有N個。
同理,細粒度劃分及類別判斷層在當前批次上的訓練損失函數(shù)如式(21)如示:
其中:Linterval為細粒度劃分及類別判斷層的損失函數(shù);intervali為當前訓練批次的第i個細粒度區(qū)間;mi為當前訓練批次細粒度區(qū)間的個數(shù)。當模型進行訓練時,在訓練集上運用反向傳播算法對式(21)進行最小化,達到優(yōu)化模型的目的。
由于粗粒度候選區(qū)間感知層和細粒度劃分及類別判斷層共享相同的編碼器BiLSTM,因此整個模型可以看成多任務訓練,模型在訓練集上的損失函數(shù)L為多任務訓練損失的加權(quán)平均值,如式(22)所示:
其中:λ為超參數(shù),0<λ<1,表示粗粒度候選區(qū)間感知層在整個 模型損失 中的權(quán)重和分別為粗粒度候選區(qū)間感知層和細粒度劃分及類別判斷層的損失函數(shù)。經(jīng)驗證,當λ取0.4 或0.9 時,本文的實驗效果最優(yōu)。
為驗證模型的有效性,本文在嵌套的NER 數(shù)據(jù)集GENIA 上進行實驗。對于GENIA 數(shù)據(jù)集,本文使用文獻[26]發(fā)布的預處理版本。該數(shù)據(jù)集在屬于醫(yī)學領(lǐng)域的GENIA v3.0.2 語料庫上建立,包含DNA、RNA、protein、Cell-line 和Cell type 實體類型。本文訓練集、驗證集和測試集的比例為8.1∶0.9∶1。GENIA 數(shù)據(jù)集的統(tǒng)計數(shù)據(jù)如表1 所示。
表1 GENIA 數(shù)據(jù)集的統(tǒng)計數(shù)據(jù)Table 1 Statistics data of GENIA dataset
在實驗部分,本文采用IOB2 標注方法對訓練數(shù)據(jù)進行標注,單層的IOB2 標注方法無法標注嵌套命名實體,多層IOB2 標注方法可以對包含多個實體含義的實體詞進行多列標注。IOB2 的標簽I 用于文本塊內(nèi)的字符,標簽O 用于除文本塊之外的字符,標簽B 用于在該文本塊前面接續(xù)一個同類型的文本塊情況下的第一個字符。多個文本塊和每個文本塊都以標簽B 開始。
在標注時首先計算最大嵌套層數(shù)N,標注時對每個詞標注N列,由內(nèi)至外標注各層實體信息。在GENIA數(shù)據(jù)集上某一嵌套命名實體標注內(nèi)容如圖6 所示。
圖6 多層IOB2 標注格式實例Fig.6 Example of multi-layer IOB2 annotation format
本文所提模型基于PyTorch 框架,預訓練的字級別嵌入的向量維度為200 維,字符級別嵌入的向量維度為200 維并隨機初始化。模型參數(shù)設置如表2所示。表3 所示為本文的實驗環(huán)境與配置。
表2 本文模型參數(shù)設置Table 2 Parameter settings of the proposed model
表3 本文實驗的軟硬件環(huán)境Table 3 Software and hardware environment of the proposed experiment
本文分別采用準確率P、召回率R和綜合評價指標F1 值作為評價標準。
為驗證本文所提模型的有效性,本文模型與嵌套命名實體識別的基線模型進行對比。對比模型如下:1)文獻[27]基于超圖方法聯(lián)合建模識別實體邊界、實體類型和實體頭部;2)文獻[8]提出基于局部檢測方法識別嵌套命名實體;3)文獻[28]引入分隔符概念,提出一種新的基于多圖方法;4)文獻[21]列舉所有可能的實體跨度,并將其作為潛在的實體提及,使用深度神經(jīng)網(wǎng)絡對實體提及進行分類;5)文獻[29]提出BILU-NEMH模型,將超圖模型與編碼模式和神經(jīng)網(wǎng)絡相結(jié)合,有效地捕獲無界長度的嵌套提及實體。
在GENIA 數(shù)據(jù)集上不同模型的評價指標對比如表4 所示。
表4 在GENIA 數(shù)據(jù)集上不同模型的評價指標對比Table 4 Evaluation indexs comparison among different models on GENIA dataset %
從表4 可以看出,相比對比模型,本文模型的召回率R和F1 值都達到了最優(yōu)。其中,文獻[28]模型的性能次優(yōu)。其原因為:雖然文獻[28]提出的模型能夠處理實體重疊的情況,但是在GENIA 數(shù)據(jù)集上,大多數(shù)模型提到的實體都是在一個嵌套的結(jié)構(gòu)中,而不是在實體重疊的結(jié)構(gòu)中。
相比對比模型,本文模型的召回率比最優(yōu)模型(文獻[29]模型)提升3.5 個百分點,F(xiàn)1 值相比最優(yōu)模型(文獻[28]模型)提升0.4 個百分點。這可能是由于本文模型經(jīng)過特征交互融合和信息共享來優(yōu)化實體正確識別的效果,也使得分類器更好地分類實體類別。因此,本文模型在召回率和F1 值上都有所提升。
表5 所示為本文模型在五種實體類別識別中的P、R和F1 值以及文獻[21]模型在五種實體類別識別的F1 值??傆嫈?shù)據(jù)是在整個數(shù)據(jù)集的實體類別識別中的R、P、F1 值。文獻[21]模型在RNA、protein實體類型上的識別效果優(yōu)于本文模型,在其余實體類型上本文模型的性能都有不同程度的提高。因此,本文提出的基于交互式特征融合模型能有效改進句子隱藏信息的提取效果,對后續(xù)嵌套命名實體的識別起到了重要的作用。
表5 不同模型在各實體類別上的評價指標對比Table 5 Evaluation indicators comparison among different models on various entity categories %
在深度學習模型的訓練過程中,單詞嵌入對模型的整體效果起關(guān)鍵作用。嵌入向量的結(jié)合方式,即單詞特征向量表示的不同融合方法,對模型的整體效果也起到重要的作用。為驗證嵌入時不同單詞特征向量以及句子特征向量的交互對整體模型產(chǎn)生的效果,本文進行交互對比實驗,除引入的交互策略不同以外,其他模型的參數(shù)設置均相同。三組對比實驗如下:1)F-Alternate+BiLSTM+att,加入第一次交互,即進行單詞嵌入向量的交互,通過BiLSTM 獲取隱層序列信息,再通過多頭注意力機制獲取句子級信息;2)BiLSTM+S-Alternate+att,只進行第二次交互,即包含隱層序列狀態(tài)信息的兩種特征向量進行交互,之后加入多頭注意力機制獲取句子深層上下文信息;3)BiLSTM+att,不進行特征向量的交互,將兩種單詞嵌入表示向量直接拼接,并將其作為句子級輸入,通過BiLSTM 得到隱層狀態(tài)序列表示,再由多頭注意力機制得到句子級深層語義信息。消融實驗結(jié)果如表6 所示。
表6 消融實驗結(jié)果Table 6 Ablation experiment results %
本文以BiLSTM+att 模型作為基準,對本文模型、F-Alternate+BiLSTM+att模型、BiLSTM+S-Alternate+att 模型進行對比。從表6 可以看出,F(xiàn)-Alternate+BiLSTM+att 模型與基準模型相比,F(xiàn)1 值和R分別提高0.2 和0.9 個百分點,這是由于此時兩種單詞表示向量各帶有對方的信息,提取到了字與字符之間的依賴關(guān)系。BiLSTM+S-Alternate+att 模型的F1 值與R均低于基準模型,這可能是BiLSTM 在獲得兩種特征表示向量之前,未進行數(shù)據(jù)交流,將交互之后的信息作為噪音過濾掉,導致最終隱藏序列狀態(tài)的信息獲取不足。相比基準模型,本文模型F1 值和P分別提高0.4 和0.9 個百分點,說明第一次單詞表示向量的交互使得字級別向量與字符級別向量分別帶有對方的隱藏信息,獲得兩者之間的依賴關(guān)系,而第二次交互了句子級隱層序列特征向量,不僅加強了自身深層語義信息的獲取,還增強了字級別特征與字符級別特征之間的信息交互。
為驗證多頭注意力機制對模型的影響,本文實驗對比了基于特征交互的多頭注意力模型與未加入多頭注意力機制的模型,除了引入的注意力機制不同,其他模型的參數(shù)設置均相同。實驗結(jié)果如表7 所示。
表7 引入多頭注意力機制后不同模型的評價指標對比Table 7 Evaluation indicators comparison among different models after introducing multi-head attention mechanism %
相比F-Alternate+BiLSTM+S-Alternate模型,本文模型的F1 值提高1.5 個百分點,P和R各有不同程度的提升。因此,多頭注意力機制對于文本深層語義信息的提取以及學習句子長依賴關(guān)系具有重要的意義。
結(jié)合以上結(jié)果表明,基于交互式特征融合和多頭注意力機制可以提取句子的深層語義信息,得到隱藏序列向量表示,有效地提高模型的性能。
現(xiàn)有嵌套命名實體模型在字嵌入過程中存在不同特征融合效果較差,以及無法捕獲特征依賴關(guān)系和單詞強語義信息的問題,本文提出一種基于交互式特征融合的嵌套命名實體識別模型。通過引入多頭注意力機制學習句子長距離依賴關(guān)系,從而得到深層語義信息。采用二元序列標注法過濾非實體詞,降低時間消耗。實驗結(jié)果表明,本文模型能有效提取句子的深層語義信息。下一步將引入BERT 預訓練模型,對實體與詞語之間的關(guān)系以及邊界信息獲取方式進行研究,增強模型識別效果。