信息抽取任務包括命名實體識別(NER)、關系抽取(RE)、事件抽取(EE)等各種各樣的任務。不同的信息抽取任務針對的任務不同,希望得到的輸出也不同。例如下面的例子中,對于NER任務,需要識別Steve是PER、Apple是ORG;而對于關系抽取任務,則需要識別出Steve和Apple是Work For的關系。此外,不同場景的同一個信息抽取任務的輸出可能也是不同的。
目前業內比較常見的做法是針對每個場景的每種信息抽取任務,分別獨立的訓練一個模型。這種方法成本很高,每種任務、每種場景都要建立模型。此外,獨立的訓練模型導致不同任務之間無法共享知識,沒有發揮出數據和模型的全部能力。
中科院、百度在ACL 2022中提出了一種可以實現統一建模各類信息抽取任務的框架UIE,在4種信息檢索任務的13個數據集上都取得了顯著效果。
1 統一多種信息抽取任務
要想實現使用一個模型解決多種信息抽取任務的目標,一個核心問題是如何統一各種信息抽取任務的輸入和輸出。作者提出所有信息抽取任務都可以抽象成Spotting和Associating兩個步驟:在Spotting步驟中,確定輸入文本中的實體以及該實體對應的實體類型;在Associating中,建立兩個實體之間的關系。
例如下面是Steve became CEO of Apple in 1997這句話使用上述方法抽象出來的描述語言。藍色的代表關系抽取,紅色的代表事件抽取,其他的是命名實體識別。首先能夠識別出person、organization、time三種實體。此外Steve可以識別出work for的關系,而事件以became作為start-position,關聯employee、employer、time。
通過上述方法,可以實現將所有信息抽取任務都抽象為相同結構的語言描述,為后續的多任務統一建模打下了基礎。
2 基于prompt的多任務統一建模
基于上面的關系抽取統一描述,本文提出了UIE框架,在輸入側構造每個任務structural schema instructor (SSI),以及原始文本,使用Encoder編碼后,使用Decoder解碼統一的信息抽取語言描述。整個過程如下圖所示。
仍然以上面文本為例,輸入由SSL原始文本組成。對于關系抽取任務,SSL對應的是[spot] person [asso] word for。這會作為一個前綴prompt,用來指導模型根據特定的任務進行文本生成。而對于NER任務,SSL對應的是[spot] person [spot] organization [spot] time。SSL后面接一個[text]標識符以及原來的文本。整體的輸入文本拼接模式如下:
上述文本會通過Encoder進行編碼,然后利用Decoder進行文本生成,生成的目標文本即為根據信息抽取的label生成的統一描述。在具體的模型結構上,BART、T5等生成式模型,都可以作為框架的主模型的backbone。這種基于前綴的生成方式,也可以比較容易的適應到一個新的信息抽取任務上。
3 模型訓練
為了訓練上面說的從SSL+文本到描述的生成式模型,文中采用了三個預訓練任務聯合學習。構造了3種數據,分別是SSL+原始文本到結構化文本的pair對、單獨的原始文本以及單獨的結構化文本。第一個任務是SSL+原始文本到結構化文本的匹配關系,匹配的label為1,不匹配label為0,label為0的樣本是通過隨機替換spot或associate實現的。第二個任務是使用結構化文本訓練Decoder,這一步是為了讓Decoder適應結構化文本的語言形式。第三個任務是在訓練過程中引入一般的mask language modeling任務,目的是防止模型在訓練過程中丟失了文本原始的語義信息。最終的預訓練loss是下面3個loss的和:
預訓練好的模型可以在下游任務進行finetune以應用到各類任務上。同時作者引入rejection mechanism,在結構化文本中插入一些在原始輸入中沒有的實體以及NULL,讓模型可以通過生成NULL避免被誤導生成不正確的結果。
4 實驗結果
UIE框架在信息抽取任務中的整體效果如下,主要對比了UIE和各個數據集上各類SOTA模型的效果。可以看到在大部分數據集上,UIE的效果都是最優的。對比沒有經過預訓練的模型(SEL),UIE取得非常顯著的提升,通過將多任務使用統一框架聯合訓練,實現了知識的共享和效果的互相促進。
除了在正常的有監督任務上效果外,本文也對小樣本場景的效果進行了實驗,主要對比了使用T5模型finetune和使用UIE方法的效果,UIE在小樣本上的效果非常顯著。
5 開源代碼
與此論文相應的開源代碼發布在百度PaddleNLP上https://github.com/PaddlePaddle/PaddleNLP/tree/develop/model_zoo/uie。
-
數據
+關注
關注
8文章
7140瀏覽量
89581 -
模型
+關注
關注
1文章
3312瀏覽量
49226 -
NER
+關注
關注
0文章
7瀏覽量
6221
原文標題:一個模型解決所有信息抽取任務!(含代碼)
文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論