任永功,閻 格,何馨宇,2,3
1(遼寧師范大學 計算機與信息技術學院,遼寧 大連 116081) 2(大連理工大學 通信與工程博士后研究站,遼寧 大連 116081) 3(大連永佳電子技術有限公司博士后工作站,遼寧 大連 116081)
隨著互聯(lián)網(wǎng)的高速發(fā)展與普及,使得用戶每天上網(wǎng)時會頻繁面對大量的交互式行為,如何從爆炸式的信息中提取出有用的關鍵性信息已經(jīng)成為人們重點關心的話題,因此信息以結構化的方式集中在一處呈現(xiàn)也成為了人們的必備需求之一,這樣會使得人力與物力成本大大降低,這也是信息抽取的重要意義.
事件抽取任務是信息抽取領域的重要子任務,而事件抽取包含事件檢測和元素檢測兩部分,在金融分析[1]、生物醫(yī)學[2]、知識圖譜[3]等各大領域都有廣泛的探究與應用.對于開放域的事件抽取,主要采用無監(jiān)督的方法進行抽取[4],由于涉及到的事件類型較為廣泛,模型的泛化性得以保證,而抽取出的以結構化方式呈現(xiàn)的信息又可以在后續(xù)被進一步提取其事件關系,如共指關系[5]、因果關系[6]、時間序列[7]等,所以成為了近年來研究的熱點領域.
事件檢測指從特定的文本中提取出表達其對應事件發(fā)生的觸發(fā)詞,主要涉及對事件的觸發(fā)詞進行識別與分類兩部分,觸發(fā)詞一般以動詞詞性或代表動作、狀態(tài)的名詞詞性為主,如圖1所示,給定一個文本中的句子,“earthquake”、“occurred”是句子中的兩個觸發(fā)詞,分別觸發(fā)“Catastrophe”、“Coming_to_be”事件類型.
圖1 事件檢測的例子Fig.1 Example of event detection
近年來,事件檢測任務主要采取基于特征的網(wǎng)絡模型和基于深度神經(jīng)網(wǎng)絡的模型,Nguyen等人[8]采用聯(lián)合抽取模型來標注實體與事件之間的語義關系,但是忽略了事件之間存在的關聯(lián)性,Liu等人[9]提出了門控多語言的注意力機制框架來進行事件檢測.Li等人[10]通過構建全局特征來彌補局部特征提取所帶來的信息缺失.Chen等人[11]用卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networks,CNN)來對事件進行提取.Zhang等人[12]使用跳窗卷積神經(jīng)網(wǎng)絡以此來提取事件的全局特征.
在事件檢測任務中面臨的主要問題其一是觸發(fā)詞存在一詞多義的現(xiàn)象,其二是在一句話中存在著多個事件觸發(fā)詞并存的情況,這樣會因為特征提取不充分從而導致檢測出一句話中全部事件的難度大大增加.針對上述問題,本文提出了BMCC模型來檢測事件,它由BERT(B)、Multi-scale CNN(MC)、CRF(C)組成.綜上所述,本文的主要貢獻如下:
1)提出了BMCC模型.即融合了BERT預訓練模型和多尺度CNN的神經(jīng)網(wǎng)絡,將BERT與不同尺度的卷積核在多卷積通道上的卷積信息相結合,充分地提取上下文語義特征,并且將BIO機制與CRF結合來進行序列標注,更好地識別多詞觸發(fā)詞的情況,在通用細粒度事件檢測任務中,該模型在MAVEN數(shù)據(jù)集上的總體性能良好.
2)設計了多尺度CNN模塊(MCNN).通過不同大小的卷積核在3個不同卷積通道上進行卷積訓練,提取更加全面的語義表征,通過實驗表明該模塊使得模型的特征提取能力有所提升,分類效果更優(yōu)越.
3)在CRF進行序列標注時引入了BIO標注機制,解決了觸發(fā)詞為多詞時分類不匹配的問題,同時緩解了觸發(fā)詞短語標簽之間的強依賴性問題,從而提升模型的分類效果.
事件檢測是事件抽取中的重要任務之一,它旨在提取出目標文本中的觸發(fā)詞,并將其歸類為指定的事件類型.常見的事件檢測方法大致分為以下3類.
基于模式匹配的事件檢測方法是通過構建模板對事件進行抽取的.Kim等人[13]將WordNet的語義信息融入其中,依賴于短語的模式結構和語義結構來檢測事件.Yangarber等人[14]通過判斷文本是否相關將語料庫劃分成種子模式集,并用相關模式對關聯(lián)本文進行學習,從而達到事件檢測的目的.這種方法對于特定領域有著良好的抽取能力,但是可移植性較差,人力成本較高,不具有普適性.
基于機器學習的事件檢測方法是在大量的統(tǒng)計學習中將任務轉(zhuǎn)化為分類的問題,Li等人[15]通過條件隨機場和全局特征來提高抽取的性能.Chen等人[16]使用了隱馬爾科夫模型以字符級的方式對觸發(fā)詞進行檢測.這種方法雖然移植性更強但是其往往借助于特征工程和自然語言處理的輔助工具,處理過程繁瑣且容易形成誤差累計.
基于深度學習的事件檢測方法是對文本中數(shù)據(jù)的語義表征進行學習的方法,這種方法普適性較強,是近年來研究的主要方向.Nguyen[17]等人提出了JRNN模型,通過雙向循環(huán)神經(jīng)網(wǎng)絡對句子特征進行學習,并將記憶矩陣和記憶向量引入其中對模型進行預測.Ding等人[18]通過引用HowNet外部知識庫和樹形LSTM對特征進行融合,從而提出了TLNN模型,緩解了觸發(fā)詞歧義的現(xiàn)象.Xu等人[19]基于圖形的方式將文本進行了轉(zhuǎn)化,增強了事件與事件之間的聯(lián)系.Pan等人[20]將注意力聚焦在要素上并與編碼層融合從而來提高觸發(fā)詞的抽取能力.Lai等人[21]使用多模態(tài)信息來緩解樣本值異常的情況,從而對事件進行檢測.Cai等人[22]采用無監(jiān)督算法,通過自擴展迭代的方法,在無需手動標注關鍵詞的情況下對語句中的關鍵詞進行抽取.Shen等人[23]通過級聯(lián)解碼的方式在同一框架中進行聯(lián)合學習,實現(xiàn)了重疊事件的抽取.基于預訓練處理的相關模型在NLP上也取得了重大的突破,Peters等人[24]提出了上下文相關的預訓練模型,即Embedding from Language Models(ELMo)模型,此外,Radford等人[25]利用單向Transformer提出的Generative Pre-Training(GPT)模型,Devlin等人[26]利用大量無標注文本在無監(jiān)督的情況下形成了雙向Transformer的預訓練模型,即為Bidirectional Encoder Representations from Transformers(BERT).
上述先進的方法在事件檢測任務中都取得了優(yōu)越的結果,但是對深層次的語義表征提取不充分,從而影響提取的精確度.對于大規(guī)模的通用數(shù)據(jù)來說,在細粒度的抽取上,需要通過特征去對語義信息進行判斷,所以能否準確的提取語義特征信息成為了是否可以成功檢測事件的必要條件,因此本文通過BERT預訓練模型和多尺度CNN對特征進行深層次地提取,最后通過CRF標注序列對事件檢測結果進行匹配.
本文提出了BMCC模型,首先采用BERT對文本進行編碼生成詞嵌入向量,接著通過BERT的Transformer模型對詞嵌入向量進行預訓練,進而得到特征信息.為了得到深層次的語義信息,采用多尺度卷積網(wǎng)絡模塊來進一步獲取更加全面的相關特征.最后采用了基于BIO機制標注的CRF方法來預測出最優(yōu)的序列標簽.具體結構如圖2所示.
圖2 BMCC模型結構圖Fig.2 Structural model of BMCC
本文采用BERT預訓練模型對給定的文本進行詞向量嵌入,相比于Word2Vec、Glove等傳統(tǒng)的詞向量表示,BERT則可以獲取單詞的動態(tài)表示,充分地考慮到了文本中的上下文關系,解決了語義多樣性的問題.BERT的結構主要可以分為3層,分別是輸入層、編碼層以及輸出層.在輸入之前先將文本用WordPiece分詞器進行分詞操作,其次在每篇文章的句首添加[CLS]標記,在每句話的句末添加[SEP]標記,以便于句子的分割.如圖3所示,BERT的輸入由3個嵌入層累加所得,他們分別是將單詞轉(zhuǎn)化為詞向量的標記嵌入層、用來分割不同句子的片段嵌入層和將文本句子中單詞的位置信息進行編碼的位置嵌入層.在編碼層,BERT采用多維度的多頭注意力機制來對句子進行編碼操作,將不同的詞向量進行權重組合,從而獲得詞與詞之間的內(nèi)在聯(lián)系.BERT除了使用雙向Transformer模型之外,還結合了掩碼語言模型(Masked Language Model,MLM)和下一句預測任務(Next Sentence Prediction,NSP)這兩個功能,使得模型可以更好地獲取文本中的語義信息,增強模型的表征能力.因此,與基于特征表示的ELMo模型和基于單向Transformer的GPT模型相比,BERT擁有更好的詞級分布式表示,更加體現(xiàn)全局性.
圖3 詞嵌入圖Fig.3 Words embedding
卷積神經(jīng)網(wǎng)絡(CNN)具有局部相接、權值共享、下采樣的特性,本文利用其特點,對BERT中輸出的詞向量進行更深層次的特征提取,以便提取出更全面的語義表征.卷積操作是利用卷積核在輸入矩陣內(nèi)進行水平滑動,對矩陣內(nèi)所在的區(qū)域進行乘積累加的過程.CNN為了得到高緯度特征,通常采用更深層的卷積,但是會面臨隨著卷積網(wǎng)絡的加深其性能會達到飽和的問題.為此,谷歌的Szegedy等人[27]提出了卷積模塊,他們拓寬了網(wǎng)絡模型,減少參數(shù)的個數(shù),從而提取了更高維度的表征信息.本文參考了Inception V1的卷積思想,針對通用細粒度事件檢測的文本特性,設計了多尺度卷積核模塊(Multi-scale CNN,MCNN),將每個Token相應的多特征融合詞向量Wn作為MCNN的輸入,對其通過1×768、3×768、5×768這3種尺度的卷積核來學習文本中不同尺度的信息.
ci=f(v·Wi:i+l-1+b)
(1)
如公式(1)所示,ci是從詞Wi:i+l-1的窗口中產(chǎn)生的局部特征,Wi:i+l-1表示W(wǎng)i后l個單詞的特征.v表示卷積核,v∈l×d.f為一個非線性函數(shù),·為矩陣中的點乘運算,b為一個偏置項.對句子中的所有單詞n進行卷積后得到了句子的特征圖g,如公式(2)所示:
g=[c1、c2、…、cn-l+1]
(2)
本文將每個卷積通道都設置了256個卷積核來提取不同的特征,將3個不同通道的卷積核所得到的特征圖設為Mk,其中k=1,3,5.如公式(3)所示,根據(jù)不同的卷積窗口大小,采用padding的方式將句子邊界進行補齊,它們的padding值分別是0、1、2.
Mk=[g1、g2、…、g256]
(3)
最后將這3種尺度的特征進行拼接從而獲得關鍵的語義特征M.
M=M1⊕M2⊕M3
(4)
傳統(tǒng)的CNN網(wǎng)絡會通過池化操作來獲取特征信息,但是池化層會丟失一部分句子中的事件信息,所以本文不進行池化操作,以便保留事件所在句子的關鍵信息.
在序列標注中,條件隨機場(Conditional Random Field,CRF)可以同時聚焦到文本的上下文信息,它是一個特征靈活、全局最佳的標注框架,與此同時,本文將BIO機制融入到CRF中,以此對標簽序列進行最終的序列標注,其中“B”代表事件觸發(fā)詞的首個單詞,“I”表示事件觸發(fā)詞中間部分的單詞,“O”表示非事件觸發(fā)詞.將上層的輸出M=[m1、m2、…、mn]作為標簽序列的輸入,所對應的預測標簽為Q=[q1、q2、…、qn],如公式(5)所示,可以得到預測序列各個標簽的分數(shù).
(5)
其中T為標簽間對應在觸發(fā)詞上的轉(zhuǎn)移分數(shù),Pi,qi表示各個詞所對應的qi標簽的分數(shù).最后對序列進行歸一化處理,得到預測序列.
(6)
其中q′表示真實的標簽值.在訓練的過程中,采用對數(shù)似然函數(shù)來訓練標簽,如公式(7)所示:
ln(P(q|M))=score(M,q)-ln(∑q′∈QMeS(M,q′))
(7)
其中,QM代表所有可能的標簽集合.在預測的過程中,由公式(8)可以得出概率值最高的一組序列.
(8)
本文在Wang等人[28]提出的MAVEN數(shù)據(jù)集上進行實驗,該數(shù)據(jù)集規(guī)避了在原有的小規(guī)模數(shù)據(jù)集上存在的數(shù)據(jù)稀缺以及數(shù)據(jù)類型有限、覆蓋率低的問題.MAVEN數(shù)據(jù)集一共包括4480篇文章,10萬多個標注事件,所覆蓋的事件類型為168種.它是一個規(guī)模較大的通用領域的英文數(shù)據(jù)集,其中,在41%的事件類型里,它們的標注實例超過500個,有82%的事件類型含有超過100個標注實例.在此數(shù)據(jù)集中,存在著一句話中同時出現(xiàn)多個事件的情況,這樣可以考慮到在一個句子里不同事件類型之間的內(nèi)在聯(lián)系,更好地幫助模型進行事件類型的分類,從而得到通用性和廣泛性更強的模型.MAVEN數(shù)據(jù)集在提供正面實例(即事件的觸發(fā)詞)的同時,同樣提供了官方的負面實例(即事件的非觸發(fā)詞),使得測試的公平性得以保障,具體的數(shù)據(jù)分布如表1所示.
表1 MAVEN數(shù)據(jù)集(負面實例為非觸發(fā)詞的數(shù)量)Table 1 MAVEN dataset(Negative is the number of non-triggers)
本文在Windows 10的操作系統(tǒng)下采用GPU的 CUDA 版本為11.3,在PyTorch框架上對程序進行設計,其中Python版本為3.8.12,Torch 版本為1.8.0以及BERT預訓練語言模型為“BERT-base-uncased”,詳細實驗參數(shù)如表2所示.
表2 實驗詳細參數(shù)設置Table 2 Detailed experimental parameter setting
本實驗的評價指標為精確度P(Precision)、召回率R(Recall)和評價模型性能綜合指標的F1值,如公式(9)~公式(11)所示:
(9)
(10)
事件檢測任務可以分為對事件的觸發(fā)詞進行識別和分類兩個部分.對事件觸發(fā)詞進行識別屬于二分類工作,它旨在將識別出來的事件觸發(fā)詞與所給觸發(fā)詞位置進行對比,位置相同即為識別正確.而對事件的觸發(fā)詞進行分類是一個多分類工作,它旨在識別出觸發(fā)詞類型與所給觸發(fā)詞類型相同即為分類正確.
為了驗證BMCC模型的有效性,本文將一些較為先進的模型與本實驗模型進行比較,具體的結果如表3所示.
表3 MAVEN數(shù)據(jù)集上各個模型的整體性能比較Table 3 Overall trigger classification performance of various models on MAVEN
1)τ-Normalization:Kang等人[29]將以往的聯(lián)合學習分解為表示學習和結果分類,并且利用多采樣學習的策略來探索不同的表示之間的平衡策略,該模型在MAVEN數(shù)據(jù)集上的結果為58.4%.
2)DMCNN:Chen等人[11]將CNN設為基準,利用動態(tài)多池化與卷積神經(jīng)網(wǎng)絡結合提取特征,他們在事件檢測任務中的F1值為60.6%.
3)BiLSTM:Hochreiter等人[30]利用BiLSTM,讓信息前向和后向傳遞,以此來特征選擇,他們的模型F1值為62.8%.
4)BiLSTM+CRF:Lafferty等人[31]將BiLSTM(Bi-directional Long-Short Term Memory)與CRF結合來處理序列標注問題,由于在模型中使用靜態(tài)詞向量,所獲得特征信息有限,所以他們的F1值為64.1%.
5)MOGANED:Yan等人[32]通過句法依存樹與GCN結合進行建模,并且通過注意力機制來聚合多階句法信息,其F1值為63.8%.
6)HBTNGMA:Chen等人[33]將分層和偏執(zhí)標簽結合來共同檢測句子中的事件,并且設計了帶有門控的多層注意力機制以融合句子中動態(tài)的信息,他們的F1值為62.7%.
7)MLBiNet:Luo等人[34]通過編碼-解碼的框架設計了多層雙向網(wǎng)絡,以此來提取跨句語義信息和事件信息,他們的模型在MAVEN數(shù)據(jù)集上的F1值為63.6%.
結果表明,在MAVEN語料庫上,BMCC模型的結果優(yōu)于其他模型.本文模型的F1值比Kang高6.8%,比Chen等人高4.6%,比Hochreiter等人高2.4%,比Lafferty等人高1.1%,比Yan等人高1.4%,比Chen等人高2.5%,比Luo等人高1.6%,這也證明了BMCC模型的有效性.
為了進一步驗證本文模型的泛化性能,本文對BMCC模型進行了交叉驗證實驗,將訓練集中的數(shù)據(jù)以隨機分配的方式平均分成10份進行10次交叉驗證.在不重復選取的情況下,每一次選取其中的一份作為驗證集,其余9份作為訓練集對模型進行訓練,以此來防止在實驗的過程中模型所產(chǎn)生的過擬合現(xiàn)象.實驗結果如圖4所示,在交叉實驗中模型具備較好的泛化能力,其平均F1值從原來的65.17%提升到65.28%,實驗結果證明了模型的穩(wěn)定性.
圖4 交叉驗證實驗結果Fig.4 Results of the cross-validation experiment
由于BERT是基于Transformer的編碼來進行模型的預訓練,使得模型層次加深,從而捕捉到詞匯的語義表達.由于MCNN具有多個通道的卷積核,可以更加全面的提取文章的的卷積核,可以更加全面的提取文章的有效信息表征,并且CRF具有強大的推理能力,其有效地解決了模型中的標記偏執(zhí)問題.所以,本文提出了融合BERT預訓練模型和多尺度CNN的神經(jīng)網(wǎng)絡,以解決在事件檢測任務中語義信息提取不充分的問題.本文采用BERT作為實驗的基線模型,其F1值為61.66%,以下為BMCC模型的創(chuàng)新部分結果分析,如表4所示.
表4 實驗模型的消融比較Table 4 Ablation comparison of our experimental model
4.3.1 MCNN模塊的有效性
本文將BERT與多尺度的CNN結合,設計了3個不同尺度的卷積通道,其卷積核大小分別為1、3、5.由于不同大小的卷積核,所以感受的視野范圍也不同,用尺度較小的1×768卷積核,使得較小的特征能夠被提取.用3×768的卷積核能夠提取一般長度句子間相關性的語義特征.用5×768尺度的卷積核,使得在較長的句子之間,它們的相關性特征可以被充分提取.通過設立多個卷積通道,讓模型感受不同維度的文本信息,所提取的尺度特征也會增多,從而可以提取不同的語義信息,進一步豐富其語義表征,進而提高了模型的精確度和召回率,使得觸發(fā)詞的準確率F1值提高了2.17%.
4.3.2 CRF的有效性
傳統(tǒng)的序列標注softmax分類器在進行標簽分類時往往會將標簽間的依存關系忽略,從而影響序列的分類結果,本實驗將其替換成基于BIO機制的CRF方法對序列進行標注,使得語義特征在錯綜復雜、非獨立卻具有重復性的情況下,充分地利用上下文的特征信息,從而使模型獲取的信息更為豐富.并且模型在每一個狀態(tài)轉(zhuǎn)移時都會進行歸一化操作,充分地考慮到了觸發(fā)詞之間不匹配的問題,使得一句話中出現(xiàn)多個事件的準確率得以提高,從而將F1值提高了1.34%.
最終使得通用細粒度事件檢測任務在MAVEN數(shù)據(jù)集上的F1值達到了65.17%的良好效果.
本文提出了融合BERT預訓練模型和多尺度CNN的神經(jīng)網(wǎng)絡模型來進行通用細粒度事件檢測.該模型首先通過BERT進行語義編碼和模型的預訓練來提取不同粒度的詞義表征,而后采用MCNN模塊進行多尺度的卷積,將詞嵌入向量進行不同尺度的卷積從而提取出不同視野的語義特征,進而得到語義豐富的表征信息.最后通過條件隨機場CRF對序列進行標注,實現(xiàn)多標簽的分類.相比于傳統(tǒng)的事件檢測模型,BMCC模型在實驗中效果更好,在MAVEN數(shù)據(jù)集上F1取得了65.17%的良好成績.然而由于該模型未融入句義信息及句法特征,所以在句子與文檔方面的語義信息提取不全面.在接下來的研究工作中,本文將考慮引入句子級和篇章級的語義特征,從而在模型中引入更多有效的語義特征,進一步提高通用細粒度事件檢測的模型性能.