任務:
1 event detection(ED), 輸入是文本序列,輸出是觸發的事件類型,以及觸發詞。
2 event causality identification (ECI),輸入是文本序列+文本中出現的一對事件,識別事件之間是否有因果關系。
3 event argument extraction (EAE),輸入是文本序列+事件觸發詞+實體,識別出事件各個argument是哪個實體。衍生出來的Implicit Event Argument Extraction (IEAE),是指要在多個句子中進行EAE。
應用場景:問答,邏輯推理
論文:
OntoED: Low-resource Event Detection with Ontology Embedding,提出一種方法解決事件抽取任務中的low-resource問題,通過事件-事件之間的關系構建事件本體及其embedding,將原本的分類問題(一個事件對應一個類別標簽,各個事件之間沒有關系)轉換成相似度問題(一個事件對應一個embedding),事件embedding可以通過事件之間的關系來學習,采用的形式是映射矩陣,即一個事件embedding可以通過關系矩映射到和它相關的另一個事件embedding,每種關系對應一個映射矩陣。從事件本體的角度看,low-resource事件的問題被規避掉了,轉而變成事件之間的關系是否足夠豐富,只要事件之間的關系足夠豐富,就可以學到質量不錯的embedding,即使是low-resource事件,他們的embedding也能包含足夠的信息。值得一提的是一個事件的embedding初始化,是由數據集中對應該事件的所有instance的編碼信息完成的,一般是instance的句子輸入到BERT得到的CLS token representation,再對取平均,即事件embedding中的信息本質上還是來自文本。換句話說,low-resource事件相關的語料很少,但是和它相關的其他事件的語料很多,通過事件之間的關系,把部分信息轉移給low-resource事件。
Unleash GPT-2 Power for Event Detection,從數據增強角度出發,解決事件抽取任務的low-resoueces問題;使用gpt-2生成新的事件抽取語料及其事件標簽,S=[BOS, w1,...,TRGs,wt,TRGe,...,wn, EOS],BOS和EOS表示句子的起始和結束tag,TRGe/s包裹着事件觸發詞(包含位置信息,但沒有類別信息);這里的問題是原始GPT-2預訓練任務的輸出形式並不是這樣的,所以需要對gpt-2上做fine-tune,這篇論文選擇在已有事件抽取數據集上對gpt-2做fine-tune。但即使這樣做fine-tune,gpt-2生成的語料也會包含噪聲,生成一些質量不好的instance(17%的句子至少包含語法、語義、事件觸發詞相關的問題其中一種),無法像常規有監督的方式直接作為訓練數據,以前的方法是用一些啟發式規則過濾,但准確性不夠好;這篇論文的方法是使用teacher-student多任務學習來解決這個問題。teacher model只在原始訓練數據上訓練,獲得anchor knowledge,任務:EI(event identification)+ED,EI只關注是否觸發了事件,不關注事件的類型。同樣,student model也要做EI+ED任務,不同的是student model是在gpt-2生成的數據+原始數據上訓練。gpt-2生成的那部分數據只有觸發詞位置信息,沒有類別信息,所以就只能做EI任務,這也是為啥在ED任務上引入一個新的EI任務做多任務,不然新的數據沒辦法用了。另外,gpt-2生成的數據有噪聲,所以student model需要和teacher model做Knowledge Consistency,具體地,在ED任務上,最小化student 和teacher 預測結果之間的KL散度,在EI任務上,student需要具備和teacher一樣的區分原始數據和gpt-2生成數據之間的區別。那么問題變成了如何衡量數據之間的區別,這篇論文使用Optimal Transport方法來衡量,這個方法的作用大概是從一個概率分布轉移到另外一個概率分布需要的代價。最后構建loss最小化student和teacher的optimal transport cost之差。使用student model作為最終ED inference的model。
LearnDA: Learnable Knowledge-Guided Data Augmentation for Event Causality Identification,任務是事件因果關系識別(event causality identification, ECI),解決的問題是ECI訓練數據少 DL算法無法發揮優勢,解決方法是使用task-related 數據增強,以往的數據增強方法是任務無關的,生成的instance質量不高,這篇論文的task-related 數據增強要求生成的instance滿足 事件之間的causality以及標准的語法、事件相關的實體、能夠表達causality的單詞,后三者叫well-formedness。引入KB幫助完成causality條件,數據生成和ECI構成dual learning幫助完成well-formedness條件。從wordnet,verbnet和frameNet等知識庫或數據集中抽取具有causal/non-causal關系的事件對。數據生成和ECI的模型對應generator 和identifier,generator根據輸入的事件對以及causality,生成對應的句子,並生成一個semantic alignment reward(生成每個token的概率平均值,越大置信度越高),identifier根據輸入的句子和事件對,判定事件是否有因果關系,並生成一個causality reward(identifier的分類結果,一個概率)。generator 和identifier交互優化,最大化各自reward。generator和identifier都是基於BERT的網絡結構。generator的輸入是事件對觸發詞以及事件涉及的實體,並在其中插入一定數目的mask token,BERT對mask token做預測。
Trigger is Not Sufficient: Exploiting Frame-aware Knowledge for Implicit Event Argument Extraction, 隱式事件參數抽取(Implicit event argument extraction, IEAE),通過構建intra-event argument interaction提升IEAE性能,IEAE任務的argument分布在多個句子中,同一事件argument之間的關聯信息是重要的。該論文把IEAE任務構造成問答問題,輸出是argument的text span起始和結束位置(同SQuAD任務),輸入是context和問題,問題是由 事件類型、事件觸發詞、目標argument的role,以及當前事件除目標agrument以外的其他arguement信息構成,問題模板如下:
Event_Type是事件類型,Arg_Type是目標arguement在事件中的roles,argx和rolex是除目標argument以外的其他argument以及他們在事件中的roles。可以看到問題中包含了同一事件的其他argument信息,論文期望這種intra-event agrument interaction可以帶來精度的提升。這里的問題是,inference階段argx和rolex是不知道的,所以論文接着提出teacher-student蒸餾訓練架構來解決。具體地,teacher model正常按照上述形式進行訓練。student采用和teacher一樣的模型結構,但是沒有其他argument信息,通過構建loss,使得teacher和student的hidden state(只有context部分,因為問題部分的輸入不一樣)和預測概率分布盡可能的近似,進而讓student在沒有其他argument信息的情況下,也可以模擬teacher model的行為。蒸餾過程借鑒了課程理論(curriculum theory)的思想,訓練的開始階段,student可以和teacher一樣,輸入包含所有的其他argument信息,隨着訓練的進行逐漸減少輸入到student的arguement信息數量(幾個argument的信息),直到完全去掉其他argument的信息,學習難度從簡單到容易,可以獲得更好的蒸餾效果。teacher是顯示的利用其他argument信息,student雖然沒有這部分信息,但是通過蒸餾被迫從context中學習到了如何構建這些信息。另外還提出了使用多個teacher,每個teacher訓練時輸入的argument信息數量不同(全部、全部-1、沒有其他argument信息),可以讓studnet學習到不同角度的argument interaction方式,類似把一個復雜的interaction拆分開,逐個學習,會更容易。
Capturing Event Argument Interaction via A Bi-Directional Entity-Level Recurrent Decoder, EAE task 常見的兩種提升精度的角度:inter-event/intra-event argument interaction,這篇論文就是從intra-event角度進行算法改進,將EAE任務做成Seq2Seq學習問題,輸出是每個實體的roles/no role,這樣做的好處是當前位置的預測結果依賴於已經預測出來的argument信息,引入了argument interaction信息,而且文中還加入了right-to-left解碼過程,使得每個位置的前后argument 信息都可以利用起來。
Verb Knowledge Injection for Multilingual Event Processing, 引入動詞知識,verbnet/framenet知識庫中包含兩個動詞是否是同一類的信息(句法/語義相似程度),根據這個信息構建了一個非常簡答的任務:輸入是兩個verb,輸出是是否是同一類。模型的選擇是BERT,但是在每個layer最后新加一個sublayer(MLP),稱為verb knowledge adapter,在實際任務中的使用有兩種形式:full fine-tuning / task adapter fine-tuning
TEXT2EVENT Controllable Sequence-to-Structure Generation for end to end event extraction, 使用encoder-decoder網絡結構end-to-end的做event extraction,輸入時raw text,輸出是結構化的事件,由於encoder-decoder結構一般是用來生成text而非結構化事件,所以要對事件進行線性化,即把結構化的信息鋪開成token sequence:
每個事件一個子樹,根是事件類型,分支包括觸發詞以及事件的各種argument role,每個role一個節點,每個role節點分成對應的實體text span。上圖中有兩個事件,則有兩個事件樹,再引入一個root作為所有事件的根節點。對樹進行深度優先遍歷,並且插入()表示semantic,這樣原始的結構化的事件,被線性化成了token sequence,event extraction轉化成了text-2-text問題。這里的問題是輸出的token sequence並沒有語義,而且某些位置的解空間很小,比如事件類型和argument role,在event schema的標簽集里預測就好。於是這篇論文對decode做了限制,引入了trie:
(a)是deocder預測模式的trie,最開始是"<bos> (",接下來要么是沒有事件,生成“)”,要么開始生成第一個事件“(”, 於是這里可以構建詞表{"(", ")"},二選一。假設預測結果是"(",表示接下來要開始生成事件了,也就是要預測事件類型T,event schema中的事件類型標簽會構成一個sub trie(b),也有對應的每次預測的詞表,event sub trie走完事件類型生成結束,開始生成觸發詞,觸發詞是輸入raw text的span,也有對應的一個sub trie,直到sub trie走完,或者生成了“)",證明事件觸發詞預測結束。之后開始預測這個事件的argument,也是類似的過程。該論文用T5-large作為預訓練模模型,借鑒課程學習理論,fine-tune的開始階段,從sub structure開始訓練:輸入是raw text,輸出是(label,text span),即(event type,trigger words)或者(argument role,argument words),這個階段訓練完,再開始完整的task訓練。