《REBEL Relation Extraction By End-to-end Language generation》閱讀筆記

2023-12-06 12:01:30
 
 
 
相關概念:
1.What is natural language understanding (NLU)?
Natural language understanding (NLU) is a branch of artificial intelligence (AI) that uses computer software to understand input in the form of sentences using text or speech. NLU enables human-computer interaction by analyzing language versus just words.
NLU enables computers to understand the sentiments expressed in a natural language used by humans, such as English, French or Mandarin, without the formalized syntax of computer languages. NLU also enables computers to communicate back to humans in their own languages.
A basic form of NLU is called parsing, which takes written text and converts it into a structured format for computers to understand. Instead of relying on computer language syntax, NLU enables a computer to comprehend and respond to human-written text.
One of the main purposes of NLU is to create chat- and voice-enabled bots that can interact with people without supervision. Many startups, as well as major IT companies, such as Amazon, Apple, Google and Microsoft, either have or are working on NLU projects and language models.
 
2.What are BIO and BILOU?
BIO and BILOU encodings represent the most popular encoding schemas. The BIO encoding schema is presented in Fig., where B denotes the beginning of a segment, I represents the inside of a segment, including the ending word, and O stands for the word that does not belong to any segment.
(B - 'beginning';I - 'inside';L - 'last';O - 'outside';U - 'unit')
 
3.What is the exposure bias?
Exposure bias refers to the train-test discrep- ancy that seemingly arises when an autoregres- sive generative model uses only ground-truth contexts at training time but generated ones at test time.
 
4.What is the difference between Wikidata and DBpedia?
In more detail, DBpedia periodically retrieves information from the different chapters of Wikipedia by using statistic and data mining techniques, whereas Wikidata provides structured data to Wikipedia in real time (see Fig.)
 
5.BERT、GPT和BART的區別。
  • BERT模型是僅使用Transformer-Encoder結構的預訓練語言模型(具備雙向語言理解能力的卻不具備做生成任務的能力)。
  • GPT模型是僅使用Transformer-Decoder結構的預訓練語言模型(擁有自迴歸特性的卻不能更好地從雙向理解語言)。
  • BART模型是使用Transformer模型整體結構的預訓練語言模型(在自然語言理解任務上表現沒有下降,並且在自然語言生成任務上有明顯的提高)。
 
6.什麼叫做自迴歸?
自迴歸,全稱自迴歸模型(Autoregressive model,簡稱AR模型),是統計上一種處理時間序列的方法, 是用同一變數之前各期的表現情況,來預測該變數自己本期的表現情況。 因為這不是用來預測其他變數,而是用來預測自己,所以叫做自迴歸。
 
摘要
關係抽取是資訊抽取的一個重要任務,它可以從原始文字中抽取出實體之間的關係三元組,為知識庫、事實檢查和其他應用提供支援。然而,這通常需要一個多步驟的流程,可能會導致錯誤的累積或者只能處理少數幾種關係型別。為了解決這些問題,本文提出了一個端到端的關係抽取模型REBEL,它是一個自迴歸的seq2seq模型。seq2seq模型已經在語言生成和NLU任務上表現出優異的效能,例如實體連結等。本文展示瞭如何通過將關係三元組轉換為一個文字序列來簡化關係抽取的問題,並且使用BART作為seq2seq模型的基礎,使得REBEL能夠抽取超過200種不同的關係型別。
 
1 Introduction
關係抽取:
  • 從給定的文字中提取實體之間的語意關係,把非結構化原始文字轉換為結構化資料,組成關係三元組(ei,rij,ej),這些資料可用於一系列下游任務和應用程式,例如知識庫的構建等。
 
傳統關係抽取被視為一個兩步問題
  1. 使用命名實體識別(NER)從文中抽取實體
  2. 使用關係分類(RC)判斷提取的實體之間是否存在關係
 
傳統關係抽取所面臨的問題:
  • 識別哪些實體真正共用一個關係可能會成為瓶頸,因為這需要額外的步驟,例如負抽樣和註釋等。
 
端到端方法是一個多工的方法,可以同時處理上述兩個任務,即讓一個模型同時在兩個目標上進行訓練。
 
端到端方法所面臨的問題:
  1. 通常比較複雜,有一些專注於任務的元素,需要根據關係或實體型別的數量進行適應。
  2. 不夠靈活,無法處理不同性質的文字(句子級別與檔案級別)或領域。
  3. 通常需要很長的訓練時間,以便對新資料進行微調。
 
本文提出了一種將關係抽取視為seq2seq任務的自迴歸方法(REBEL, Relation Extraction By End-to-end Language generation),以及一個利用自然語言推理模型得到的大規模遠端監督資料集(REBEL)。REBEL是一個簡單而有效的端到端關係抽取模型,它將三元組作為文字序列來處理。它利用一個大的銀色資料集對一個Transformer(BART)進行預訓練,然後在幾個週期內微調,在多個RE基準上取得最佳的效能。它的簡單性也使得它能夠靈活地適應不同的領域和更長的文字。由於在微調階段仍然使用預訓練的模型權重,因此不需要重新訓練模型特定的元件,節省了訓練時間。此外,REBEL不僅可以用於關係抽取,還可以用於關係分類,達到與其他方法相當的結果。本文提供了REBEL的模型程式碼和預訓練權重,它可以抽取超過200種關係型別,也可以很容易地在新的RE和RC資料集上進行微調。
 
2 Related work
2.1 Relation Extraction
關係抽取與關係分類的定義:
  1. RC(Relation Classification):從給定上下文中兩個實體之間進行關係分類。
  2. RE(Relation Extraction ):從原始文字中提取實體之間關係三元組,沒有給定實體,也稱為端到端關係提取。
 
關係抽取的方法:
  1. 流水線技術(pipeline):早期的工作利用CNN、LSTM挖掘語意關係,並對給定的實體進行關係分類。 目前已有工作開始使用transformer模型。
  2. 早期的端到端方法:對輸入文字中所有單詞對進行分類,使用表格表示或表格填充,將任務轉化為填充一個表格(關係)的格子,其中行和列是輸入中的單詞。
  3. 利用聯合訓練的流水線技術:聯合訓練NER和RC,比如Eberts and Ulges (2021)使用了一個流水線方法(檔案級RE),聯合訓練了一個多工模型,利用共指消解在實體級別而不是提及級別進行操作。
 
關係抽取是一個重要的任務,但是由於缺乏統一的基準和任務定義,導致了不同的資料集和評估方法,使得模型之間的比較變得困難。Taillé等人(2020)分析了目前存在的不同問題,並且嘗試建立一個RE的評估框架,以實現系統之間的公平對比。本文將遵循他們的指導,除非特別說明,否則使用嚴格的評估,即只有當頭實體和尾實體以及關係和實體型別(如果資料集中有的話)均被正確抽取(即完全與註釋重疊)時,才認為一個關係是正確的。
 
2.2 Seq2seq and Relation Extraction
流水線技術和表格填充方法面臨的挑戰:
  • 它們通常假設每個實體對之間最多有一種關係型別,而且多分類方法不考慮其他的預測。例如,它們可能預測同一個頭實體有兩個「出生日期」,或者預測一些不相容的關係。此外,它們需要推斷所有可能的實體對,這可能會變得計算代價昂貴。
 
使用Seq2seq方法來進行RE(Zeng等人,2018, 2020; Nayak和Ng, 2020)可以有效地解決一些問題。這些方法可以利用解碼機制來避免重複輸出相同的實體,以及根據之前的預測來調整未來的解碼,從而隱含地消除不一致的預測。
 
Seq2seq方法存在的問題:
  1. Zhang等人(2020)指出,將三元組轉換為文字序列需要一個線性化的過程,而這個過程可能是有些隨意的,比如按照字母順序。Zeng等人(2019)對這個問題進行了研究,他們使用了強化學習來確定三元組的抽取順序
  2. 由於在訓練過程中,預測總是依賴於正確的輸出,seq2seq方法會受到暴露偏差的影響。Zhang等人(2020)提出了一個樹解碼的方法,可以緩解這個問題,同時仍然保持了seq2seq方法的自迴歸性質。
 
seq2seq Transformer模型,例如BART(Lewis等人,2020)或T5(Raffel等人,2020),已經被應用於NLU任務,如實體連結(Cao等人,2021)、AMR解析(Bevilacqua等人,2021)、語意角色標註(Blloshmi等人,2021)或詞義消歧(Bevilacqua等人,2020)等。通過將這些任務重新定義為seq2seq任務,這些模型不僅展現了優異的效能,還體現了seq2seq模型的靈活性,它們不需要依賴於預先定義的實體集合,而是利用解碼機制,可以輕鬆地處理新的或未見過的實體。
 
本文提出了一個編碼器-解碼器的模型,它可以解決一些之前的seq2seq方法在RE上遇到的問題。它利用注意力機制來處理長距離的依賴和對之前解碼的輸出的關注(或忽略)。它還設計了一種新的三元組線性化方法,保證了三元組的順序是一致的,使得模型能夠更好地利用編碼的輸入和解碼的輸出。
 
3 REBEL
  1. 使用BART-large(Lewis et al., 2020)作為基礎模型,將關係抽取和分類視為一個生成任務,輸出輸入文字中存在的每個三元組。
  2. 輸入:編碼器接收輸入資料序列,即資料集中的文字。
  3. 輸出:解碼器產生輸出資料序列,即線性化的三元組。
  4. 預訓練模型:BART。
  5. 損失函數:Cross-Entropy。
 
在一個翻譯任務中,teacher forcing利用兩種語言的文字對,通過將解碼的文字依賴於輸入。在訓練時,編碼器接收一種語言的文字,解碼器接收另一種語言的文字,在每個位置輸出下一個token的預測。
在本文的方法中,將一個包含實體以及它們之間隱含的關係的原始輸入句子,翻譯為一組明確指代這些關係的三元組。因此,需要將三元組表達為一個token序列,由模型進行解碼。本文設計了一種可逆的線性化方法,使用特殊的token,使得模型能夠以三元組的形式輸出文字中的關係,同時最小化需要解碼的token的數量。
 
如果x是輸入句子,y是根據第3.1節中解釋的方法將x中的關係線性化的結果,那麼REBEL的任務是給定x,自迴歸地生成y:
通過在這樣一個任務上微調BART,使用與摘要或機器翻譯中相同的交叉熵損失,最大化給定輸入文字生成線性化三元組的對數似然。
 
3.1 Triplets linearization
  1. <triplet>標記了一個新的三元組的開始,後面跟著一個新的頭實體。
  2. <subj>標記了頭實體的結束和尾實體的開始。
  3. <obj>標記了尾實體的結束和頭實體與尾實體之間關係的開始。
本文采用了一種新的三元組線性化方法,它按照實體在輸入文字中出現的順序來排序和分組三元組。對於每個頭實體,先輸出它與文字中第一個出現的尾實體之間的關係,然後輸出它與其他尾實體之間的關係。不需要每次都重複頭實體的名字,這樣可以縮短解碼文字的長度。當一個頭實體的所有關係都輸出完畢後,開始輸出文字中下一個頭實體的關係,直到所有的三元組都被線性化。
如上圖所示,同一個頭實體「This Must Be the Place」對應兩個尾實體、兩個關係。
 
依據本文的方法,可以通過特殊的token來恢復原始的三元組。在RE資料集中,三元組中不僅包含實體,還包含實體型別,需要模型一起預測。為了實現這一點,可以對演演算法1做一些修改,用不同的token來表示不同的實體型別,如<per>或<org>,分別代表人或組織,來替換<subj>和<obj>,並用它們來標記實體的型別。
 
3.2 REBEL dataset
自迴歸變換模型,如BART或T5,在不同的生成任務(如翻譯或摘要),表現得很好,但一方面,它們需要大量的資料來訓練;另一方面,端到端的關係抽取資料集是稀缺的,通常很小。
 
T-REx資料集(Elsahar 2018):為了解決大規模的RE資料集的缺乏,一種方法是從DBpedia摘要中抽取實體和關係,但是這種方法的註釋質量有些問題。首先,由於使用了一個過時的實體連結工具(Daiber等人,2013),導致了實體消歧的錯誤。這樣就會影響到基於這些實體的關係抽取,造成關係的缺失或錯誤。其次,這種方法大多數情況下是通過假設兩個實體在文字中的共現就意味著它們之間存在關係,而這種假設並不一定成立。
 
REBEL資料集:本文通過擴充套件他們的流程來克服這些問題,建立了一個大的銀色資料集,用於REBEL的預訓練。首先,使用wikiextractor (Attardi, 2015)提取Wikipedia摘要,即每個Wikipedia頁面目錄前的部分。然後使用wikimapper,將文字中作為超連結的實體、日期和值,連結到Wikidata實體。接著,從Wikidata中抽取出這些實體之間存在的所有關係,作為三元組的標註。該流程可以使用任何語言的Wikipedia dump,支援多語言的關係抽取;使用多核處理和SQL來處理Wikidata dump,避免了記憶體問題,提高了抽取效率;使用了最新的實體連結工具,減少了實體消歧的錯誤,提高了關係抽取的質量。
 
從Wikidata中抽取關係的方法並不總是能夠反映文字中的真實關係。Elsahar等人(2018)認為這種方法可以得到高質量的資料,但是實際上,對於一些常見的關係,如國家或配偶,這種方法會產生很多噪聲。本文也發現了這種方法的一些註釋問題。本文利用一個預訓練的RoBERTa (Liu等人,2019)自然語言推理(NLI)模型來解決這個問題,並使用它來過濾那些不是由Wikipedia文字所蘊含的關係。對於每個三元組,輸入包含兩個實體的Wikipedia摘要中的文字以及三元組(主語+關係+賓語,用<sep>標記分隔)。
 
本文的資料抽取流程雖然不是完美的,可能會保留一些噪聲的關係,或者遺漏一些文字中存在的關係,但是它可以自動地收集大量的實體和關係作為銀色資料集,這對於訓練本文的模型是足夠的。本文的RE資料集建立工具被命名為cRocoDiLe
 
4 Experimental Setup
資料集:4個RE資料集;1個RC資料集;預訓練資料集。
評估指標:Recall、Precision、micro-F1。評估策略參考Taillé et al. (2020)。
 
5 Results
使用有預訓練的REBEL比沒有使用預訓練的REBEL效果好。
在句子級上進行預訓練的REBEL在DocRED上的表現仍然具有競爭力。