論文翻譯:Extracting Relational Facts by an End-to-End Neural Model with Copy Mechanism

Goouu發表於2020-10-11

論文地址:https://www.aclweb.org/anthology/P18-1047.pdf

通訊作者主頁:http://people.ucas.ac.cn/~zhaojun

論文出處:中國科學院大學

程式碼地址:https://github.com/xiangrongzeng/copy_re

文章標題:Extracting Relational Facts by an End-to-End Neural Model with Copy Mechanism(基於複製機制的端到端神經模型提取關聯事實)ACL2018

Abstract

句子中的關係事實往往比較複雜。不同的關係三連詞在一個句子中可能有重疊。根據句子的三重重疊程度,我們將句子分為三種型別,即正常重疊完全重疊單一性重疊。現有的方法主要集中在普通類上,不能準確提取關係三元組。在本文中,我們提出了一種基於複製機制的端到端學習模型,該模型可以從任意一個類的句子中聯合提取相關事實。在譯碼過程中,我們採用了兩種不同的譯碼策略:一種是採用一個聯合譯碼器,另一種是採用多個獨立譯碼器。我們在兩個公共資料集中測試了我們的模型,我們的模型明顯優於基線方法。

一、Introduction

近年來,為了構建大型結構知識庫,人們在從自然語言文字中提取關係事實方面做了大量工作。關係事實通常表示為由兩個實體(一個實體對)和它們之間的語義關係組成的三元組,例如< Chicago,country,US>。

到目前為止,大多數的方法主要集中在關係提取或分類的任務,識別兩個預先分配的實體之間的語義關係。雖然取得了很大的進展(Hendrickx等,2010;曾等,2014;Xu et al., 2015a,b),他們都假設實體是預先識別的,而忽略了實體的提取。實體和關係的提取,早期的著作(Zelenko et al., 2003;Chan和Roth(2011)採用了流水線方式,首先進行實體識別,然後預測提取實體之間的關係。然而,流水線框架忽略了實體識別和關係預測的相關性(Li和Ji, 2014)。最近的研究試圖聯合提取實體和關係。於和林(2010);Li and Ji (2014);Miwa和Sasaki(2014)設計了幾個複雜的特性來構建這兩個子任務之間的橋樑。與其他自然語言處理(NLP)任務類似,它們需要複雜的特徵工程,並且嚴重依賴於已有的NLP工具進行特徵提取。

近年來,隨著深度學習在許多NLP任務上的成功,它也被應用於相關事實的提取。曾等(2014);Xu等(2015a,b)使用CNN或RNN進行關係分類。Miwa和Bansal (2016);Gupta等人(2016);Zhang等人(2017)將關係提取任務視為端到端的(end2end)表格填充問題。Zheng等(2017)提出了一種新的標記模式,並採用基於遞迴神經網路(RNN)的序列標記模型來聯合提取實體和關係。

在這裡插入圖片描述
圖一:正常重疊、完全重疊、單一重疊的例子。重疊的實體被標註為黃色

然而,句子中的關係事實往往是複雜的。不同的關係三連詞在一個句子中可能有重疊。這種現象使得上述方法,無論是基於深度學習的模型還是基於傳統特徵工程的聯合模型,都無法準確提取出相關的三元組。一般情況下,根據我們的觀察,我們將句子按照三重重疊程度分為三種型別,分別是Normal, EntityPairOverlap (EPO)SingleEntityOverlap (SEO)。如圖1所示,如果一個句子的三元組都沒有重疊的實體,那麼它就屬於普通類。如果它的一些三元組有重疊的實體對,那麼這個句子屬於EntityPairOverlap類。如果一個句子的某些三元組有重疊的實體而這些三元組沒有重疊的實體對,那麼這個句子就屬於單列重疊類。在我們的知識中,以往的方法大多集中於一般型別,很少考慮其他型別。即使是基於神經網路的聯合模型(Zheng et al., 2017),它也只給一個單詞分配一個標籤,這意味著一個單詞最多隻能參與一個三元組。因此,三重重疊的問題實際上並沒有得到解決。

為了解決上述挑戰,我們的目標是設計一個模型,該模型可以從正常的、EntityPairOverlap和SingleEntityOverlap類的語句中提取三聯體,包括實體和關係。為了處理三重重疊的問題,必須允許一個實體自由地參與多個三重。與以往的神經方法不同,我們提出了一種基於複製機制的序列-序列學習的end2end模型,該模型可以聯合提取任意一個類的句子中的相關事實。該模型的主要組成部分包括編碼器解碼器兩部分。編碼器將自然語言語句(源語句)轉換為固定長度的語義向量。然後,解碼器讀取這個向量並直接生成三個一組。為了生成三元組,首先由解碼器生成關係。其次,解碼器採用複製機制,從源句中複製第一個實體(頭實體)。最後,解碼器從源語句中複製第二個實體(尾部實體)。這樣就可以提取出多個三元組。具體來說,我們在解碼過程中採用了兩種不同的策略:使用一個統一的解碼器(一個解碼器)來生成所有的三元組,或者使用多個分離的解碼器(多解碼器),每個解碼器生成一個三元組)。在我們的模型中,當一個實體需要參與不同的三元組時,它可以被多次複製。因此,我們的模型可以處理三連詞重疊問題,並同時處理全句和單句重疊。此外,由於在單個end2end神經網路中提取實體和關係,我們的模型可以聯合提取實體和關係

我們工作的主要貢獻如下:

  • 提出了一種基於複製機制的基於序列-序列學習的end2end神經模型,用於從句子中提取關係事實,實現實體和關係的聯合提取。
  • 我們的模型可以通過複製機制來考慮關係三重重疊問題。在我們的知識中,有關三重重疊的問題從來沒有被解決過。
  • 我們在兩個公共資料集上進行了實驗。實驗結果表明,我們的技術進步分別為39.8%和31.1%。

二、Related Work

Hendrickx等人(2010)通過給出帶有註釋實體的句子;曾等(2014);Xu等(2015a,b)將句子中的關係識別問題視為一個多類分類問題。Zeng等(2014)最早將CNN引入關係分類。Xu等人(2015a)和Xu等人(2015b)通過CNN或RNN學習最短依賴路徑的關係表示。儘管這些模型取得了成功,但它們忽略了從句子中提取實體,不能真正提取關係事實。

通過給出一個沒有任何註釋實體的句子,研究人員提出了幾種提取實體和關係的方法。基於管道的方法,如Zelenko et al.(2003)和Chan and Roth(2011),忽略了實體提取和關係預測的相關性。為了解決這一問題,提出了幾種聯合模型。早期作品(Yu and Lam, 2010;Li and Ji, 2014;Miwa和Sasaki(2014)需要複雜的特徵工程過程,特徵提取嚴重依賴於NLP工具。近期的模型,如Miwa和Bansal (2016);Gupta等人(2016);Zhang等(2017);Zheng等(2017)基於神經網路聯合提取實體和關係。這些模型基於標記框架,該框架為單詞或單詞對分配關係標記。儘管它們取得了成功,但是這些模型都不能完全處理第一部分中提到的三重重疊問題。原因在於他們的假設,即一個單詞(或一對單詞)只能被分配一個關係標籤。

本工作是基於複製機制的序列-序列學習,它已被用於一些NLP任務。Dong和Lapata(2016)提出了一種基於注意力增強的編碼-解碼器模型的方法,該方法對輸入話語進行編碼並生成其邏輯形式。Gu等(2016);He等(2017)將複製機制應用於句子生成。它們將一個段從源序列複製到目標序列。

三、Our Model

在本節中,我們介紹了一個基於複製機制的可微神經模型,它能夠以一種end2end的方式提取多個相關事實

我們的神經模型首先將一個變長句子編碼成一個固定長度的向量表示,然後將這個向量解碼成相應的關係事實(三元組)。解碼時,我們可以用一個統一的譯碼器來解碼所有的三元組,也可以用一個獨立的譯碼器來解碼每一個的三元組。我們分別將它們表示為一個解碼器模型多個解碼器模型

3.1、OneDecoder Model

在這裡插入圖片描述
圖二:一個解碼器模型的整體結構使用雙向RNN對源語句進行編碼,然後使用解碼器直接生成三元組。對關係進行預測,並從源語句中複製實體

3.1.1、Encoder

編碼一個句子s = [w1,…,wn],其中wt表示第t個單詞,n為源句長度,首先將其轉化為矩陣X = [x1,…,xn],其中xt為第t個單詞的嵌入。

標準的RNN編碼器讀取矩陣X,並且通過如下公式生成輸出ot和隱藏狀態ht:
在這裡插入圖片描述
在上述公式中,f(.)表示編碼器功能。

跟隨(Gu et al., 2016),我們的編碼器使用雙向RNN (Chung et al., 2014)對輸入的句子進行編碼。前向和後向RNN分別得到輸出序列。我們將對應的輸出序列合併來表示每個位置上的單詞。我們採用Oe來表示連線的結果,類似地,前向和後向RNN的串聯隱藏狀態作為句子的表示,採用s。

3.1.2、Decoder

解碼器用於直接生成三元組。首先,解碼器生成三元組的關係。其次,解碼器從源句中複製一個實體作為三元組的第一個實體。最後,解碼器從源語句中複製第二個實體。重複這個過程,解碼器可以產生多個三元組。當所有有效的三元組生成後,解碼器將生成NA三元組,這意味著“停止”,類似於神經語句生成中的“eos”符號。請注意,NA三元組由NA-關係和NA-實體對組成。
在這裡插入圖片描述
圖三:一個解碼器模型和多解碼器模型的解碼器的輸入和輸出。(a)是一個解碼器模型的解碼器。我們可以看到,只有一個解碼器(帶陰影的綠色矩形)被使用,這個編碼器是用句子表示s初始化的。(b)是多解碼器模型的解碼器。有兩個解碼器(綠色矩形和帶陰影的藍色矩形)。用s初始化第一譯碼器;其他解碼器用s和先前解碼器的狀態初始化。

如圖3所示:在第t個時間步,我們計算解碼器的輸出ot和隱藏狀態ht。
在這裡插入圖片描述
f(.)是表示解碼器功能,並且ht-1表示第t-1個時間步上隱藏層狀態。我們初始化h0代表源句子。

ut是第t個時間步上解碼器的輸入,計算方法如下:
在這裡插入圖片描述
ct表示注意力向量並且vt是複製實體的嵌入或t-1時間步上關係的預測,Wu表示權重矩陣。

(1)Attention Vector
注意力向量ct的計算方法如下:
在這裡插入圖片描述
其中,oi表示第i個時間步上編碼器的輸出,α、β表示向量,Wc是向量的權重,selu(.)是啟用函式。

當我們在第t(1<=t)個時間步上得到解碼器輸出ot之後,如果t%3=1(t=1,4,7,…),我們使用ot來預測一個關係,這意味著我們正在解碼一個新的三元組。否則,如果t%3=2(t=2,5,8,…),我們使用ot從源句中複製第一個實體,如果t%3=0(t=3,6,9,…),我們複製第二個實體。

(2)Predict Relation
假設總共有m個有效關係。我們使用全連通層來計算置信向量qr = [qr1,…,qrm 所有有效關係:
在這裡插入圖片描述
其中Wr為權重矩陣,br為偏差。當預測關係時,當模型試圖生成NA-triplet時,預測NA-relation是可能的。考慮到這一點,我們計算NA-relation的置信值為:
在這裡插入圖片描述
其中WNA為權重矩陣,bNA為偏差。然後我們將qr和qNA連線起來,形成所有關係(包括NA-relation)的置信向量,並應用softmax得到概率分佈pr = [pr 1,…,pr m + 1]:
在這裡插入圖片描述
我們選擇概率最大的關係作為預測關係,利用它的嵌入作為下一個時間步長輸入vt+1。

(3)Copy the First Entity
複製第一個實體,我們計算源句中所有單詞的置信向量qe = [qe 1,…,qe n]:
在這裡插入圖片描述
We表示向量權重。與關係預測相似,我們將qe和qNA串聯起來形成置信向量,應用softmax得到概率分佈pe = [pe 1,…,pe n + 1]:
在這裡插入圖片描述
類似地,我們選擇概率最高的單詞作為預測單詞,並使用它作為下一次的時間步長輸入vt+1。

(4)Copy the Second Entity
複製第二個實體幾乎與複製第一個實體相同。唯一的區別是在複製第二個實體時,我們不能再次複製第一個實體。這是因為在一個有效的三元組中,兩個實體必須是不同的。假設第一個被複制的實體是原句中的第k個單詞,我們引入一個帶n (n是原句的長度)元素的掩碼向量M,其中:
在這裡插入圖片描述
然後計算概率分佈pe為:
在這裡插入圖片描述
其中⊕是元素乘法。就像複製第一個實體一樣,我們選擇概率最高的單詞作為預測單詞,並使用它作為下一次的時間步長輸入vt+1。

3.2、MultiDecoder Model

多解碼器模型是單解碼器模型的擴充套件。主要的區別是當解碼三元組時,多解碼器模型用幾個分開的解碼器解碼三元組。圖3 (b)顯示了多解碼器模型的解碼器的輸入和輸出。有兩個解碼器(帶陰影的綠色和藍色矩形)。解碼器按順序工作:第一解碼器生成第一三元組,然後第二解碼器生成第二個三元組

與公式2類似,我們計算他t時間步長上的隱藏狀態ht和第i個解碼器的輸出ot,公式如下:
在這裡插入圖片描述
g(.)表示解碼器,ut表示t時間步上解碼器的輸入(同公式3)。ht-1表示在t-1時間步長上第i個解碼器的隱藏狀態。h^t-1表示第i個解碼器的初始隱藏狀態,計算方法如下:
在這裡插入圖片描述

3.3、Training

一個解碼器和多解碼器模型都使用負對數似然損失函式進行訓練。給定一批含有B個句子的資料S與目標結果Y,其中yi為si的目標結果,損失函式定義如下:
在這裡插入圖片描述
T是解碼器的最大時間步長。p(x|y)表示給定y後x的條件概率。

四、Experiments

4.1、Dataset

為了評估我們的方法的效能,我們在兩個廣泛使用的資料集上進行了實驗。

第一個是 《紐約時報》(New York Times, NYT)的資料集,它是通過遠距離監控方法產生的(Riedel et al., 2010)。該資料集包含從294k 1987-2007年《紐約時報》新聞文章中抽取的118萬個句子。共有24個有效關係。在本文中,我們將該資料集視為與Zheng等人(2017)相同的監督資料。我們過濾了100多個單詞的句子和不包含正三聯句的句子,剩下66195個句子。我們從其中隨機選取5000個句子作為測試集,5000個句子作為驗證集,其餘的56195個句子作為訓練集。

第二個是WebNLG資料集(Gardent等,2017)。它最初是為自然語言生成(NLG)任務而建立的。該資料集包含246個有效關係。在這個資料集中,一個例項包括一組三聯體和幾個標準句(由人工編寫)。每個標準句都包含這個例項的所有三元組。在我們的實驗中,我們只使用第一個標準句,如果在這個標準句中沒有找到所有的三胞胎實體,我們就過濾掉這些例項。原點WebNLG資料集包含訓練和發展集合。在我們的實驗中,我們對待起源發展集作為測試集和隨機分割原點為驗證組和訓練集訓練。過濾和分離後,列車集包含5019例項,測試集包含703個例項和驗證集包含500個例項。

NYT和WebNLG資料集中每個類的句子數如表1所示。值得注意的是,一個句子可以同時屬於EntityPairOverlap類和SingleEntityOverlap類。
在這裡插入圖片描述
表一:正常、完整重疊(EPO)和單個重疊(SEO)類的句子數。值得注意的是,一個句子可以同時屬於EPO類和SEO類。

4.2、Settings

在我們的實驗中,對於這兩個資料集,我們使用LSTM (Hochreiter和Schmidhuber, 1997)作為模型單元;單元數設定為1000;嵌入維數設定為100;批處理大小為100,學習率為0.001;最大時間步長T為15,這意味著我們預測每個句子最多有5個三胞胎(因此,在多解碼器模型中有5個解碼器)。這些超引數在驗證集上進行調優。我們使用Adam (Kingma和Ba, 2015)來優化引數,當我們在驗證集中找到最佳結果時,我們就停止訓練。

4.3、Baseline and Evaluation Metrics

我們將我們的模型與NovelTagging模型(Zheng et al., 2017)進行了比較,後者在相關事實提取方面表現最好。我們直接執行Zheng等人(2017)釋出的程式碼來獲取結果。

在Zheng等人(2017)之後,我們使用了標準的微精度、召回率和F1分數來評估結果。當三元組的關係和實體都是正確的,則認為三元組是正確的。在複製實體時,我們只複製實體的最後一個字。當且僅當一個三元組的關係是三元組,且三元組有一個NA-entity對時,三元組才被認為是na -三元組。預測的na -三元組將被排除在外。

4.4、Results

表2顯示了NovelTagging模型(Zheng et al., 2017)和我們的OneDecoder和MultiDecoder模型的精度、查全率和F1值。
在這裡插入圖片描述
表二:不同模型在NYT資料集和WebNLG資料集上的結果。

可以看出,在NYT資料集中,我們的多解碼器模型取得了最好的F1分數,為0.587。與NovelTagging的0.420相比,改進了39.8%。此外,我們的OneDecoder模型也優於NovelTagging模型。在webnlg資料集中,多解碼器模型的F1得分最高(0.371)。多解碼器和單解碼器模型的效能分別比NovelTagging模型提高了31.1%和7.8%。這些觀察結果驗證了我們模型的有效性。

我們還可以觀察到,在NYT和WebNLG的資料集中,NovelTagging模型的精度值最高,召回值最低。相比之下,我們的模型更加平衡。我們認為原因在於所提出的模型的結構。中篇小說標籤法是通過給單詞加標籤來發現三元組的。然而,他們假設只能為一個單詞分配一個標籤。因此,一個單詞最多隻能參與一個三元組。因此,新穎標籤模型只能召回少量的三元組,不利於召回效能的提高。與NovelTagging模型不同的是,我們的模型應用複製機制來查詢一個三元組的實體,當一個單詞需要參與多個不同的三元組時,可以多次複製這個單詞。毫不奇怪,我們的模型召回更多的三元組,並實現更高的召回價值。進一步的實驗證實了這一點。

4.5、Detailed Results on Different Sentence Types

為了驗證我們的模型處理重疊問題的能力,我們在NYT資料集上進行了進一步的實驗。
在這裡插入圖片描述
圖四:在NYT資料集中正常、完整的roverlap和單列重疊類中,NovelTagging、OneDecoder和MultiDecoder模型的結果。

圖4顯示了NovelTagging、OneDecoder和MultiDecoder模型在Normal、EntityPairOverlap和SingleEntityOverlap類中的結果。正如我們所看到的,我們提出的模型在Entity-PairOverlap類和SingleEntityOverlap類中比NovelTagging模型執行得好得多。具體地說,我們的模型在所有指標上實現了更高的效能。另一個觀察結果是NovelTagging模型在普通班中表現最好。這是因為NovelTagging模型更適合於普通類。然而,我們提出的模型更適合三重態重疊問題。此外,我們的模型仍然很難判斷輸入語句需要多少個三聯體。結果,我們的正常類模型出現了丟失。然而,所提出的模型的整體效能仍然優於NoverTagging。此外,我們注意到EntityPairOverlap和SingleEntityOverlap類的整體提取效能低於正常類。這證明從EntityPairOverlap和singleentityoverlap類中提取關係事實比從普通類中提取更有挑戰性。

我們還比較了該模型從包含不同數量的三元組的句子中提取關係的能力。我們將NYT測試集中的句子分為5個子類。每個類包含1、2、3、4或>= 5個三元組的句子。結果如圖5所示。當從包含1個三元組的句子中提取關係時,中篇小說標註模型的效果最好。但隨著三元組數目的增加,小說標記模型的效能顯著下降。我們也可以觀察到小說標記模型的回憶價值大幅下降。這些實驗結果證明了我們的模型處理多重關係提取的能力。

4.6、OneDecoder vs. MultiDecoder

在這裡插入圖片描述
圖五:從包含不同數量的三元組的句子中提取關係。我們將NYT測試集的句子分為5個子類。每個類包含1、2、3、4或>= 5個三元組的句子。
在這裡插入圖片描述
表三:實體生成的F1值
表四:關係生成的F1值

如之前的實驗(表2、圖4、圖5)所示,我們的MultiDecoder模型比OneDecoder模型和NovelTagging模型的效能要好。為了找出多解碼器模型優於單解碼器模型的原因,我們分析了多解碼器模型的實體生成和關係生成能力。實驗結果見表3和表4。我們可以觀察到,在NYT和WebNLG資料集上,這兩個模型在關係生成方面具有可比性。然而,多解碼器在生成實體時的效能要優於單解碼器模型。我們認為這是因為多解碼器模型利用不同的解碼器生成不同的三元組,使得實體生成結果更加多樣化。

Conclusions and Future Work

在本文中,我們提出了一個基於Seq2Seq學習框架和複製機制的end2end神經模型,用於關聯事實的提取。我們的模型可以聯合從句子中提取關係和實體,特別是當句子中的三元組重複時。此外,我們分析了不同的重疊型別,並採取了兩種策略,包括一個統一解碼器和多個分離解碼器。我們在兩個公共資料集上進行了實驗,以評估我們的模型的有效性。實驗結果表明,所建立的模型較基線方法有較好的效能,並能較好地提取三個類的相關事實。這個具有挑戰性的任務還遠遠沒有解決。我們今後的工作將集中於如何進一步提高業績。另一個未來的工作是在其他NLP任務(如事件提取)中測試我們的模型。

相關文章