【論文筆記】DocRED: A Large-Scale Document-Level Relation Extraction Dataset

DocRED: A Large-Scale Document-Level Relation Extraction Dataset

筆者自述:
DocRED主要是提出了一個全新的數據集,以往的Relation Extraction主要集中在 single sentence之中的(intra-sentence),而有些event或者說relation並不僅僅narrow在這個範圍,可以會跨越好幾個句子,段落,甚至達到整個文章的級別。因此,作者Yuan Yao提出了DocRED針對這樣的現象提出了新的數據集,並在上面開展了初步的工作與公開了方法。

Abstract

該數據集來自Wikipedia和Wikidata. 有3個特徵

  • DocRED同時標註了named entity與relations. 並且是目前爲止最大的 document-level RE數據集
  • DocRED推斷關係需要閱讀多個句子並且綜合整篇document來進行。
  • 在人工標註數據的同時,我們也標註了大量弱監督性數據,使數據可以被用於監督學習和弱監督學習。

爲了度量document-level RE的難度與挑戰性,作者實現了大量最近的在句內所做的SOTA方法並使用了完整的度量方法
基於數據集和目前通用的數據集,我們總結出了大量未來的研究方向。
代碼:https: //github.com/thunlp/DocRED.

Introduction

  • RE在大規模知識圖譜構建中有非常重要的作用。
  • 大部分現有的工作集中在sentence-level上
  • 近年來有很多neural models在sentence-level上有SOTA性能
    然後,儘管性能非常優異,在實際生活中依然有着不可避免的侷限性,因爲很多relation是存在於多個句子中的。如下兩個例子。

Figure 1中的兩個relation

其中 Riddarhuset 是 in Stockholm的( 在sentence 4
並且 Stockholm 是 Sweden的capital( 在sentence 1
這樣遞推纔可得,Riddarhuset 的 country是 Sweden
所以evidence是1,4

但是第一個relation我個人覺得有點問題,因爲僅從第五句話來說並不能得到Royal Court Orchestra是屬於 Royal Swdish Opera的。evidence需要加上sentence 1纔可以得到 Kungliga Hovkapellet 是 Royal Court Orchestra.

Figure 1
至少存在40.7%的關係只能從多個句子中抽取出來

document level的數據集其實還是有的

  • Quirk and Poon 2017 和 Peng et al. 2017 使用自動化標註, 驗證不可靠。
  • BC5CDR只考慮 chemical-induced disease. 很難在這個數據集上開發普適性的方法
  • Levy et al. 2017 在QA問題中解決包含了 document-level RE,卻不能使用 專門的document-level RE的方法。
  • 現存的數據集不是人工標註數據量太小,就是標註有誤差,或者僅適用於專門的領域與方法。
    large-scale, manually-annotated, general-purporse

Data Collection

Human-Anootated Data Collection

數據收集有4個Stages:

  • 1.爲wikipedia documents生成弱監督標註
  • 2.標註文檔和引用中所有的named entity
  • 3.鏈接named entity與wikidata items
  • 4.標註關係與對應的證據

與ACE一樣,Stage2和4需要用3個迭代的步驟

  • 1.使用NER模型生成named entity或者 使用RE模型 relation recommendations
  • 2.人工糾正和補充relation
  • 3.檢查和進一步修改數據

爲了確保步驟1中的NER或者RE模型訓練的足夠優秀,annotator在開始標註之前需要通過測試,只有達到性能要求才可以開始標註。
只使用wikipedia document中的introductory section作爲語料庫,因爲高質量與包含基本信息。

Stage1: Distantly Supervised Annotation Generation

  • 使用 spaCy 實現NER,再將entity連接到Wikidata items,有相同Knowledge Base IDs的entity將會合並。在合併了的entity pair中的relation將會通過搜索wikidata來進行標註。
  • 文檔少於128字,少於4個entity或者少於4個relation的,全部不要,保留107050個文檔,使用spaCy 進行弱標註。
  • 在107050個文檔中,隨機選取5053個document使用人工標註。

Stage2: Named Entity and Coreference Annotation.

  • 爲了提供高質量的共同引用信息和named entity,進行人工檢查。
  • 現在的數據集是一箇中間狀態,因爲既有一大堆的鏈接狀態,也有很多的entity

Stage3: Entity Linking

  • 鏈接每一個entity至多個Wikidata items,再下一個階段會有relation recommendation. 每一個entity都有一個wikidata items數據集,至少是名字完全匹配上的。 (爲什麼要這麼做? 有什麼意義)
  • 使用entity linking toolkit TagMe.

Stage4: Relation and Supporting Evidence Collection.

  • entity pair太多了(每一個entity pair之間都可以存在關係?—)
  • relation types太多了
    RE方法提供一些relation的推薦和弱監督標註 entity linking(使用多個entity linking的方法)(類似於Figure 1 的relation 1的subject嗎?),然後人工基於此標註。

每篇document 需要19.9個relation推薦, 7.8個RE supplement

是用人來選取 supporting evidence的

Distantly Supervised Data Collection

將人工標註數據移出弱標註數據,爲了確認有同樣的entity和relation分佈,使用BERT進行確認。
使用同樣的KB IDs合併named entity.
最後通過弱監督的方式合併entity pair

Data Analysis

Data Size

在 documents, words, sentences,entities,特別是relation種類的數量上,都要比現存的數據集要大。

Named Entity Types

有非常多的entity types 常見的person,location,organization,time and number此外還包含了非常多雜項的named entity type 像event,laws等等。

Relation Types

96個常見的relation type,非常廣泛的範圍
並且良好的定義爲了層級與同義語,非常適合document-level的RE system.

Reasoning Types

並不明白reasoning types是怎麼定義的,沒有找到。

Inter-Sentence Relation Instances

平均每個relation需要1.6個句子的支撐。46.4%的句子需要超過一句以上的支持句。

數據集已經介紹完了,實驗部分不贅述。(寫寫太麻煩了,反正也沒什麼人看,細節都在下面。)

entity mention 的計算方式通過:

對於每一個entity mention
(從第s個word到第t個word)mk=1ts+1j=stm_k = \frac{1}{t-s+1}\sum_{j=s}^{t}
對於意指同一個entity的representation
ei=1Kkmke_i = \frac{1}{K}\sum_{k}m_k

問題:

  1. Section3中,並不明白reasoning types是怎麼定義的,全網沒有找到。
  2. 在Table 3中的Setting爲什麼既有S又有W?(第3,4兩行), 照理來說 文中提到 ”We remove the 5,053 human-annotated documents from the 106,926 documents, and use the rest 101,873 documents as the corpus of distantly supervised data.“的話,W setting的情況下,測試不應該包含這些句子了。但是應該問題不大吧,畢竟都確認過是same entity distribution了。
    3.需要再去focus一下 具體的過程
    我覺得其實stages之間沒有很明顯的gap
    隨意畫了個草圖,兄弟們感受一下

已解決的自問自答和想法

猜測是通過 human annotated BERT,然後再去標註 distantly supervised data?

  • 並不是的,只有entity type embedding,human annotated就用人來區分id然後mapping到vector space,而distantly supervised data就是用

Evaluation Metrics處把訓練集和測試、dev集中的overlap sample去除了,避免了 evaluation bias,非常nb

實驗部分做了不同的feature ablation study. 就是看將不同的,concate起來的embedding進行刪除等等。

And the entity ids are mapped into vec- tors as the coreference embeddings.

  • 這句話的意思我讀出來就是,可能兩個entity的mention不同,但其實指的是同一個entity,那麼這兩個entity mention的 coreference embedding會是相同的。

文中基本的方法其實都是先做entity extraction然後再去對entity pair(每個entity已經通過了entity linking的計算,通過 entity mention的計算方式(本文中aforementioned))進行一個BCE loss的計算。是常規的relation extraction方式。公式在文中是(1)和(2) 非常簡單。
因爲跨越句子了,所以entity會非常非常的多,而且任何兩個entity之間都可能存在relation(每兩個pair都需要通過公式來計算存在relation的概率,這會大大增加計算複雜度(原本的intra-sentence之間的relation並不會存在這樣的問題,一個句子也沒幾個entity嘛))

自己感覺能做的工作:

先說一句,雖然這文章一直在說提供了非常多的future direction,但是並沒有future work這個section,文中其他地方也沒有明顯提示。無語

自己能感覺做的,我覺得可以考慮提高計算效率來看。具體的思路,和傳統方法的改進,需要將papers to read finish了,才能瞭解relation extraction上具體的改進和方法。

看完這篇文章需要增加閱讀的論文:

  • 文中所做實驗的CNN的那個
  • 文中所提到的context-aware
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章