關係抽取入門級概覽

因爲課題組的需要,過去幾個月一直在學習強化學習和魯棒性算法。再加上忙於課題組中的一些工作,所以過去兩個月基本沒有什麼時間來寫博客。最近讀了不少強化學習和魯棒性算法方面的論文,也有一些小的收穫,等有時間再通過博客分享出來。今天分享的是我近期記錄的關係抽取的筆記,希望對想要入門關係抽取這個任務的朋友們有些幫助。

1 關係抽取概述

關係抽取從信息抽取(亦稱爲“文本結構化”)中演化而來。關係抽取一般指從非結構化文本中抽取實體以及實體間的關係。關係抽取的下游任務是:問答系統,聊天機器人等。

1.1 關係的獲取方法

  • 人工構建;

  • 從結構化數據庫中轉換;

  • 自動構建:即自動從文本中抽取。

1.2 關係抽取的任務分類

關係實例抽取: 

    輸入:文本,給定的關係; 

    輸出:實體對{(主體,客體)}。

關係分類:

    輸入:文本,實體對,關係列表P;

    輸出:關係P_i。

 實體關係聯合抽取:

    輸入:文本;

    輸出:三元組的集合{(主體,關係,客體)}

開放關係抽取:此類任務抽取的是關係的文本描述,這類關係通常未定義。開放關係抽取之後要進行規範化。

2 關係抽取方法

 

評測數據集:

    人工構建的數據集:ACE 2005, SemEval-2010 Task 8。質量高,規模小。

    基於遠程監督構造的數據集:NYT, KBP。 規模大、但噪音多。

    遠程監督方法是一種弱監督方法,優點是代價小,規模大;缺點是質量問題。

基於遠程監督的數據集構造過程:

  1. 從知識庫中爲目標關係識別儘可能多的實體對;

  2. 對於每個實體對,利用實體鏈接從大規模文本中抽取提及該實體對的句子集合,併爲每個句子標註相應的關係;

  3. 包含實體對的句子集合 和 關係類型標籤 構成關係抽取的標註集。相應的句子是訓練數據,關係類型是標籤。

解決遠程監督的噪音問題:

發表於2018年ACL的《Robust distant supervision relation extraction via deep reinforcement learning》這篇論文中的思路是引入強化學習的思想,通過選擇高質量的句子,來不斷地篩選數據集。這種思路是將基於遠程監督的關係分類劃分爲兩個子任務:

    實例篩選:利用強化學習策略構造一個實例選擇器,從遠程監督產生的數據中獲取優質樣本。

    關係分類:根據選擇的樣本訓練關係分類器。關係分類器同時爲實例選擇器提供獎勵。

以及同時期發佈的另一篇論文《Reinforcement learning for relation classification from noisy data》

 

2.1 基於模式的抽取

使用模式來表達關係在文本中提及方式,將模式與語料匹配,來獲取關係實例。這種方法現在用得比較少。

有兩種方法,一種是專家定義模式,俗稱規則法;另一種是自動學習模式。

自動化模式獲取方法:bootstrapping,即根據已經習得的模式自動標註新樣本,然後基於新補充的標註樣本來獲取新的模式,依次逐步提升模型。

2.2 基於學習的關係抽取

數據標註->模型構建->模型學習

  1. 基於RNN的關係抽取:包括輸入層,雙向循環層和池化層,最後借全連接層+softmax層生成關係的概率分佈;

  2. 基於CNN的關係抽取;

  3. 基於注意力機制的關係抽取:爲每個句子賦予權重,權重越大表明該句子表達目標關係的程度越高,反之則越可能是噪聲。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章