劉 煒 馬亞威 彭 艷 李衛(wèi)民
事件抽取(Event Extraction, EE)是信息抽取領(lǐng)域最具挑戰(zhàn)性的任務(wù)之一,是指從非結(jié)構(gòu)化的文本中自動(dòng)識(shí)別事件類型及其參與者的技術(shù),廣泛應(yīng)用于事理圖譜構(gòu)建[1]、輿情分析[2]、信息檢索[3]等方面,是自然語言處理(Natural Language Processing, NLP)在工程應(yīng)用領(lǐng)域強(qiáng)有力的技術(shù)支撐之一.根據(jù)自動(dòng)內(nèi)容提取(Automatic Content Extraction, ACE)[4]評(píng)測(cè)會(huì)議給出的定義,事件抽取分為事件檢測(cè)和論元抽取兩個(gè)子任務(wù),其中,事件檢測(cè)是從一段文本中識(shí)別觸發(fā)詞并判斷它所屬的事件類型,論元抽取是識(shí)別事件的參與者并分析它們?cè)谑录谐洚?dāng)?shù)慕巧?
近年來,得益于神經(jīng)網(wǎng)絡(luò)強(qiáng)大的特征提取能力,基于深度學(xué)習(xí)的方法是事件抽取領(lǐng)域研究的主流[5].針對(duì)最大池化機(jī)制可能會(huì)丟失有助于事件抽取任務(wù)的語義信息的問題,Chen等[6]提出DMCNN(Dynamic Multi-pooling Convolutional Neural Network),捕捉句子中局部的重要語義信息.Nguyen等[7]提出JRNN(Joint Event Extraction via Recurrent Neural Network),在編碼階段使用雙向循環(huán)神經(jīng)網(wǎng)絡(luò)(Bidirectional Recurrent Neural Network, Bi-RNN)學(xué)習(xí)句子級(jí)特征,在預(yù)測(cè)階段,引入記憶矩陣和記憶向量,建模事件類型和論元角色之間的依賴關(guān)系.Yang等[8]提出PLMEE(Pre-trained Language Model Based Event Extractor),利用預(yù)訓(xùn)練模型生成部分訓(xùn)練數(shù)據(jù),并通過角色預(yù)測(cè)分離的方法處理論元抽取中存在的角色重疊問題.
然而,由于中文會(huì)出現(xiàn)分詞結(jié)果和觸發(fā)詞或論元邊界不匹配的情況,上述方法在中文事件抽取任務(wù)中并未取得理想效果.針對(duì)這一問題,Zeng等[9]將事件檢測(cè)任務(wù)轉(zhuǎn)化為序列標(biāo)注任務(wù),將中文字符和分詞結(jié)果分別輸入模型中,然后使用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)[10]捕捉局部詞匯特征,使用雙向長短期記憶網(wǎng)絡(luò)(Bidirectional Long Short-Term Memory, BiLSTM)[11]捕捉句子級(jí)特征,用于檢測(cè)BIO(B-begin, I-inside, O-outside)[12]標(biāo)注模式標(biāo)注的觸發(fā)詞標(biāo)簽.針對(duì)中文事件抽取中存在的觸發(fā)詞歧義問題,Ding等[13]引入外部知識(shí)庫HowNet,增強(qiáng)字符和詞匯的語義特征表示,并使用樹狀長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory, LSTM)融合多種特征,用于事件檢測(cè).Wu等[14]考慮到字符特征和詞語特征融合的過程中,各個(gè)字符的語義信息不同,以及字符信息與其在詞匯中的位置也有關(guān)系,提出一種字符級(jí)別的注意力機(jī)制,學(xué)習(xí)各個(gè)字符和詞語之間的權(quán)重,以便更好地融合字符和詞匯的語義信息.Xu等[15]提出JMCEE(Joint Multiple Chinese Event Extractor),針對(duì)論元角色重疊問題,使用預(yù)訓(xùn)練模型學(xué)習(xí)事件三元組〈觸發(fā)詞,論元角色,論元〉之間的相互依賴關(guān)系,并設(shè)計(jì)多個(gè)二分類器,判別觸發(fā)詞和論元的起止位置.Sheng等[16]提出CasEE(Cascade Decoding for Overlapping Event Extrac-tion),針對(duì)觸發(fā)詞和論元重疊問題,提出具有級(jí)聯(lián)解碼的聯(lián)合學(xué)習(xí)框架,分階段完成事件類型、事件觸發(fā)詞和事件論元的抽取,并采用多任務(wù)學(xué)習(xí)的方式捕獲子任務(wù)之間的依賴關(guān)系.但是,上述方法大都將句子表示為順序結(jié)構(gòu)進(jìn)行建模,導(dǎo)致模型在捕捉文本中各組成成分的長距離依賴關(guān)系時(shí),效果并不理想.
相比順序建模,通過依存句法弧可以強(qiáng)化觸發(fā)詞和關(guān)鍵論元之間依賴關(guān)系,縮短觸發(fā)詞間的距離,進(jìn)而促進(jìn)事件內(nèi)和事件間的信息交互.為此,近年來一些學(xué)者陸續(xù)利用圖神經(jīng)網(wǎng)絡(luò)結(jié)合依存句法分析(Dependency Parsing, DP)進(jìn)行建模.Liu等[17]使用圖卷積網(wǎng)絡(luò)(Graph Convolutional Network, GCN)[18]和依存句法圖,增強(qiáng)多個(gè)事件之間的信息交互.Yan等[19]在GCN和句法依存圖的基礎(chǔ)上,引入注意力機(jī)制,聚合多階句法關(guān)系,進(jìn)行觸發(fā)詞的識(shí)別.You等[20]將事件編碼為語義圖,事件觸發(fā)詞和論元作為圖中節(jié)點(diǎn),進(jìn)而把事件抽取轉(zhuǎn)化為一個(gè)圖解析問題,用于捕獲事件內(nèi)的復(fù)雜交互.
同樣,相比英文文本,中文句法結(jié)構(gòu)復(fù)雜,存在主語或賓語常常省略、在復(fù)雜句子中難以找到清晰的從句分割詞(如英文中的that, where, when等)[21]以及分詞錯(cuò)誤引發(fā)的誤差傳遞等問題,導(dǎo)致句法特征未較好地融入中文事件抽取任務(wù).
針對(duì)上述差異和挑戰(zhàn),Wu等[21]提出CAEE(Chinese Event Extraction Framework via Graph Atten-tion Network),設(shè)計(jì)依存句法分析和中文字符結(jié)合的方式,并引入圖注意力網(wǎng)絡(luò)(Graph Attention Net-work, GAT)[22],捕捉句法樹中各組成成分的長距離依賴關(guān)系,然而未單獨(dú)處理觸發(fā)詞和論元依賴建模不足的問題,也未考慮論元角色重疊的情況,因此論元抽取沒有顯著的性能提升.
此外,基于表填充(Table Filling, TF)的方法也廣泛應(yīng)用于信息抽取任務(wù)中.基于表填充,Gupta等[23]提出實(shí)體關(guān)系聯(lián)合抽取方法,捕捉二者的相關(guān)性,有效解決實(shí)體重疊的問題.Wu等[24]提出網(wǎng)格標(biāo)注方案,將面向方面的觀點(diǎn)抽取(Aspect-oriented Fine-grained Opinion Extraction, AFOE)轉(zhuǎn)化為詞對(duì)標(biāo)注任務(wù),效果良好.Zeng等[25]將論元抽取建模為表填充問題,提升英文語料上多事件抽取的性能.
綜上所述,盡管當(dāng)前事件抽取方面已有較多的研究工作,但是還尚未很好地解決中文事件抽取中存在的觸發(fā)詞和論元依賴建模不足、論元角色重疊難以抽取等問題.觸發(fā)詞和論元依賴建模不足會(huì)削弱事件內(nèi)的信息交互,導(dǎo)致論元抽取性能低下,特別是論元角色存在重疊的情況下.此時(shí),觸發(fā)詞和論元之間的依賴關(guān)系建模不足會(huì)導(dǎo)致模型只能成功分類論元對(duì)應(yīng)的多個(gè)事件角色中的一個(gè),進(jìn)而導(dǎo)致論元抽取性能低下.
針對(duì)上述問題,本文提出基于圖注意力和表指針網(wǎng)絡(luò)的中文事件抽取方法(Chinese Event Extraction Method Based on Graph Attention and Table Pointer Network, ATCEE).首先,使用知識(shí)增強(qiáng)語義表示模型(Enhanced Representation through Knowledge Inte-gration, ERNIE)[26]和Bi-LSTM獲取文本中各組成成分的深層語義特征.然后,將語言技術(shù)平臺(tái)(Language Technology Platform, LTP)[27]依存句法分析模塊處理事件文本得到的依存句法樹擴(kuò)充為依存句法圖,并引入圖注意力網(wǎng)絡(luò)層,捕獲各組成成分間的長距離依賴關(guān)系.最后,在解碼階段引入表填充策略[23-25],進(jìn)一步增強(qiáng)論元和其對(duì)應(yīng)的所有觸發(fā)詞之間的依賴性,并將學(xué)習(xí)得到的表特征用于觸發(fā)詞和論元的聯(lián)合抽取.
本文將事件抽取建模為基于表格標(biāo)注的多分類任務(wù),提出基于圖注意力和表指針網(wǎng)絡(luò)的中文事件抽取模型(ATCEE),框架如圖1所示.
圖1 ATCEE框架圖
考慮到任務(wù)的最終目標(biāo)是識(shí)別一些文本塊作為事件觸發(fā)詞和論元,中文文本的分詞結(jié)果會(huì)出現(xiàn)和這些文本塊不匹配的情況,故基于序列標(biāo)注的思想,本文將中文字符作為模型的基本處理單元.對(duì)于輸入模型的事件文本,首先,使用ERNIE對(duì)其切分編碼,獲取動(dòng)態(tài)變化的字向量,并拼接詞性標(biāo)注向量作為句子編碼層的特征輸入.再利用BiLSTM獲取句子的強(qiáng)化語義特征.然后,將依存分析得到的依存句法圖引入GAT層,捕獲文本中各組成成分的長距離依賴關(guān)系.使用表填充的方法進(jìn)行特征融合,增強(qiáng)觸發(fā)詞和論元隱層向量之間的關(guān)聯(lián)性.最后,將學(xué)習(xí)得到的表特征輸入全連接層和表指針網(wǎng)絡(luò)層,并結(jié)合softmax分類器進(jìn)行觸發(fā)詞和論元的聯(lián)合抽取.
表特征對(duì)應(yīng)的表格標(biāo)簽標(biāo)注示例如圖2所示.在表中:觸發(fā)詞標(biāo)簽采用BIO標(biāo)注模式,15、16表示“B-勝負(fù)”和“I-勝負(fù)”等觸發(fā)詞標(biāo)簽標(biāo)識(shí),對(duì)應(yīng)的觸發(fā)詞是“淘汰”;論元角色采用表指針標(biāo)注模式,7表示“勝負(fù)”這一事件關(guān)聯(lián)的論元角色“賽事名稱”的標(biāo)識(shí),對(duì)應(yīng)的論元為“歐洲杯”,使用兩個(gè)表格分別標(biāo)注論元的首尾位置.
(a)論元開始位置標(biāo)注指針
表格標(biāo)注的方法可以標(biāo)注句子中所有觸發(fā)詞-論元對(duì)的關(guān)系,進(jìn)一步增強(qiáng)觸發(fā)詞和論元之間的依賴性.同時(shí),相比選用條件隨機(jī)場(chǎng)(Conditional Random Fields, CRF)[28]作為解碼器,使用表指針網(wǎng)絡(luò)識(shí)別論元的首尾位置進(jìn)行抽取,可有效解決長論元實(shí)體抽取斷裂的問題.
ATCEE首先使用ERNIE對(duì)輸入文本進(jìn)行切分并編碼,獲取輸入的字符向量.ERNIE主要對(duì)BERT(Bidirectional Encoder Representations from Transformers)[29]的掩碼機(jī)制進(jìn)行改進(jìn),二者不同的掩碼策略如圖3所示,在訓(xùn)練中文文本時(shí),BERT只是隨機(jī)掩碼一些字,學(xué)到的更多是字與字之間的關(guān)系,如圖3(a)中的“府”與“廣”、“文”之間的局部關(guān)系.而ERNIE通過對(duì)詞、實(shí)體等語義單元的掩碼,使模型除了能學(xué)到字與字之間的局部關(guān)系,還能學(xué)到如(b)中所示的“廣州”與“省會(huì)”之間的知識(shí)信息,進(jìn)一步提升預(yù)訓(xùn)練模型的語義表示能力.
(a)BERT
對(duì)于給定的句子
S=[s1,s2,…,sn],
其中,si表示事件文本中的第i個(gè)字符,n表示句子的長度,ERNIE可將其編碼為定長的向量表示:
E=[e0,e1,…,en]∈R(n+1)×de,
其中,de表示字符嵌入向量的維度,e0表示ERNIE在文本前插入的[CLS]符號(hào)對(duì)應(yīng)的輸出向量,可作為句子的語義表示.
此外,在事件文本中,不同的組成部分常對(duì)應(yīng)不同的詞性.例如,觸發(fā)詞的文本通常為動(dòng)詞,而論元的文本常對(duì)應(yīng)名詞或數(shù)詞,不同類別的論元在詞性上也呈現(xiàn)一定的分布規(guī)律,同時(shí)詞性標(biāo)注特征還能提供詞匯的邊界信息.本文使用LTP的詞性標(biāo)注模塊對(duì)句子分詞,并識(shí)別每個(gè)詞的詞性標(biāo)簽,使用BIO標(biāo)注模式進(jìn)行標(biāo)注,然后隨機(jī)初始化為dpos維詞性標(biāo)注向量:
P=[p0,p1,…,pn].
最后,將ERNIE嵌入向量E和詞性標(biāo)注向量P進(jìn)行拼接,得到輸入句子W對(duì)應(yīng)的嵌入向量序列:
X=[x0,x1,…,xn]∈R(n+1)×d,
其中,
xi=[ei‖pi],
‖表示向量拼接操作,d=de+dpos表示隱藏層維度.
為了更好地融合句子中上下文語義信息,本文使用BiLSTM編碼得到的嵌入向量序列X,這一過程可被形式化為
H=[h1,h2,…,hn]∈Rn×d.
句子編碼層之后是依存特征提取層,使用GAT對(duì)依存句法圖進(jìn)行編碼,可以更好地捕捉文本中各組成成分的長距離依賴關(guān)系,進(jìn)而學(xué)習(xí)到蘊(yùn)含豐富語義信息和句法結(jié)構(gòu)信息的特征向量.
GAT是將圖卷積和注意力機(jī)制結(jié)合的模型,當(dāng)聚合鄰域節(jié)點(diǎn)信息時(shí),可為相鄰節(jié)點(diǎn)分配不同的權(quán)重.同時(shí)本文將GAT中的自注意力層擴(kuò)展為Vaswani等[30]提出的多頭注意力機(jī)制,把輸入轉(zhuǎn)換到多個(gè)子空間,使模型關(guān)注鄰域節(jié)點(diǎn)不同方面的特征信息,進(jìn)而使訓(xùn)練后的模型結(jié)構(gòu)更穩(wěn)定.
本文使用的依存句法圖的構(gòu)造策略如下。
1)使用LTP的依存句法分析模塊處理事件文本,得到依存句法樹.
2)參考文獻(xiàn)[31]的做法,忽略依存句法樹中“Root”指向根節(jié)點(diǎn)的弧和所有弧的標(biāo)簽.
3)將依存句法圖定義為G={V,E},其中,V表示節(jié)點(diǎn)集合,E表示邊集合,每條邊eij表示節(jié)點(diǎn)(vi,vj)之間的有向弧.由于ERNIE和BiLSTM可以較好地學(xué)習(xí)文本各組成成分的上下文語義特征,故這里將節(jié)點(diǎn)(vi,vj)內(nèi)部最后一個(gè)字符(cin,cjn)之間的連接表示邊eij.
4)針對(duì)每個(gè)節(jié)點(diǎn)vi,將其對(duì)應(yīng)詞語wi內(nèi)部字符“ci1,ci2,…,cin”進(jìn)行連接,完成對(duì)節(jié)點(diǎn)集V的擴(kuò)充,通過在每個(gè)節(jié)點(diǎn)上添加自循環(huán)弧eii,完成對(duì)邊集E的擴(kuò)充.字符級(jí)依存句法實(shí)例如圖4所示.
圖4 字符級(jí)依存句法圖示例圖
本文首先使用BiLSTM層輸出的特征H初始化依存句法圖的節(jié)點(diǎn)嵌入:
再計(jì)算節(jié)點(diǎn)對(duì)之間的關(guān)聯(lián)度:
然后對(duì)關(guān)聯(lián)度進(jìn)行歸一化,得到節(jié)點(diǎn)i和鄰域節(jié)點(diǎn)j(j∈Ni)之間的注意力系數(shù):
其中Ni表示節(jié)點(diǎn)i的所有鄰域節(jié)點(diǎn).
對(duì)所有鄰域節(jié)點(diǎn)的特征進(jìn)行基于注意力系數(shù)的加權(quán)求和,得到第k個(gè)注意力下第i個(gè)節(jié)點(diǎn)更新后的特征向量:
為了便于實(shí)現(xiàn),設(shè)置每層GAT的輸入特征維度等于輸出特征維度,即d=dhK.
通過L層GAT網(wǎng)絡(luò)后,每個(gè)節(jié)點(diǎn)都可以聚集它的L跳之內(nèi)鄰居節(jié)點(diǎn)信息.最終得到GAT最后一層的輸出UL,用于觸發(fā)詞和論元的聯(lián)合抽取.
首先,將從圖注意力模塊得到向量序列:
U=[u1,u2,…,un].
輸入表填充模塊,得到表特征:
Tij=σ(Wtable[ui‖uj]+btable),
其中,T∈Rn×n×d,σ(·)表示一個(gè)非線性激活函數(shù),Wtable∈Rd×2d表示權(quán)值向量,btable表示偏置項(xiàng).
再將表特征的主對(duì)角線元素Tii輸入全連接層和softmax分類器中,用于識(shí)別和預(yù)測(cè)采用BIO模式標(biāo)注的觸發(fā)詞標(biāo)簽,第i個(gè)字符為不同事件類別的概率分布:
其中,Wt∈Rnt×n表示權(quán)值向量,nt表示事件類型的數(shù)目,bt表示偏置項(xiàng).
然后,選取預(yù)測(cè)概率最大值對(duì)應(yīng)的索引作為預(yù)測(cè)的觸發(fā)詞標(biāo)簽標(biāo)識(shí):
最后,將非主對(duì)角線元素Tij(i≠j)輸入2個(gè)多分類器中,使用表指針網(wǎng)絡(luò)預(yù)測(cè)論元的首尾位置及類別以實(shí)現(xiàn)抽取,具體形式如下:
〈觸發(fā)詞起始位置(i′),觸發(fā)詞結(jié)束位置(i″),事件類型〉.
如圖1中所示的文本,事件檢測(cè)結(jié)果為
[〈9,10,“勝負(fù)”〉, 〈15,16,“晉級(jí)”〉].
〈觸發(fā)詞起始位置(i′),觸發(fā)詞結(jié)束位置(i″),事件類型,論元起始位置(j′),論元結(jié)束位置(j″),論元角色類型〉.
最終可以得到事件“勝負(fù)”的論元抽取結(jié)果為
[〈9,10,勝負(fù),0,2,賽事名稱〉, 〈9,10,勝負(fù),4,8,勝者〉, 〈9,10,勝負(fù),11,13,敗者〉].
在設(shè)計(jì)損失函數(shù)時(shí),為了增強(qiáng)模型的泛化性,引入標(biāo)簽平滑正則化(Label Smoothing Regularization, LSR)策略[32].LSR能在采用one-hot標(biāo)簽計(jì)算交叉熵?fù)p失時(shí),考慮到錯(cuò)誤標(biāo)簽位置(one-hot值為0的位置)的損失,降低真實(shí)標(biāo)簽類別在計(jì)算損失時(shí)的權(quán)重,從而避免過擬合.平滑后的one-hot標(biāo)簽值為:
其中:yc表示one-hot標(biāo)簽值,當(dāng)樣本真實(shí)類別等于c時(shí)yc=1,否則yc=0;C表示樣本類別總數(shù);α表示需要調(diào)節(jié)的超參數(shù),取值范圍為0~1,描述標(biāo)簽平滑的程度,α值越大,標(biāo)簽越平滑[33-34].
引入標(biāo)簽平滑策略后,主對(duì)角線上觸發(fā)詞分類的平均交叉熵?fù)p失函數(shù)為:
非主對(duì)角線(i≠j)上論元首尾位置分類的平均交叉熵?fù)p失函數(shù)為:
基于表填充的聯(lián)合抽取層分為觸發(fā)詞抽取和論元抽取兩個(gè)模塊,由于兩個(gè)模塊無明顯的主、輔任務(wù)之分,ATCEE采取較樸素的聯(lián)合學(xué)習(xí)思想,將二者的損失函數(shù)直接相加,形成聯(lián)合損失函數(shù):
loss=losst+(lossas+lossae).
然后使用帶權(quán)重衰減的自適應(yīng)性矩估計(jì)(Adaptive Moment Estimation with Decoupled Weight Decay, AdamW)[35]作為優(yōu)化器訓(xùn)練優(yōu)化網(wǎng)絡(luò)參數(shù),從而最大程度地最小化聯(lián)合損失函數(shù),提升模型的抽取性能.
綜上所述,ATCEE包括嵌入層、句子編碼層、基于圖注意力網(wǎng)絡(luò)的依存特征提取層和基于表填充的聯(lián)合抽取層四個(gè)模塊,整體執(zhí)行流程如算法1所示.
算法1ATCEE
#n為句子長度,d為隱層維度,de為字符嵌入向量的維度,dpos為詞性嵌入向量維度,d=de+dpos.
#pos_embedding:隨機(jī)初始化的詞性嵌入模型,詞典的大小為詞性的種類,嵌入向量維度為dpos.
#init_graph:構(gòu)造字符級(jí)依存句法圖,并初始化節(jié)點(diǎn)嵌入.
#broadcast_tensors:將多個(gè)張量根據(jù)廣播規(guī)則轉(zhuǎn)換成相同的維度.
#table_fc,trigger_fc,arg_start_fc,arg_end_fc:全連接層,對(duì)應(yīng)的權(quán)值向量形狀分別為[2d,d],[d,nt],[d,na],[d,na],其中,nt為事件類型的數(shù)目,na為論元類型的數(shù)目.
#trigger_mask,arg_mask:形狀為[n,n]的矩陣,標(biāo)志觸發(fā)詞和論元在表格中的位置,前者主對(duì)角線為1、其余為0,后者主對(duì)角線為0、其余為1.
輸入描述事件的文本S=[s0,s1,…,sn],BIO標(biāo)
注模式標(biāo)注的詞性標(biāo)簽W=[w0,w1,…,
wn],依存句法樹DPTree,圖2所示的2個(gè)
真實(shí)的表格標(biāo)簽yas、yae,s0為ERNIE中的
[CLS],w0為[PAD]
輸出事件檢測(cè)結(jié)果三元組〈event_start,event_
end,event_type〉,每個(gè)事件對(duì)應(yīng)的論元抽
取結(jié)果六元組〈event_start,event_end,event_
type,argument_start,argument_end,argument_
type〉
step 1E←ernie(S)
#E為字符向量,形狀為[n+1,de]
step 2P←pos_embedding(W)
#P為詞性向量,形狀為[n+1,dpos]
step 3X←concatenate(E,P,dim=-1)
# 在最后一個(gè)維度上拼接E和P,得到X,形狀為[n+
1,d]
step 4H←bilstm(X)[1,∶,∶]
#H為隱層向量,形狀為[n,d]
step 5G←init_graph(DPTree,H)
#G= {V,E},節(jié)點(diǎn)vi對(duì)應(yīng)的特征向量為hi
step 6U←gat(G,L)
#U為聚合L跳內(nèi)鄰居節(jié)點(diǎn)信息后的節(jié)點(diǎn)特征,形狀
為[n,d]
step 7
U1,U2←
broadcast_tensors(U[∶,None],U[None])
#U1,U2形狀為[n,n,d]
T←table_fc(concatenate(U1,U2,dim=-1))
#T為表特征,形狀為[n,n,d]
step 8Pt←trigger_fc(T)
#Pt為觸發(fā)詞預(yù)測(cè)概率分布,形狀為[n,n,nt]
losst←loss_function(Pt*trigger_mask,yas*
trigger_mask)
# 計(jì)算觸發(fā)詞分類損失
Pas←arg_start_fc(T)
#Pas為論元開始位置預(yù)測(cè)概率分布,形狀為[n,n,
na]
lossas←loss_function(Pas*arg_mask,
yas*arg_mask)
# 計(jì)算論元開始位置分類損失
Pae←arg_end_fc(T)
#Pae為論元結(jié)束位置預(yù)測(cè)概率分布,形狀為[n,n,
na]
lossae←loss_function(Pae*arg_mask,
yae*arg_mask)
# 計(jì)算論元結(jié)束位置分類損失
loss=losst+(lossas+lossae)
# 聯(lián)合損失函數(shù)
為了評(píng)估模型效果,在ACE2005[4]和DuEE1.0[36]這兩個(gè)中文事件抽取數(shù)據(jù)集上開展實(shí)驗(yàn).ACE2005數(shù)據(jù)集是事件抽取領(lǐng)域最廣泛使用的數(shù)據(jù)集之一,共計(jì)649篇文章,事件類型分為8個(gè)大類和33個(gè)小類.為了保證實(shí)驗(yàn)的嚴(yán)謹(jǐn)性,本文語料劃分的方式和對(duì)比模型一致.隨機(jī)抽取521篇作為訓(xùn)練集、64篇作為驗(yàn)證集、64篇作為測(cè)試集.DuEE1.0數(shù)據(jù)集是百度發(fā)布的中文事件抽取數(shù)據(jù)集,包含8個(gè)事件大類和65個(gè)事件小類,本文在打亂數(shù)據(jù)排列順序獲得特征分布近似均勻的數(shù)據(jù)后,按照8∶1∶1的比例將數(shù)據(jù)劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集.
同之前的中文事件抽取任務(wù)一樣,本文使用精確率(Precision, P)、召回率(Recall, R)和F1值作為子任務(wù)評(píng)價(jià)指標(biāo).具體公式如下:
其中,TP(True Positive)表示模型預(yù)測(cè)為正的正樣本,FP(False Positive)表示模型預(yù)測(cè)為正的負(fù)樣本,FN(False Negative)表示模型預(yù)測(cè)為負(fù)的正樣本.
對(duì)于事件檢測(cè)子任務(wù),若觸發(fā)詞相對(duì)于文本的位置、所屬事件類型都和標(biāo)注結(jié)果一樣,視為檢測(cè)成功.
對(duì)于論元抽取子任務(wù),一個(gè)論元被正確抽取當(dāng)且僅當(dāng)論元在文本中的位置、論元的類型、關(guān)聯(lián)的事件類型和觸發(fā)詞在文本中的位置都和標(biāo)注結(jié)果完全匹配.
本文實(shí)驗(yàn)中的操作系統(tǒng)為Ubuntu 20.04.4 LTS,CPU為Intel(R)Core(TM)i5-11400F @ 2.60 GHz,顯卡為GTX 3060,使用Python3.7實(shí)現(xiàn)實(shí)驗(yàn)中的相關(guān)算法,PyTorch1.8搭建深度學(xué)習(xí)框架.
訓(xùn)練過程中使用ReLU作為模型的非線性激活函數(shù),AdamW作為優(yōu)化器訓(xùn)練優(yōu)化網(wǎng)絡(luò)參數(shù),對(duì)ERNIE預(yù)訓(xùn)練模型進(jìn)行微調(diào)并設(shè)置較低的學(xué)習(xí)率,而下游任務(wù)設(shè)置較大的學(xué)習(xí)率,使模型快速達(dá)到收斂.
為了使模型更加穩(wěn)定,訓(xùn)練過程中采用學(xué)習(xí)率預(yù)熱策略[37],同時(shí)為了防止模型過擬合,本文還使用權(quán)重衰減(Weight Decay, WD)[38]技術(shù).具體使用的超參數(shù)如表1所示.
表1 事件抽取實(shí)驗(yàn)超參數(shù)設(shè)置
為了驗(yàn)證ATCEE的有效性,選擇如下6種性能較優(yōu)的模型進(jìn)行對(duì)比實(shí)驗(yàn).
1)ERNIE-BiLSTM.本文參考Liu等[17]提出的聯(lián)合解碼策略,把官方測(cè)評(píng)基于預(yù)訓(xùn)練模型的Baseline改成基于ERNIE-BiLSTM的聯(lián)合抽取模型.
2)PLMEE[8].通過角色預(yù)測(cè)分離的方法處理論元抽取中存在的角色重疊問題.
3)MTL-CRF(Multi-task Learning with CRF Enhan-
ced Chinese Event Extraction)[39].針對(duì)論元角色重疊問題,采用分類訓(xùn)練策略為每類事件都訓(xùn)練一個(gè)基于CRF的事件抽取聯(lián)合模型.為了緩解分類后帶來的語料稀疏問題,還采用多任務(wù)學(xué)習(xí)方法對(duì)各事件子類進(jìn)行相互增強(qiáng)的聯(lián)合學(xué)習(xí).
4)JMCEE[15].針對(duì)論元角色重疊問題,設(shè)計(jì)多個(gè)二分類器以抽取事件三元組〈觸發(fā)詞,論元角色,論元〉.
5)EE-DGCNN(Event Extraction Approach Based on Multi-layer Dilate Gated CNN)[40].提出一種具有參數(shù)數(shù)量優(yōu)勢(shì)的多層膨脹門卷積神經(jīng)網(wǎng)絡(luò),并引入一些局部特征以提升論元抽取的精度.
6)CasEE[16].針對(duì)觸發(fā)詞和論元重疊問題,提出一種具有級(jí)聯(lián)解碼的聯(lián)合學(xué)習(xí)框架,并采用多任務(wù)學(xué)習(xí)的方式捕獲子任務(wù)之間的依賴關(guān)系.
7)CAEE[21].在字特征的基礎(chǔ)上通過Word-Character-Based Graph引入詞匯的語義信息和邊界信息,并使用圖注意力網(wǎng)絡(luò)捕捉長距離依賴.
為了在相同實(shí)驗(yàn)環(huán)境下進(jìn)行實(shí)驗(yàn),復(fù)現(xiàn)的模型中使用的詞向量以及觸發(fā)詞和論元是否被正確抽取的標(biāo)準(zhǔn)都和ATCEE保持一致.
各模型在ACE2005、DuEE1.0數(shù)據(jù)集上的指標(biāo)值對(duì)比結(jié)果如表2和表3所示,表中黑體數(shù)字表示最優(yōu)值.
表2 各模型在ACE2005數(shù)據(jù)集上的指標(biāo)值對(duì)比
表3 各模型在DuEE1.0數(shù)據(jù)集上的指標(biāo)值對(duì)比
由表2和表3可見,ATCEE在ACE2005、DuEE-1.0數(shù)據(jù)集上觸發(fā)詞分類F1值分別提高2.2%和0.3%,論元分類F1值分別提高2.4%和2.6%.這主要得益于編碼階段詞性和依存特征的引入以及解碼階段采用表填充策略和表指針網(wǎng)絡(luò)模塊強(qiáng)化觸發(fā)詞和論元之間的依賴關(guān)系.
此外,從表2和表3中還可以看出,在ACE2005數(shù)據(jù)集上,ATCEE觸發(fā)詞分類的P值明顯低于CAEE、MTL-CRF、JMCEE,論元分類的P值明顯低于CAEE、MTL-CRF,觸發(fā)詞和論元分類的R值明顯高于對(duì)比模型.在DuEE1.0數(shù)據(jù)集上,ATCEE觸發(fā)詞分類的R值明顯低于CasEE,論元分類的R值明顯低于CasEE、EE-DGCNN.主要原因分析如下.
1)CAEE引入BME(B-begin, M-middle, E-end)結(jié)構(gòu)的詞典嵌入,相比ATCEE使用的詞性標(biāo)簽嵌入,更能提供豐富的詞語語義信息.MTL-CRF將ACE2005數(shù)據(jù)集語料中提供的實(shí)體、值和時(shí)間信息當(dāng)作已知特征使用,相比ATCEE使用LTP獲取的詞性標(biāo)注特征,這些人工標(biāo)注的特征能提供更準(zhǔn)確的實(shí)體邊界信息和深層語義特征.JMCEE設(shè)計(jì)多個(gè)二分類器判別觸發(fā)詞的起止位置,相比ATCEE使用的基于BIO標(biāo)注模式的多分類方式,能實(shí)現(xiàn)更準(zhǔn)確的預(yù)測(cè)效果.進(jìn)而CAEE、MTL-CRF和JMCEE能夠預(yù)測(cè)更少的FP,分類的P值會(huì)有所提高,但是CAEE、MTL-CRF和JMCEE對(duì)應(yīng)的R值較低,說明有較多的觸發(fā)詞和論元沒有被抽取到.
2)當(dāng)一個(gè)句子中存在多個(gè)事件時(shí),CasEE和EE-DGCNN針對(duì)每個(gè)事件構(gòu)造一個(gè)樣本,這相當(dāng)于擴(kuò)充訓(xùn)練集,使模型更好地學(xué)到語義特征,進(jìn)而能夠預(yù)測(cè)更多的TP,分類的R值會(huì)有所提高.但重復(fù)訓(xùn)練集上的樣本也會(huì)使模型預(yù)測(cè)更多的FP,因此CasEE和EE-DGCNN對(duì)應(yīng)的P值都相對(duì)較低,導(dǎo)致在F1指標(biāo)上,明顯低于ATCEE.
3)ACE2005數(shù)據(jù)集上存在嚴(yán)重的數(shù)據(jù)不平衡性,據(jù)統(tǒng)計(jì),33個(gè)事件類別中標(biāo)注樣本數(shù)少于100個(gè)、50個(gè)、25個(gè)的占比分別為78%、42%、27%.ATCEE在R值上具有較大的提升,說明依存特征和表填充策略的引入能較好地促進(jìn)事件內(nèi)和事件間的信息交互,提升模型在標(biāo)注樣本較少的事件類別上的抽取效果.
本文提出基于圖注意力網(wǎng)絡(luò)的依存特征提取和表指針網(wǎng)絡(luò)兩個(gè)模塊,用于解決中文事件抽取中存在的觸發(fā)詞和論元依賴建模不足、論元角色發(fā)生重疊難以抽取的問題,并使用ERNIE嵌入向量和LTP詞性標(biāo)注向量作為模型的初始輸入.
為了驗(yàn)證上述模塊的有效性,在測(cè)試集角色重疊數(shù)據(jù)(ACE數(shù)據(jù)集上為7.31%,DuEE1.0數(shù)據(jù)集上為6.91%)上進(jìn)行消融實(shí)驗(yàn).
實(shí)驗(yàn)的基準(zhǔn)模型是BERT-BiLSTM,然后依次將預(yù)訓(xùn)練模型BERT替換為ERNIE(簡記為ERNIE-BiLSTM)、將解碼模塊替換為表指針網(wǎng)絡(luò)(Table Pointer Network, TPN)、加入詞語級(jí)依存句法圖(Word-Level Dependency Syntax Graph, WDSG)、將WDSG替換為字符級(jí)依存句法圖模塊(Character-Level Dependency Syntax Graph, CD-SG)和去除詞性標(biāo)注特征(Part-of-Speech, POS).
基準(zhǔn)模型中的解碼模塊參考Liu等[17]提出的聯(lián)合解碼策略,詞語級(jí)依存句法圖的構(gòu)造采用Lyu等[41]提出的方法.在角色重疊情況下,論元識(shí)別和論元分類的F1值如表4所示,表中黑體數(shù)字表示最優(yōu)值.
表4結(jié)果表明:1)ERNIE預(yù)訓(xùn)練模型對(duì)詞、實(shí)體等語義單元進(jìn)行建模,可增強(qiáng)模型的語義表示能力,實(shí)驗(yàn)結(jié)果優(yōu)于使用BERT預(yù)訓(xùn)練模型.2)詞性標(biāo)注特征的融入能夠使模型學(xué)習(xí)到更豐富的語義信息和詞匯邊界信息,進(jìn)而在一定程度上提高模型的抽取性能.3)本文提出的兩個(gè)模塊可有效提升角色重疊情況下論元的識(shí)別與分類性能,說明字符級(jí)依存句法圖和表填充策略的引入可在一定程度上解決觸發(fā)詞和論元依賴關(guān)系建模不足的問題.
為了探究GAT的層數(shù)對(duì)模型抽取性能的影響,本次實(shí)驗(yàn)中保持其它超參數(shù)不變,將GAT層數(shù)從0層(即不引入依存特征)增加到6層,再在ACE2005、DuEE1.0數(shù)據(jù)集上記錄不同GAT層數(shù)對(duì)應(yīng)的觸發(fā)詞和論元分類的F1值,結(jié)果如表5所示,表中黑體數(shù)字表示最優(yōu)值.
表5 GAT層數(shù)不同時(shí)ATCEE的性能對(duì)比
從表5可以看出:1)GAT層數(shù)不超過4時(shí),模型抽取性能隨著層數(shù)的增加而上升.這是由于觸發(fā)詞和觸發(fā)詞、觸發(fā)詞和論元間可能存在多跳的句法依賴關(guān)系,此時(shí)GAT層數(shù)的增加使節(jié)點(diǎn)能夠獲取更多跳的鄰居節(jié)點(diǎn)特征信息,進(jìn)而增強(qiáng)事件內(nèi)和事件間的信息交互,提升模型性能.2)GAT層數(shù)為4~6時(shí),模型性能總體呈現(xiàn)下降趨勢(shì),主要是因?yàn)椴粩喽询B的GAT模塊使聯(lián)合抽取模型的參數(shù)量不斷增加,從而導(dǎo)致網(wǎng)絡(luò)訓(xùn)練時(shí)不能很好地優(yōu)化模型參數(shù),出現(xiàn)過擬合問題.因此,在本文的其它實(shí)驗(yàn)中,將模型的GAT層數(shù)設(shè)置為4.
本文針對(duì)中文事件抽取,提出基于圖注意力和表指針網(wǎng)絡(luò)的中文事件抽取方法(ATCEE).將依存句法樹擴(kuò)充為依存句法圖,并引入圖注意力網(wǎng)絡(luò)層,捕獲文本中各組成成分的長距離依賴關(guān)系.同時(shí)使用表格標(biāo)注的方法標(biāo)注句子中的觸發(fā)詞-論元對(duì)關(guān)系,進(jìn)一步增強(qiáng)觸發(fā)詞和論元之間的依賴性.實(shí)驗(yàn)表明,ATCEE在中文事件抽取任務(wù)上取得顯著的性能提升,基于依存特征的圖注意力網(wǎng)絡(luò)模塊和表填充模塊可有效提升角色重疊下論元識(shí)別和分類的性能.消融實(shí)驗(yàn)結(jié)果表明詞性標(biāo)注特征的引入有助于提升模型的抽取性能,但是目前的研究只是把字符向量和詞性向量進(jìn)行直接拼接,再輸入后續(xù)模塊進(jìn)一步編碼,這會(huì)導(dǎo)致字符特征和詞性標(biāo)注特征的融合程度無法被準(zhǔn)確地評(píng)估和控制,也可能會(huì)給模型帶來一定的噪聲.因此,在未來的工作中,考慮使用深度對(duì)抗域適應(yīng)模型學(xué)習(xí)事件抽取和詞性標(biāo)注任務(wù)的共享特征,進(jìn)而達(dá)到字符特征和詞性標(biāo)注特征深度融合的目的,進(jìn)一步提升模型的抽取性能.