黃榮梅,廖 濤,張順香,段松松
(安徽理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,安徽 淮南 232001)
命名實(shí)體識(shí)別(NER)是信息提取當(dāng)中的一項(xiàng)基本任務(wù),其旨在從非結(jié)構(gòu)化的文本中識(shí)別并分類出實(shí)體所屬類型。它被認(rèn)為是許多自然語(yǔ)言處理(NLP)當(dāng)中下游任務(wù)的關(guān)鍵部分,例如:關(guān)系提取[1]、機(jī)器翻譯[2]等自然語(yǔ)言處理技術(shù)領(lǐng)域。隨著技術(shù)的發(fā)展,越來越多的人開始研究文本當(dāng)中具有嵌套結(jié)構(gòu)的實(shí)體,將這類實(shí)體統(tǒng)稱為嵌套命名實(shí)體(nested NER),如句子“北京天安門廣場(chǎng)”,其中“北京”為地名實(shí)體,嵌套在另一個(gè)地名實(shí)體“北京天安門廣場(chǎng)”之中。自然語(yǔ)言短語(yǔ)表述的特性,使得命名實(shí)體通常是嵌套的[3]。因而,嵌套命名實(shí)體越來越引起人們的思考與研究。
近年來,涌現(xiàn)出許多針對(duì)nested NER的新方法。Shibuya和Hovy[4]采用分層的方法,通過應(yīng)用傳統(tǒng)的條件隨機(jī)場(chǎng)(CRF)重復(fù)檢測(cè)內(nèi)部實(shí)體。Li等[5]提出了將nested NER任務(wù)看作閱讀理解來做的思路。轉(zhuǎn)換的方法將嵌套命名實(shí)體轉(zhuǎn)化為線性結(jié)構(gòu),再進(jìn)行序列標(biāo)記。例如:Muis等[6]提出一種基于超圖的方法,Katiyar和Cardie[7]同樣基于超圖方法,并用貪婪的方式使用LSTM來進(jìn)行線性學(xué)習(xí)。通過發(fā)現(xiàn)可知,目前大多數(shù)的方法在嵌入時(shí)采用字級(jí)別表示和字符級(jí)別表示的聯(lián)合嵌入獲取特征信息,這并沒有考慮字特征與字符特征之間的依賴關(guān)系,從而無法高效獲得隱藏的特征信息。
針對(duì)目前嵌入特征向量隱藏信息獲取不充分現(xiàn)象,本文提出了一種雙流的特征互補(bǔ)機(jī)制加以解決,將兩種嵌入向量分別進(jìn)入Bi-LSTM獲取文本上下文特征,之后采用一種雙向特征互補(bǔ)機(jī)制探索兩個(gè)特征向量之間的最大信息增益,本文通過在GENIA數(shù)據(jù)集上進(jìn)行對(duì)比分析得到結(jié)論,相較于其它經(jīng)典實(shí)驗(yàn)本文的實(shí)驗(yàn)結(jié)果最佳。
現(xiàn)有的識(shí)別非嵌套命名實(shí)體的方法通常將NER任務(wù)看成是序列標(biāo)記問題,與基于特征的方法相比,深度學(xué)習(xí)有助于自動(dòng)發(fā)現(xiàn)隱藏的特征[8]。Yu等[9]基于圖依賴解析的思想,通過雙仿射模型描繪全局視圖來準(zhǔn)確地預(yù)測(cè)命名實(shí)體。Liu等[10]通過擴(kuò)展基于頭詞的非精確匹配的字典,推廣了遠(yuǎn)程監(jiān)督從而識(shí)別命名實(shí)體。
近年來外部資源的使用提高了命名實(shí)體識(shí)別的整體效果,如Peters等[11]通過深度雙向語(yǔ)言模型ELMo中疊加的內(nèi)部隱藏狀態(tài)的線性組合。Sun等[12]將生物醫(yī)學(xué)實(shí)體看作成機(jī)器閱讀理解(MRC)問題,使用BERT在MRC框架中執(zhí)行生物醫(yī)學(xué)命名實(shí)體識(shí)別提高了模型識(shí)別目標(biāo)實(shí)體的能力。
嵌套命名實(shí)體在現(xiàn)實(shí)生活中很常見。針對(duì)嵌套NER,學(xué)者們提出了不少的方法,主要可以歸類為基于轉(zhuǎn)換和基于跨度兩種方法[13]。
基于轉(zhuǎn)換的方法是通過標(biāo)注將復(fù)雜的序列嵌套問題轉(zhuǎn)化,進(jìn)而完成識(shí)別。Wang和Lu等[14]通過將有嵌套的句子映射到指定的森林,基于使用Stack-LSTM網(wǎng)絡(luò)自底向上的方式構(gòu)造森林結(jié)構(gòu)。Lin等[15]提出了一種序列到塊的體系結(jié)構(gòu),首先識(shí)別錨詞(實(shí)體可能的頭詞),然后識(shí)別每個(gè)錨詞的實(shí)體邊界,最后將這些候選實(shí)體劃分為相應(yīng)的實(shí)體類型。
基于跨度的方法是識(shí)別句子子序列或者識(shí)別規(guī)定范圍的跨度來識(shí)別嵌套的實(shí)體。Luan等[16]提出了一個(gè)通用信息提取框架DYGIE,其中的態(tài)跨度圖方法增強(qiáng)了任務(wù)之間的交互,允許模型從更廣泛的上下文中學(xué)習(xí)有用的信息。Zheng等[17]提出了一種邊界感知神經(jīng)網(wǎng)絡(luò)模型,該模型檢測(cè)實(shí)體的起始邊界和結(jié)束邊界形成跨度,再將這些跨度被劃分為相應(yīng)的實(shí)體類型或非實(shí)體類型。
非嵌套NER假設(shè)實(shí)體之間沒有重疊,因此它們不適用于嵌套的NER?;谵D(zhuǎn)換的嵌套NER方法需要一些復(fù)雜的轉(zhuǎn)換和解碼操作,這可能會(huì)導(dǎo)致級(jí)聯(lián)錯(cuò)誤,而且計(jì)算代價(jià)高昂。目前基于跨度的嵌套NER方法缺乏明確的邊界監(jiān)督,并產(chǎn)生了許多負(fù)樣本用于跨度分類,此外,它們的計(jì)算成本也很昂貴。本文提出的模型不同于當(dāng)前的基于跨度的方法,提出了雙流互補(bǔ)機(jī)制得到更多的特征信息,最后進(jìn)入實(shí)體判斷模塊和細(xì)粒度劃分模塊識(shí)別嵌套的實(shí)體。模型充分抓取了不同特征之間的依賴關(guān)系和更多的語(yǔ)義信息,實(shí)現(xiàn)了不錯(cuò)的效果。
本文的整體模型架構(gòu)如圖1所示。整體模型可分為4層:第一層為字嵌入與特征提取部分,將單詞的字級(jí)和字符級(jí)表示向量送入Bi-LSTM中獲取句子的上下文信息;第二層為低層級(jí)特征互補(bǔ)層,每個(gè)特征向量加入另一種特征的有效信息得到新的特征表示;第三層為高層級(jí)的特征互補(bǔ)層,經(jīng)過特征向量融合操作得到最終句子的表示向量;第四層為類別判斷,句子的表示向量首先進(jìn)入實(shí)體感知模塊,判別為實(shí)體詞的跨度進(jìn)入細(xì)粒度劃分區(qū)間判別有無嵌套實(shí)體詞,最后進(jìn)入全連接層和Softmax層得到最終的實(shí)體類型分類。
圖1 模型整體架構(gòu)
圖2 字符級(jí)嵌入結(jié)構(gòu)
本文定義句子的字級(jí)嵌入向量表示為sw,句子的字符級(jí)嵌入向量表示為sc。式(1)、式(2)給出了句子的兩種嵌入表示向量
(1)
(2)
其中,ew表示預(yù)訓(xùn)練的詞向量查找表,ec表示單詞的字符向量經(jīng)過Bi-LSTM得到的字符嵌入向量表。
隨后將兩種嵌入向量分別輸入到Bi-LSTM中獲取句子的上下文信息,得到字級(jí)特征表示向量和字符級(jí)特征表示向量。以字級(jí)特征表示向量為例,式(3)~式(8)每個(gè)時(shí)刻t在各個(gè)單元的隱藏狀態(tài)計(jì)算
(3)
(4)
(5)
(6)
(7)
(8)
為了有效利用上下文信息,文本采用雙向LSTM結(jié)構(gòu)采集字級(jí)和字符級(jí)信息,并得到兩個(gè)不同的中間層表示,最后進(jìn)行拼接操作得到最終的隱藏層輸出
(9)
(10)
(11)
這一層屬于低層級(jí)的特征互補(bǔ),不僅關(guān)注到了不同單詞表示向量之間的特征依賴關(guān)系,而且將獲取到更多的低層級(jí)語(yǔ)義信息。如圖3所示給出了低層級(jí)特征互補(bǔ)的過程。
圖3 低層級(jí)特征互補(bǔ)
圖3中CCM指補(bǔ)充后得到新的字級(jí)嵌入特征向量模塊。MLP指多層感知機(jī),用來提取低層語(yǔ)義信息。字符級(jí)嵌入特征向量經(jīng)過sigmoid激活函數(shù)得到特征權(quán)重,接著權(quán)重與字級(jí)嵌入特征向量相乘提取到字符級(jí)嵌入的有用特征,最后經(jīng)過殘差連接得到新的字級(jí)嵌入特征向量。式(12)給出了操作過程
(12)
同理,WEM指特征互補(bǔ)后得到新的字符級(jí)嵌入特征向量模塊。整個(gè)過程與CCM類似,首先由多層感知機(jī)MLP提取低層語(yǔ)義信息,經(jīng)過sigmoid函數(shù)激活得到權(quán)重,然后將權(quán)重與字符級(jí)嵌入向量相乘得到字級(jí)嵌入向量中包含的有用特征,最后經(jīng)過殘差連接得到新的字符級(jí)嵌入特征向量。式(13)給出了整個(gè)操作過程
(13)
2.4.1 多頭注意力機(jī)制
本文在這一模塊添加了多頭注意力機(jī)制,使模型中更側(cè)重于重要特征,減少對(duì)非重要特征的關(guān)注,優(yōu)化資源分配。本文整體模型架構(gòu)中MHSM即為多頭注意力機(jī)制。
(14)
多頭注意力就是把多個(gè)自注意力連接起來,如式(15)、式(16)所示
MultiHead(Q,K,V)=Concat(head1,…,headh)Wo
(15)
式中:Q,K,V,Wo為訓(xùn)練好的權(quán)重參數(shù),h為注意力頭數(shù)
(16)
2.4.2 高層級(jí)特征互補(bǔ)
由多頭注意力獲取局部特征之后,對(duì)兩個(gè)特征向量進(jìn)一步進(jìn)行特征互補(bǔ)可以獲取到更深層的語(yǔ)義信息。整個(gè)高層級(jí)的特征互補(bǔ)如圖4所示。
圖4 高層級(jí)特征互補(bǔ)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
經(jīng)過特征互補(bǔ)后句子的最終表示向量首先進(jìn)入實(shí)體詞判斷模塊,對(duì)每個(gè)文本進(jìn)行標(biāo)記時(shí),采用了二元序列標(biāo)記法。在這個(gè)標(biāo)記中,實(shí)體詞被標(biāo)記為1,非實(shí)體詞被標(biāo)記為0。這么做可以過濾一些非實(shí)體的區(qū)域。具體的:特征序列經(jīng)過一個(gè)全連接層和sigmoid激活函數(shù)得到每個(gè)詞屬于實(shí)體內(nèi)部或?qū)嶓w邊界的實(shí)體詞概率p(當(dāng)p大于0.5時(shí)視為實(shí)體詞)。
對(duì)實(shí)體詞跨度的細(xì)粒度劃分可以用來識(shí)別內(nèi)部嵌套的實(shí)體。細(xì)粒度劃分后的區(qū)間進(jìn)入一個(gè)全連接層和softmax層得到最終的類別標(biāo)記。整個(gè)過程圖5所示。
圖5 實(shí)體詞跨度細(xì)粒度劃分
在訓(xùn)練過程中,本文使用交叉熵?fù)p失作為模型結(jié)構(gòu)損失函數(shù)。本文損失函數(shù)由兩部分組成,一部分由判別文本是否為實(shí)體詞構(gòu)成的損失函數(shù),記作Ll,如式(25)所示
Ll=-[ylog(p)+(1-y)log(1-p)]
(25)
式中:y指判別元素為實(shí)體詞的真實(shí)標(biāo)簽(1表示為實(shí)體詞,0表示為非實(shí)體詞),p表示判別元素為實(shí)體詞的概率。
另一部分損失函數(shù)為細(xì)粒度劃分某個(gè)實(shí)體詞區(qū)間 時(shí)類別劃分是否正確,記作Lh,采用交叉熵?fù)p失函數(shù),如式(26)所示
(26)
式中:yh,c表示的是實(shí)體詞是否屬于實(shí)體類別c的二元標(biāo)簽(1表示屬于,0表示不屬于),ph,c表示實(shí)體詞屬于實(shí)體類別c的概率,實(shí)體類別一共有N個(gè)。
因此,本文模型在訓(xùn)練集上的損失L為多任務(wù)訓(xùn)練損失的加權(quán)平均值。如式(27)所示
(27)
式中:第一項(xiàng)的si表示第i個(gè)文本,x表示文本的個(gè)數(shù);第二項(xiàng)的spani表示第i個(gè)實(shí)體詞跨度,t表示實(shí)體詞跨度的個(gè)數(shù)。λ是一項(xiàng)超參數(shù)(0<λ<1),表示判斷元素是否為實(shí)體詞在整個(gè)模型損失中的權(quán)重。
表1 GENIA數(shù)據(jù)集
不同的數(shù)據(jù)集可能使用各種標(biāo)注方法,其中常見的有BIOES標(biāo)注法、Markup標(biāo)注法和BIO標(biāo)注法。在本文的數(shù)據(jù)集中,我選擇了BIO標(biāo)注法。具體而言,“B-X”表示該元素所在片段屬于X類型且該元素位于片段開頭,“I-X”表示該元素所在片段屬于X類型且該元素位于片段中間,“O”表示該元素不屬于任何類型[18]。
在標(biāo)注前首先需得到最大嵌套層數(shù)N(N設(shè)置為4),標(biāo)注時(shí)對(duì)每個(gè)詞標(biāo)注N列,由內(nèi)層向外層標(biāo)注類別信息。表2給出了GENIA數(shù)據(jù)集某一片段的嵌套實(shí)體標(biāo)注結(jié)果。
表2 BIO標(biāo)注片段
本文模型基于PyTorch 1.3.1框架,預(yù)訓(xùn)練的字級(jí)別嵌入向量維度和字符級(jí)嵌入向量維度各為200維并隨機(jī)初始化。模型參數(shù)見表3。
表3 實(shí)驗(yàn)參數(shù)設(shè)置
具體實(shí)驗(yàn)環(huán)境設(shè)置見表4。
實(shí)驗(yàn)中采用精確率(P)、召回率(R)和綜合評(píng)價(jià)指標(biāo)F1作為模型性能的評(píng)價(jià)指標(biāo)。精確率指被模型預(yù)測(cè)為實(shí)體的元素中確為實(shí)體的概率,召回率指數(shù)據(jù)集中所有實(shí)體被模型準(zhǔn)確識(shí)別出的概率。
為驗(yàn)證本文將兩種嵌入特征向量進(jìn)行雙流互補(bǔ)的有效性,選取以下5種具有代表的模型作為基線模型,選擇結(jié)果如下:
(1)Xu等[19]提出基于局部檢測(cè)方法,在未借助任何外部資源或特征工程情況下優(yōu)于傳統(tǒng)的序列標(biāo)記方法;
(2)Sohrab和Miwa[20]用BiLSTM得到句子表示向量,將所有可能為命名實(shí)體的區(qū)間跨度枚舉出來,接著用神經(jīng)網(wǎng)絡(luò)對(duì)其進(jìn)行驗(yàn)證并分類;
(3)Ju等[21]提出了一種基于LSTM和CRF組成的命名實(shí)體識(shí)別層,在NER層對(duì)預(yù)測(cè)標(biāo)簽進(jìn)行全局解碼,而不依賴特征工程采用的級(jí)聯(lián)CRF層以一種從內(nèi)到外的方式提取內(nèi)部實(shí)體編碼的信息來識(shí)別外部實(shí)體;
(4)Lin等[22]提出將超圖模型與神經(jīng)網(wǎng)絡(luò)結(jié)合,以超圖來識(shí)別重疊的元素,神經(jīng)網(wǎng)絡(luò)獲取特征的方式進(jìn)行嵌套實(shí)體的識(shí)別;
(5)Liao等[13]采用兩種嵌入方式并結(jié)合神經(jīng)網(wǎng)絡(luò),用以提取更高效的特征信息。
表5給出了不同模型在GENIA數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果。
表5 不同模型在GENIA上的實(shí)驗(yàn)結(jié)果
從實(shí)驗(yàn)結(jié)果來看,本文的R值和F1值都達(dá)到了最優(yōu)。其中,Ju等提出的模型較優(yōu)可能是因?yàn)镃RF 可以從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)到約束條件,從而提高了預(yù)測(cè)標(biāo)簽的有效性,但模型可能會(huì)產(chǎn)生級(jí)聯(lián)錯(cuò)誤。Lin等用超圖模型識(shí)別嵌套結(jié)果效果不如其它模型,這可能是由于實(shí)際嵌套結(jié)構(gòu)和圖結(jié)構(gòu)之間的映射存在很大的差距。Liao等不同于其它方法,句子嵌入時(shí)采取了兩種基于單詞的嵌入方法,用Bi-LSTM獲取句子上下文信息,對(duì)獲取到的不同特征向量進(jìn)行特征交互從而實(shí)現(xiàn)嵌套實(shí)體識(shí)別,實(shí)驗(yàn)結(jié)果優(yōu)于除Ju等以外的其它方法。本文的模型受Liao等的啟發(fā),對(duì)兩種嵌入得到的特征向量進(jìn)行雙流的特征互補(bǔ),實(shí)驗(yàn)結(jié)果表明本文模型優(yōu)于前者。具體的,本文模型的R值比Liao等提升4.8%,F(xiàn)1值相比Ju等提升1%。
特征提取是進(jìn)行嵌套命名實(shí)體識(shí)別的重要步驟和關(guān)鍵部分,因此在設(shè)計(jì)模型時(shí)考慮特征信息的提取變得十分重要。為了驗(yàn)證本文模型在基于雙流特征互補(bǔ)后特征識(shí)別的效果,本文與5種經(jīng)典模型進(jìn)行對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)數(shù)據(jù)集均為GENIA,所有模型均采用字級(jí)別嵌入和字符級(jí)別嵌入兩種嵌入方式。
(1)BiLSTM+MHSM:兩種嵌入向量使用BiLSTM提取上下文特征信息,隨后用多頭注意力機(jī)制獲取局部特征信息。
(2)BiLSTM+CCM+MHSM+HBCL:使用BiLSTM獲取文本上下文信息特征后,將字符級(jí)嵌入特征向量的有效信息補(bǔ)充到字級(jí)嵌入特征向量,隨后進(jìn)入多頭注意力機(jī)制,再進(jìn)行高層級(jí)的特征互補(bǔ)。
(3)BiLSTM+WEM+MHSM+HBCL:經(jīng)過BiLSTM得到兩種特征向量后將字級(jí)嵌入特征向量的有效信息補(bǔ)充到字符級(jí)嵌入特征向量,隨后獲取局部特征信息,再進(jìn)行高層級(jí)的特征互補(bǔ)。
(4)BiLSTM+MHSM+HBCL:使用BiLSTM獲取文本上下文特征信息后,再獲取句子局部特征信息,隨后直接進(jìn)行高層級(jí)特征互補(bǔ)得到句子特征向量。
(5)BiLSTM+CCM+WEM+MHSM:經(jīng)過BiLSTM得到兩種特征向量后進(jìn)行兩個(gè)維度的低層級(jí)特征互補(bǔ),隨后進(jìn)入多頭注意力機(jī)制獲取句子局部特征信息。
實(shí)驗(yàn)設(shè)計(jì)了5組消融實(shí)驗(yàn)?zāi)P停鱾€(gè)模型的實(shí)驗(yàn)結(jié)果見表6。
表6 GENIA上的消融實(shí)驗(yàn)結(jié)果
將本文模型與消融模型(1)對(duì)比可以看出,做了雙流的特征互補(bǔ)后,特征信息的提取性能明顯提升,其中R值提升9.1%,F(xiàn)1值提升4.1%。將消融模型(1)和消融模型(2)、模型(3)對(duì)比可以看出,添加了某一維度的特征互補(bǔ)之后特征信息的提取效果有所提升,這是因?yàn)榻?jīng)過低層級(jí)特征互補(bǔ)后可以獲取低層級(jí)語(yǔ)義信息,從而提高了整體識(shí)別效果。從消融模型(1)與消融模型(4)的結(jié)果對(duì)比來看,可以發(fā)現(xiàn)高層特征信息互補(bǔ)同樣對(duì)特征信息的提取同樣十分重要。將本文模型與消融模型(5)對(duì)比可以發(fā)現(xiàn)高層級(jí)特征互補(bǔ)的重要性,本文在低層級(jí)特征互補(bǔ)后又增加了高層級(jí)特征互補(bǔ),其中R值提升5.6%,F(xiàn)1值提升1.6%。對(duì)比消融模型(4)和模型(5)可以發(fā)現(xiàn),只做低層級(jí)特征互補(bǔ)F1值要略高于只做高層級(jí)特征互補(bǔ),這可能是因?yàn)楦邔蛹?jí)的特征互補(bǔ)一定程度上依賴于低層級(jí)特征互補(bǔ)。
綜合上面的實(shí)驗(yàn)結(jié)果可以得出,兩種不同嵌入方式得到的特征向量綜合低層級(jí)特征互補(bǔ)和高層級(jí)特征互補(bǔ)后,增強(qiáng)了有用特征信息的提取,從而提高了嵌套命名實(shí)體的整體識(shí)別效果。
本文提出了一種基于雙流特征互補(bǔ)的模型,以獲取文本中隱藏的有用的特征信息。同時(shí),采用了多頭部注意機(jī)制來使模型中更側(cè)重于重要特征,減少對(duì)非重要特征的關(guān)注,優(yōu)化資源分配。通過字級(jí)嵌入和字符級(jí)嵌入兩個(gè)維度來獲取句子的特征,結(jié)果表明通過底層和高層對(duì)字特征和字符特征融合互補(bǔ)提升了嵌套命名實(shí)體的識(shí)別效果。一些研究發(fā)現(xiàn),最新的預(yù)訓(xùn)練語(yǔ)言模型,如RoBERTA或ALBERT,可以獲得良好的初始化效果,獲取跨句子單詞間的依賴關(guān)系。由此可見,如果將基于Transformer的預(yù)訓(xùn)練模型應(yīng)用于句子嵌入過程,將會(huì)帶來很大的優(yōu)勢(shì)。因此,在未來的研究工作中,將結(jié)合一些預(yù)訓(xùn)練語(yǔ)言模型來獲取句子特征信息,并且將繼續(xù)研究如何有效解碼嵌套命名實(shí)體中的標(biāo)記。