羅萍,丁玲,楊雪,向陽*
(1.同濟大學 電子與信息工程學院,上海 201804;2.軟通動力信息技術(集團)有限公司,河北 廊坊 065000)
事件檢測任務的目標是將文本中提及的事件觸發詞抽取出來并將其分類到預先定義的事件類型[1]。具體而言,觸發詞通常指代能激發某一事件的詞或者短語。例如,“普京15 號在文萊斯里巴加灣會見美國總統克林頓”這句話中,觸發詞“會見”觸發了“Contact-Meet”這一事件。作為事件抽取的一個重要子任務,事件檢測為智能問答[2]、信息檢索[3]、閱讀理解[4]等其他下游自然語言處理(Natural Language Processing,NLP)應用奠定了堅實的基礎。鑒于其重要性,許多學者都致力于為這項極具挑戰性的任務作出貢獻。
事件檢測任務的研究方法大致包括基于特征工程的方法和基于神經網絡的方法。早在深度學習時代,學者們就嘗試使用token 級特征[5-6]和結構化特征[7-8]來解決事件檢測任務。近年來,隨著神經網絡在其他研究領域的快速發展,將上下文語義信息嵌入低維空間并將事件檢測視為逐詞分類任務的神經網絡方法取得了重大進展[9-10]。尤其是隨著預訓練語言模型的發展,BERT(Bidirectional Encoder Representation from Transformers)已被廣泛用于事件抽取任務[11-12]。
盡管上述完全監督的事件檢測方法取得了很大的進步,但有限的數據規模仍然阻礙它們實現更高的性能[13]。此外,完全監督的深度學習模型通常深受過擬合問題[14]的困擾,因此無法將它們應用于新的任務場景或現實世界情況。為了克服這些缺陷,本文提出了一種新的基于數據增強的弱監督對抗訓練方法,即基于BERT 的混合文本對抗訓練(BERT based Mix-text ADversarial training,BMAD)方法。首先,采用回譯[15]的傳統數據增強方法從原始數據構建真實無標注數據,并在半監督場景下訓練事件檢測模型。接下來,聚焦于新型數據增強方式Mix-Text 來創建虛擬訓練數據和標簽,旨在通過訓練這些生成的不準確數據和帶噪學習來提高模型的泛化能力并盡量避免過擬合。最后,設計了一種基于Mix-Text 的對抗訓練策略來增強模型的魯棒性。簡而言之:一方面訓練生成器,使其更好地生成假樣本來欺騙判別器;另一方面,訓練判別器以更好地判別給定實例是否是虛假樣例。
本文的主要工作如下:
1)提出了一種名為BMAD 的事件檢測方法,它可以創建弱監督學習場景以解決數據稀缺的問題;
2)設計了一種基于Mix-Text 的對抗訓練策略,旨在抵抗噪聲以增強模型的魯棒性并提高事件檢測任務模型的性能。
事件檢測作為一項具有挑戰性的任務一直受到學者們的廣泛關注。該任務的傳統方法[16-21]嚴重依賴于人工設計的特征,可以在特定領域實現高性能,但在遷移到不同語言或標注標準發生改變時則表現不佳。
近年來,能夠自動提取高層特征的深度學習方法取得了重大進展。Chen等[22]首次提出了一種基于動態多池卷積神經網絡的事件檢測方法來建模觸發詞和論元角色之間的依賴關系。Nguyen等[23]提出了一種基于循環神經網絡的聯合事件提取方法。Liu等[24]提出通過有監督注意機制在事件檢測中編碼論元信息的方法。Liu等[25]提出了觸發詞檢測動態記憶網絡來使用上下文信息以解決事件檢測問題。Yan等[26]使用了基于依賴樹的聚合注意力圖卷積網絡模型對事件檢測任務進行建模。Wang等[27]提出了一種新穎的多層殘差和基于門控的卷積神經網絡框架,通過擴展感受野以獲得多尺度上下文信息。
鑒于完全監督方法受人工標注數據限制的缺陷,各種弱監督方法應運而生。Chen等[28]使用為每個事件類型檢測關鍵論元角色和觸發詞的遠程監督方法自動標記文本中的事件。Araki等[29]提出了一種遠程監督方法,該方法能夠不受任何特定數據集的限制生成高質量的訓練數據。Zeng等[30]使用現有的結構化知識庫或表格從無標注的文本中自動創建事件注釋來擴充事件抽取訓練實例,最終實現了遠程監督學習。Huang等[31]設計了一個半監督向量量化變分自動編碼器框架,以自動學習每個可見和不可見類型的離散潛在類型表示,并且使用可見類型事件注釋對其進行優化。Shao等[32]通過最大化問答對和預測解決方案之間的互信息來明確利用問題與其解決方案之間的語義相關性,從而避免弱監督問答的偽解問題。
對抗學習[33]率先在計算機視覺領域取得了巨大的成功。最近,許多工作都嘗試將對抗性學習應用于事件檢測任務。Hong等[34]提出了一種使用生成對抗網絡生成虛假特征的自調節學習方法。Wang等[35]構建了一個具有良好覆蓋率的大型事件相關候選集,然后應用對抗性訓練機制從候選集中不斷迭代以識別那些富含信息的實例并且過濾掉那些含噪實例。Ma等[36]使用對抗訓練進行無數據蒸餾,并最終將蒸餾模型應用于文本分類任務。
本文提出的BMAD 的整體框架如圖1 所示。它由四個模塊組成,包括實例編碼器模塊、半監督模塊、混合文本模塊和對抗訓練模塊。首先,對于每個實例,編碼器將每個目標token 編碼為上下文相關的詞嵌入。然后,使用半監督方法來訓練有標注和無標注的數據。之后,應用基于BERT 的Mix-Text 方法進一步增強數據,以提高模型的泛化性能。最后,使用對抗訓練策略,在指導生成器生成與真實樣例相似的實例的同時促使鑒別器學會區分真假實例。
預訓練語言模型已經被廣泛證明能夠為下游模型提供有用的特征。在本文中,使用基于Transformer 的BERT 模型[37]以獲取詞嵌入作為網絡的輸入特征,該模型在各種NLP任務中均取得了最先進的性能。
給定包含N個token 的句子(t1,t2,…,tN),BERT 采用多層雙向Transformer 編碼器,通過輸入詞、段和位置嵌入來獲得隱藏層嵌入表示。其過程如下,
緊接著隱藏層詞嵌入將會被輸入到Transformer 模塊中以獲得最終的詞表示X=[x1,x2,…,xN]。
本文中事件檢測問題被視為一個跨度提取任務,即給定一段文本,將每一個觸發詞視為一個片段從該文本中提取出來。受Yu等[38]的啟發,針對每一個事件類型,采用兩個獨立的前饋神經網絡(FeedForward Neural Network,FFNN)作為分類器來分別預測一個候選觸發詞的開始token 和結束token。對應于每個token 和每個事件類型,通過式(2)~(3)計算它是一個觸發器詞的開始和結束的概率:
其中:FFNN 表示前饋神經網絡。針對特定事件類型,p為所有token 提供成為開始token 或者結束token 的分數,是一個l×2 大小的張量。其中l是句子的長度,最后一個維度指示該token 是否是一個候選觸發詞的開始/結束。具體來說,ps提供每個token 的開始分數,pe提供結束分數。基于此,為每個事件類別的每個token 分配一個真或假類別y':
對于有標注數據,y表示一個token 的真實標簽,p表示它是一個特定類別候選觸發詞的開始或結束的概率。使用焦點損失函數來改善類不平衡問題并計算監督損失如下:
對于無標注數據,在訓練之前,首先固定模型參數并使用當前模型為它們的token 預測每一類別的起始概率,得到的分布q視為標簽。然后在訓練期間,使用相同的步驟得到另一個預測分布r。最后,將計算這兩個分布之間的相對熵KLD(Kullback-Leibler Divergence)作為無監督損失,其計算公式如下:
TMix 是Chen等[39]提出的一種新型文本分類半監督學習方法。它接收兩個真實的文本樣本作為輸入,并在BERT 模型的隱藏層中混合它們,然后繼續前向傳遞以預測混合樣本的混合標簽。
眾所周知,事件檢測任務比文本分類任務復雜得多,因為它在單一句子中存在多個相互關聯的標簽。直接使用TMix 可能會給模型注入過多的噪聲,阻礙模型收斂。考慮到這一點,使用了Chen等[40]提出的另一種針對序列標注任務的改進方法Mix-Text 來緩解噪聲問題。
本文使用的文本混合策略可分為兩種情形,樣本內混合及樣本間混合。對于樣本內混合情況,從單一樣本重構xintra。具體來說,使用來自同一語句的相同token,但更改其順序并通過以下方式在它們之間執行插值:
其中:l是服從Beta 分布的參數,用于對每個批次的數據進行插值;xi和xj是來自同一個句子的不同token。
對于樣本間混合情況,使用兩個不同的句子來構造。首先,隨機采樣一個句子x,然后從被采樣句子的K最近鄰(KNearest Neighbor,KNN)句子集中選取另一個句子x'。xinter由以下方式構造:
最終使用當前模型為無標注的重構語句預測它們的概率分布p并分別計算上述兩種情形的損失:
其中:M是構造混合文本的空間分布;x為使用式(7)、(9)構造的混合文本實例;yx為其對應的構造標簽;px為2.2 節中使用FFNN 計算得到的概率。
在對抗訓練模塊中,基于上述Mix-Text 方法設計了對抗策略。對抗訓練模塊由一個判別器和一個生成器組成,生成器用來產生盡可能真實的假實例,與此同時判別器用于區分真假實例,而訓練過程則是一個二者之間的對抗性最小-最大博弈游戲。
生成器基于真實實例使用混合文本方法創建樣本內混合實例和樣本間混合實例,并假設其均為真實實例。為了幫助生成器更好地愚弄判別器,還使用了一個選擇器為來自FFNNs(FFNN start)/FFNNe(FFNN end)的每個開始/結束概率計算置信度分數,之后置信度分數將被用于篩選生成實例,以此提高對抗訓練的穩定性。在生成器訓練期間,生成器將根據不可靠實例的置信度分數最小化損失,這意味著置信度分數較高的實例在計算損失時會被賦予較大的權重。為了達成該目標,構造了如下損失函數以優化生成器:
其中:U是經過BERT 隱藏層混合后的不可靠采樣實例的數據分布;c表示選擇器計算的置信度分數;p表示FFNN 計算的概率。
反之對于生成器創建的實例,判別器則會假設它們為假實例,并嘗試最大化所選不可靠實例的損失,為優化判別器構造的損失函數如下所示:
經過充分的訓練,生成器和判別器最終將達到平衡。生成器傾向于創建類似于真實樣例的實例,同時判別器則可以更好地區分真假實例。
最終,BMAD 方法的損失函數定義如下:
其中:λ是一個超參數,權重隨著訓練進行不斷增大。而Lossadv則根據訓練階段變化,在生成器優化階段為Lossadv-g,在判別器優化階段為Lossadv-d。
在本文中,在自動文檔抽取(Automatic Context Extraction,ACE)數據集ACE2005 上進行了一系列實驗,其中共包含633 篇中文文檔。參照之前相關工作的數據劃分,分別使用569/64 個文檔作為訓練/測試集。在此基礎之上,對于訓練數據集,還使用了5 折交叉驗證來減小方差并提高模型的泛化能力。
針對一個選定的觸發詞,當且僅當其事件子類型和偏移量與目標觸發詞的事件子類型和偏移量均匹配時才是正確的。最終,使用精確率(Precision,P)、召回率(Recall,R)和F1 分數作為評價指標。
本文與以下先進模型進行了比較:
1)HNN(Hybrid Neural Network)模型[41]。該模型結合了雙向LSTM(Long Short-Term Memory)和卷積神經網絡來學習句子中每個token 的連續表示,并使用拼接后的特征來識別觸發候選詞并將每個觸發候選詞分類為特定的事件類型。
2)NPN(Nugget Proposal Network)模型[42]。該模型首先使用token 級神經網絡從字符級和單詞級表示中學習混合表示,然后使用事件類型分類器來分配事件子類型。
3)TLNN(Trigger-aware Lattice Neural Network)模型[43]。該模型動態地結合了單詞和字符信息,并使用外部知識庫HowNet 來提高其性能。
4)HCBNN(Hybrid-Character-Based Neural Network)模型[44]。該模型提出通過將單詞信息和語言模型表示結合到漢字表示中來改進逐字模型。
本文方法的整體結果如表1 所示。從表1 中可以看到,BMAD 的F1 分數最高,其表現明顯優于其他對比基線模型。與其他模型相比,BMAD 在ACE2005 數據集的觸發詞分類任務上F1 分數提升了至少0.84 個百分點。這表明所提方法可以提高模型的泛化能力,并在一定程度上緩解過擬合問題。
表1 ACE2005上觸發詞分類任務上的實驗結果 單位:%Tab.1 Experimental results on trigger classification task on ACE2005 unit:%
除此之外,更加值得注意的是,雖然HNN 的精確率最高,但其召回率卻最低,而BMAD 模型在較少犧牲召回率的情況下使精確率有了很大的提升,這意味著該模型在區分負樣本時表現良好。也就是說,模型在作出新的預測時預測正確的概率更高。
為了更好地反映模型中每個模塊的貢獻,進行了消融實驗(見表2)。在實驗中使用的基線模型Baseline 是BERT+FFNN+Focal-loss。
表2 消融實驗結果 單位:%Tab.2 Ablation experimental results unit:%
對于半監督模塊(Semi),針對回譯方法,爬取谷歌翻譯網頁到本地并使用在線翻譯器將中文語料庫逐條翻譯成英文語料,然后將它們翻譯回來以形成無標注數據。為半監督損失設置的權重是0.01。值得注意的是,模型在訓練初期的預測性能很差,過早使用半監督損失反而會增加噪聲。為了避免這個問題,在F1 分數達到0.6 后再使用半監督損失來進行反向傳播和優化,因為此時模型已經基本具備了預測能力。
對于混合文本模塊(Mix),使用KNN 為一個特定實例生成一系列最相似的實例。BERT 的混合層參數和K的大小分別設置為8 和20。
從實驗結果中,可以觀察到模型可以從無標注的數據和不準確的數據中學習,并且與此同時,對抗訓練的方法還可以緩解弱監督場景下的噪聲問題。
本文將事件檢測任務重構成一個跨度提取任務,并采取了一種先進新穎的方法處理弱監督場景下的事件檢測任務。首先,使用回譯和Mix-Text 的方法進行了數據增強,旨在為弱監督學習場景構造數據;接著,為了訓練模型,進一步使用了半監督學習與對抗訓練策略相結合的弱監督方法進行訓練。在廣泛使用的ACE2005 數據集上評估了所提方法,結果表明所提方法達到了當前最優性能。未來計劃將所提方法擴展到論元角色抽取(事件提取的第二階段)以及聯合事件抽取任務。