馬宇航,宋寶燕,丁琳琳,魯聞一,紀婉婷
(遼寧大學(xué) 信息學(xué)院,遼寧 沈陽 110036)
隨著預(yù)訓(xùn)練語言模型在自然語言處理中的普及,現(xiàn)有一些研究[1-4]將基于BERT的機器閱讀理解框架應(yīng)用在事件檢測任務(wù)中,其主要優(yōu)勢如下:①基于“預(yù)訓(xùn)練+微調(diào)”范式緩解了訓(xùn)練數(shù)據(jù)匱乏的問題;②基于“問答”范式在模型中引入了豐富的先驗信息。然而,此類方法雖然能夠通過BERT[5]達到一詞多義的表征效果,但仍難以處理觸發(fā)詞分類子任務(wù)中的歧義性[6]問題(即觸發(fā)詞在不同的語境中可能會表達不同的含義,從而觸發(fā)不同類型的事件),這主要歸因于此類方法簡單以BERT作為核心特征編碼器,對句子的上下文語境以及句子前后的語義關(guān)系、句法結(jié)構(gòu)的特征編碼能力仍有很大的提升空間。
針對上述不足,本文提出了一種融合實體信息和時序特征的問答式事件檢測方法,從以下3個層面對現(xiàn)有方法進行了改進:①在框架層面,構(gòu)建一種以RoBERTa[7]為基礎(chǔ)的問答式事件檢測框架,增強模型的語義表示能力;②在輸入層面,以特定的標(biāo)注規(guī)則在輸入序列中顯式添加實體、實體類型等先驗信息,增強模型對于句子上下文語境的感知;③在網(wǎng)絡(luò)層面,采用最小門控循環(huán)單元(minimal gated unit,MGU)[8]和Transformer編碼器[9]對句子的時序依賴關(guān)系進行建模,增強模型對于句子序列各單元之間的語義關(guān)系和句法結(jié)構(gòu)的感知。通過在ACE2005英文語料上進行實驗,驗證了所提方法的性能以及在緩解觸發(fā)詞歧義性問題上的有效性。
現(xiàn)有的主流事件檢測方法主要分為以下兩類:基于預(yù)訓(xùn)練語言模型的方法、基于機器閱讀理解的方法。
預(yù)訓(xùn)練語言模型通過在大規(guī)模的外部語料上進行預(yù)訓(xùn)練并在特定任務(wù)語料上進行微調(diào),能夠有效彌補訓(xùn)練語料對神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)能力的影響。目前,BERT由于其出色的語義表示能力,被廣泛應(yīng)用于事件檢測任務(wù)中。Wadden等[10]使用BERT來獲取具有跨句子信息的語義表示,并使用動態(tài)圖來捕獲實體、觸發(fā)詞和論元之間的依賴關(guān)系。Nguyen等[11]提出了一種基于全局特征的聯(lián)合信息抽取模型,在編碼階段使用BERT來獲取字符的上下文語義表示,并在解碼階段引入全局特征捕獲實例間和子任務(wù)間的依賴關(guān)系。Lin等[12]提出了一種端到端的聯(lián)合框架,首先使用BERT對句子進行編碼,然后通過條件隨機場來檢測觸發(fā)詞。程等[13]提出一種基于BERT和圖卷積網(wǎng)絡(luò)的觸發(fā)詞檢測模型,在利用BERT進行語義表示后引入了句法結(jié)構(gòu)來捕獲長距離依賴。
此外,Liu等[7]在BERT網(wǎng)絡(luò)架構(gòu)的基礎(chǔ)上另提出一種預(yù)訓(xùn)練語言模型RoBERTa,通過調(diào)整BERT的訓(xùn)練策略進一步提升了模型的語義表示能力,其主要改進如下:①引入動態(tài)掩蓋機制,同一序列在不同epoch中采用不同的掩碼模式;②移除NSP(next sentence predict)目標(biāo)任務(wù);③增加了訓(xùn)練數(shù)據(jù)的規(guī)模以及訓(xùn)練批次;④采用BPE(byte-pair encoding)編碼;⑤調(diào)整了優(yōu)化器的相關(guān)參數(shù)。在其基礎(chǔ)上,張等[14]基于RoBERTa訓(xùn)練了兩種維吾爾語預(yù)訓(xùn)練語言模型,胡等[15]則利用RoBERTa和全局圖神經(jīng)網(wǎng)絡(luò)解決了文檔級事件抽取中存在的長距離依賴問題。
近期一些方法在BERT的基礎(chǔ)上,將機器閱讀理解框架應(yīng)用在事件檢測中,為模型引入了豐富的先驗信息。Du等[1]和Li等[2]首先提出了兩種基于機器閱讀理解的事件檢測方法,通過在模型輸入序列中引入預(yù)定義的觸發(fā)詞問題,以問答的范式實現(xiàn)了觸發(fā)詞識別及分類。在此基礎(chǔ)上,Zhao等[3]基于無觸發(fā)詞的設(shè)計,額外將事件類型直接添加到輸入序列中進行二分類,而An等[4]則通過引入雙流注意力機制緩解了論元角色重疊的問題。
然而,上述方法雖然通過引入先驗信息有效提升了事件檢測的性能,但仍難以正確分類具有歧義性的觸發(fā)詞,這主要是因為這些方法對句子的語境、語義、句法結(jié)構(gòu)的特征編碼能力仍有不足。為此,本文提出了一種融合實體信息和時序特征的問答式事件檢測方法,從模型的框架、輸入以及網(wǎng)絡(luò)3個層面對現(xiàn)有方法進行了改進。
本章節(jié)首先介紹模型的整體架構(gòu),然后將從問題模板設(shè)計、實體信息融合、時序特征融合以及觸發(fā)詞識別及分類幾個模塊依次對模型進行展開講解。
針對觸發(fā)詞的歧義性問題,本文提出了一種融合實體信息和時序特征的問答式事件檢測方法EDQA-EITF,模型架構(gòu)如圖1所示。給定一個待檢測的句子,所提模型的處理流程可概述為:首先,利用RoBERTa分隔符將預(yù)定義的觸發(fā)詞問題Q={q1,…,qm}、 句子S={s1,…,sn} 以及實體信息E={e1,…,ep} 以固定形式拼接,生成模型的輸入序列,m、n和p分別表示問題、句子和實體信息的子序列長度;其次,采用RoBERTa對輸入序列中的所有分詞(詞向量表示的單位)進行交互以及編碼,得到融入實體、問題等先驗信息的句子語義表示;然后,引入時序特征融合網(wǎng)絡(luò)(temporal feature fusion network,TFFN)對句子的時序依賴關(guān)系進行建模,進一步增強句子的語義表示;最后,引入線性層對TFFN輸出的向量編碼進行線性變換,并采用Softmax多分類器來預(yù)測觸發(fā)詞的位置和事件類型。此外,英文語料中的觸發(fā)詞往往只由一個單詞充當(dāng),因此本文并未采用多個分類器來依次預(yù)測觸發(fā)詞的起始和結(jié)束位置。
圖1 EDQA-EITF模型架構(gòu)
問題模板設(shè)計是機器閱讀理解任務(wù)中極其重要的一個環(huán)節(jié),好的問題應(yīng)該具備有效的先驗語義信息,經(jīng)過語義交互后使得模型基于問題來返回相應(yīng)的答案,從而達到提示的效果。對于事件檢測而言,問題模板主要由與觸發(fā)詞語義高度相關(guān)的單詞或句子充當(dāng),其蘊含的先驗信息能夠幫助模型在訓(xùn)練的過程中更多地擬合到與觸發(fā)詞相關(guān)的關(guān)鍵特征。然而,現(xiàn)有方法[1-4]所提供的問題模板缺乏嚴謹?shù)脑O(shè)計規(guī)則,導(dǎo)致模板之間的關(guān)聯(lián)性較弱,因而無法通過對比實驗充分地體現(xiàn)不同模板中的先驗信息對模型性能的影響。為此,本文從語義貼近度和語義豐富度兩個方面入手,逐步設(shè)計了多個觸發(fā)詞問題模板,增強了模板之間的關(guān)聯(lián)性,詳細信息見表1。
表1 觸發(fā)詞問題模板
實體信息的具體引入方式借鑒了文獻[16]在實體關(guān)系抽取任務(wù)中提出的實體標(biāo)記方法,其通過設(shè)定特殊字段對句子中的實體開始位置和結(jié)束位置進行了標(biāo)記。不同的是,為了避免標(biāo)記字段對后續(xù)預(yù)測產(chǎn)生干擾,本文并未直接在句子中對實體信息進行標(biāo)記,而是在原序列的基礎(chǔ)上,額外增加了新的實體子序列用于存儲實體信息,并引入了實體類型來標(biāo)記實體的前后位置,使得模型對句子的語境進行更深層次的解讀,詳細信息如圖2所示。值得注意的是,圖中的“”并非固定字段,而是表示對應(yīng)實體的類型,分別置于實體起始單詞前和末尾單詞后來標(biāo)記實體的起始和結(jié)束位置。
圖2 實體信息融合
基于此種方式,在融入句子中的實體信息E={e1,…,ep} 后,模型的輸入序列將變?yōu)?/p>
Input=[CLS]Q[SEP]S[SEP]E[SEP]
(1)
以句子“They released tear gas to protesters.(譯:他們向抗議者釋放了催淚瓦斯。)”為例,當(dāng)選擇表1中的模板“verb”作為觸發(fā)詞問題時,融入實體信息后的模型輸入序列將被初始化為:[CLS]verb[SEP]Theyreleasedteargastoprotesters.[SEP]
{T[CLS],…,Ts,…,T[SEP]}=RoBERTa(Input)
(2)
在得到融入實體信息、觸發(fā)詞問題等先驗語義知識的句子語義表示后,為了增強模型對于句子各單元之間的語義關(guān)系和句法結(jié)構(gòu)的感知,本文提出一種時序特征融合網(wǎng)絡(luò)來增強句子的語義表示,整體架構(gòu)如圖3所示。
圖3 時序特征融合網(wǎng)絡(luò)架構(gòu)
圖3中所示的MGU是門控循環(huán)單元(GRU)的一種新型變體,其通過將遺忘門(更新門)和輸入門(重置門)進一步融合為遺忘門,最簡化了門控單元的數(shù)量,可以實現(xiàn)在保持GRU網(wǎng)絡(luò)性能的同時,減少網(wǎng)絡(luò)參數(shù)量,從而加快模型的收斂速度,并仍能夠規(guī)避傳統(tǒng)循環(huán)神經(jīng)模型存在的梯度消失和梯度爆炸的問題。MGU的核心網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示,其在t時刻的計算過程如下:
圖4 MGU網(wǎng)絡(luò)結(jié)構(gòu)
(1)計算遺忘門。將t-1時刻的隱藏層狀態(tài)ht-1和t時刻的新信息xt聯(lián)合輸入,經(jīng)過線性變換后交由sigmoid激活函數(shù)計算ht-1的遺忘比例
ft=σ(Wf[ht-1,xt]+bf)
(3)
(2)計算候選隱藏層狀態(tài)。首先將ft和ht-1乘積得到ht-1被遺忘的部分,然后將其和xt聯(lián)合輸入,經(jīng)過線性變換后交由tanh激活函數(shù)得到候選隱藏層狀態(tài)
(4)
(3)計算最終隱藏層狀態(tài)。首先將1-ft和ht-1乘積得到ht-1被保留的部分,然后將ft和候選隱藏層狀態(tài)乘積得到新的狀態(tài),最后通過相加得到最終的隱藏層狀態(tài)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
觸發(fā)詞識別和觸發(fā)詞分類是事件檢測的兩個核心子任務(wù),本文則將其整體視為一種分詞級別的多分類任務(wù),基于分類結(jié)果可同步得到觸發(fā)詞在句子中的偏移量及其事件類型。具體來講,在得到融合了時序特征的增強語義表示后,首先引入一個線性層對詞向量的特征維度進行轉(zhuǎn)換,然后采用Softmax分類器來完成觸發(fā)詞的預(yù)測
(12)
其中,Pt表示句子每個分詞在所有分類標(biāo)簽下的概率分布,Nt表示預(yù)定義事件類型的數(shù)量。在測試階段,本文采用Argmax函數(shù)得到每個單詞的具體分類結(jié)果
Result=Argmax(Pt)
(13)
而在訓(xùn)練階段,本文采用交叉熵損失函數(shù)來計算模型整體的損失
(14)
其中,yij表示第i個分詞在第個j分類標(biāo)簽下的真實分類結(jié)果(0或1),pij表示第i個分詞在第j個分類標(biāo)簽下的實際預(yù)測概率。
為評估所提方法的性能,本文在ACE2005英文語料上進行了詳細的實驗與分析。該語料為廣播新聞、廣播對話等多個領(lǐng)域的文檔提供了注釋,共標(biāo)注了8種事件類型、33種子事件類型以及5272個事件觸發(fā)詞。基于子事件類型的數(shù)量,本文在觸發(fā)詞分類子任務(wù)中預(yù)定義了34種分類標(biāo)簽(包含None)。此外,本文沿用文獻[1]中的數(shù)據(jù)分割方法對語料進行了劃分,從而依次得到訓(xùn)練集(529個文本,14 180個句子)、驗證集(30個文本,863個句子)以及測試集(40個文本,672個句子)。
本文沿用了文獻[1]在觸發(fā)詞識別和觸發(fā)詞分類子任務(wù)上的評估標(biāo)準(zhǔn):①如果觸發(fā)詞的預(yù)測偏移量與真實偏移量相同,則將其統(tǒng)計為觸發(fā)詞識別子任務(wù)中的正確項;②如果觸發(fā)詞滿足條件1,并且其預(yù)測事件類型與真實事件類型相同,則將其統(tǒng)計為觸發(fā)詞分類子任務(wù)中的正確項。
本文采用精確率P(Precision)、召回率R(Recall)和F1值(F1-score)作為實驗結(jié)果的評價指標(biāo)。此外,在迭代訓(xùn)練的過程中,本文將在驗證集評估中觸發(fā)詞分類F1值最高的迭代模型視為最佳模型,而模型的性能由最佳模型在測試集上進行評估。
本文采用的實驗環(huán)境如下:操作系統(tǒng)版本為Windows 10,顯卡版本為RTX 3090,顯存大小為24 GB,Python版本為3.7,Pytorch版本為1.2.0。在超參數(shù)設(shè)置方面,詳細信息見表2。
表2 超參數(shù)設(shè)置
本文選取以下模型作為對比實驗的基線模型:①GYDIE++[10]:一種基于上下文跨度表示的多任務(wù)框架,能夠以圖傳播的方式充分感知全局信息;②Joint3EE[11]:一種基于共享隱藏層表示的深度聯(lián)合模型,能夠同時提取實體、觸發(fā)詞以及論元;③EEQA[1]:一種基于機器閱讀理解框架的事件檢測模型,能夠以單輪問答的形式同步提取觸發(fā)詞和事件類型,并提供了多種有效的觸發(fā)詞問題模板;④BGCN[13,1]:一種基于BERT和圖卷積網(wǎng)絡(luò)的事件檢測模型,通過引入句法結(jié)構(gòu)能夠捕獲句子中的長距離依賴特征;⑤Text2event[17,1]:一種序列到結(jié)構(gòu)式事件檢測模型,能夠在不使用觸發(fā)詞偏移量的前提下,直接從并行的文本記錄注釋中學(xué)習(xí);⑥D(zhuǎn)EGREE[18,13,1]:一種基于數(shù)據(jù)生成的高效事件檢測模型,基于手工設(shè)計的提示規(guī)則能夠為模型提供語義指導(dǎo)。
表3展示了本文所提模型EDQA-EITF和基線模型在測試集上的總體實驗結(jié)果。整體來看,EDQA-EITF在觸發(fā)詞識別和觸發(fā)詞分類子任務(wù)上的F1值上顯著優(yōu)于基線模型,驗證了EDQA-EITF整體設(shè)計的有效性,這主要歸因于相比于大多數(shù)基線模型,EDQA-EITF基于問答范式在模型輸入序列中顯示地添加觸發(fā)詞問題、實體等信息,引入了豐富的先驗語義知識,從而提升了模型對于關(guān)鍵特征的感知能力。
表3 總體實驗結(jié)果
此外,與同類方法EEQA相比,EDQA-EITF同樣在利用“verb”作為觸發(fā)詞問題時取得了更好的性能,這主要歸因于以下幾個方面:①相比于EEQA,EDQA-EITF在模型中額外融入了實體、實體類型等先驗信息,提升了模型對句子上下文語境的感知能力,從而在觸發(fā)詞分類子任務(wù)中取得了更好的效果;②EDQA-EITF利用實體類型額外標(biāo)記了實體在句子中的前后位置,而語料中的觸發(fā)詞和實體在句子中的位置通常并不交互,模型通過學(xué)習(xí)后將更傾向于在實體跨度以外的單詞中識別觸發(fā)詞,從而在觸發(fā)詞識別子任務(wù)中也取得了更好的效果;③EDQA-EITF引入RoBERTa進一步增強了句子的語義表示,并通過在模型中融入句子的時序依賴特征,提升了模型對句子語義關(guān)系、句法結(jié)構(gòu)的解讀能力。
表4詳細展示了模型在不同問題模板下的實驗結(jié)果。根據(jù)模板1至模板8的實驗結(jié)果來看,在以“verb”作為觸發(fā)詞問題模板時,模型在觸發(fā)詞識別及分類子任務(wù)上的F1值均達到了最佳。
表4 問題模板對比實驗結(jié)果
根據(jù)模板1至模板4的實驗結(jié)果來看,“verb”和“symbol”在觸發(fā)詞識別及分類子任務(wù)上的F1值均高于“trigger”和“happen”,這表明在基于語義貼進度設(shè)計的觸發(fā)詞問題模板中,“verb”和“symbol”可以為模型提供更有效的先驗信息。根據(jù)模板1、模板5、模板7的實驗結(jié)果來看,在以“verb”為核心詞匯進行擴充語義后,模型在觸發(fā)詞識別和觸發(fā)詞分類子任務(wù)上的F1值均有所下降。同樣的,根據(jù)模板3、模板6、模板8的實驗結(jié)果來看,在以“symbol”為核心詞匯進行擴充語義后,模型在觸發(fā)詞識別和觸發(fā)詞分類子任務(wù)上的F1值也均有所下降。這主要歸因于在基于語義豐富度進行設(shè)計后續(xù)問題模板時,雖然通過擴充語義的方式使得觸發(fā)詞問題模板表達的語義更為清晰和完整,但逐漸增長的序列長度卻會引入過多的噪聲,從而導(dǎo)致模型捕獲到過多與觸發(fā)詞無關(guān)的語義特征。
此外,為了分析觸發(fā)詞問題在整個模型框架中的重要性,本文將問題置為空后額外進行了實驗,如模板9的實驗結(jié)果所示。整體來看,在移除觸發(fā)詞問題后,模型在觸發(fā)詞識別和觸發(fā)詞分類子任務(wù)上的F1值有了明顯的下降。這表明通過添加具有提示作用的觸發(fā)詞問題,并利用注意力機制對問題中的先驗信息和待檢測句子進行充分的交互,能夠有效提升模型對于句子關(guān)鍵特征的感知能力。
為驗證模型(EDQA-EITF)核心模塊設(shè)計的有效性,本文進行了如下的消融實驗:整體移除RoBERTa、時序特征、實體信息3個模塊(EDQA)、僅保留RoBERTa模塊(EDQA-RB)、僅保留實體信息模塊(EDQA-EI)、僅保留時序特征模塊(EDQA-TF),實驗結(jié)果如圖5所示。
圖5 消融實驗結(jié)果
整體來看,在移除RoBERTa、實體信息、時序特征等模塊后,模型的性能均出現(xiàn)了明顯的下降,這驗證了EDQA-EITF各個核心模塊設(shè)計的有效性,也表明了句子語義表示的增強以及實體信息、句子時序特征的引入對于事件檢測具有很好的促進作用。
為進一步展示所提方法的優(yōu)越性,本小節(jié)展示了EDQA-EITF和EEQA[1]在同樣以“verb”作為觸發(fā)詞問題時的兩個事件檢測案例,如圖6所示。從圖中提供的句子原文可知,句1和句2中的觸發(fā)詞均為“fired”,但卻觸發(fā)了不同類型的事件。從圖中提供的檢測結(jié)果可知,EEQA雖然能夠精準(zhǔn)地從句1中識別出“fired”并對其正確分類,但在句2中卻依舊將其錯誤地劃分為“攻擊”類型的事件。而EDQA-EITF卻沒有出現(xiàn)這樣的錯誤,這主要歸因于其對觸發(fā)詞所在的上下文語境、句子序列結(jié)構(gòu)等語義信息有更深層次的感知,也驗證了EDQA-EITF在緩解觸發(fā)詞歧義性問題上的有效性。
圖6 案例分析
本文提出了一種融合實體信息和時序特征的問答式事件檢測方法,通過增強模型對輸入序列的語義表示,以及在模型中融入實體先驗信息和句子的時序依賴關(guān)系,緩解了觸發(fā)詞的歧義性問題。此外,本文針對問題先驗信息對模型性能的影響進行了更細致的分析。在ACE2005英文語料上的實驗結(jié)果表明了所提方法的有效性。在未來的研究工作中,將嘗試在模型中融入跨句子的文檔級特征,并將此框架擴展到論元抽取子任務(wù)中。