余 杰,紀(jì) 斌,吳宏明,任 意,李莎莎,馬 俊,吳慶波
(1.國防科技大學(xué)計(jì)算機(jī)學(xué)院,湖南 長沙 410073;2.中央軍委裝備發(fā)展部裝備項(xiàng)目管理中心,北京 100034;3.陸軍項(xiàng)目管理中心,北京 100071)
本文研究句內(nèi)命名實(shí)體和關(guān)系的聯(lián)合抽取。與流水線模式的分步抽取方法相比,實(shí)體和關(guān)系的聯(lián)合抽取模式可以減輕錯(cuò)誤級(jí)聯(lián)傳播并促進(jìn)信息之間的相互使用,因此引起了諸多研究者的關(guān)注。
通常,聯(lián)合抽取模式是通過基于序列標(biāo)注的方法實(shí)現(xiàn)的[1]。
最近大量的研究人員摒棄了基于序列標(biāo)注的方法,提出了基于span的聯(lián)合抽取模式。此模式首先將句子的文本處理為文本span,這些span被稱為基于span的候選實(shí)體;然后計(jì)算span語義表示并對(duì)其進(jìn)行分類,以獲得預(yù)測的實(shí)體;接下來組合span,構(gòu)成基于span的候選關(guān)系元組,并計(jì)算這些候選元組的語義表示;最后對(duì)候選關(guān)系元組進(jìn)行分類,得到關(guān)系三元組。該模式進(jìn)一步提高了聯(lián)合抽取性能,然而存在以下3個(gè)問題:
(1)構(gòu)成span的不同token對(duì)span語義表示的貢獻(xiàn)應(yīng)有所不同,本文稱其為span特定特征。但是,現(xiàn)有的方法將span的每個(gè)token視為同等重要或僅考慮span頭尾token的語義表示,而忽略了這些重要特征。
(2)現(xiàn)有研究方法忽略了關(guān)系元組的局部上下文信息或僅通過max pooling的方法對(duì)其進(jìn)行計(jì)算,因而不能充分捕獲其中包含的信息。而局部上下文中包含的信息,可能在關(guān)系預(yù)測中起到關(guān)鍵作用。
(3)在span分類和關(guān)系分類中均忽略了句子級(jí)的上下文信息,而這些信息可能是兩者的重要補(bǔ)償信息。
為了解決上述問題,本文提出了一種基于span的實(shí)體關(guān)系聯(lián)合抽取模型,該模型使用attention機(jī)制捕獲的span特定特征和句子上下文語義表示來增強(qiáng)實(shí)體和關(guān)系的語義表示。具體來說,(1)使用MLP(Multi Layer Perceptrons)attention[2]計(jì)算span特定特征的語義表示;(2)通過將span特定特征的語義表示作為Q(query),將句子token序列的語義表示作為K(key)和V(value),使用Multi-Head attention計(jì)算句子的上下文語義表示,用于強(qiáng)化span的語義表示;(3)通過將關(guān)系元組語義表示作為query,將相應(yīng)的token語義序列作為key和value,使用Multi-Head attention分別計(jì)算關(guān)系的局部和句子級(jí)上下文語義表示,用于強(qiáng)化關(guān)系的語義表示。
本文使用BERT(Bidirectional Encoder Representation from Transformers)[3]實(shí)現(xiàn)基于span的實(shí)體和關(guān)系聯(lián)合抽取模型,并研究了上述3個(gè)問題,在ACE2005、CoNLL2004和ADE 3個(gè)基準(zhǔn)數(shù)據(jù)集上進(jìn)行了大量的實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,本文提出的模型超越了以前的最優(yōu)模型,在3個(gè)基準(zhǔn)數(shù)據(jù)集上均達(dá)到了當(dāng)前的最優(yōu)性能。
傳統(tǒng)上,流水線模式將實(shí)體關(guān)系抽取分為2個(gè)子任務(wù),即實(shí)體識(shí)別和關(guān)系分類。大量的研究工作將神經(jīng)網(wǎng)絡(luò)應(yīng)用于這2個(gè)子任務(wù)中,例如將RNN(Recurrent Neural Network)[4]、CNN(Convolutional Neural Network)[5]用于實(shí)體識(shí)別中;將RNN[6]、CNN[7]和Transformer[8]等用于關(guān)系分類中。
實(shí)體和關(guān)系的聯(lián)合抽取通常被形式化為序列標(biāo)注任務(wù)。研究人員首先提出的方法是表格填充方法[9],該方法用token標(biāo)簽和關(guān)系標(biāo)簽分別填充表格的對(duì)角線和非對(duì)角線。最近,許多研究人員專注于利用深度神經(jīng)網(wǎng)絡(luò)來實(shí)現(xiàn)這一任務(wù),例如BiLSTM(Bidirectional Long-Short Term Memory)和CNN的結(jié)合[10]。
最近,有學(xué)者提出了基于span的實(shí)體關(guān)系聯(lián)合抽取方法,用于解決序列標(biāo)注方法中存在的問題,如無法抽取重疊的實(shí)體。Dixit等人[2]通過BiLSTM獲得span語義表示來實(shí)現(xiàn)實(shí)體關(guān)系聯(lián)合抽取方法,然后將ELMo(Embeddings from Language Models)、單詞和字符嵌入拼接起來,并在span和關(guān)系分類中實(shí)現(xiàn)了共享。Luan等人[11]獲取span語義表示的方法與Lee等人[12]采用的方法相同,但他們通過引入共指消除任務(wù)增強(qiáng)了span語義表示。在文獻(xiàn)[11]的基礎(chǔ)上Luan等人[13]提出了DyGIE(Dynamic Graph Information Extraction),該模型通過動(dòng)態(tài)構(gòu)造span交互圖來捕獲span之間的交互。Wadden等人[14]使用BERT替代DyGIE中的BiLSTM,提出了DyGIE++,進(jìn)一步提高了模型性能。最近,Eberts等人[15]提出了SpERT(Span-based Entity and Relation Transformer),一個(gè)簡單但有效的基于span的聯(lián)合抽取模型,該模型將BERT作為編碼器,并使用2個(gè)多層前饋神經(jīng)網(wǎng)絡(luò)FFNN(Feed Forward Neural Network)分別對(duì)span和關(guān)系進(jìn)行分類。
本文提出了一種基于span的實(shí)體和關(guān)系聯(lián)合抽取模型,與已有研究方法不同的是,本文使用attention機(jī)制捕獲span特定特征和上下文語義表示,進(jìn)一步強(qiáng)化span和關(guān)系的語義表示。通過計(jì)算目標(biāo)序列語義表示與源序列語義表示之間的匹配程度,attention機(jī)制可得到源序列上的注意力得分,即權(quán)重得分。因此,信息越重要,其權(quán)重得分就越高。根據(jù)權(quán)重得分的計(jì)算方式進(jìn)行分類,attention機(jī)制具有多種變體,例如Additive attention[16]、Dot-Product attention[17]和Multi-Head attention[18]等。
Figure 1 Architecture of the proposed joint entity and relation extraction model
圖1所示為本文提出的模型架構(gòu)。本文提出的模型使用BERT作為編碼器,即使用Transformer[18]模塊將單詞嵌入映射到BERT嵌入。根據(jù)這些嵌入表示,計(jì)算span語義表示并執(zhí)行span分類和過濾(3.1節(jié));然后,組織關(guān)系元組,計(jì)算關(guān)系元組語義表示并執(zhí)行關(guān)系分類和過濾(3.2節(jié));最后,介紹模型的損失函數(shù)(3.3節(jié))。
首先定義一個(gè)句子和該句子的一個(gè)span:
句子:S=(t1,t2,t3,…,tn)
span:s=(ti,ti+1,ti+2,…,ti+j)
其中,t表示token,一個(gè)token指代文本中的一個(gè)單詞或一個(gè)符號(hào),如標(biāo)點(diǎn)符號(hào)、特殊符號(hào)等;下標(biāo)(例如1,2,3,…)表示token在文本中的位置索引。在span中,下標(biāo)j表示span的長度閾值。
首先,將NoneEntity類型添加到預(yù)定義的實(shí)體類型集合(表示為η)中。若span的類型不屬于任何預(yù)定義的實(shí)體類型,那么它的類型為NoneEntity。
如圖1所示,用于分類的span語義表示由4部分組成,即:(1)span頭尾token語義表示的拼接;(2)span特定特征的語義表示;(3)span的句子級(jí)上下文語義表示(span width embeddings);(4)span寬度語義表示。本文用Xi表示tokenti的BERT嵌入,則S和s的BERT嵌入序列表示分別如式(1)和式(2)所示:
BS=(X0,X1,X2,…,Xn)
(1)
Bs=(Xi,Xi+1,Xi+2,…,Xi+j)
(2)
其中X0表示特定字符[CLS]的BERT嵌入。
(1)span頭尾token語義表示的拼接:如果span包含多個(gè)token,則將span頭token和尾token的BERT嵌入拼接。否則,復(fù)制單個(gè)token的BERT嵌入并將其拼接起來。以s為例,其拼接結(jié)果為:
Hs=[Xi;Xi+j]
(2)span特定特征的語義表示:本文使用MLP attention[2]計(jì)算span特定特征的語義表示,以s為例,其特定特征計(jì)算的形式化表示如式(3)所示:
Vk=MLPk(Xk)
s.t.k∈[i,i+j]
(3)
(4)
(5)
其中,Vk是標(biāo)量;αk是Xk的attention權(quán)重,由Softmax函數(shù)計(jì)算得出;Fs是根據(jù)attention權(quán)重和Bs計(jì)算得到的span特定特征的語義表示。通過這種方式可以評(píng)估span包含的每個(gè)token的重要性,并且token越重要,它持有的attention權(quán)重就越大。通過將Fs作為Q(query),BS作為K(key)和V(value),使用Multi-Head attention計(jì)算span的句子級(jí)的上下文語義表示。以s為例,上述計(jì)算可形式化如式(6)所示:
Ts=Attention(Fs,BS,BS)
(6)
(3)span寬度嵌入:在模型訓(xùn)練過程中為每個(gè)span寬度(1,2,…)訓(xùn)練一個(gè)寬度嵌入表示[3],因此可以從寬度嵌入矩陣中為s查找寬度為j+1的嵌入表示W(wǎng)j+1。
(4)span分類:用于分類的span語義表示由4部分拼接而成,其形式化表示如式(7)所示:
Rs=(Ts,Fs,Hs,Wj+1)
(7)
Rs首先輸入到一個(gè)多層FFNN,然后將輸出結(jié)果輸入到一個(gè)Softmax分類器,輸出結(jié)果為s在實(shí)體類型空間(包括NoneEntity)上的后驗(yàn)概率分布值,如式(8)所示:
ys=Softmax(FFNN(Rs))
(8)
(5)span過濾:通過搜索得分最高的類別,ys預(yù)測得到s的實(shí)體類型。本文保留未分類為NoneEntity的span,并構(gòu)成一個(gè)預(yù)測的實(shí)體集ε。
首先,將NoneRelation類型添加到預(yù)定義的關(guān)系類型集合(表示為γ)中。設(shè)s1和s2是2個(gè)span,用于關(guān)系分類的關(guān)系元組定義如式(9)所示:
〈s1,s2〉∈{ε?ε}
s.t.s1≠s2
(9)
如圖1所示,用于分類的關(guān)系語義表示由3部分組成,即:(1)構(gòu)成關(guān)系的2個(gè)預(yù)測的實(shí)體的語義表示拼接;(2)關(guān)系的局部上下文語義表示;(3)關(guān)系的句子級(jí)上下文語義表示。
(1)關(guān)系元組語義表示的拼接:將s1和s2的語義表示分別形式化為Rs1和Rs2(本質(zhì)為span的語義表示)。在拼接Rs1和Rs2之前,本文首先使用2個(gè)不同的多層前饋神經(jīng)網(wǎng)絡(luò)FFNN分別減小其維度,拼接結(jié)果如式(10)所示:
Hr=[FFNN(Rs1);FFNN(Rs2)]
(10)
(2)關(guān)系的局部上下文語義表示:令Bc表示s1和s2之間的局部上下文的BERT嵌入序列,其形式化表示如式(11)所示:
Bc=(Xm,Xm+1,Xm+2,…,Xm+n)
(11)
通過將Hr作為Q(query),Bc作為K(key)和V(value),使用Multi-Head attention計(jì)算關(guān)系的局部上下文語義表示,如式(12)所示:
Fr=Attention(Hr,Bc,Bc)
(12)
(3)關(guān)系的句子級(jí)的上下文語義表示:通過將Hr作為Q,Bs作為K和V,使用Multi-Head attention計(jì)算關(guān)系的句子級(jí)上下文語義表示,其形式化表示如式(13)所示:
Tr=Attention(Hr,Bs,Bs)
(13)
(4)關(guān)系分類:在將Fr和Tr融合到關(guān)系語義表示之前,本文首先將2個(gè)不同的多層FFNN應(yīng)用到Fr和Tr,以控制其維度,目的是使它們?cè)陉P(guān)系的語義表示中保持適當(dāng)?shù)谋壤糜诜诸惖年P(guān)系語義表示可形式化為:
Rr=[Hr;FFNN(Fr);FFNN(Tr)]
(14)
類似于span分類,Rr首先輸入到一個(gè)多層FFNN,然后將輸出結(jié)果輸入到一個(gè)Softmax分類器,產(chǎn)生〈s1,s2〉在關(guān)系類型空間(包括NoneRelation)上的后驗(yàn)概率分布,如式(15)所示:
yr=Softmax(FFNN(Rr))
(15)
(5)關(guān)系過濾:通過搜索得分最高的類別,yr可以預(yù)測出〈s1,s2〉的關(guān)系類型。本文保留預(yù)測為非NoneRelation的關(guān)系元組并構(gòu)成關(guān)系三元組。
本文將聯(lián)合抽取模型的損失函數(shù)定義如式(16)所示:
L=0.4Ls+0.6Lr
(16)
其中,Ls表示span分類的交叉熵?fù)p失,Lr表示關(guān)系分類的二元交叉熵?fù)p失。由于關(guān)系分類的性能通常比實(shí)體識(shí)別性能差,因此本文對(duì)Lr賦予更大的權(quán)重,旨在讓模型更多地關(guān)注關(guān)系分類。
本文模型在ACE2005[19]、CoNLL2004[20]和ADE(Adverse-Effect-Drug)[21]3個(gè)基準(zhǔn)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),以下將3個(gè)數(shù)據(jù)集簡稱為ACE05、CoNLL04和ADE。
(1)ACE05英文數(shù)據(jù)集由多領(lǐng)域的新聞報(bào)道組成,例如廣播、新聞專線等。該數(shù)據(jù)集預(yù)定義了7個(gè)實(shí)體類型和6個(gè)關(guān)系類型。本文遵循當(dāng)前已有研究工作中提出的training/dev/test數(shù)據(jù)集劃分標(biāo)準(zhǔn)。其中包括351份訓(xùn)練數(shù)據(jù),80份驗(yàn)證數(shù)據(jù)和80份測試數(shù)據(jù),這其中又有437份包含重疊實(shí)體。
(2)CoNLL04數(shù)據(jù)集包括來自華爾街日?qǐng)?bào)和AP的新聞?wù)Z料,本文遵循當(dāng)前已有研究工作中提出的training/dev/test數(shù)據(jù)集劃分標(biāo)準(zhǔn)。其中包括910份訓(xùn)練數(shù)據(jù),243份驗(yàn)證數(shù)據(jù)和288份測試數(shù)據(jù)。
(3)ADE旨在從醫(yī)學(xué)文獻(xiàn)中抽取藥物相關(guān)的不良反應(yīng),預(yù)定義了2個(gè)實(shí)體類型(即Adverse-Effect和Drug)和1個(gè)關(guān)系類型,即Adverse-Effect。該數(shù)據(jù)集由4 272個(gè)句子組成,其中1 695個(gè)包含重疊實(shí)體。本文在該數(shù)據(jù)集上進(jìn)行10重交叉驗(yàn)證實(shí)驗(yàn)。
本文使用English BERT-base-cased model作為嵌入生成器。在本文模型訓(xùn)練期間訓(xùn)練FFNN和attention的模型參數(shù)并且對(duì)BERT模型參數(shù)進(jìn)行微調(diào)。本文將模型訓(xùn)練的batch大小設(shè)置為8,dropout設(shè)置為0.2,寬度嵌入的維度設(shè)置為50。Multi-Head attention頭數(shù)設(shè)置為8。學(xué)習(xí)率設(shè)置為5e-5,weight decay設(shè)置為0.01,梯度裁剪閾值設(shè)置為1,對(duì)不同數(shù)據(jù)集,本文設(shè)置了不同的epoch。對(duì)于所有數(shù)據(jù)集,span寬度閾值均初始化為10。本文采用動(dòng)態(tài)負(fù)采樣策略來提高模型性能和魯棒性,其中實(shí)體和關(guān)系的負(fù)例采樣數(shù)量都是每個(gè)句子中正例的30倍。
在3個(gè)基準(zhǔn)數(shù)據(jù)集上,本文模型與以下模型進(jìn)行比較。
(1)DyGIE++[14]是當(dāng)前在ACE05數(shù)據(jù)集上基于span聯(lián)合抽取模式的最優(yōu)模型,它通過引入共指消除任務(wù)來強(qiáng)化span和關(guān)系的語義表示。
(2)Multi-turn QA(Multi-turn Question & Answer)[22]是當(dāng)前在ACE05和CoNLL04 2個(gè)數(shù)據(jù)集上基于序列標(biāo)注的最優(yōu)模型。它將實(shí)體和關(guān)系的聯(lián)合抽取形式化為一個(gè)多輪問答問題,但仍是基于序列標(biāo)注的抽取模式。
(3)SpERT[15]是當(dāng)前在ADE和CoNLL04 2個(gè)數(shù)據(jù)集上基于span聯(lián)合抽取模式的最優(yōu)模型。
(4)Relation-Metric[23]是一種基于序列標(biāo)注的聯(lián)合抽取模型,并且采用了多任務(wù)聯(lián)合學(xué)習(xí)模式。該模型在ADE數(shù)據(jù)集上取得了當(dāng)前的最優(yōu)性能。
本文提出的模型和當(dāng)前性能最優(yōu)的聯(lián)合抽取模型的比較結(jié)果如表1所示。本文提出的模型表示為SPANMulti-Head,表示使用Multi-Head attention計(jì)算上下文語義表示。在ACE05和CoNLL04 2個(gè)數(shù)據(jù)集上,本文采用準(zhǔn)確率P(Precision)、召回率R(Recall)和微平均F1(micro-averageF1)評(píng)估指標(biāo)。在ADE數(shù)據(jù)集上,本文采用準(zhǔn)確率P(Precision)、召回率R(Recall)和宏平均F1(macro-averageF1)評(píng)估指標(biāo)。這些指標(biāo)均參照當(dāng)前已發(fā)表的研究工作。對(duì)于ACE05和ADE 2個(gè)數(shù)據(jù)集,表1列出的所有結(jié)果均已將重疊實(shí)體考慮在內(nèi)。
Table 1 Performance comparisons of different models on ACE05,CoNLL04 and ADE datesets
從表1可以看出,SPANMulti-Head在3個(gè)基準(zhǔn)數(shù)據(jù)集上的性能均超過了當(dāng)前已有的最優(yōu)模型。具體來說,與SpERT相比,SPANMulti-Head在實(shí)體識(shí)別方面獲得了1.29(CoNLL04)和1.31(ADE)的絕對(duì)F1值提升,而在關(guān)系抽取方面則獲得了更佳的絕對(duì)F1值提升,分別為2.86(CoNLL04)和1.89(ADE)。本文將這些性能提高歸結(jié)于span特定特征和上下文表示。此外,與DyGIE++相比,在ACE05數(shù)據(jù)集上,SPANMulti-Head在實(shí)體識(shí)別和關(guān)系抽取上相比DyGIE++獲得了0.99和1.84的絕對(duì)F1值提升。但是,值得注意的是DyGIE++采用了多任務(wù)聯(lián)合學(xué)習(xí)的方式,通過引入共指消除任務(wù)進(jìn)一步增強(qiáng)了span的語義表示,而本文方法并未引入共指消除。
本節(jié)在ACE05測試集上進(jìn)行消融實(shí)驗(yàn),以分析不同模型組件的影響。
(1)span特定特征和span的句子級(jí)上下文語義表示的影響。
表2給出了span特定特征和span的句子級(jí)上下文語義表示對(duì)本文提出模型的影響。其中,-SpanSpecific表示使用Bs的max pooling替換Rs中的[Fs,Hs];-SentenceLevel表示使用[CLS]的BERT嵌入替換Rs中的Ts;base表示執(zhí)行以上2種消融操作。在ACE05測試集上,可觀察到span特定特征語義表示和span的句子級(jí)上下文語義表示均有益于實(shí)體識(shí)別和關(guān)系抽取,這是因?yàn)?span的語義表示在2個(gè)子任務(wù)中共享。
Table 2 Ablation results of span-specific and span sentence-level contextual representations
(2)關(guān)系的局部和句子級(jí)上下文語義表示的影響。
表3給出了關(guān)系的局部和句子級(jí)上下文語義表示對(duì)本文提出模型的影響,其中,-local表示使用Bc的max pooling替換Rr中的FFNN(Fr);-SentenceLevel表示去除Rr中FFNN(Tr);base是執(zhí)行以上2種消融操作。
Table 3 Ablation results of relation local and sentence-level contextual representations
在ACE05驗(yàn)證數(shù)據(jù)集上,可觀察到關(guān)系的局部和句子級(jí)的上下文語義表示明顯地有益于關(guān)系提取,然而對(duì)實(shí)體識(shí)別的影響卻可以忽略不計(jì)。一個(gè)可能的原因是,這些上下文語義表示直接構(gòu)成關(guān)系的語義表示,然而僅通過梯度反向傳播影響span的語義表示。
值得注意的是,與關(guān)系的句子級(jí)上下文語義相比,關(guān)系的局部上下文語義對(duì)關(guān)系抽取的影響更大。原因之一是決定關(guān)系類型的信息主要存在于關(guān)系元組和局部上下文中。另一個(gè)原因是作為補(bǔ)償信息,關(guān)系的句子級(jí)上下文語義表示在關(guān)系語義表示中所占的比例相對(duì)較小,目的在于避免將噪聲引入關(guān)系的語義表示中。
本文提出了一種基于span的實(shí)體關(guān)系聯(lián)合抽取模型,該模型使用attention機(jī)制強(qiáng)化span和關(guān)系的語義表示。具體來說,使用MLP attention捕獲span特定特征,豐富了span的語義表示;使用Multi-Head attention捕獲句子局部和全局特征,進(jìn)一步強(qiáng)化了span和關(guān)系的語義表示。本文提出的模型在3個(gè)基準(zhǔn)數(shù)據(jù)集上的性能均超過了當(dāng)前最優(yōu)模型,創(chuàng)造了當(dāng)前最優(yōu)的聯(lián)合抽取性能。將來將研究通過減少span分類錯(cuò)誤來進(jìn)一步提高關(guān)系分類性能,還計(jì)劃探索更有效的方法用于編碼語義更為豐富的span和關(guān)系語義表示。