李良毅
(昆明理工大學(xué),云南 昆明 650504)
事件時(shí)序關(guān)系識(shí)別旨在分析文中各事件發(fā)生的先后順序,從時(shí)間角度將不同事件聯(lián)系起來。有效地識(shí)別事件時(shí)序關(guān)系有助于讀者理清事件脈絡(luò),快速了解事件發(fā)展趨勢(shì),能夠推進(jìn)信息檢索、文本摘要、自動(dòng)問答等任務(wù)[1,2]的研究,也被應(yīng)用于醫(yī)療文本等特定領(lǐng)域中。為區(qū)分同一句子中的不同事件,研究者使用事件觸發(fā)詞來定位事件。事件關(guān)系識(shí)別作為事件抽取的下游任務(wù),通常使用標(biāo)注事件觸發(fā)詞的文本作為模型輸入,現(xiàn)有研究通常聚焦于識(shí)別文中事件對(duì)的時(shí)序關(guān)系。以表1中的事件句為例,事件對(duì)應(yīng)的觸發(fā)詞分別是“broke”“running away”與“confront”,分析可知“broke”發(fā)生在“running away”之后,因此事件對(duì)(“broke”“running away”)對(duì)應(yīng)的時(shí)序關(guān)系是“before”,同理可得其余事件對(duì)的關(guān)系。
表1 事件時(shí)序關(guān)系識(shí)別示例
事件時(shí)序關(guān)系識(shí)別是一種分類任務(wù),其特殊性在于不僅需要模型理解事件句中的文本信息,還需要模型學(xué)習(xí)到文中句法信息。句法信息有助于模型總結(jié)上下文的特定模式,理清事件邏輯,一些特殊句法甚至能在關(guān)系識(shí)別中起決定作用,但由于句法屬于隱式信息,模型對(duì)于句法信息的學(xué)習(xí)較為困難。因此,本文提出一種融入事件依存路徑的事件時(shí)序關(guān)系識(shí)別方法。該方法在事件表征的過程中,將事件依存路徑作為額外的增強(qiáng)信息來強(qiáng)調(diào)不同文本中的句法差異,再利用傳統(tǒng)的雙向長(zhǎng)短期記憶網(wǎng)絡(luò)(Bi-Long Short-Term Memory,Bi-LSTM)提 取事件句的語義信息,最后提出使用特征門控將事件語義信息與句法信息進(jìn)行結(jié)合。該方法顯式地將事件依存路徑展露給模型,以外部知識(shí)的形式將句法信息加入事件表征中,幫助模型分析文本結(jié)構(gòu),總結(jié)句法規(guī)律,通過編碼后的事件句對(duì)來建立事件對(duì)之間的聯(lián)系,實(shí)現(xiàn)對(duì)事件時(shí)序關(guān)系的準(zhǔn)確識(shí)別。
作為重要的自然語言理解任務(wù),事件時(shí)序關(guān)系識(shí)別被納入文本時(shí)間解析任務(wù)Tempeval[3]中,眾多學(xué)者對(duì)此展開了研究。
在早期,人們通過歸納文本中的規(guī)律,提出了基于規(guī)則匹配的文本時(shí)序關(guān)系識(shí)別方法。Bethard等人[4]基于該思想,提出了使用詞性、二進(jìn)制碼、時(shí)態(tài)等語言特征來制定匹配規(guī)則;然而,規(guī)則匹配的方法在召回率與實(shí)用性方面均不理想。隨后研究者嘗試使用機(jī)器學(xué)習(xí)方法來識(shí)別事件時(shí)序關(guān)系,例如,Mani等人[5]利用文本時(shí)態(tài)、實(shí)體詞性、事件類型等特征,構(gòu)建了最大熵分類器以實(shí)現(xiàn)時(shí)序關(guān)系的識(shí)別。隨著機(jī)器學(xué)習(xí)的發(fā)展,統(tǒng)計(jì)機(jī)器學(xué)習(xí)逐漸應(yīng)用于事件時(shí)序關(guān)系識(shí)別任務(wù),如Chambers等人[6]提出了將時(shí)序識(shí)別任務(wù)劃分為兩個(gè)任務(wù),首先識(shí)別出文中事件與時(shí)間表達(dá)式,其次對(duì)識(shí)別出的事件進(jìn)行時(shí)序關(guān)系分類。此外,Chambers等人[7]將識(shí)別范圍從部分事件擴(kuò)大到全體事件與時(shí)間表達(dá)式的時(shí)序關(guān)系識(shí)別,并提出了一種聯(lián)合規(guī)則匹配與機(jī)器學(xué)習(xí)的方法。
隨著深度學(xué)習(xí)在眾多自然語言處理任務(wù)中取得成功,神經(jīng)網(wǎng)絡(luò)模型也被大量應(yīng)用于事件時(shí)序關(guān)系識(shí)別領(lǐng)域中,研究者通過各類神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)來提升識(shí)別效果。Meng等人[8]提出了類神經(jīng)圖靈機(jī)的時(shí)序關(guān)系識(shí)別模型,該模型能將處理過的事件信息當(dāng)作先驗(yàn)知識(shí)存儲(chǔ)下來,輔助后續(xù)事件的時(shí)序關(guān)系識(shí)別。Han等人[9]提出了使用聯(lián)合訓(xùn)練模型來識(shí)別事件時(shí)序關(guān)系,該模型同時(shí)訓(xùn)練事件檢測(cè)與事件時(shí)序關(guān)系識(shí)別兩個(gè)任務(wù),通過孿生網(wǎng)絡(luò)來共享編碼層,并使用線性規(guī)劃的方法進(jìn)行邏輯推理。Han等人[10]又提出了針對(duì)特定領(lǐng)域的事件時(shí)序關(guān)系識(shí)別方法,統(tǒng)計(jì)不同事件之間的時(shí)序關(guān)系比例作為先驗(yàn)知識(shí),并將其轉(zhuǎn)換為線性規(guī)劃問題來輔助事件時(shí)序關(guān)系識(shí)別。Zhou等人[11]針對(duì)醫(yī)學(xué)文本領(lǐng)域,提出在訓(xùn)練過程中為損失函數(shù)加入基于概率軟邏輯的正則化項(xiàng)。上述方法在事件時(shí)序關(guān)系識(shí)別領(lǐng)域中取得巨大成功,這些方法或使用聯(lián)合模型來增強(qiáng)模型的閱讀理解能力,或使用外部規(guī)則來輔助模型識(shí)別事件時(shí)序關(guān)系,但它們對(duì)于句法知識(shí)的利用較少。Cheng等人[12]曾提出公共根的概念,并使用事件依存路徑代替文本作為輸入,在不需要額外標(biāo)注信息的情況下,使用Bi-LSTM模型編碼事件句的最短依存路徑,證明了最短依存路徑在事件時(shí)序關(guān)系識(shí)別中的有效性;然而該方法僅截取了部分事件句作為輸入,而丟失的上下文中包含著文本語義信息,造成識(shí)別性能不佳。因此將事件依存路徑作為外部知識(shí)更有合理性與可解釋性,在保留事件句原貌的情況下加入事件依存路徑,可以有效地提高模型性能。
本文提出融入事件依存路徑的事件時(shí)序關(guān)系識(shí)別模型,將事件依存路徑轉(zhuǎn)換為特定形式的連續(xù)序列,在標(biāo)志位的輔助下,使用自注意力編碼器對(duì)文本與句法知識(shí)進(jìn)行編碼,并通過Bi-LSTM提取文本的語義信息,最后利用門控結(jié)構(gòu)計(jì)算事件特征。本文模型的總體框架如圖1所示,由網(wǎng)絡(luò)輸入層、特征提取層與關(guān)系分類層3部分構(gòu)成。其中,BERT為預(yù)訓(xùn)練模型,Sen1和Sen2代表輸入的事件句,Input1,Input2和Input3為處理過后的輸入。
圖1 事件時(shí)序關(guān)系模型框架
網(wǎng)絡(luò)輸入層將事件句文本預(yù)處理為適合編碼的形式,再通過預(yù)訓(xùn)練模型實(shí)現(xiàn)文本到低維詞嵌入矩陣的轉(zhuǎn)換。
本文將事件依存路徑作為外部知識(shí)融入到事件句文本中。事件依存路徑是指在依存句法樹中事件觸發(fā)詞到依存樹根中最短的一條通路,圖2展示了事件句S3的依存句法樹,以事件“confront”為例,它所對(duì)應(yīng)的事件最短依存路徑應(yīng)為[confront,rushed,running]。
圖2 依存句法樹示例
S3:He was running away,when the neighbor rushed out to confront him.
受Fan等人[13]啟發(fā),本文利用標(biāo)志位來表示事件的最短依存路徑,將隱藏的句法信息顯式地展現(xiàn)出來。首先通過句法解析工具得到各個(gè)事件的最短依存路徑,將該路徑轉(zhuǎn)換為[單詞<依存關(guān)系>]的模板,如S3中的依存關(guān)系路徑轉(zhuǎn)換為confront
將路徑插入到事件句文本中,并使用
通過預(yù)訓(xùn)練模型BERT來獲得文本對(duì)應(yīng)的詞嵌入矩陣,預(yù)訓(xùn)練模型要求輸入為單個(gè)或多個(gè)句子。傳統(tǒng)方法在編碼事件對(duì)時(shí)序特征時(shí),往往將兩個(gè)事件句各自獨(dú)立編碼,再將兩個(gè)句子的事件時(shí)序表示進(jìn)行拼接,造成編碼過程中事件句之間的交互較弱,因此模型將輸入的兩個(gè)事件句進(jìn)行拼接,從拼接后的事件句來提取出全局信息。在開頭加入標(biāo)志位CLS為行業(yè)公認(rèn),將末尾句號(hào)替換為標(biāo)志位SEP,預(yù)處理過后的事件句形式為:
式中:Sen1與Sen2為兩個(gè)預(yù)處理過后的事件句,Input1為處理過后的輸入。
在事件句語義的提取方面,本文沿用Bi-LSTM來編碼事件語義特征,直接使用兩個(gè)事件句原文作為Bi-LSTM輸入,將兩個(gè)事件句分別記作Input2與Input3。將上述Input1,Input2,Input3送入預(yù)訓(xùn)練模型BERT中,實(shí)現(xiàn)文本到詞嵌入矩陣的轉(zhuǎn)換,將轉(zhuǎn)換后的向量序列分別對(duì)應(yīng)記作Seq1,Seq2與Seq3。
特征編碼層如圖3所示,該結(jié)構(gòu)含有句法與語義兩個(gè)編碼器以及一個(gè)計(jì)算事件時(shí)序表示的特征門控。特征編碼層的主要任務(wù)是從各類輸入的詞向量序列中提取出事件的語義特征F2與句法特征F1,并權(quán)衡兩種特征的重要性,計(jì)算出最適合的事件特征向量。
圖3 特征編碼層模塊
2.2.1 語義編碼器
語義編碼器以事件句向量序列Seq2與Seq3作為輸入,Bi-LSTM包含前向與后向LSTM,如式(2)、式(3)所示,該結(jié)構(gòu)分別從前后兩個(gè)方向讀取輸入序列,最后將前后兩組向量按式(4)所示進(jìn)行拼接,得到輸入序列的向量表征hin,為向量序列融入上下文信息。
2.2.2 句法編碼器
句法特征編碼器旨在將事件依存路徑加入到事件時(shí)序表征的編碼過程中,建立依存句法與事件句文本的聯(lián)系,豐富事件時(shí)序表征的信息。以Seq1作為句法編碼器的輸入,基于自注意力機(jī)制進(jìn)行編碼。
多頭自注意力機(jī)制將輸入向量Seq1進(jìn)行3次不同的線性變換,將結(jié)果分別記作Q=Rlen×d,K=Rlen×d,V=Rlen×d3個(gè)矩陣,其中l(wèi)en代表向量序列的長(zhǎng)度,d代表詞向量維度。之后按照頭的個(gè)數(shù)切分向量序列中的各個(gè)向量,每個(gè)頭含有一組矩陣,自注意力機(jī)制將計(jì)算單詞兩兩之間的關(guān)聯(lián)程度,為每個(gè)頭計(jì)算注意力矩陣與注意力得分,計(jì)算方式為:
式中:k′為矩陣k的轉(zhuǎn)置;*為點(diǎn)乘。
將各頭注意力得分拼接,將結(jié)果記作Att,取Att中
2.2.3 特征門控
針對(duì)特征編碼器輸出的語義特征與句法特征,由于模型在面對(duì)不同文本時(shí)語義與句法特征所占比重不同,因此使用門控機(jī)制來計(jì)算適合當(dāng)前事件對(duì)的時(shí)序表征。將e1與e2進(jìn)行拼接并記作F1,將e1′與e2′拼接并記作F2。再如式(7)所示,將F1與F2再次拼接后送入tanh激活函數(shù),計(jì)算出當(dāng)前事件對(duì)中不同特征所占比例o,依式(8)所示計(jì)算出事件對(duì)特征F3。
式中:w1為線性層權(quán)重矩陣;b1為偏置;*為點(diǎn)乘;⊕代表按最后一位拼接。
在給定事件特征與事件句特征后,將事件對(duì)特征F3與事件句特征c拼接,再通過歸一化函數(shù)Softmax計(jì)算事件時(shí)序關(guān)系概率分布,具體計(jì)算公式為:
式中:σ為激活函數(shù)ReLu;p為關(guān)系的概率分布,u為最終的事件時(shí)序特征;b2為偏置。
選用交叉熵函數(shù)作為模型的損失函數(shù):
式中:n為關(guān)系類別總數(shù);當(dāng)前時(shí)序關(guān)系屬于第i類時(shí),yi為1,否則為0;pi為Softmax函數(shù)計(jì)算的時(shí)序關(guān)系屬于第i類的概率。
由于在時(shí)序關(guān)系識(shí)別任務(wù)中,常常會(huì)遇到如“Before”與“After”這類句法角色相似而語義不同的單詞,相似的用法導(dǎo)致模型較難區(qū)分,因此本文引入對(duì)抗訓(xùn)練策略來增強(qiáng)模型的理解能力。對(duì)抗訓(xùn)練是Miyato等人[14]提出的一種面向文本序列的監(jiān)督學(xué)習(xí)算法,通過重新編碼文本向量來擾動(dòng)模型的判斷能力,增強(qiáng)模型對(duì)于詞語的分辨能力。在訓(xùn)練過程中需要為Seq1,Seq2,Seq3進(jìn)行再編碼,再編碼過程為:
式中:X為需要加入再編碼的向量序列;為再編碼后的事件句向量序列;T為序列長(zhǎng);frn為事件句文本中第n個(gè)單詞在訓(xùn)練集中出現(xiàn)的頻率;xn為序列中任意詞向量,當(dāng)取某一固定xn時(shí),使用th將詞向量遍歷。
在訓(xùn)練過程中為句向量序列加入擾動(dòng)后,在更新參數(shù)時(shí)將梯度累加,設(shè)訓(xùn)練過程中存在batch個(gè)批次,按照如下操作進(jìn)行模型訓(xùn)練:
(1)將該批次中各事件句送入網(wǎng)絡(luò)輸入層,通過預(yù)處理與預(yù)訓(xùn)練模型將文本轉(zhuǎn)換為Seq1-3。
(2)依式(12),計(jì)算詞向量對(duì)應(yīng)的擾動(dòng)ri。
(3)依式(13),為向量序列Seq1-3中各詞向量加入擾動(dòng),將被干擾后的文本序列記作Seq1-3。
(6)在更新參數(shù)時(shí),使用原詞嵌入向量序列Seq1-3和梯度grad1更新模型參數(shù)θ。
TimeBank-Dense(TB-Dense)是事件時(shí)序關(guān)系識(shí)別任務(wù)中使用最為廣泛的數(shù)據(jù)集,已有大量工作基于該語料庫進(jìn)行研究。該英文數(shù)據(jù)庫于2014年發(fā)布,從36篇新聞文章中抽取出事件對(duì)及對(duì)應(yīng)時(shí)序關(guān)系共6 088例,并標(biāo)注了事件觸發(fā)詞、事件句與事件之間的時(shí)序關(guān)系。TB-Dense語料庫共包含6種類型的時(shí)序關(guān)系:VAGUE、AFTER、BEFORE、SIMULTANEOUS、INCLUDES與IS INCLUDED。各類事件對(duì)的具體分布情況如表2所示。
表2 TB-Dense語料庫關(guān)系分布情況
本文使用谷歌提供的BERT作為預(yù)訓(xùn)練模型,與其他事件時(shí)序關(guān)系方法相同,沿用Micro-F1值作為模型評(píng)價(jià)指標(biāo),選用斯坦福自然語言解析工具Standford CoreNLP作為句法分析工具來生成事件依存路徑,模型的超參數(shù)設(shè)置如表3所示。
表3 參數(shù)設(shè)置
選用近年優(yōu)秀方法作為基準(zhǔn)模型,下面對(duì)各基準(zhǔn)模型進(jìn)行簡(jiǎn)單介紹:
(1)CAEVO[7]:由Chambers等人于2014年提出的一種基于篩網(wǎng)式結(jié)構(gòu)的方法,該結(jié)構(gòu)中各個(gè)篩網(wǎng)由機(jī)器學(xué)習(xí)與規(guī)則匹配方法組合而成。
(2)Cheng等人方法[12]:由Cheng等人于2017年提出的一種基于Bi-LSTM的方法,該方法沒有使用傳統(tǒng)的事件句文本作為輸入,轉(zhuǎn)而使用事件句的最短依存路徑作為輸入。
(3)GCL[8]:由Meng等人于2018年提出的一種基于類神經(jīng)圖靈機(jī)的方法,該方法使用類神經(jīng)圖靈機(jī)來存儲(chǔ)已識(shí)別的事件信息,并使用這些信息作為先驗(yàn)知識(shí)指導(dǎo)后續(xù)事件時(shí)序關(guān)系的識(shí)別。
(4)Joint Structured[9]:由Han等人于2019年提出的一種事件識(shí)別與事件時(shí)序關(guān)系識(shí)別的聯(lián)合訓(xùn)練方法,通過共享事件編碼層來豐富事件表示,增強(qiáng)模型理解能力,還利用支持向量機(jī)(Support Vector Machine,SVM)降低模型前后矛盾的問題。
(5)CTRL-PG[11]:由Zhou等人于2021年提出的一種面向特定領(lǐng)域的事件時(shí)序關(guān)系方法,提出在損失函數(shù)中加入基于概率軟邏輯的正則化項(xiàng)。
(6)CE-TRE[15]:由Wang等人于2020年提出的一種篇章級(jí)事件時(shí)序關(guān)系抽取方法,使用自注意力機(jī)制模型融入篇章中其他事件對(duì)信息,豐富事件特征。
3.4.1 驗(yàn)證本文模型有效性
表4列出了本文模型與基準(zhǔn)模型在TB-Dense數(shù)據(jù)庫上的F1值比對(duì)結(jié)果。
表4 不同模型在TB-Dense數(shù)據(jù)集上的實(shí)驗(yàn)
由表4可以看出,本文模型相較于CEAVO有著17.4%的提升,證明該任務(wù)中深度學(xué)習(xí)方法優(yōu)于機(jī)器學(xué)習(xí)方法。與同樣使用事件依存路徑的Cheng等人方法相比,本文模型在F1值上提升了13.9%,這是因?yàn)镃heng等人方法丟棄了大量的事件上下文,而本文使用事件的最短依存路徑輔助事件句文本的編碼,幫助模型總結(jié)單詞搭配對(duì)于時(shí)序關(guān)系的影響。本文方法與CTRL-PG都涉及外部知識(shí)輔助模型識(shí)別,CTRL-PG將領(lǐng)域知識(shí)轉(zhuǎn)換為規(guī)則的形式,進(jìn)而通過線性規(guī)劃來優(yōu)化識(shí)別效果。相較于固定的規(guī)則,本文將事件依存路徑以文本形式加入,并通過門控計(jì)算事件特征,模型通過學(xué)習(xí)與總結(jié)事件句的依存關(guān)系,提高了文本理解能力與可解釋性。與其余深度學(xué)習(xí)方法相比本文方法均具有優(yōu)勢(shì),可以說明本文模型的有效性。
3.4.2 模型消融實(shí)驗(yàn)
為探究模型中各部分對(duì)于識(shí)別能力的影響,本文設(shè)置兩個(gè)基線方法來進(jìn)行消融實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果見表5。
(1)基線方法1:在本文模型中去除事件依存路徑與特征門控,即在數(shù)據(jù)預(yù)處理時(shí)將事件依存路徑視為空,將語義特征與句法特征拼接并視作最終的事件特征。
(2)基線方法2:在本文模型中去除門控機(jī)制,即在預(yù)處理階段中使用事件依存路徑作為外部知識(shí),將語義特征與句法特征拼接并視作最終的事件特征。
由表5可以看出,從F1值上看,本文模型明顯優(yōu)于剩余方法?;鶞?zhǔn)方法2相較于基準(zhǔn)方法1,在總體F1值上提高了2.4%,其原因在于基準(zhǔn)方法2使用了事件依存路徑,增強(qiáng)了模型的句法分析能力。本文模型相較于基準(zhǔn)方法2又有所提升,原因是門控機(jī)制能夠參考事件句文本來動(dòng)態(tài)調(diào)整事件特征,增強(qiáng)了模型的魯棒性與識(shí)別能力。
表5 不同模型在TB-Dense數(shù)據(jù)集上的結(jié)果
3.4.3 探究句法信息對(duì)于模型的影響
為進(jìn)一步探究加入事件路徑信息對(duì)模型的影響,本實(shí)驗(yàn)將數(shù)據(jù)集細(xì)分為跨句事件對(duì)與同句事件對(duì),研究在加入事件句特征前后,模型對(duì)兩種事件對(duì)識(shí)別效果的變化,實(shí)驗(yàn)結(jié)果見表6。
表6 TB-Dense數(shù)據(jù)集中句內(nèi)與跨句事件對(duì)的F1值對(duì)比
從表6可看出,在句內(nèi)事件對(duì)方面,本文方法相較基線方法1在總體F1值上提升了5.1%,在各類別上均有一定提升,跨句事件對(duì)中也有著2.7%的提升,這是因?yàn)槭录疃桃来媛窂胶?,模型能夠通過依存句法建立事件間的聯(lián)系。對(duì)比跨句事件對(duì)與句內(nèi)事件對(duì)的提升效果,可以看出句內(nèi)事件對(duì)的提升更加明顯,分析原因是當(dāng)兩個(gè)事件觸發(fā)詞位于同一事件句時(shí),依存句法容易建立事件對(duì)的聯(lián)系,而不同事件句之間差異較大,通過句法建立聯(lián)系相對(duì)困難,故跨句事件對(duì)的提升相對(duì)遜色。
3.4.4 實(shí)驗(yàn)樣本分析
表7為TB-Dense數(shù)據(jù)集中的一個(gè)樣例,在加入事件依存路徑知識(shí)前,模型預(yù)測(cè)的結(jié)果是“Vague”,加入事件依存路徑后,模型能夠正確預(yù)測(cè)事件對(duì)的關(guān)系,兩條事件依存路徑分別是[has
表7 TB-Dense數(shù)據(jù)集的樣例
為在事件時(shí)序關(guān)系識(shí)別中將句法信息與文本信息結(jié)合,本文提出將事件依存路徑作為外部知識(shí)融入到編碼過程中。將事件依存路徑視作一個(gè)連續(xù)表示序列,通過使用標(biāo)志位的方法將外部知識(shí)嵌入到文本序列中,構(gòu)建該序列幫助模型捕捉事件句中的句法信息;提取句向量以建立事件對(duì)間的聯(lián)系,同時(shí)使用Bi-LSTM對(duì)事件句的語義進(jìn)行編碼;最后利用門控機(jī)制來對(duì)不同特征進(jìn)行約束,豐富模型可提取的事件句文本特征。在TB-Dense數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,該方法可以顯著改善模型在事件時(shí)序關(guān)系識(shí)別模型上的性能。下一步研究擬在跨文檔的時(shí)序關(guān)系任務(wù)中,嘗試識(shí)別同一主題下不同文檔中的事件時(shí)序關(guān)系。