乘风破浪的Seq2Seq模型:在事件抽取上的应用
?PaperWeekly 原創(chuàng) ·?作者 | 王增志
單位 | 南京理工大學(xué)碩士生
研究方向 | 情感分析與觀點(diǎn)挖掘
引言
2020 年自然語(yǔ)言處理方向出現(xiàn)了很多令人印象深刻的工作, 其中就包括了這一系列 Seq2Seq 大規(guī)模預(yù)訓(xùn)練語(yǔ)言模型,比如 BART [1],T5 [2] 和 GPT-3 [3],直覺(jué)上這些生成模型一般會(huì)用于摘要和翻譯這種典型的生成任務(wù),2021年的很多工作開始嘗試?yán)眠@些強(qiáng)大的生成模型來(lái)建模一些復(fù)雜的自然語(yǔ)言理解任務(wù),比如命名實(shí)體識(shí)別,屬性級(jí)情感分析和事件抽取任務(wù)等等。本文將會(huì)按照時(shí)間線簡(jiǎn)要對(duì)基于生成式方法的事件抽取相關(guān)的工作進(jìn)行梳理。
事件抽取(Event Extraction, EE)是指從自然語(yǔ)言文本中抽取事件并識(shí)別事件類型和事件元素的技術(shù)。其任務(wù)目標(biāo)是根據(jù)觸發(fā)詞識(shí)別句子中所有目標(biāo)事件類型的事件,并根據(jù)論元角色集合抽取事件所對(duì)應(yīng)的論元,這里的事件類型和論元都是預(yù)定義好的。舉個(gè)例子,給定一個(gè)句子,事件抽取旨在識(shí)別出句子中包含的結(jié)構(gòu)化事件。
Input: The man returned to Los Angeles from Mexico following his capture Tuesday by bounty hunters.
Output:
該任務(wù)分為如下幾個(gè)子任務(wù):
Trigger Identification:檢測(cè)(抽取)句子中的事件的觸發(fā)詞,可以是一個(gè)詞也可以是一個(gè)span;
Trigger Classification:判斷抽取到的觸發(fā)詞對(duì)應(yīng)的事件類型;
Argument Identification:檢測(cè)(抽取)句子中的論元比如某種事件發(fā)生的時(shí)間,地點(diǎn)等;
Argument Classification:判斷抽取到的論元對(duì)應(yīng)的論元角色;
TANL
這是一篇來(lái)自 AWS 團(tuán)隊(duì) ICLR 2021 的工作 [4],作者致力于研究結(jié)構(gòu)預(yù)測(cè)任務(wù)(比如命名實(shí)體識(shí)別,實(shí)體關(guān)系抽取,語(yǔ)義角色標(biāo)注,共指消解,事件抽取,對(duì)話狀態(tài)追蹤等)的多任務(wù)學(xué)習(xí),之前的大多數(shù)方法都是針對(duì)具體的特定的任務(wù)進(jìn)行建模,訓(xùn)練一個(gè)任務(wù)特定的判別器,但是這樣的方法一方面結(jié)構(gòu)不能被適配到其他類似的任務(wù)上,給遷移學(xué)習(xí)帶來(lái)了困難,另一方面這種判別式的結(jié)構(gòu)很難利用標(biāo)簽的語(yǔ)義知識(shí)。
基于此,作者提出了 TANL 模型(Translation between Augmented Natural Language),即給定輸入,輸出原有文本和對(duì)應(yīng)的文本標(biāo)注。如下圖所示,輸入文本,輸出的文本在原文本的上做了 augmented,即加上了標(biāo)注,圖中的實(shí)體關(guān)系聯(lián)合抽取任務(wù),會(huì)在頭實(shí)體上加上對(duì)應(yīng)的實(shí)體類別,在尾實(shí)體上除了加上實(shí)體類型,還會(huì)加上關(guān)系,以及對(duì)應(yīng)的頭實(shí)體 span;語(yǔ)義角色標(biāo)注任務(wù),模型會(huì)標(biāo)注出主語(yǔ),謂語(yǔ),時(shí)間地點(diǎn)等;共指消解任務(wù),模型會(huì)標(biāo)注出所有的第一個(gè) mention,然后在后續(xù)出現(xiàn)的 mention 上標(biāo)注對(duì)應(yīng)的本體,最后對(duì)輸出的文本進(jìn)行解析,得到預(yù)測(cè)的結(jié)構(gòu)。
下圖是模型對(duì)事件抽取任務(wù)的建模示例,首先進(jìn)行觸發(fā)詞的抽取,輸出的句子會(huì)在觸發(fā)詞后面加上對(duì)應(yīng)的事件類型,然后針對(duì)事件論元的抽取,輸入會(huì)標(biāo)注出觸發(fā)詞和對(duì)應(yīng)的事件類型,然后輸出時(shí)會(huì)在相關(guān)的 span 標(biāo)注實(shí)體的類型,比如個(gè)人,時(shí)間等,還會(huì)標(biāo)注出論元的類型,用“=”來(lái)對(duì)應(yīng)觸發(fā)詞。
作者在 single-model-single-dataset,multi-dataset 和 multi-task 三種 setting 上進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果顯示模型在實(shí)體關(guān)系聯(lián)合抽取,關(guān)系分類和語(yǔ)義角色標(biāo)注達(dá)到了新的 SOTA,在其他的任務(wù)上取得了跟 SOTA 相比還可以的(comparable)實(shí)驗(yàn)結(jié)果。在事件抽取任務(wù)上的實(shí)驗(yàn)結(jié)果如下圖所示:
整體來(lái)說(shuō)該工作就是一個(gè) unified 的框架可以建模多種常見的結(jié)構(gòu)預(yù)測(cè)任務(wù)(這里可能會(huì)有一個(gè)問(wèn)題,既然是結(jié)構(gòu)預(yù)測(cè)問(wèn)題,為什么沒(méi)有做依存句法解析這種經(jīng)典的結(jié)構(gòu)預(yù)測(cè)任務(wù),作者在 OpenReview 上的回答是主要考慮對(duì)于標(biāo)簽語(yǔ)義知識(shí)進(jìn)行建模,因此并沒(méi)有在依存句法任務(wù)上進(jìn)行實(shí)驗(yàn)),而且有助于遷移學(xué)習(xí)。其實(shí)早在的 EMNLP2020 上的一篇工作已經(jīng)有了這樣的做法來(lái)做序列標(biāo)注和分類任務(wù) [5],作者同樣來(lái)自 AWS,而這篇 ICLR 可以看作一個(gè)擴(kuò)展/進(jìn)一步推廣。后續(xù)這種方法也被在其他下游任務(wù)上,比如屬性級(jí)情感分析 [6]。
BART-Gen
這是一篇發(fā)表在 NAACL 2021 [7] 的工作,針對(duì)常見的句子級(jí)的任務(wù)存在信息不完整的問(wèn)題,作者研究文檔級(jí)的事件論元抽取任務(wù),并將其建模為按照事件模板進(jìn)行生成的形式。同時(shí)作者還提出了一個(gè)文檔級(jí)的事件抽取 Benchmark: WIKIEVENTS,并且包含了完整的事件和共指標(biāo)注。
模型如下圖所示,整體的思路是用標(biāo)記好觸發(fā)詞的文檔和觸發(fā)詞對(duì)應(yīng)的事件類型的預(yù)定義模板(用 < arg> 做為論元的占位符)拼到一起,送入 BART,然后按照模板生成對(duì)占位符進(jìn)行填充,生成完整的模板句子。作者還對(duì)生成策略加上了約束,比如生成時(shí)的詞表限制在輸入的文本中。該模型不需要提前進(jìn)行共指消極的預(yù)處理,而且能夠輕易處理不完整的論元和相同的 role 存在多個(gè)論元的情況,不再需要像之前的 BERT-QA [8] 那種方法一樣需要設(shè)置閾值,僅需一步就可以抽取出所有的論元。
上述只是提到了事件的論元抽取,但是模型的輸入需要含有對(duì)觸發(fā)詞的標(biāo)注,故此作者提出了一個(gè)基于關(guān)鍵詞的觸發(fā)詞抽取方法(抽取觸發(fā)詞和對(duì)應(yīng)的類型),不用于常見的全監(jiān)督的 setting,這里只提供關(guān)鍵詞級(jí)別的監(jiān)督,即針對(duì)每個(gè)類別,提供幾個(gè)描述該類別的詞匯,作為監(jiān)督信號(hào),然后通過(guò) BERT 獲得關(guān)鍵詞的平均詞向量作為類別的表示,然后使用 BERT-CRF 模型和 IO 的標(biāo)注方案,對(duì) CRF 中的特征/發(fā)射分?jǐn)?shù)和轉(zhuǎn)移分?jǐn)?shù)進(jìn)行了一定的改動(dòng)(畢竟沒(méi)有完整的標(biāo)注信息)。
此外作者還提出了一個(gè)新的更有挑戰(zhàn)性的任務(wù):文檔級(jí)信息化的論元抽取任務(wù),動(dòng)機(jī)是考慮到文檔的特殊性,希望模型能夠捕捉到更加長(zhǎng)距離的信息,具體來(lái)說(shuō)作者定義名詞比代詞含有更多的信息,在 mention 的類型相同的條件下,選擇最長(zhǎng)的 mention(具備更多的信息)。在這個(gè)任務(wù)設(shè)定下,希望模型能夠抽取具備更多信息的論元。(簡(jiǎn)而言之,希望能夠?qū)仓竼?wèn)題有一個(gè)很好的處理)。實(shí)驗(yàn)結(jié)果如下表所示:無(wú)論是在跨句的 RAMS 數(shù)據(jù)集上還是該論文提出的新的 WIKIEVENTS 數(shù)據(jù)集上,都是大幅超過(guò)了之前方法。
Text2Event
這是一篇發(fā)表在 ACL 2021 [9] 上的一個(gè)工作,之前的事件抽取的工作主要是將任務(wù)拆解成幾個(gè)子任務(wù)分開來(lái)解決,在這個(gè)工作中作者提出模型 Text2Event,將事件抽取建模成 Seq2Seq 的形式,輸入句子,輸出結(jié)構(gòu)化的事件。下面是一個(gè)輸入輸出的例子,輸出的結(jié)構(gòu)格式為 ((事件類型 觸發(fā)詞 (角色 論元)) ...),然后對(duì)輸出的文本進(jìn)行解析就可以得到結(jié)構(gòu)化的事件。
Input: The man returned to Los Angeles from Mexico following his capture Tuesday by bounty hunters.
Output: ((Transport returned, (Artifact The man), (Destination Los Angeles), (Origin Mexico)), (Arrest-Jail capture (Person The man), (Time Tuesday) (Agent bounty hunters))
為了避免模型的生成式自由隨便地生成,作者還用 event schema 對(duì)解碼做一個(gè)約束,使用基于字典樹的解碼算法。不同于常規(guī)的生成策略(每次生成 token 都是在全詞表上做選擇),基于字典樹的解碼算法會(huì)根據(jù)當(dāng)前的狀態(tài)對(duì)詞表做剪枝,這里簡(jiǎn)單理解就是對(duì)生成的詞表做約束,詞表中的詞除了來(lái)自于輸入的 text,還來(lái)自于事件類型中的詞,當(dāng)然還有用于格式控制的'(' , ')'。
為了避免使用生成模型(T5)直接生成這種非自然的句子過(guò)于困難,作者使用課程學(xué)習(xí)的思路,先去訓(xùn)練做簡(jiǎn)單的子任務(wù)比如生成(type, trigger words)和(role, argument words)這種相對(duì)簡(jiǎn)單的格式,最后再去訓(xùn)練學(xué)習(xí)直接生成完整的事件抽取任務(wù)的句子格式。
整體實(shí)驗(yàn)結(jié)果如下圖所示,相比之前的方法需要 token-level 的標(biāo)注信息,Text2Event 只需要粗粒度的標(biāo)注信息,即不需要定位到 token,只需給出完整的事件即可。可以發(fā)現(xiàn),相比其他的方法,Text2Event 取得了相對(duì)有競(jìng)爭(zhēng)力的性能。
消融實(shí)驗(yàn)的實(shí)驗(yàn)結(jié)果如下圖所示,課程學(xué)習(xí)(CL)和約束解碼策略(CD)尤其在低資源的情況下提升顯著,生成的格式中將其中的事件類型和角色名字換成沒(méi)有真實(shí)意義的符號(hào)(w/o ES)之后,性能有大幅下降,這也證明了生成含有真實(shí)意義的詞更具備豐富的語(yǔ)義,可以更好的利用預(yù)訓(xùn)練模型。
TempGen
這是一篇發(fā)表在 EMNLP 2021 [10] 上的工作,雖然做的任務(wù)不是事件抽取,但是任務(wù)形式上跟事件抽取很像。該工作通過(guò)將文檔級(jí)的角色填充的實(shí)體抽取(role-filler entity extraction (REE))和關(guān)系抽取任務(wù)轉(zhuǎn)換成 seq2seq 的形式來(lái)解決在對(duì)文檔級(jí)建模存在的實(shí)體間長(zhǎng)程依賴問(wèn)題。
任務(wù)形式如下圖所示:針對(duì) REE 任務(wù),使用預(yù)先定義的模板,<SOT> 和 <EOT> 表示模板的開始和結(jié)束,<SOSN> 和 <EOSN> 表示 slot name 的開始和結(jié)束,<SOE> 和 <EOE> 表示實(shí)體的開始和結(jié)束;針對(duì)關(guān)系抽取任務(wù),同樣使用以上類似的模板。
實(shí)驗(yàn)結(jié)果如下圖所示,可以發(fā)現(xiàn) TempGen 在角色填充的實(shí)體抽取和二元,四元關(guān)系抽取任務(wù)上,均取得了最好的性能。
DEGREE
該工作 [11] 也是類似的做法,是采用生成式的方法利用 Prompt 去生成預(yù)定義的模板。這樣做可以融入標(biāo)簽的知識(shí),而且還是一種端到端的設(shè)計(jì),模型能夠捕捉到觸發(fā)詞與論元之間的依賴。模型如下圖所示:整體的思路是給定模型 passage 和事件類型,然后將 passage 和對(duì)應(yīng)的 prompt 拼接到一起,然后模型按照模板生成,最后從生成的模板中解析事件。
首先考慮事件檢測(cè)任務(wù)(Event Detection),我們將給定的事件類型對(duì)應(yīng)的描述和事件關(guān)鍵詞,還有生成的事件檢測(cè)的模板 'Event trigger is <Trigger>' 以上內(nèi)容作為 Prompt 跟 passage 拼接到一起,模型將會(huì)把 trigger 詞填充后的模板輸出出來(lái)。針對(duì)事件論元抽取任務(wù),對(duì)應(yīng)的 Prompt 是事件類型的描述,和第一步檢測(cè)出來(lái)的觸發(fā)詞,還有針對(duì)論元抽取設(shè)計(jì)的模板,模型將會(huì)輸出用 passage 中的詞填充過(guò)的模板。以上是一種 Pipeline 的方法,Joint 的方法的就是將事件類型的描述,事件的關(guān)鍵詞,還有針對(duì)端到端設(shè)計(jì)的生成模板(如下圖最下方),最終按照模板生成。
在最開始的時(shí)候提到事件類型是給定的,實(shí)際上的做法是對(duì)所有的事件類型進(jìn)行采樣 m 個(gè),然后枚舉這 m 個(gè)事件類型,然后進(jìn)行訓(xùn)練。其中 m 是超參。
實(shí)驗(yàn)結(jié)果如下表所示,在端到端的事件抽取任務(wù)上,DEGREE 雖然沒(méi)有取得 SOTA 的性能,但是也是相對(duì)比較有競(jìng)爭(zhēng)力。
在低資源的端到端事件抽取任務(wù)上的實(shí)驗(yàn)結(jié)果如下表所示,可以發(fā)現(xiàn) DEGREE 在這種低資源的設(shè)定下更加有效,基本上超過(guò)了所有的 baseline,正如模型的名字那樣:A Data-Efficient Generative Event Extraction Model.
PoKE
該工作 [12] 同樣也是利用 Prompt 做事件抽取任務(wù),之前的 Prompt 相關(guān)的工作大多基于簡(jiǎn)單的文本分類任務(wù),對(duì)于事件抽取這樣復(fù)雜的任務(wù)還很少被被探究過(guò),作者使用 Prompt 來(lái)探測(cè)語(yǔ)言模型中的知識(shí)。
PoKE 模型用于事件檢測(cè)任務(wù)的模型結(jié)構(gòu)如下圖所示,Prompt 分為兩部分一部分是 external 的,一部分是 internal 的,這個(gè)主要是看 mask 的地方是在 passage 內(nèi)部還是在添加的 prompt 上。具體來(lái)說(shuō)針對(duì) External 的 Prompt,在 passage 后面拼接上橋接詞 'In the passgae above',還有針對(duì)每個(gè)事件類型的 Prompt (格式為:verb <X> indictates xxx Event)然后送進(jìn) T5 中預(yù)測(cè) mask 處的詞。為了幫助模型更好地理解,作者還使用了 internal 的 Prompt,內(nèi)容上跟前者一樣,只是在前者 mask 的地方填上正確的 trigger 詞,反而將上下文中的 trigger 詞 mask 掉,然后送入 T5 預(yù)測(cè)。
本質(zhì)上這樣做的動(dòng)機(jī)還是靠近T5的預(yù)訓(xùn)練任務(wù),更好地探測(cè)和利用模型。
下面介紹用于論元抽取的模型架構(gòu),如下圖所示,整體思路也跟上面事件檢測(cè)的一致,也是分為兩種 Prompt 方式,這里稱為 Single Argument Prompt 和 Joint Argument Prompt。針對(duì)前者,在送入的 passage 中標(biāo)出 trigger 詞,然后拼上橋接詞 'In the passgae above',每個(gè) trigger 對(duì)應(yīng)一個(gè)事件類型以及相關(guān)的論元,構(gòu)造簡(jiǎn)單的 Prompt 來(lái)抽取對(duì)應(yīng)的論元,然后在最后拼上后綴用來(lái)指明事件類型和 trigger 詞,最后送入 T5 中得到相關(guān)的論元的預(yù)測(cè)。Joint 的 Prompt 也是類似,只是將 mask 的位置放在了 passage 的對(duì)應(yīng)的論元上,將原本的 mask 的位置替換成了真實(shí)的論元,最后同樣送入 T5 中輔助模型理解上下文。
事件抽取的實(shí)驗(yàn)結(jié)果如下表所示,PoKE 可以取得相對(duì)有競(jìng)爭(zhēng)力的性能。
總結(jié)
本文梳理了六篇 2021 年的使用 seq2seq 的語(yǔ)言模型去建模事件抽取任務(wù)的相關(guān)工作,按照他們做的任務(wù),使用的語(yǔ)言模型以及是否在解碼時(shí)做了一定的約束這個(gè)三個(gè)信息將這六篇工作做一個(gè)簡(jiǎn)單的對(duì)比,如下表所示。可以發(fā)現(xiàn) T5 和 BART 是選擇比較多的 Seq2Seq 預(yù)訓(xùn)練模型,大部分工作都是做的端到端的事件抽取,也有很多工作對(duì)解碼做了約束以便更好地生成。從以上的工作不難看出更加強(qiáng)有力的端到端的事件抽取模型,文檔級(jí)的事件抽取建模依舊是個(gè)挑戰(zhàn)。
參考文獻(xiàn)
[1] BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension. ACL 2020
[2] Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer. PMLR 2020
[3] Language Models are Few-Shot Learners.
[4] Structured Prediction as Translation between Augmented Natural Languages. ICLR 2021
[5] Augmented Natural Language for Generative Sequence Labeling. EMNLP 2020
[6] Towards Generative Aspect-Based Sentiment Analysis. ACL 2020
[7] Document-Level Event Argument Extraction by Conditional Generation. NAACL 2021
[8] Event Extraction by Answering (almost) Natural Questions. EMNLP 2020
[9] TEXT2EVENT: Controllable Sequence-to-Structure Generation for End-to-end Event Extraction. ACL 2021
[10] Document-level Entity-based Extraction as Template Generation. EMNLP 2021
[11] DEGREE: A Data-Efficient Generative Event Extraction Model. ArXiv 2021
[12] Eliciting Knowledge from Language Models for Event Extraction. ArXiv 2021
特別鳴謝
感謝 TCCI 天橋腦科學(xué)研究院對(duì)于 PaperWeekly 的支持。TCCI 關(guān)注大腦探知、大腦功能和大腦健康。
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達(dá)讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢?答案就是:你不認(rèn)識(shí)的人。
總有一些你不認(rèn)識(shí)的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學(xué)者和學(xué)術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。?
PaperWeekly 鼓勵(lì)高校實(shí)驗(yàn)室或個(gè)人,在我們的平臺(tái)上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)術(shù)熱點(diǎn)剖析、科研心得或競(jìng)賽經(jīng)驗(yàn)講解等。我們的目的只有一個(gè),讓知識(shí)真正流動(dòng)起來(lái)。
📝?稿件基本要求:
? 文章確系個(gè)人原創(chuàng)作品,未曾在公開渠道發(fā)表,如為其他平臺(tái)已發(fā)表或待發(fā)表的文章,請(qǐng)明確標(biāo)注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發(fā)送,要求圖片清晰,無(wú)版權(quán)問(wèn)題
? PaperWeekly 尊重原作者署名權(quán),并將為每篇被采納的原創(chuàng)首發(fā)稿件,提供業(yè)內(nèi)具有競(jìng)爭(zhēng)力稿酬,具體依據(jù)文章閱讀量和文章質(zhì)量階梯制結(jié)算
📬?投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來(lái)稿請(qǐng)備注即時(shí)聯(lián)系方式(微信),以便我們?cè)诟寮x用的第一時(shí)間聯(lián)系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長(zhǎng)按添加PaperWeekly小編
🔍
現(xiàn)在,在「知乎」也能找到我們了
進(jìn)入知乎首頁(yè)搜索「PaperWeekly」
點(diǎn)擊「關(guān)注」訂閱我們的專欄吧
·
總結(jié)
以上是生活随笔為你收集整理的乘风破浪的Seq2Seq模型:在事件抽取上的应用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 月工资计算公式和方法
- 下一篇: 支付宝亲密付可以看到消费明细吗