連藝謀,張英俊,謝斌紅
(太原科技大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,太原,030024)
命名實(shí)體識別(Named Entity Recognition,NER)[1]是自然語言處理(Natural Language Processing,NLP)中的一項基本任務(wù),目的是識別出自然語言文本中具有特定意義的語言塊,如人名、地名、組織名等。命名實(shí)體識別的結(jié)果會作為前期基礎(chǔ)數(shù)據(jù)輸入到關(guān)系抽取、事件抽取、知識圖譜等下游任務(wù)中,其識別的準(zhǔn)確性一定程度上決定了NLP 應(yīng)用的最終效果。在實(shí)體中可能會存在嵌套實(shí)體,例如“IL-2 Promoter”是一種“DNA”實(shí)體,該實(shí)體中的“IL-2”又是一種“protein”實(shí)體。根據(jù)實(shí)體中是否存在嵌套實(shí)體的情況,NER可分為flat NER和nested NER。實(shí)體嵌套是自然語言處理中的一種常見問題,研究該問題的解決方案,對落實(shí)命名實(shí)體識別的應(yīng)用具有重要意義。
目前對于NER的研究大多是針對flat NER的研究,然而在醫(yī)學(xué)、新聞等領(lǐng)域的數(shù)據(jù)集中存在大量嵌套實(shí)體,如生物醫(yī)學(xué)領(lǐng)域常用的GENIA語料庫中存在約10%的嵌套實(shí)體。在處理flat NER 時,現(xiàn)有方法通常是將其當(dāng)作序列標(biāo)注的問題去解決[2-3],如BiLSTM-CRF 模型[4]。但是這種方法要求每個詞在標(biāo)注時對應(yīng)一個標(biāo)簽,而在nested NER 中,每個詞會對應(yīng)多個標(biāo)簽,將flat NER方法直接應(yīng)用在nested NER上效果并不理想。因此,解決nested NER 存在的問題,提高命名實(shí)體識別的效果,是當(dāng)前的研究熱點(diǎn)。
對于nested NER 任務(wù),一種解決方法是借助超圖的方法,該方法以有向超圖結(jié)構(gòu)代替平面命名實(shí)體識別中常用的無向圖結(jié)構(gòu),通過設(shè)計標(biāo)記模式來識別嵌套實(shí)體,但這種方法在設(shè)計超圖時需要大量人工,而且當(dāng)句子過長或?qū)嶓w類別過多時,超圖結(jié)構(gòu)會很復(fù)雜。另一種解決方法是利用片段抽取分類的方法,該方法通過抽取出句子中的子序列并進(jìn)行分類來完成實(shí)體識別,但這種方法需要找出句子中所有的子序列,計算代價大,且在表示子序列時沒有充分利用到文本特征。
針對上述問題,本文提出一種邊界強(qiáng)化分類模型。將卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)和多頭注意力機(jī)制應(yīng)用到序列標(biāo)記模型中,增強(qiáng)模型檢測實(shí)體邊界的能力。在進(jìn)行分類時,結(jié)合實(shí)體片段關(guān)鍵字和實(shí)體邊界詞進(jìn)行實(shí)體表示,從而更充分地利用模型學(xué)到的特征。在此基礎(chǔ)上,引入多任務(wù)損失對模型進(jìn)行訓(xùn)練,進(jìn)一步優(yōu)化模型性能。
早期關(guān)于nested NER 的研究主要采用手工特征的方法或是依賴規(guī)則的處理,如文獻(xiàn)[5-6]采用隱馬爾可夫模型識別內(nèi)部的平面實(shí)體,然后通過基于規(guī)則的方法獲取外部實(shí)體,文獻(xiàn)[7]提出基于支持向量機(jī)的方法來提取嵌套實(shí)體。但是這些依賴手工特征和規(guī)則的方法移植性差、容錯率低,需要消耗大量的人力和時間。
隨著深度學(xué)習(xí)的不斷發(fā)展以及NER 應(yīng)用日漸成熟,對于nested NER 的研究也主要集中在了深度學(xué)習(xí)方法上。文獻(xiàn)[8-9]利用超圖解決nested NER問題,通過設(shè)計超圖來表示所有可能的嵌套結(jié)構(gòu),然后從超圖標(biāo)簽中恢復(fù)嵌套實(shí)體。但是為了避免虛假結(jié)構(gòu)和結(jié)構(gòu)歧義,在設(shè)計超圖時需要消耗大量的人力,并且這種使用超圖的方法在訓(xùn)練和推理中有著較高的時間復(fù)雜度。文獻(xiàn)[10]提出一種多層神經(jīng)網(wǎng)絡(luò)模型,通過動態(tài)堆疊flat NER 層來識別嵌套實(shí)體,其中flat NER 層利用BiLSTM 捕獲序列的上下文表示,然后將其輸入到CRF 中。但這種方法由于下一層的計算依賴上一層的表示結(jié)果,因此無法并行計算,同時層級之間容易出現(xiàn)錯誤傳遞。而且由于嵌套層數(shù)較深的實(shí)體數(shù)量較少,因此該方法還存在深層實(shí)體稀疏的問題。文獻(xiàn)[11]提出的錨區(qū)域檢測模型,通過對實(shí)體的頭部驅(qū)動短語結(jié)構(gòu)進(jìn)行建模來檢測嵌套的實(shí)體,即先使用錨點(diǎn)詞檢測器檢測句子中的每個詞,判斷其是否為實(shí)體的錨點(diǎn)詞,并且判斷其對應(yīng)的實(shí)體類別,再設(shè)計區(qū)域識別器來識別以每個錨點(diǎn)詞為中心的實(shí)體邊界,最終完成嵌套實(shí)體的檢測。文獻(xiàn)[12]則通過將詞或?qū)嶓w合并形成新實(shí)體來完成嵌套實(shí)體的檢測。
對于nested NER 任務(wù),另一種解決方法是對文本進(jìn)行片段抽取分類。文獻(xiàn)[13]提出一種考慮所有可能片段的嵌套神經(jīng)網(wǎng)絡(luò)窮舉模型,先窮舉出所有小于最大實(shí)體長度的片段,再對每個片段進(jìn)行向量表示,最后通過一個分類器為每個片段打上實(shí)體類型或非實(shí)體類型的標(biāo)簽。該模型雖然避免了層級檢測模型錯誤傳播的問題,但由于要對所有可能的片段進(jìn)行分類篩選,因此計算開銷大、推理效率低,而且由于缺乏精確的邊界信息,抽取出的片段多為非實(shí)體片段。文獻(xiàn)[14]提出使用一種局部探測方法,利用固定長度的片段及其前后文對實(shí)體進(jìn)行識別。文獻(xiàn)[15]提出一種邊界感知的神經(jīng)網(wǎng)絡(luò)模型,將序列標(biāo)注模型應(yīng)用到片段抽取中,通過序列標(biāo)注模型檢測邊界來精確定位實(shí)體,并在檢測所得邊界的基礎(chǔ)上,對邊界內(nèi)的實(shí)體進(jìn)行向量的平均表示。文獻(xiàn)[16]結(jié)合詞性進(jìn)行實(shí)體邊界檢測,對實(shí)體邊界檢測和分類進(jìn)行共同訓(xùn)練。雖然文獻(xiàn)[15-16]模型利用了邊界信息,但在表示實(shí)體時沒有充分利用到實(shí)體特征信息。
綜上可知,現(xiàn)有的嵌套命名實(shí)體識別方法存在對實(shí)體邊界的檢測不夠準(zhǔn)確、未有效利用實(shí)體邊界信息的問題。本文提出一種邊界強(qiáng)化分類模型進(jìn)行嵌套實(shí)體的識別。利用不同卷積核大小的卷積神經(jīng)網(wǎng)絡(luò)獲取鄰近單詞的特征,利用多頭注意力強(qiáng)化模型的表達(dá)能力,從而獲得有效的實(shí)體邊界信息。同時,在表示實(shí)體時充分利用實(shí)體特征信息,計算實(shí)體內(nèi)部各詞權(quán)重并結(jié)合實(shí)體邊界詞,得到準(zhǔn)確的實(shí)體表示。
本文邊界強(qiáng)化分類模型的整體結(jié)構(gòu)如圖1 所示。該模型由以下3 個部分組成:1)詞表示層,用于提取字符之間的依賴信息,得到準(zhǔn)確的單詞表示;2)特征提取層,用于提取單詞的局部信息和上下文信息;3)實(shí)體識別層,用于對特征提取層輸出的單詞特征進(jìn)行實(shí)體邊界的分類,對類別為“B”和“E”的單詞進(jìn)行匹配,將匹配得到的區(qū)間作為候選實(shí)體,并對候選實(shí)體的類別進(jìn)行預(yù)測。
圖1 邊界強(qiáng)化分類模型架構(gòu)Fig.1 Framework of boundary enhanced classification model
字符中包含單詞的語法、語義等信息,提取字符中包含的特征已經(jīng)在自然語言處理中廣泛應(yīng)用,如文獻(xiàn)[17]在研究flat NER 時將字符嵌入結(jié)合到詞嵌入中,取得了較好的結(jié)果。因此,本文在進(jìn)行詞嵌入表示時將字符級別的特征與詞級別的特征進(jìn)行融合,作為最終單詞的表示。
假設(shè)句子由n個詞組成[t1,t2,…,tn],通過查找預(yù)先訓(xùn)練好的詞嵌入表得到每個詞ti對應(yīng)的詞嵌入wi:
其中:ew為預(yù)訓(xùn)練得到的詞嵌入表。對于詞ti中的每個字符ci,對其進(jìn)行隨機(jī)初始化得到字符嵌入表示并輸入到BiLSTM[18]中,以獲取單詞的拼寫和形態(tài)特征,如式(2)所示:
并將xi作為最終的單詞表示,輸入到后序網(wǎng)絡(luò)中。
長短期記憶(Long Short Term Memory Network,LSTM)網(wǎng)絡(luò)雖然可以進(jìn)行序列建模,但局部特征提取能力不如CNN,只依靠LSTM 可以學(xué)習(xí)到上下文特征,但卻忽略了局部的特征。因此,本文使用CNN-BiLSTM 作為文本特征提取模型,將CNN 關(guān)注局部信息特征和BiLSTM 能夠?qū)W習(xí)文本長距離依賴關(guān)系的優(yōu)點(diǎn)相結(jié)合來獲取文本語義特征。
2.2.1 CNN 特征提取
卷積神經(jīng)網(wǎng)絡(luò)[19]在自然語言處理中多為一維卷積(Convolution1D)。因此,本文模型的卷積層使用一維卷積,卷積核寬度與輸入的單詞向量的嵌入維度相同,高度采用1、3、5 這3 種不同尺寸的卷積核提取詞本身以及鄰接詞的信息,從而獲得短距離單詞間的依賴信息,為后續(xù)實(shí)體的表示提供更豐富的局部信息。
在本文模型中,第1 層卷積分別使用100 個高度為1、50 個高度為1、50 個高度為3 以及100 個高度為3 的卷積核進(jìn)行卷積,第2層卷積分別使用50個高度為3的卷積核對100 個高度為1 情況下的結(jié)果進(jìn)行卷積,使用50 個高度為5 的卷積核對100 個高度為3 情況下的結(jié)果進(jìn)行卷積。多尺度卷積的計算如式(4)所示:
其中:zi表示卷積操作得到的第i個特征;w表示一個卷積核的權(quán)重;? 表示非線性函數(shù)ReLU;b表示偏置。
通常在卷積層后會加池化層來提取特征,但在池化時會丟失部分細(xì)節(jié)特征。因此,本文在卷積后沒有進(jìn)行池化操作,而是保留卷積結(jié)果,將最終的4 種卷積結(jié)果進(jìn)行拼接,作為后續(xù)模型的輸入,如式(5)所示:
圖2 多尺度CNN 特征提取過程Fig.2 Process of multi-scale CNN feature extraction
2.2.2 LSTM 特征提取
本文模型使用BiLSTM 作為特征提取器。單向的LSTM 只能獲得前文的信息,而BiLSTM 能夠從2 個方向?qū)W習(xí)到序列中的上下文信息,更有效地將單詞在上下文中的隱藏狀態(tài)表示出來。BiLSTM 中隱藏狀態(tài)表示如式(6)~式(8)所示:
其中:gi是上節(jié)中利用不同卷積核拼接的結(jié)果分別表示hi在BiLSTM 中向前和向后的隱藏狀態(tài)。BiLSTM 輸出的結(jié)果H={h1,h2,…,hn}將被輸入到后續(xù)模型中。
2.2.3 多頭注意力機(jī)制
雖然BiLSTM 能夠?qū)W習(xí)語序信息,進(jìn)而獲取實(shí)體間的依賴關(guān)系,但在處理長句子時其效果會有所影響。而多頭注意力機(jī)制通過多個子空間表示來提升模型關(guān)注不同特征的能力,這對后續(xù)實(shí)體的邊界分類和類型分類都有所幫助。因此,本文在BiLSTM 后加入多頭注意力來提升模型性能。多頭注意力Attention(K,Q,V)的計算公式如式(9)所示:
其中:K、Q、V分別表示查詢矩陣、鍵矩陣和值矩陣;dh表示嵌 入維度;H={h1,h2,…,hn}表示之 前BiLSTM 的輸出。本文設(shè)置K=Q=V=H。
通過投影到不同子空間來獲得不同的注意力,并將不同子空間的特征進(jìn)行連接,如式(10)、式(11)所示:
其中:Qi、Ki、Vi是網(wǎng)絡(luò) 中學(xué)習(xí) 的參數(shù);k表示網(wǎng) 絡(luò)中設(shè)置的子空間個數(shù);Ti表示輸入的句子對第i個子空間提取的特征。
對于嵌套在內(nèi)部的實(shí)體,難以確定實(shí)體層數(shù)和實(shí)體個數(shù),采用多層的CRF 模型會造成錯誤傳播的問題。因此,本文利用片段抽取分類的方法,通過檢測實(shí)體邊界,先抽取出候選的實(shí)體片段(包括嵌套實(shí)體片段),再進(jìn)行標(biāo)簽類別的判斷。
2.3.1 實(shí)體邊界檢測
雖然分層序列標(biāo)注思想和窮舉區(qū)域分類思想各有不足,但它們是相輔相成的。之前的工作對2 種方法的使用過于分離,受文獻(xiàn)[15]啟發(fā),本文在進(jìn)行實(shí)體識別時,同樣利用序列標(biāo)注的思想來判斷邊界標(biāo)簽。將序列T[ta,ta+1,…,tb](a
對T中的每個詞tm,將與之對應(yīng)的通過多頭注意力得到的特征輸入到激活函數(shù)LeakyReLU 中計算其可能的邊界標(biāo)簽dm,然后利用softmax 分類器,得到該詞最可能的邊界標(biāo)簽如式(12)、式(13)所示:
其中:α為權(quán)重因子;γ為可調(diào)節(jié)因子。
對于序列T[ta,ta+1,…,tb],計算出T中各詞對應(yīng)的標(biāo)簽后,對所得邊界標(biāo)簽序列中所有邊界標(biāo)簽為‘B’和‘E’的詞進(jìn)行匹配,將匹配得到的詞片段作為候選實(shí)體。
2.3.2 標(biāo)簽類別判斷
得到候選實(shí)體后對其進(jìn)行分類,為目標(biāo)實(shí)體分配正確標(biāo)簽,將非目標(biāo)的候選實(shí)體排除。分類時首先要計算候選實(shí)體的向量表示。傳統(tǒng)方法在對抽取出的實(shí)體進(jìn)行表示時,多是采用實(shí)體片段的平均表示,即把實(shí)體片段內(nèi)的詞向量相加,再除以片段長度即詞向量的個數(shù),得到該實(shí)體的表示。但是這種方法沒有考慮到實(shí)體片段內(nèi)不同詞對實(shí)體類型分類的貢獻(xiàn)度,如詞序列“the department of education”是一個標(biāo)簽應(yīng)為“organization”的實(shí)體,在該實(shí)體中,詞“department”應(yīng)為關(guān)鍵詞,其對實(shí)體最終標(biāo)簽分類所作的貢獻(xiàn)應(yīng)大于其他詞。因此,在實(shí)體表示時,詞“department”的表示在整個實(shí)體表示中所占比重應(yīng)更大。此外,實(shí)體的邊界詞包含了實(shí)體片段的邊界信息。為了充分利用這些信息,獲得更準(zhǔn)確的實(shí)體表示,本文在進(jìn)行實(shí)體表示時將實(shí)體內(nèi)關(guān)鍵字與實(shí)體頭尾詞相結(jié)合。實(shí)體邊界檢測和標(biāo)簽類別判斷示意圖如圖3 所示。
圖3 實(shí)體邊界檢測和標(biāo)簽類別判斷示意圖Fig.3 Schematic diagram of entity boundary detection and tag category judgment
本文使用前饋神經(jīng)網(wǎng)絡(luò)(Feedforward Neural Network,F(xiàn)FNN)進(jìn)行實(shí)體片段關(guān)鍵字注意力的計算,如式(15)~式(18)所示:
其中:hm是第t個詞經(jīng)CNN-BiLSTM 后得到的隱藏狀態(tài)。在得到候選實(shí)體Ri,j的表示后,將其輸入到ReLU 激活函數(shù)中,并用softmax 對結(jié)果進(jìn)行分類,得到最終的實(shí)體標(biāo)簽,如式(19)所示:
其中:Ui,j和bi,j是網(wǎng)絡(luò)中學(xué)習(xí)的參數(shù)。同樣地,考慮到實(shí)體的類別數(shù)量不同,為緩解實(shí)體類別不平衡現(xiàn)象對實(shí)體分類模型造成的影響,使用FocalLoss 對實(shí)體分類器進(jìn)行優(yōu)化,如式(20)所示:
由于本文模型在進(jìn)行實(shí)體邊界檢測和類別判斷時共享相同的實(shí)體邊界,因此對實(shí)體邊界檢測和實(shí)體類別判斷這2 個任務(wù)的損失進(jìn)行聯(lián)合訓(xùn)練。在訓(xùn)練階段,將數(shù)據(jù)的真實(shí)實(shí)體邊界標(biāo)簽輸入到模型中來訓(xùn)練實(shí)體邊界檢測分類器,避免分類器在訓(xùn)練時受到錯誤邊界檢測影響。在測試階段,邊界檢測分類器的輸出用于指示在預(yù)測分類標(biāo)簽時應(yīng)考慮哪些實(shí)體片段。
模型的總損失為實(shí)體邊界檢測和實(shí)體類別判斷兩部分的損失之和,如式(21)所示:
其中:λ是一個超參數(shù),用于控制實(shí)體邊界檢測和標(biāo)簽類別判斷兩部分損失的重要程度。
在GENIA、GermEval 2014、JNLPBA 這3 個公共數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),評估本文模型性能。其中,GENIA 和GermEval 2014 是nested NER 中常用的公共數(shù)據(jù)集。
GENIA 數(shù)據(jù)集是基于語料庫GENIA3.0.2 構(gòu)建而成的,共有語句18 546 句。按照之前Finkel and Manning[20]以及文獻(xiàn)[8]的劃分規(guī)則,將其中的實(shí)體類型DNA、RNAs、protein subtypes 分別歸類到實(shí)體類型DNA、RNA、Protein 中,保留Cell line 和Cell type實(shí)體類型,除去其他實(shí)體類型。最終,數(shù)據(jù)集中包含5 種實(shí)體類型:DNA,RNA,Protein,Cell line,Cell type,其中嵌套實(shí)體占比10%。數(shù)據(jù)集以8.1∶0.9∶1的比例分為訓(xùn)練集,驗(yàn)證集和測試集,即訓(xùn)練集包含語句15 023 句,驗(yàn)證集包含1 669 句,測試集包含1 854 句。5 種實(shí)體類型的具體數(shù)量如表1 所示。
表1 GENIA 數(shù)據(jù)集統(tǒng)計指標(biāo)Table 1 GENIA dataset statistics
GermEval 2014 數(shù)據(jù)集是一個德語語料的嵌套命名實(shí)體數(shù)據(jù)集,本文使用這個數(shù)據(jù)集來評估模型在不同語言中的性能。GermEval 2014 數(shù)據(jù)集中含有31 000 多條語句,對應(yīng)有590 000 多個詞。
JNLPBA 數(shù)據(jù)集來源于GENIA 語料庫,在該數(shù)據(jù)集中僅保留最外層的實(shí)體。因此,本文使用這個數(shù)據(jù)庫來評估模型在識別flat NER 方面的表現(xiàn)。在實(shí)驗(yàn)中,按照與GENIA 數(shù)據(jù)集相同的劃分設(shè)置將JNLPBA 數(shù)據(jù)集中的實(shí)體子類別合并為5 種類別。
本文模型基于PyTorch 框架實(shí)現(xiàn),預(yù)訓(xùn)練的詞向量維度為200 維,字符嵌入的維度為50 維并隨機(jī)初始化。模型其他參數(shù)的取值如表2 所示。
表2 模型參數(shù)設(shè)置Table 2 Setting of model parameters
采用整體準(zhǔn)確率、召回率和F1 值(F1-score)作為最終的評價指標(biāo),且使用一個嚴(yán)格的評估標(biāo)準(zhǔn),即當(dāng)實(shí)體邊界的分類和實(shí)體類別的分類同時正確時,才會認(rèn)為實(shí)體分類正確。準(zhǔn)確率、召回率和F1-score 的計算公式如式(22)~式(24)所示:
其中:TP表示模型正確識別出的真實(shí)體數(shù)目;FP表示實(shí)際為假實(shí)體但模型識別為真實(shí)體的實(shí)體數(shù)目;FN表示實(shí)際為真實(shí)體但模型并未識別出的實(shí)體數(shù)目。
為驗(yàn)證本文模型的有效性與性能優(yōu)勢,選取與本文模型相關(guān)的且具有代表性的模型作為基線模型,具體如下:
1)文獻(xiàn)[8]模型。該模型使用基于超圖的方法來解決命名實(shí)體識別問題。
2)文獻(xiàn)[21]模型。該模型對基于超圖的方法進(jìn)行了改進(jìn)。
3)文獻(xiàn)[13]提出的深度窮舉模型。該模型通過窮舉出所有可能片段來找出實(shí)體。
4)文獻(xiàn)[10]提出的多層的CRF 模型。該模型以由內(nèi)向外的方式識別不同級別的嵌套實(shí)體。
5)文獻(xiàn)[11]模型。該模型先識別錨點(diǎn)詞,再識別以錨點(diǎn)詞為中心的實(shí)體邊界,進(jìn)而確定實(shí)體。
6)文獻(xiàn)[15]模型。該模型利用序列標(biāo)注模型檢測嵌套實(shí)體邊界,合并相應(yīng)的邊界標(biāo)簽序列,完成分類預(yù)測。
7)文獻(xiàn)[16]模型。該模型結(jié)合詞性進(jìn)行實(shí)體邊界檢測,對實(shí)體邊界檢測和分類進(jìn)行共同訓(xùn)練。
不同模型在GENIA 數(shù)據(jù)集上的性能指標(biāo)如表3所示,其中,加粗?jǐn)?shù)據(jù)表示最優(yōu)值。由表3 可知,本文模型在召回率和F1-score 上都優(yōu)于其他對比模型,準(zhǔn)確率僅低于文獻(xiàn)[16]模型,優(yōu)于其他模型。
表3 不同模型在GENIA 上的性能指標(biāo)Table 3 Performance index of different models on GENIA %
從整體上看,基于超圖的方法及文獻(xiàn)[13]模型準(zhǔn)確率和召回率略低于其他模型,而文獻(xiàn)[10]模型可能受到錯誤在分層模型中逐層傳遞的影響,其召回率也有所不足,而對邊界分類和實(shí)體分類加以約束的方法在效果上有所提升。
相較于文獻(xiàn)[15]模型,本文模型在準(zhǔn)確率上獲得1.8%的提升,在召回率上,本文模型達(dá)到最優(yōu)的74.5%,這說明本文模型識別出的實(shí)體絕大多數(shù)是真實(shí)有效的,這是因?yàn)榻Y(jié)合實(shí)體片段關(guān)鍵字和實(shí)體頭尾詞的方法為模型提供了更準(zhǔn)確的實(shí)體表示,使得分類器有能力確定候選片段是否為有效的實(shí)體。因此,本文模型獲得了更好的F1-Score,表明本文模型能夠更準(zhǔn)確地識別實(shí)體包括嵌套實(shí)體。
表4 對比了不同模型在GENIA 的5 種實(shí)體類型檢測上的性能表現(xiàn),其中,加粗?jǐn)?shù)據(jù)表示最優(yōu)值。可以看出,文獻(xiàn)[15]模型在RNA 上F1-score 略高于本文模型,而在其他不同類型的實(shí)體上,本文模型性能較對比模型有不同程度的提高。
表4 不同模型在GENIA 上實(shí)體類型檢測的性能指標(biāo)Table 4 Performance index of entity type detection of different models on GENIA %
本文模型與文獻(xiàn)[15]模型檢測句子中每個詞對應(yīng)邊界標(biāo)簽的性能對比如表5 所示??梢钥闯觯疚哪P徒Y(jié)果優(yōu)于文獻(xiàn)[15]模型的結(jié)果,說明加入多尺度CNN和多頭注意力后模型能夠更高效準(zhǔn)確地判斷邊界標(biāo)簽的類型。
表5 不同模型在GENIA上實(shí)體邊界標(biāo)簽預(yù)測的性能指標(biāo)Table 5 Performance index of entity type boundary tag prediction of different models on GENIA %
在GermEval 2014 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如表6 所示,其中,加粗?jǐn)?shù)據(jù)表示最優(yōu)值??梢钥闯觯疚哪P驮谡倩芈逝cF1-Score 上較其他對比模型均有所提升。對比表3 和表6 可以發(fā)現(xiàn),在GENIA 數(shù)據(jù)集上的效果比GermEval 2014數(shù)據(jù)集上的效果好,這是因?yàn)镚ENIA數(shù)據(jù)集中嵌套實(shí)體數(shù)量更多,而GermEval 2014 數(shù)據(jù)集中實(shí)體較為稀疏。
表6 不同模型在GermEval 2014 上的性能指標(biāo)Table 6 Performance index of different models on GermEval 2014 %
此外,為驗(yàn)證本文模型在Flat NER 上的適用性,在JNLPBA 數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,F(xiàn)1-Score達(dá)到74.2%。
為驗(yàn)證CNN-BiLSTM 特征提取、多頭注意力機(jī)制以及結(jié)合關(guān)鍵字和實(shí)體邊界詞表示實(shí)體的有效性,設(shè)計以下5 種模型進(jìn)行對比,并在GENIA 數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)與分析。
1)BiLSTM+M-head-att+SEKey:只使用BiLSTM進(jìn)行上下文特征提取,在BiLSTM 之后使用多頭注意力機(jī)制,實(shí)體分類時使用結(jié)合實(shí)體邊界詞和關(guān)鍵字的方法。
2)CNN-BiLSTM+SEKey:使用CNN 和BiLSTM進(jìn)行文本的信息特征提取,之后不使用多頭自注意力機(jī)制,直接使用結(jié)合實(shí)體邊界詞和關(guān)鍵字的分類方法進(jìn)行實(shí)體分類。
3)CNN-BiLSTM+M-head-att+Mean:使 用CNN和BiLSTM 進(jìn)行文本的信息特征提取,之后使用多頭注意力機(jī)制,實(shí)體分類時不使用結(jié)合實(shí)體邊界詞和關(guān)鍵字的方法,而是將實(shí)體片段內(nèi)的詞向量表示進(jìn)行平均化,得到實(shí)體表示。
4)CNN-BiLSTM+M-head-att+Key:使用CNN 和BiLSTM 進(jìn)行文本的信息特征提取,之后使用多頭注意力機(jī)制,實(shí)體分類時不結(jié)合實(shí)體邊界詞,只使用關(guān)鍵字注意力的方法來得到實(shí)體表示。
5)CNN-BiLSTM+M-head-att+SEMean:使用CNN和BiLSTM 進(jìn)行文本的信息特征提取,之后使用多頭注意力機(jī)制,實(shí)體分類時不使用關(guān)鍵字注意力的方法,使用結(jié)合實(shí)體頭尾詞和向量平均化表示的方法得到實(shí)體表示。
各個消融模型的實(shí)驗(yàn)結(jié)果如表7所示,與BiLSTM+M-head-att+SEKey 相比,本文模型在特征提取時加入CNN 有助于模型識別出真實(shí)有效的實(shí)體,這得益于不同的卷積核對長度不定的實(shí)體進(jìn)行特征提取時起到了作用。相較CNN-BiLSTM+SEKey,使用多頭注意力機(jī)制使得本文模型在準(zhǔn)確率和召回率上都有所提高。CNNBiLSTM+M-head-att+Mean 和CNN-BiLSTM+M-headatt+Key 的對比結(jié)果表明,單獨(dú)使用關(guān)鍵字注意力方法來表示實(shí)體比向量平均化表示實(shí)體的整體性能值略高。CNN-BiLSTM+M-head-att+Mean、CNN-BiLSTM+Mhead-att+SEMean 以 及 CNN-BiLSTM+M-head-att+SEMean 的對比結(jié)果表明,在表示實(shí)體時加上實(shí)體開始結(jié)束邊界詞后,模型的正確率都得到提升,且在召回率上提升尤為明顯,說明在表示實(shí)體時加上實(shí)體邊界詞能夠增強(qiáng)模型識別有效實(shí)體的能力。與CNN-BiLSTM+M-head-att+SE Mean 的對比結(jié)果表明,本文模型準(zhǔn)確率、召回率和F1-Score 都有所提升,說明結(jié)合實(shí)體邊界詞和實(shí)體關(guān)鍵字的方法得到的實(shí)體表示更準(zhǔn)確,且真實(shí)有效的實(shí)體數(shù)量更多,因此得到了更好的效果。
表7 消融模型在GENIA 上的性能指標(biāo)Table 7 Performance index of ablation models on GENIA %
結(jié)合以上結(jié)果可知,綜合使用CNN-BiLSTM、多頭注意力機(jī)制進(jìn)行特征提取以及結(jié)合關(guān)鍵字和實(shí)體頭尾詞來表示實(shí)體,能夠有效提高模型的性能。
針對目前嵌套命名實(shí)體識別方法實(shí)體邊界識別不準(zhǔn)確、未能對特征信息有效利用的問題,本文提出一種注意力增強(qiáng)的邊界強(qiáng)化分類模型。通過CNN-BiLSTM和多頭注意力捕獲鄰近單詞及上下文的依賴關(guān)系,獲得更有效的文本特征,同時結(jié)合實(shí)體中的關(guān)鍵字和實(shí)體邊界詞的實(shí)體表示方法,強(qiáng)化實(shí)體的頭尾信息和主要信息,為實(shí)體分類提供更準(zhǔn)確的實(shí)體表示。后續(xù)將研究實(shí)體間的依賴關(guān)系以及詞語與實(shí)體間的語義關(guān)系,進(jìn)一步提升模型識別性能。