您當前的位置:首頁 > 書法

論文分享 Prompt for Extraction? PAIE: Prompting Argument Interaction for Event Argument Extraction

作者:由 世民shimin 發表于 書法時間:2022-03-22

論文題目:Prompt for Extraction? PAIE: Prompting Argument Interaction for Event Argument Extraction

論文連結:

https://

arxiv。org/abs/2202。1210

9v1

作者:Yubo Ma, Zehao Wang, Yixin Cao, Mukai Li, Meiqi Chen, Kun Wang, Jing Shao

機構:Nanyang Technological University

大家好,今天大家分享的是發在ACL2022的一篇論文。

Event Argument Extraction

首先要介紹下 Event Argument Extraction事件引數提取(簡稱EAE)這個任務。他是event detection的一個子任務,可以分為sentence-level 和 document-level兩種。這個任務我們的輸入是:一句話或一篇文章,以及對映的觸發詞、事件型別、以及事件角色得到對應事件角色的引數,比如下圖上方例子所示:event type是所有權轉移,sell是觸發詞,event role包含seller、artifact。

論文分享 Prompt for Extraction? PAIE: Prompting Argument Interaction for Event Argument Extraction

之前的工作呢,一部分人把EAE這個任務看成是 semantic role labeling問題,它分為兩步:首先我們識別輸入文字中的candidate span,然後給這些候選span分配對應的event role。

另外一部分人採用基於預訓練模型使用端到端的方式,比如QA、MRC閱讀理解或文字生成的方式。QA和MRC的方式呢,effective比較好,但是需要一個個的預測。文字生成的方式efficient比較好,但是對於長距離的複雜情況效果不好。

Motivation

這篇論文的motivation是希望既能做到efficient又能做到effective,作者這裡列出了要解決的三個問題:

怎樣同時提取這些引數做到好的efficiency

對於長文字,怎樣有效的捕獲他們的interaction

怎樣利用預訓練模型來得到更多的知識來降低標註的需求

針對這三個問題,作者這裡指出他設計的模型,首先可以同時處理多個引數的提取,他基於prompt 微調的的提取方式,而prompt learning需要我們設計模版作為一個顯式的提示。並且,這裡需要利用event role作為slot應用到interaction中,以及需要充分利用預訓練的知識。

這麼說可能很抽象,我們具體來看下作者設計的模型結構。

論文分享 Prompt for Extraction? PAIE: Prompting Argument Interaction for Event Argument Extraction

模型圖

模型結構圖主要包含:prompt creation, span selector decoding, 和 span prediction這三個模組。

最左邊的prompt creation是利用事件類別、事件角色來構建模版,構建好的模版會作為decoder的輸入。

中間的span selector decoding 主要是利用Bart的模型結構,結構上沒有做什麼創新。encoder的輸入是document/sentence,decoder輸出是event role的特徵表示。

然後我們在最右邊的span prediction,他負責預測引數對應的的起始和結束座標。

Formulating Prompt for Extraction

我們再簡單回顧一下prompt,現有的方法用prompt來做分類或者是生成任務,一般做法是我們需要構建一個模版,比如下面這個NER任務:

論文分享 Prompt for Extraction? PAIE: Prompting Argument Interaction for Event Argument Extraction

我們左邊是輸入文字,右邊decoder輸入是prompt,比如這裡的Bangkok is a location,Bangkok是實體,location是他對應的tag。這個做法呢,我們訓練和預測的時候得把同一個輸入文字和不同的candidate span、label詞拼在一起。這就存在一個問題:就是作者說的要一條條的生成,這個如果是在label種類特別多的場景的時候,比如100個label,我預測的時候,同一個樣本需要執行100次。

那怎麼避免這個問題呢?

Prompt Creation for EAE

接下來我們先來看一下作者是怎麼設計模版的。

首先,作者利用的是event type 和 event roles詞本身,而不是用具體的詞,來構建模版,比如下圖的contact、negotiate。

論文分享 Prompt for Extraction? PAIE: Prompting Argument Interaction for Event Argument Extraction

論文分享 Prompt for Extraction? PAIE: Prompting Argument Interaction for Event Argument Extraction

作者這裡設計了三種模版,分別是表中這裡的手動建立的模版,concatenation模版,和soft模版。

手動模版很好理解就是把這些引數寫成一句話,這個方式效果直接,往往比較好,但比較吃經驗。

第二種concatenation模版呢很簡單,就是直接把引數直接拼在一起。

最後一種軟模版,他是我用特殊的token把role給顯式marker起來,用特殊token來顯式的告訴模型需要注意這些role。

最後就是,針對對於一個role可能在sentence或document中多個地方會出現匹配的引數詞,這裡作者統計了資料集中,每個role可能存在的最多數量的來cover這個問題,我們看錶中的手動模版中,victor後面的 and victor就是為了cover這個問題而設計的。

Span Selector Decoding

Encoder部分的輸入是sentence或document,這裡我們用一個特殊的token t來mark觸發詞,decoder的輸入是我們剛才介紹的模版。

這裡作者說主要靠decoder的cross-attention來現實之前介紹的interaction。

論文分享 Prompt for Extraction? PAIE: Prompting Argument Interaction for Event Argument Extraction

輸出是對於每個role,和正常的生成模型不一樣,這裡不是輸出詞對應的機率分佈,而是計算得到對應的start和end的特徵向量(這裡有點像我的label詞是城市,去輸入文本里找是否有實力化的詞杭州、北京、上海等)。比如這裡victor有兩個,我們會得到2個特徵向量,如果樣本本身可能只有一個victor,我猜這裡作者應該是生成一個空。

Bipartite Matching

這個模組它的目的是用最小的代價找到預測span和ground truth之間的最佳匹配。

論文分享 Prompt for Extraction? PAIE: Prompting Argument Interaction for Event Argument Extraction

論文分享 Prompt for Extraction? PAIE: Prompting Argument Interaction for Event Argument Extraction

我們先用上一節介紹的start 和 end的特徵向量去乘輸入文字X的輸出Hx,來求當前角色再位置上的分佈。接著,我們取機率最大的位置作為起始和結束位置即可。

這裡我們看下圖,我們首先要確保每個role的span 的座標和ground truth要儘可能接近,也就是提取的詞是對的;

論文分享 Prompt for Extraction? PAIE: Prompting Argument Interaction for Event Argument Extraction

其次就是對於每個相同的role,我們的預測的順序可能和ground truth不一樣,比如這裡的Trump 和 Clinton。這裡作者採用匈牙利演算法進行匹配,來保證我們預測的只要在ground truth中就認為是對的。

Experiments

實驗設計部分呼應模型設計部分,主要要回答:

PAIE在sentence和document上的提引數取效果是否夠好;

然後,不同的模版設計對最終結果的影響是怎麼樣的?

最後,就是PAIE在efficiency、few shot 、long distance 以及多引數下的效果又分別怎麼樣的。

作者這裡選擇了3個數據集,包含一個sentence-level(ACE05)、兩個document-level(RAMS , WIKIEVENTS)的資料集。

評估指標Arg-I的意思是 我識別的出的事件引數,它對應的事件型別是正確的。(這個指標有點奇怪,就是事件型別輸入的時候應該就給了的,這裡其實作者沒說事件類別是怎麼預測的)。Arg-C是說提出來的事件引數,它的role類別是對的。

論文分享 Prompt for Extraction? PAIE: Prompting Argument Interaction for Event Argument Extraction

我們首先來看下整體的效果,很明顯我們可以看到,PAIE使用Bart-large在三個資料集上有全面的提升,並且比同是用Bart結構的模型效果要好。特別是在document-level的兩個資料集上,分別提升了4。3和3。3個點。

Ablation Study

論文分享 Prompt for Extraction? PAIE: Prompting Argument Interaction for Event Argument Extraction

作者依次拿掉bipartite matching loss, multi-argument prompt, role-specific selector。

bipartite matching loss主要針對的是多個引數下預測和ground truth的分配,其實拿掉換成考慮順序的話會更嚴格一些,但也能做,所以這裡下降的不是很不多。

然後就是,作者把multi-argument prompt的多引數換成只有一個,很明顯效果會下降的很厲害;

這裡的role-specific selector我沒有完全看懂,看文章的意思是模版中角色對應的位置的那個向量,去選擇對應的角色引數,去掉的話不知道是不是就是用decoder的輸出生成的詞作為預測,還是怎麼操作;從實驗結果看,去掉之後影響還是挺大的。

論文分享 Prompt for Extraction? PAIE: Prompting Argument Interaction for Event Argument Extraction

然後上圖部分上面的block是,如果我們把模版和輸入內容拼起來一起作為encoder的輸入,效果會明顯低於下面block的部分,這裡是想說明模型作為decoder的輸入會好一些。

論文分享 Prompt for Extraction? PAIE: Prompting Argument Interaction for Event Argument Extraction

然後是Figure 3,作者這裡比較了不同型別的prompt 模版,這裡的single模版是每個role角色只有一個引數。

我們看出來手動模版的效果是最好的,而且也是最穩定的,然後concat模版效果也還可以,主要就是軟模版表現不好。最近的很多研究軟模版的人會攻擊手動模版比較靠人工經驗,不優雅,作者這裡沒有分析原因。我感覺這個實驗是在document上做的,內容比較長,軟模版的方式可能體現不出來特殊的token之間的關係。

然後就是作者這裡說concat的方式可能是替代手動模版的去實際複用到其他資料集上的一種選擇。

論文分享 Prompt for Extraction? PAIE: Prompting Argument Interaction for Event Argument Extraction

Table 5這裡是比較PAIE和對比演算法在長距離依賴上的表現,表格上的距離是引數詞和觸發詞的句子距離,比如-1就是發生在觸發詞前面1句話,1是觸發詞後面的一句話,這裡可以看出來PAIE大多數情況下會比對比演算法好很多,僅僅在-2的時候效果不是最好的。

論文分享 Prompt for Extraction? PAIE: Prompting Argument Interaction for Event Argument Extraction

Figure 4作者這裡是想說,對比演算法在選擇事件引數時需要調節閾值,調節閾值這個比較玄學,值取的不好會影響最終效果,然後作者的模型最上面紅色虛線,這種方式不用調節閾值。

論文分享 Prompt for Extraction? PAIE: Prompting Argument Interaction for Event Argument Extraction

Table 6的部分是說,在wiki這個資料集上,同一個event角色,分成有1、2、3和大於等於4個引數上四種情況,和對比演算法比,我們可以看出,隨著引數變多會明顯比對比演算法好。

論文分享 Prompt for Extraction? PAIE: Prompting Argument Interaction for Event Argument Extraction

Figure 5 作者這裡比較了模型在不同訓練樣本比率的情況下,比對比演算法要好,但我感覺從圖中看,比如拿1%的資料量作者的模型並沒有比對比演算法好特別多,可能也是因為這個原因吧,作者沒有把這個作為主要賣點。

論文分享 Prompt for Extraction? PAIE: Prompting Argument Interaction for Event Argument Extraction

Table 7 表格是說,PAIE比對比演算法可以快3、4倍,來回應作者一開始提的efficiency

Conclusion

最後是conclusion,這篇文章作者提出的模型在效果上,可以比之前的模型有一定的提升,然後透過基於prompt的多個引數模版的設計,可以同時提取多個事件引數,做到了efficiency,最後實驗在sentence和document level的資料集上都還挺不錯的。

如有疑問,歡迎大家批評指正。

標簽: 模版  Role  引數  作者  prompt