關係抽取論文整理,核方法、遠程監督的重點都在這裡
- 2020 年 2 月 24 日
- 筆記

來源 | CSDN 部落格
作者 | Matt_sh,編輯 | Carol
來源 | CSDN雲計算(ID:CSDNcloud)
本文是個人閱讀文章的筆記整理,沒有涉及到深度學習在關係抽取中的應用。
筆記中一部分來自個人解讀,一部分來自原文,一部分來自網上摘錄。部分筆記還不夠完善,後續補上的話重點應該是這幾年的前沿論文。

核方法
閱讀資源:SVM中的核方法
https://zhuanlan.zhihu.com/p/27445103
1、Dependency Tree Kernels for Relation Extraction
思路:將句子轉化為句法依賴樹,構建增強依存樹(Augmented Dependency Trees),得到一個句子和兩個實體的各種特徵,定義相應的核函數,計算不同樹之間的相似度,最後用SVM進行分類。這種方法的缺點就是很依賴增強依存樹的結果。
理由在於依賴樹包含了句子中不同成分語法的依賴關係,作者認為具有相似關係的實例也會在其對應的依賴樹上有相似的結構。核函數的目的就是找到依賴樹之間的相似性。因此,再找到之後,只需將核函數併入SVM中,即可。
實驗部分:
使用ACE數據集【只用到其中5個關係,沒有用24個】
在SVM中使用不同的核,
K 0 = sparse kernel
K 1 = contiguous kernel
K 2 = bag-of-words kernel
K 3 = K 0 + K 2
K 4 = K 1 + K2
先用二分類的SVM進行關係檢測:實體間是否存在關係,再用Libsvm進行關係分類。
進行二分類檢測的理由: Detecting relations is a difficult task for a kernel method because the set of all non-relation instances is extremely heterogeneous, and is therefore difficult to characterize with a similarity metric.
2、A Shortest Path Dependency Kernel for Relation Extraction
在dependency tree的基礎上,任務句子中有很多不必要的資訊,有人提出最小樹的方法,這邊作者尋找最短路徑的方法來解決。
具體做法:將一個句子構建成一個圖,其中單詞作為圖的節點,依存關係作為圖的邊。這樣我們可以得到兩個實體的最短路徑,對這個最短路徑上的節點的單詞、詞性、實體類別等特徵進行組合就得到了最終特徵,最後使用核方法和SVM進行關係分類。
評價:創新點在於求依存關係的最短路徑,這跟我們人類推理關係是類似的。缺點就是仍然依賴與所使用的NLP工具的品質,這會影響到模型的準確率。
3、Exploring Various Knowledge in Relation Extraction
本文研究了基於SVM的基於特徵的關係抽取中的辭彙、句法和語義知識的融合。研究表明,chunking方法對於關係抽取非常有效,並且在句法方面有助於大部分性能的提高,而來自完全句法分析的附加資訊對於模型表現增強由局限性。
因此,作者認為(在實驗中證實),用於關係提取的完整解析樹中的大多數有用資訊都是淺層的,可以通過分塊來捕獲。
實驗部分:使用ACE數據集,對其中6個大類(24個子類)建模,因為考慮到m1-m2,m2-m1屬於兩類,(除了6個對稱的關係【「RelativeLocation」, 「Associate」, 「Other-Relative」, 「OtherProfessional」, 「Sibling」, and 「Spouse」.】),還有一個無的類別,所以總共43的類別,建立一個多分類的模型。
關鍵結論:
- Dependency tree 與 parse tree 對模型的提升有限,原因在於:ACE預料中關係間隔較短,70%以上實體之間的間隔只有一個詞。依賴樹和解析樹特徵只能在剩餘的遠距離關係中發揮作用。然而,儘管我們系統中使用的Collins解析器代表了完全解析的最新技術,但完全解析總是容易出現長距離錯誤。
- 某些關係檢測與分類會較為困難,比如AT型及其子類的關係。
- 加入了chunking的結果後,基於特徵的方法明顯優於核方法。這表明基於特徵的方法可以有效地結合來自不同來源(如WordNet和gazetters)的不同特徵,從而對關係抽取產生影響。
- 在誤差分布的分析中,結果表明,73%(627/864)的錯誤源於關係檢測,27%(237/864)的錯誤源於關係表徵,其中17.8%(154/864)的錯誤源於關係類型間的誤分類,9.6%(83/864)的錯誤源於同一關係類型內關係子類的誤分類。這說明關係檢測是關係抽取的關鍵。
閱讀:chunking(組塊分析)
https://blog.csdn.net/Sirow/article/details/89306934

遠程監督
閱讀:
- 遠程監督關係抽取論文總結https://zhuanlan.zhihu.com/p/39885744
- 多示例多標籤學習http://palm.seu.edu.cn/zhangml/files/cccf09-mil&mll.pdf
- 深度學習中的MIMLhttps://blog.csdn.net/weixin_41108334/article/details/83048552
1、Distant supervision for relation extraction without labeled data
核心思想:如果一個句子中兩個實體存在某種關係,那麼其他句子中的這兩個實體也很可能在表達這種關係。
在文章中,作者發現基於連續組塊的句法特徵有較好的表現,有助於遠程監督的資訊提取。作者使用的是連接特徵的辦法(辭彙句法特徵連接起來,沒有獨立使用,【得益於大樣本】)。
因此,就可以在資料庫中使用已有的關係,找到大量的實體對,從而找到對應句子標註相應關係。再提取這些句子的辭彙、句法、語義特徵進行訓練,得到關係抽取的模型。而負樣本使用隨機實體對進行標註。通過這種策略生成訓練樣本,減少標註,然後再設計特徵,訓練關係分類器。
優點:可以使用大的數據集,不會過擬合,且相比於無監督學習,得到的關係是確定的。
問題:第一個是假設過於肯定,有時候兩個實體一起出現,但並沒有表達知識庫定義的關係。也有可能兩個實體之間存在多種類型關係,那麼就無法判斷這一個句子中所說的是哪一種關係;另外這種標註方式依賴於NER的性能。【NLP工具】
未來的工作:更簡單的、基於chunker的語法特徵能否在不增加完全解析開銷的情況下得到足夠的資訊,提高性能。
2、Multi-instance Multi-label Learning for Relation Extraction
這篇文章主要是解決遠程監督論文所提到的第一個問題。實體間不止存在一種關係,比如中國-北京。可能是北京在中國,也可能北京是中國首都,也可能是北京面積比中國小。也就是不同句子,可以提取出同一實體,表達不同關係。所以,作者提出用多示例多標籤學習來解決這一問題。
這是文章中給出的多示例多標籤學習的簡單圖示:

文章使用具有隱變數的圖模型共同對文本中一對實體的所有實例及其所有標籤進行建模,然後使用EM演算法求解該模型。
關於EM演算法,看這個:EM演算法解讀
https://www.zhihu.com/question/40797593/answer/275171156

開放關係抽取
1、Relation Extraction with Matrix Factorization and Universal Schemas
關於Schemas的總結
https://www.zhihu.com/question/59624229/answer/167115969
思路:本文提出的是通用schema的方法,選擇利用開放關係抽取方法獲得的關係以及現有資料庫中存在的關係,構成一個二維的矩陣。**行**是實體對(來源於現存的資料庫以及抽取的文本語料),而**列**對應到到固定Schema關係和開放域關係的連接。矩陣每個元素的值(訓練集是0,1),希望能夠對於缺失部分進行預測,(測試集給出的是概率形式),所以可以將**行**理解為**用戶**,**列**理解為**物品**,類似於協同過濾的方法來解決這個問題。
模型形式:

這是論文中的截圖。可以看到,列的來源一部分是OpenIE得到的關係,一部分來源於現有KG,比如freebase。
核心式子:


總結來說,定義了參數的不同部分,各種參數以及權重矩陣。
但問題是,只有正樣本,沒有負樣本。也就是模型學習的是傾向於將不同情況預測為真。
> **Bayesian Personalized Ranking (BPR)**:uses a variant of this ranking:giving observed true facts higher scores than unobserved (true or false) facts (Rendle et al., 2009).
最初解決辦法是同遠程監督一般,自行構造負樣本,但效果不好(對於不同負樣本魯棒性低,而且學習成本變高),所以使用了BPR方法。
要解決的問題:
> How accurately can we fill a database of Universal Schema, and does reasoning jointly across a universal schema help to improve over more isolated approaches?(我們能多準確地填充一個通用模式的資料庫,並且跨通用模式的聯合推理是否有助於改進更孤立的方法?)
首先數據處理部分,將紐約時報文章預料提取的命名體與freebase的元組進行連接,再過濾篩選。
>Based on this alignment we filter out all relations for which we find fewer than 10 tuples with mentions in text.(基於這種對齊,我們過濾掉所有在文本中提到的少於10個元組的關係。)
接著,構建矩陣。對每個元組t,對應的關係實例$O_t$由兩部分組成。$O_t = O_t^{FB}cup O_t^{PAT}$。
這樣就從數據集建立了矩陣。
評估部分,構建PRC曲線。這裡計算precision的方法:對每個關係,取前1000個實體對。將前100個集中起來,手工判斷其相關性或者真實性。,由此結果計算召回率與準確度。
所以說,開放性關係抽取只是獲取數據集的工具,這篇文章的重點還是這個矩陣以及對應的參數估計方法。
【end】