《SAIS Supervising and Augmenting Intermediate Steps for Document-Level Relation Extraction》論文閱讀筆記
代碼
原文地址
預備知識:
1.什么是標記索引(token indices)?
標記索引是一種用于表示文本中的單詞或符號的數字編碼。它們可以幫助計算機理解和處理自然語言。例如,假如有一個字典{"我": 1, "是": 2, "Bing": 3, ".": 4},那么文本"我是Bing."的標記索引就是[1, 2, 3, 4]。不同的模型或任務可能使用不同的字典或編碼方式,因此標記索引也可能有所不同。
2.什么是交替段落標記索引(alternating segment token indices)?
交替段落標記索引是一種用于區分文檔中不同句子的方法。它可以幫助PLM更好地理解文檔的結構和語義。具體來說,就是在每個句子的開頭和結尾添加一個特殊的標記,例如0或1,表示該句子屬于哪個段落。這樣,PLM就可以根據這些標記來分析文檔中的句子之間的關系。
3.什么是Spacy?
spaCy是一個用于高級自然語言處理的開源軟件庫,用Python和Cython編程語言編寫。
摘要
從句子級到文檔級,關系抽取(RE)的研究需要處理更長的文本和更復雜的實體交互。因此,如何有效地編碼關鍵信息源——相關上下文和實體類型,是一個挑戰性的問題。然而,現有的方法在訓練RE的過程中只是隱式地學習這些關鍵信息源的建模。這導致了它們在監督信號和模型預測的可解釋性方面存在不足。為了解決這些問題,本文提出了一種顯式地指導模型捕獲相關上下文和實體類型的方法,即通過監督和增強中間步驟(Supervising and Augmenting Intermediate Steps ,SAIS)進行RE。本文基于一系列精心設計的任務,提出了SAIS方法,它不僅能夠由于更有效的監督而提取更高質量的關系,而且能夠更準確地檢索出與RE實例相關的證據,從而提高模型的可解釋性。此外,通過評估模型的不確定性,SAIS還能夠通過基于證據的數據增強和集成推理進一步提升性能,同時降低計算成本。最終,SAIS在三個基準數據集(DocRED,CDR和GDA)上達到了RE的最新水平,并在DocRED上的證據檢索任務上相對于第二名提高了5.04%的F1分數。
1 Introduction

RE:識別給定文本片段中的實體對之間的關系,將非結構化文本轉化為結構化知識。
早期的RE研究主要關注句子級別的關系預測,而Peng等人(2020)通過大量的實驗發現,這些方法之所以有效,是因為它們能夠利用文本中的上下文和實體類型信息。
現有的文檔級關系抽取(DocRE)在訓練過程中,只是隱式地學習了文本上下文和實體類型的信息,導致了結果的不理想和不可解釋。
本文提出了SAIS,來顯式地指導模型捕獲文本上下文和實體類型信息,從而進行RE。
本文認為,從帶有注釋實體提及的輸入文檔到RE的最終輸出,推理過程包含四個中間步驟。如圖1所示:
(1) 共指消解(Coreference Resolution,CR):識別文檔中指代同一實體的不同提及。
句子0提到了“Carl Linnaeus the Younger”的“國籍”,而句子1談到了“Linnaeus filius”的“父親”。其實,這兩個名字都是指同一個人。因此,對于一個文檔,要先用CR來確定同一實體的不同提及在上下文中的角色。
(2) 實體類型(Entity Typing ,ET):標注實體的類型信息。
例如,實體A,“Linnaeus filius”,是“PER”(人)類型。在一個實體對中,頭實體和尾實體的類型信息可以幫忙排除不合理的關系。比如,“year_of_birth”關系不可能存在于兩個“PER”(人)類型的實體之間。
(3) 匯總證據檢索(Pooled Evidence Retrieval,PER):區分有和沒有有效支持句的實體對。
(4) 細粒度證據檢索(Fine-grained Evidence Retrieval,FER):為每種有效關系提供具體的證據句子。
不是所有的實體對都有有效的關系(例如,示例中的實體D和B)。有些實體對還有多種關系(例如,實體A是實體D的“educated_at”和“employee”),每種關系都有自己的證據。所以,用PER來判斷實體對是否有有效的支持句子,用FER來給出每種有效關系的獨特和可解釋的證據。
為了進一步提高性能,本文還采用了兩種基于證據的數據增強方法和集成推理方法。基于證據的數據增強方法包括使用偽文檔和注意力掩碼來過濾出與關系相關的上下文,集成推理方法則是在模型對原始預測不確定時,結合多個模型的輸出來提高置信度。這些方法只需要很少的額外計算代價,就可以顯著提升模型的效果。
SAIS在三個RE基準測試(DocRED, CDR, GDA)上都取得了最好的性能,并且在DocRED上的ER F1分數相對于第二名提高了5.04%,說明SAIS不僅提高了關系的準確性,還提高了關系的可解釋性。
2 Background
2.1 Problem Formulation
給定一個文檔
,它由一組句子![]()
和一組實體
組成。每個實體
都有一個屬于
的類型,并且在
中至少出現了一次,用![]()
表示它的所有提及。對于任意一對頭實體和尾實體
,DocRE的任務是根據
和
的某些提及在
中是否表達了某種屬于
的關系
,來判斷它們之間是否存在這種關系。這里,
和
分別是預定義的實體類型集合和關系類型集合。另外,對于
和它們之間的任意一種有效關系
,證據檢索(ER)的任務是找出
中的一個子集
,它包含了表達
的足夠信息。
,它由一組句子
和一組實體
組成。每個實體
都有一個屬于
的類型,并且在
中至少出現了一次,用
表示它的所有提及。對于任意一對頭實體和尾實體
,DocRE的任務是根據
和
的某些提及在
中是否表達了某種屬于
的關系
,來判斷它們之間是否存在這種關系。這里,
和
分別是預定義的實體類型集合和關系類型集合。另外,對于
和它們之間的任意一種有效關系
,證據檢索(ER)的任務是找出
中的一個子集
,它包含了表達
的足夠信息。2.2 Related Work
DocRE的兩種方法:
(1)基于圖的方法:通常將上下文信息融入到基于啟發式的文檔圖中,并通過先進的神經技術進行多跳推理。
(2)基于Transformer的方法:利用預訓練的語言模型的優勢來編碼長距離的上下文依賴。
然而,大多數之前的方法都是在訓練RE模型的過程中隱式地學習上下文信息。因此,它們面臨著監督不充分和模型預測不可解釋的問題。
與EIDER相比,SAIS使用了更精確和可解釋的FER來檢索證據,并提出了兩種不同的基于證據的數據增強方法,而且還通過只對不確定的關系三元組應用集成學習來節省計算成本。因此,SAIS不僅通過更有效的監督提高了RE的性能,而且還檢索了更準確的證據,以提高可解釋性。
3 Supervising Intermediate Steps
3.1 Document Encoding
為了利用預訓練語言模型(PLM)在各種下游任務中的優勢,本文使用PLM對文檔進行編碼。具體來說,對于一個文檔
,在每個句子
的首尾分別添加一個分類器標記“[CLS]”和一個分隔符標記“[SEP]”。還用一對實體標記“*”標注出每個提及
的位置。接著,將文檔,以及每個句子的交替段落標記索引(Liu和Lapata, 2019),輸入到一個PLM中,得到:
,在每個句子
的首尾分別添加一個分類器標記“[CLS]”和一個分隔符標記“[SEP]”。還用一對實體標記“*”標注出每個提及
的位置。接著,將文檔,以及每個句子的交替段落標記索引(Liu和Lapata, 2019),輸入到一個PLM中,得到:
其中,
是詞嵌入,
是跨詞注意力。
是PLM的最后一個Transformer層中所有注意力頭的平均值。
是詞嵌入,
是跨詞注意力。
是PLM的最后一個Transformer層中所有注意力頭的平均值。
是
中的詞數,
是PLM的嵌入維度。把每個提及或句子前的“*”或“[CLS]”對應的嵌入作為該提及或句子的嵌入。3.2 Coreference Resolution (CR)
作為一個案例研究,Yao等人(2019)報告了在DocRED數據集中,有17.6%的關系實例需要進行共指消解。因此,在對文檔進行編碼后,本文使用CR模塊來將重復的上下文提及映射到同一個實體。具體來說,對于一對提及
,通過將它們的嵌入
和
輸入一個分組雙線性層來計算它們是否指代同一個實體的概率。該層將嵌入分成
個等大小的組,即
,對
同理,并在每個組內應用雙線性變換,參數為
:
,通過將它們的嵌入
和
輸入一個分組雙線性層來計算它們是否指代同一個實體的概率。該層將嵌入分成
個等大小的組,即
,對
同理,并在每個組內應用雙線性變換,參數為
:
其中
,
是sigmoid函數。
,
是sigmoid函數。由于在DocRED數據集中,大多數提及對應不同的實體(每個實體平均只有1.34個提及),本文使用焦點損失(Lin等人,2017)來緩解這種極度的類別不平衡,它是在二元交叉熵的基礎上增加的:

其中
表示
和
指代同一個實體,否則為0。類別權重
與
的頻率成反比,
是一個超參數。
表示
和
指代同一個實體,否則為0。類別權重
與
的頻率成反比,
是一個超參數。3.3 Entity Typing (ET)
在一對實體中,類型信息可以用來過濾掉不可能的關系。為了保證實體嵌入能夠反映類型信息,本文通過ET模塊來對實體嵌入進行正則化。具體來說,首先利用logsumexp池化來融合實體
的各個提及
的嵌入:
的各個提及
的嵌入:
由于實體
可以出現在實體對的頭部或尾部,本文分別用兩個線性層來生成頭部實體嵌入
和尾部實體嵌入
:
可以出現在實體對的頭部或尾部,本文分別用兩個線性層來生成頭部實體嵌入
和尾部實體嵌入
:
其中![]()
![]()
。


。無論實體
出現在實體對的哪個位置,它的頭部和尾部嵌入都應該包含
的類型信息。因此,通過將
(
)輸入一個線性層來預測實體
的類型概率:
出現在實體對的哪個位置,它的頭部和尾部嵌入都應該包含
的類型信息。因此,通過將
(
)輸入一個線性層來預測實體
的類型概率:
然后,使用多類交叉熵損失來優化類型預測:

其中
,
是softmax函數。
表示實體
屬于類型
,否則為0。
,
是softmax函數。
表示實體
屬于類型
,否則為0。3.4 Pooled Evidence Retrieval (PER)
為了更好地理解文本中的上下文信息,本文使用 PER 模塊來顯式地讓 PLM 關注每個實體對之間的關聯句子。也就是說,目標是找出文檔
中對于實體對
有用的證據句子集合
,而不考慮每個句子
所表達的具體關系。在這種情況下,給定一個實體對
,首先根據公式1中的交叉詞注意力機制來計算一個獨特的上下文嵌入
:
中對于實體對
有用的證據句子集合
,而不考慮每個句子
所表達的具體關系。在這種情況下,給定一個實體對
,首先根據公式1中的交叉詞注意力機制來計算一個獨特的上下文嵌入
:
上式中,
表示元素級的乘法。
是
對文檔中所有詞的注意力(即,
的提及級注意力的平均值)。
同理。然后通過將實體對
的上下文嵌入
和句子
的嵌入
送入一個分組雙線性層來計算句子
是否屬于證據句子集合
的概率:
表示元素級的乘法。
是
對文檔中所有詞的注意力(即,
的提及級注意力的平均值)。
同理。然后通過將實體對
的上下文嵌入
和句子
的嵌入
送入一個分組雙線性層來計算句子
是否屬于證據句子集合
的概率:
其中
和
。
和
。這里同樣遇到了一個嚴重的類別不平衡的問題,因為大多數實體對(在 DocRED 中占 97.1%)沒有有效的關系或證據。因此,類似于第 3.2 節,本文也使用了帶有二元交叉熵的焦點損失函數:

其中
,類別權重
與
的頻率成反比,
是一個超參數。
,類別權重
與
的頻率成反比,
是一個超參數。3.5 Fine-grained Evidence Retrieval (FER)
為了進一步提高模型的可解釋性,不僅要對實體對進行PER,還要對每個實體對和關系的三元組進行FER,從而恢復它們的特定上下文證據。具體來說,給定一個三元組
,首先將
和
的關系嵌入
通過一個線性層融合成一個三元組嵌入
:
,首先將
和
的關系嵌入
通過一個線性層融合成一個三元組嵌入
:
其中
表示連接,而
是從 PLM 的嵌入矩陣中獲取的。
表示連接,而
是從 PLM 的嵌入矩陣中獲取的。然后,使用一個分組雙線性層來計算一個句子
是否屬于三元組的細粒度證據集合
的概率:
是否屬于三元組的細粒度證據集合
的概率:
其中
和
。
和
。由于 FER 只針對有有效關系的實體對,所以這里的類別不平衡問題比 PER 要小一些。因此,定義
,并使用標準的二元交叉熵損失函數:
,并使用標準的二元交叉熵損失函數:
3.6 Relation Extraction (RE)
根據上述四個互補任務,本文對每個實體對
的相關上下文
進行編碼,并保留它們的實體類型信息
和
。然后,通過兩個獨立的線性層從
中提取出頭實體和尾實體所需的上下文:
的相關上下文
進行編碼,并保留它們的實體類型信息
和
。然后,通過兩個獨立的線性層從
中提取出頭實體和尾實體所需的上下文:
其中 ![]()
![]()
![]()



接著,將上下文信息和類型信息結合起來,得到頭實體和尾實體的表示:

接下來,使用一個分組雙線性層來計算頭實體
和尾實體
之間是否存在關系
的對數幾率:
和尾實體
之間是否存在關系
的對數幾率:
其中![]()
![]()
。


。正如前文所述,只有少數實體對之間有有效的關系,而且一個實體對之間可能有多個關系。因此,為了處理多標簽不平衡分類的問題,本文參考Zhou等人 (2021)的方法,引入了一個閾值關系類
,并采用了一個自適應閾值損失函數:
,并采用了一個自適應閾值損失函數:
這個損失函數的目的是提高有效關系
的對數幾率,降低無效關系
的對數幾率,兩者都相對于
。
的對數幾率,降低無效關系
的對數幾率,兩者都相對于
。總之,為了提高模型的 RE 性能,本文設計了四個任務來顯式地監督模型在各個中間步驟的輸出,從而更好地捕捉實體類型信息和文本上下文。在附錄 A 中展示了整個流程
,并通過最小化多任務學習目標函數來整合所有的任務:
,并通過最小化多任務學習目標函數來整合所有的任務:
其中
。
是用來平衡不同任務權重的超參數。
。
是用來平衡不同任務權重的超參數。在使用當前流程
進行推理時,通過比較其對數幾率和閾值對數幾率 (即
) 來判斷一個三元組
是否有效 (即實體對
之間是否有關系
)。對于每個預測的三元組
,通過比較
和
來判斷一個句子
是否屬于證據集
,其中
是一個閾值。
進行推理時,通過比較其對數幾率和閾值對數幾率 (即
) 來判斷一個三元組
是否有效 (即實體對
之間是否有關系
)。對于每個預測的三元組
,通過比較
和
來判斷一個句子
是否屬于證據集
,其中
是一個閾值。4 Augmenting Intermediate Steps
4.1 When to Augment Intermediate Steps

FER 預測的證據是每個三元組
唯一的。但是,所有可能的三元組的總數太多了(在 DocRED 的開發集中約有 4000 萬個),如果要用每個三元組的證據來增強推理結果,計算量太大,不現實。
唯一的。但是,所有可能的三元組的總數太多了(在 DocRED 的開發集中約有 4000 萬個),如果要用每個三元組的證據來增強推理結果,計算量太大,不現實。因此,本文采用了選擇性預測的思想 (El-Yaniv等人, 2010),從所有的三元組中選出一個子集
,這個子集里的三元組是模型對原始流程
的關系預測最不確定的。
,這個子集里的三元組是模型對原始流程
的關系預測最不確定的。具體來說,用
來衡量模型對
的置信度,然后把置信度最低的
的三元組放入不確定集
。對于
中的三元組,放棄原來的關系預測,而是用基于證據的數據增強來提高性能(詳見第 4.2 節)。
來衡量模型對
的置信度,然后把置信度最低的
的三元組放入不確定集
。對于
中的三元組,放棄原來的關系預測,而是用基于證據的數據增強來提高性能(詳見第 4.2 節)。為了確定拒絕率
(注意
不是一個超參數),先按照絕對置信度
對開發集中的所有三元組進行排序。當
增加時,不在
中的三元組的風險(即不準確率)會降低,反之亦然。
(注意
不是一個超參數),先按照絕對置信度
對開發集中的所有三元組進行排序。當
增加時,不在
中的三元組的風險(即不準確率)會降低,反之亦然。本文既想降低關系預測的風險,又想降低拒絕率,這樣才能減少數據增強的計算成本。為了平衡這兩個目標,選擇使
達到最小的
。如圖 2 所示,在 DocRED 的開發集中找到
。在實踐中,還可以限制每個實體對的拒絕三元組數不超過 10,這樣就能把
的大小縮小到 DocRED 開發集中所有三元組的 1.5%。
達到最小的
。如圖 2 所示,在 DocRED 的開發集中找到
。在實踐中,還可以限制每個實體對的拒絕三元組數不超過 10,這樣就能把
的大小縮小到 DocRED 開發集中所有三元組的 1.5%。4.2 How to Augment Intermediate Steps
考慮一個三元組
,它表示實體
和
之間存在關系
。為了驗證這個三元組是否有效,需要根據第 3.5 節的方法,計算給定的句子
是否屬于關系
的證據集合
,即計算
的值。基于這個概率,本文提出了兩種基于證據的數據增強方法,分別是:
,它表示實體
和
之間存在關系
。為了驗證這個三元組是否有效,需要根據第 3.5 節的方法,計算給定的句子
是否屬于關系
的證據集合
,即計算
的值。基于這個概率,本文提出了兩種基于證據的數據增強方法,分別是:(1)基于偽文檔的方法(
):從文本中選取一些滿足
的句子,將它們拼接成一個偽文檔,然后輸入到原始的模型中,得到三元組的置信度
。
):從文本中選取一些滿足
的句子,將它們拼接成一個偽文檔,然后輸入到原始的模型中,得到三元組的置信度
。(2)基于注意力掩碼的方法(
):根據
的值生成一個注意力掩碼
,用它來調整上下文嵌入![]()
,其中
是文本的隱藏狀態,
和
是實體的注意力權重。保持模型的其他部分不變,得到三元組的置信度
。
):根據
的值生成一個注意力掩碼
,用它來調整上下文嵌入
,其中
是文本的隱藏狀態,
和
是實體的注意力權重。保持模型的其他部分不變,得到三元組的置信度
。為了綜合這兩種方法的優勢,本文參考了Eider的工作,使用一個混合參數
對每個關系
的
,
和原始置信度
進行加權平均,得到:
對每個關系
的
,
和原始置信度
進行加權平均,得到:
通過最小化開發集上的
的二元交叉熵損失來訓練混合參數:
的二元交叉熵損失來訓練混合參數:
其中
表示三元組
是有效的,否則為 0。在測試階段,對于每個
,只有當它的混合置信度
大于 0 時,才認為它是有效的三元組。
表示三元組
是有效的,否則為 0。在測試階段,對于每個
,只有當它的混合置信度
大于 0 時,才認為它是有效的三元組。這種方法可以在模型對原始預測不確定時利用證據信息提高關系抽取的性能,在模型對原始預測有信心時節省計算成本。在附錄 B 中給出了基于證據的數據增強和集成推理的總體步驟
。這些步驟只在
的訓練之后執行,因此對計算成本的影響可以忽略不計。
。這些步驟只在
的訓練之后執行,因此對計算成本的影響可以忽略不計。

浙公網安備 33010602011771號