黃榮梅,廖 濤,張順香,段松松
(安徽理工大學 計算機科學與工程學院,安徽 淮南 232001)
命名實體識別(NER)是信息提取當中的一項基本任務,其旨在從非結構化的文本中識別并分類出實體所屬類型。它被認為是許多自然語言處理(NLP)當中下游任務的關鍵部分,例如:關系提取[1]、機器翻譯[2]等自然語言處理技術領域。隨著技術的發展,越來越多的人開始研究文本當中具有嵌套結構的實體,將這類實體統稱為嵌套命名實體(nested NER),如句子“北京天安門廣場”,其中“北京”為地名實體,嵌套在另一個地名實體“北京天安門廣場”之中。自然語言短語表述的特性,使得命名實體通常是嵌套的[3]。因而,嵌套命名實體越來越引起人們的思考與研究。
近年來,涌現出許多針對nested NER的新方法。Shibuya和Hovy[4]采用分層的方法,通過應用傳統的條件隨機場(CRF)重復檢測內部實體。Li等[5]提出了將nested NER任務看作閱讀理解來做的思路。轉換的方法將嵌套命名實體轉化為線性結構,再進行序列標記。例如:Muis等[6]提出一種基于超圖的方法,Katiyar和Cardie[7]同樣基于超圖方法,并用貪婪的方式使用LSTM來進行線性學習。通過發現可知,目前大多數的方法在嵌入時采用字級別表示和字符級別表示的聯合嵌入獲取特征信息,這并沒有考慮字特征與字符特征之間的依賴關系,從而無法高效獲得隱藏的特征信息。
針對目前嵌入特征向量隱藏信息獲取不充分現象,本文提出了一種雙流的特征互補機制加以解決,將兩種嵌入向量分別進入Bi-LSTM獲取文本上下文特征,之后采用一種雙向特征互補機制探索兩個特征向量之間的最大信息增益,本文通過在GENIA數據集上進行對比分析得到結論,相較于其它經典實驗本文的實驗結果最佳。
現有的識別非嵌套命名實體的方法通常將NER任務看成是序列標記問題,與基于特征的方法相比,深度學習有助于自動發現隱藏的特征[8]。Yu等[9]基于圖依賴解析的思想,通過雙仿射模型描繪全局視圖來準確地預測命名實體。Liu等[10]通過擴展基于頭詞的非精確匹配的字典,推廣了遠程監督從而識別命名實體。
近年來外部資源的使用提高了命名實體識別的整體效果,如Peters等[11]通過深度雙向語言模型ELMo中疊加的內部隱藏狀態的線性組合。Sun等[12]將生物醫學實體看作成機器閱讀理解(MRC)問題,使用BERT在MRC框架中執行生物醫學命名實體識別提高了模型識別目標實體的能力。
嵌套命名實體在現實生活中很常見。針對嵌套NER,學者們提出了不少的方法,主要可以歸類為基于轉換和基于跨度兩種方法[13]。
基于轉換的方法是通過標注將復雜的序列嵌套問題轉化,進而完成識別。Wang和Lu等[14]通過將有嵌套的句子映射到指定的森林,基于使用Stack-LSTM網絡自底向上的方式構造森林結構。Lin等[15]提出了一種序列到塊的體系結構,首先識別錨詞(實體可能的頭詞),然后識別每個錨詞的實體邊界,最后將這些候選實體劃分為相應的實體類型。
基于跨度的方法是識別句子子序列或者識別規定范圍的跨度來識別嵌套的實體。Luan等[16]提出了一個通用信息提取框架DYGIE,其中的態跨度圖方法增強了任務之間的交互,允許模型從更廣泛的上下文中學習有用的信息。Zheng等[17]提出了一種邊界感知神經網絡模型,該模型檢測實體的起始邊界和結束邊界形成跨度,再將這些跨度被劃分為相應的實體類型或非實體類型。
非嵌套NER假設實體之間沒有重疊,因此它們不適用于嵌套的NER。基于轉換的嵌套NER方法需要一些復雜的轉換和解碼操作,這可能會導致級聯錯誤,而且計算代價高昂。目前基于跨度的嵌套NER方法缺乏明確的邊界監督,并產生了許多負樣本用于跨度分類,此外,它們的計算成本也很昂貴。本文提出的模型不同于當前的基于跨度的方法,提出了雙流互補機制得到更多的特征信息,最后進入實體判斷模塊和細粒度劃分模塊識別嵌套的實體。模型充分抓取了不同特征之間的依賴關系和更多的語義信息,實現了不錯的效果。
本文的整體模型架構如圖1所示。整體模型可分為4層:第一層為字嵌入與特征提取部分,將單詞的字級和字符級表示向量送入Bi-LSTM中獲取句子的上下文信息;第二層為低層級特征互補層,每個特征向量加入另一種特征的有效信息得到新的特征表示;第三層為高層級的特征互補層,經過特征向量融合操作得到最終句子的表示向量;第四層為類別判斷,句子的表示向量首先進入實體感知模塊,判別為實體詞的跨度進入細粒度劃分區間判別有無嵌套實體詞,最后進入全連接層和Softmax層得到最終的實體類型分類。

圖1 模型整體架構


圖2 字符級嵌入結構
本文定義句子的字級嵌入向量表示為sw,句子的字符級嵌入向量表示為sc。式(1)、式(2)給出了句子的兩種嵌入表示向量
(1)
(2)
其中,ew表示預訓練的詞向量查找表,ec表示單詞的字符向量經過Bi-LSTM得到的字符嵌入向量表。
隨后將兩種嵌入向量分別輸入到Bi-LSTM中獲取句子的上下文信息,得到字級特征表示向量和字符級特征表示向量。以字級特征表示向量為例,式(3)~式(8)每個時刻t在各個單元的隱藏狀態計算
(3)
(4)
(5)
(6)
(7)
(8)

為了有效利用上下文信息,文本采用雙向LSTM結構采集字級和字符級信息,并得到兩個不同的中間層表示,最后進行拼接操作得到最終的隱藏層輸出
(9)
(10)
(11)

這一層屬于低層級的特征互補,不僅關注到了不同單詞表示向量之間的特征依賴關系,而且將獲取到更多的低層級語義信息。如圖3所示給出了低層級特征互補的過程。

圖3 低層級特征互補
圖3中CCM指補充后得到新的字級嵌入特征向量模塊。MLP指多層感知機,用來提取低層語義信息。字符級嵌入特征向量經過sigmoid激活函數得到特征權重,接著權重與字級嵌入特征向量相乘提取到字符級嵌入的有用特征,最后經過殘差連接得到新的字級嵌入特征向量。式(12)給出了操作過程
(12)
同理,WEM指特征互補后得到新的字符級嵌入特征向量模塊。整個過程與CCM類似,首先由多層感知機MLP提取低層語義信息,經過sigmoid函數激活得到權重,然后將權重與字符級嵌入向量相乘得到字級嵌入向量中包含的有用特征,最后經過殘差連接得到新的字符級嵌入特征向量。式(13)給出了整個操作過程
(13)
2.4.1 多頭注意力機制
本文在這一模塊添加了多頭注意力機制,使模型中更側重于重要特征,減少對非重要特征的關注,優化資源分配。本文整體模型架構中MHSM即為多頭注意力機制。

(14)
多頭注意力就是把多個自注意力連接起來,如式(15)、式(16)所示
MultiHead(Q,K,V)=Concat(head1,…,headh)Wo
(15)
式中:Q,K,V,Wo為訓練好的權重參數,h為注意力頭數
(16)

2.4.2 高層級特征互補
由多頭注意力獲取局部特征之后,對兩個特征向量進一步進行特征互補可以獲取到更深層的語義信息。整個高層級的特征互補如圖4所示。

圖4 高層級特征互補

(17)
(18)
(19)

(20)
(21)
(22)
(23)
(24)
經過特征互補后句子的最終表示向量首先進入實體詞判斷模塊,對每個文本進行標記時,采用了二元序列標記法。在這個標記中,實體詞被標記為1,非實體詞被標記為0。這么做可以過濾一些非實體的區域。具體的:特征序列經過一個全連接層和sigmoid激活函數得到每個詞屬于實體內部或實體邊界的實體詞概率p(當p大于0.5時視為實體詞)。

對實體詞跨度的細粒度劃分可以用來識別內部嵌套的實體。細粒度劃分后的區間進入一個全連接層和softmax層得到最終的類別標記。整個過程圖5所示。

圖5 實體詞跨度細粒度劃分
在訓練過程中,本文使用交叉熵損失作為模型結構損失函數。本文損失函數由兩部分組成,一部分由判別文本是否為實體詞構成的損失函數,記作Ll,如式(25)所示
Ll=-[ylog(p)+(1-y)log(1-p)]
(25)
式中:y指判別元素為實體詞的真實標簽(1表示為實體詞,0表示為非實體詞),p表示判別元素為實體詞的概率。
另一部分損失函數為細粒度劃分某個實體詞區間 時類別劃分是否正確,記作Lh,采用交叉熵損失函數,如式(26)所示
(26)
式中:yh,c表示的是實體詞是否屬于實體類別c的二元標簽(1表示屬于,0表示不屬于),ph,c表示實體詞屬于實體類別c的概率,實體類別一共有N個。
因此,本文模型在訓練集上的損失L為多任務訓練損失的加權平均值。如式(27)所示
(27)
式中:第一項的si表示第i個文本,x表示文本的個數;第二項的spani表示第i個實體詞跨度,t表示實體詞跨度的個數。λ是一項超參數(0<λ<1),表示判斷元素是否為實體詞在整個模型損失中的權重。


表1 GENIA數據集
不同的數據集可能使用各種標注方法,其中常見的有BIOES標注法、Markup標注法和BIO標注法。在本文的數據集中,我選擇了BIO標注法。具體而言,“B-X”表示該元素所在片段屬于X類型且該元素位于片段開頭,“I-X”表示該元素所在片段屬于X類型且該元素位于片段中間,“O”表示該元素不屬于任何類型[18]。
在標注前首先需得到最大嵌套層數N(N設置為4),標注時對每個詞標注N列,由內層向外層標注類別信息。表2給出了GENIA數據集某一片段的嵌套實體標注結果。

表2 BIO標注片段
本文模型基于PyTorch 1.3.1框架,預訓練的字級別嵌入向量維度和字符級嵌入向量維度各為200維并隨機初始化。模型參數見表3。

表3 實驗參數設置
具體實驗環境設置見表4。
實驗中采用精確率(P)、召回率(R)和綜合評價指標F1作為模型性能的評價指標。精確率指被模型預測為實體的元素中確為實體的概率,召回率指數據集中所有實體被模型準確識別出的概率。
為驗證本文將兩種嵌入特征向量進行雙流互補的有效性,選取以下5種具有代表的模型作為基線模型,選擇結果如下:
(1)Xu等[19]提出基于局部檢測方法,在未借助任何外部資源或特征工程情況下優于傳統的序列標記方法;
(2)Sohrab和Miwa[20]用BiLSTM得到句子表示向量,將所有可能為命名實體的區間跨度枚舉出來,接著用神經網絡對其進行驗證并分類;
(3)Ju等[21]提出了一種基于LSTM和CRF組成的命名實體識別層,在NER層對預測標簽進行全局解碼,而不依賴特征工程采用的級聯CRF層以一種從內到外的方式提取內部實體編碼的信息來識別外部實體;
(4)Lin等[22]提出將超圖模型與神經網絡結合,以超圖來識別重疊的元素,神經網絡獲取特征的方式進行嵌套實體的識別;
(5)Liao等[13]采用兩種嵌入方式并結合神經網絡,用以提取更高效的特征信息。
表5給出了不同模型在GENIA數據集上的實驗結果。

表5 不同模型在GENIA上的實驗結果
從實驗結果來看,本文的R值和F1值都達到了最優。其中,Ju等提出的模型較優可能是因為CRF 可以從訓練數據中學習到約束條件,從而提高了預測標簽的有效性,但模型可能會產生級聯錯誤。Lin等用超圖模型識別嵌套結果效果不如其它模型,這可能是由于實際嵌套結構和圖結構之間的映射存在很大的差距。Liao等不同于其它方法,句子嵌入時采取了兩種基于單詞的嵌入方法,用Bi-LSTM獲取句子上下文信息,對獲取到的不同特征向量進行特征交互從而實現嵌套實體識別,實驗結果優于除Ju等以外的其它方法。本文的模型受Liao等的啟發,對兩種嵌入得到的特征向量進行雙流的特征互補,實驗結果表明本文模型優于前者。具體的,本文模型的R值比Liao等提升4.8%,F1值相比Ju等提升1%。
特征提取是進行嵌套命名實體識別的重要步驟和關鍵部分,因此在設計模型時考慮特征信息的提取變得十分重要。為了驗證本文模型在基于雙流特征互補后特征識別的效果,本文與5種經典模型進行對比實驗,實驗數據集均為GENIA,所有模型均采用字級別嵌入和字符級別嵌入兩種嵌入方式。
(1)BiLSTM+MHSM:兩種嵌入向量使用BiLSTM提取上下文特征信息,隨后用多頭注意力機制獲取局部特征信息。
(2)BiLSTM+CCM+MHSM+HBCL:使用BiLSTM獲取文本上下文信息特征后,將字符級嵌入特征向量的有效信息補充到字級嵌入特征向量,隨后進入多頭注意力機制,再進行高層級的特征互補。
(3)BiLSTM+WEM+MHSM+HBCL:經過BiLSTM得到兩種特征向量后將字級嵌入特征向量的有效信息補充到字符級嵌入特征向量,隨后獲取局部特征信息,再進行高層級的特征互補。
(4)BiLSTM+MHSM+HBCL:使用BiLSTM獲取文本上下文特征信息后,再獲取句子局部特征信息,隨后直接進行高層級特征互補得到句子特征向量。
(5)BiLSTM+CCM+WEM+MHSM:經過BiLSTM得到兩種特征向量后進行兩個維度的低層級特征互補,隨后進入多頭注意力機制獲取句子局部特征信息。
實驗設計了5組消融實驗模型,各個模型的實驗結果見表6。

表6 GENIA上的消融實驗結果
將本文模型與消融模型(1)對比可以看出,做了雙流的特征互補后,特征信息的提取性能明顯提升,其中R值提升9.1%,F1值提升4.1%。將消融模型(1)和消融模型(2)、模型(3)對比可以看出,添加了某一維度的特征互補之后特征信息的提取效果有所提升,這是因為經過低層級特征互補后可以獲取低層級語義信息,從而提高了整體識別效果。從消融模型(1)與消融模型(4)的結果對比來看,可以發現高層特征信息互補同樣對特征信息的提取同樣十分重要。將本文模型與消融模型(5)對比可以發現高層級特征互補的重要性,本文在低層級特征互補后又增加了高層級特征互補,其中R值提升5.6%,F1值提升1.6%。對比消融模型(4)和模型(5)可以發現,只做低層級特征互補F1值要略高于只做高層級特征互補,這可能是因為高層級的特征互補一定程度上依賴于低層級特征互補。
綜合上面的實驗結果可以得出,兩種不同嵌入方式得到的特征向量綜合低層級特征互補和高層級特征互補后,增強了有用特征信息的提取,從而提高了嵌套命名實體的整體識別效果。
本文提出了一種基于雙流特征互補的模型,以獲取文本中隱藏的有用的特征信息。同時,采用了多頭部注意機制來使模型中更側重于重要特征,減少對非重要特征的關注,優化資源分配。通過字級嵌入和字符級嵌入兩個維度來獲取句子的特征,結果表明通過底層和高層對字特征和字符特征融合互補提升了嵌套命名實體的識別效果。一些研究發現,最新的預訓練語言模型,如RoBERTA或ALBERT,可以獲得良好的初始化效果,獲取跨句子單詞間的依賴關系。由此可見,如果將基于Transformer的預訓練模型應用于句子嵌入過程,將會帶來很大的優勢。因此,在未來的研究工作中,將結合一些預訓練語言模型來獲取句子特征信息,并且將繼續研究如何有效解碼嵌套命名實體中的標記。