關係抽取之遠程監督算法:別再跟我提知識圖譜(下篇)

6 月 2 日 深度學習自然語言處理
關係抽取之遠程監督算法:別再跟我提知識圖譜(下篇)


一 :內容預告


上一篇文章介紹了遠程監督關係抽取算法的基本假設和一般思路,同時指出了遠程監督+傳統機器學習做關係抽取存在的兩個問題:
一是遠程監督的基本假設太強,會導致語義漂移問題。
來複習一下這個基本假設:
對於一個已有的知識圖譜(論文用的Freebase)中的一個三元組(由一對實體和一個關係構成),假設外部文檔庫(論文用的Wikipedia)中任何包含這對實體的句子,在一定程度上都反映了這種關係。
二是人工構造和提取特征不僅繁瑣,而且容易引入誤差,降低模型的準確率。
下麵就來看看,如何解決這些問題。

本文關注以下內容:


  • 多實例學習和分段最大池化

  • 句子級別的注意力機製



二:多實例學習和分段最大池化


第二篇論文是《Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks》,是用 經網絡結合遠程監督做關係抽取 的扛鼎之作。

01

論文的貢獻

(一)神經網絡提取特征

用PCNNs的神經網絡結構自動學習文本特征,代替複雜的人工構造特征和特征處理流程。
PCNNs(Piecewise Convolutional Neural Networks),包含兩層含義:Piecewise max pooling layer 和 Convolutional Neural Networds,對應到 最大池化層和卷積層
用卷積神經網絡強大的特征提取功能,自動抽取豐富的特征,並且減少人工設計特征和NLP工具庫抽取特征帶來的誤差。
(二)分段最大池化
設計了分段最大池化層(三段,Piecewise max pooling layer)代替一般的最大池化層,提取更豐富的文本結構特征。
一般的最大池化層直接從多個特征中選出一個最重要的特征,實際上是對卷積層的輸出進行降維,但問題是維度降低過快,無法獲取實體對在句子中所擁有的結構信息。

如下圖,把一個句子按兩個實體切分為前、中、後三部分的詞語,然後將一般的最大池化層相應地劃分為三段最大池化層,從而獲取句子的結構信息。

(三)多實例學習
用多實例學習(Multi-Instances Learning)解決遠程監督做自動標注的錯誤標注問題。
遠程監督本質上是一種自動標注樣本的方法, 但是它的假設太強了,會導致錯誤標注樣本的問題。
論文認為遠程監督做關係抽取類似於多實例問題(Multi-Instances Problem)。知識圖譜中一個實體對(論文中的Bag)的關係是已知的,而外部語料庫中包含該實體對的多個句子(Instances of Bag),表達的關係是未知的(自動標注的結果未知真假)。
那麼 多實例學習的假設是:這些句子中至少有一個句子表達了已知的關係 。於是從多個句子中隻挑出最重要的一個句子,作為這個實體對的樣本加入到訓練中。
本篇論文設計了一個目標函數,在學習過程中,把句子關係標簽的不確定性考慮進去,從而緩解錯誤標注的問題。
總結一下,本文的亮點在於 把多實例學習、卷積神經網絡和分段最大池化結合起來,用於緩解句子的錯誤標注問題和人工設計特征的誤差問題 ,提升關係抽取的效果。

02

研究方法


這篇論文把PCNNs的神經網絡結構和多實例學習結合,完成關係抽取的任務。
(一)PCNNs網絡的處理流程
PCNNs網絡結構處理一個句子的流程分為四步: 特征表示、卷積、分段最大池化和softmax分類 。具體如下圖所示。
(1)文本特征表示
使用 詞嵌入 (Word Embeddings)和 位置特征嵌入 (Position Embeddings),然後把句子中每個詞的這兩種特征拚接起來。
詞嵌入使用的是預訓練的Word2Vec詞向量,用Skip-Gram模型來訓練。
位置特征是某個詞與兩個實體的相對距離,位置特征嵌入就是把兩個相對距離轉化為向量,再拚接起來。
比如下麵這個句子中,單詞son和實體Kojo Annan的相對距離為3,和實體Kofi Annan的相對距離為-2。
假設詞嵌入的維度是dw,位置特征嵌入的維度是dp,那麼每個詞的特征向量的維度就是:d=dw+2*dp。假設句子長度為s,那麼神經網絡的輸入就是s×d維的矩陣。
(2)卷積
假設卷積核的寬為w(滑動窗口),長為d(詞的特征向量維度),那麼卷積核的大小為W=w * d。步長為1。
輸入層為q = s×d維的矩陣,卷積操作就是每滑動一次,就用卷積核W與q的w-gram做點積,得到一個數值。
卷積完成後會得到(s+w-1)個數值,也就是長度為(s+w-1)的向量c。文本的卷積和圖像的卷積不同,隻能沿著句子的長度方向滑動,所以得到的是一個向量而不是矩陣。
為了得到更豐富的特征,使用了n個卷積核W={W1, W2, ... Wn},第i個卷積核滑動一次得到的數值為:
最終,卷積操作完成後會輸出一個矩陣C:
(3)分段最大池化
把每個卷積核得到的向量ci按兩個實體劃分為三部分{ci1,ci2, ...,ci3},分段最大池化也就是分別取每個部分的最大值:
那麼對於每個卷積核得到的向量ci,我們都能得到一個3維的向量pi。為了便於下一步輸入到softmax層,把n個卷積核經過池化後的向量pi拚接成一個向量p1:n,長度為3n。
最後用tanh激活函數進行非線性處理,得到最終的輸出:
(4)softmax多分類
把池化層得到的g輸入到softmax層,計算屬於每種關係的概率值。論文中使用了Dropout正則化,把池化層的輸出g以r的概率隨機丟棄,得到的softmax層的輸出為:
輸出的向量是關係的概率分布,長度為關係的種類(n1)。概率值最大的關係就是句子中的實體對被預測的關係。
(二)多實例學習的過程
我們知道一般神經網絡模型的套路是,batch-size個句子經過神經網絡的sotfmax層後,得到batch-size個概率分布,然後與關係標簽的one-hot向量相比較,計算交叉熵損失,最後進行反向傳播。
因此上述PCNNs網絡結構的處理流程僅是一次正向傳播的過程。
PCNNs結合多實例學習的做法則有些差別,目標函數仍然是交叉熵損失函數,但是基於實體對級別(論文中的bags)去計算損失,而不是基於句子級別(論文中的instances)。這是什麼意思呢?
對照上麵的圖,計算交叉熵損失分為兩步:
第一步,對於每個實體對,會有很多包含該實體對的句子(qi個),每個句子經過softmax層都可以得到一個概率分布,進而得到預測的關係標簽和概率值。
為了消除錯誤標注樣本的影響,從這些句子中 僅挑出一個概率值最大的句子和它的預測結果,作為這個實體對的預測結果,用於計算交叉熵損失
比如上麵的例子中,挑出了第二個句子。公式為:
第二步, 如果一個batch-size有T個實體對,那麼用第一步挑選出來的T個句子,計算交叉熵損失
最後用梯度下降法求出梯度,並進行誤差反向傳播。
如下是算法的偽代碼,θ是PCNNs的參數,Eq.(9)是第一步中的公式。

03

實驗細節


(一)數據集和評估方法
知識圖譜為Freebase,外部文檔庫為NYT。把NYT文檔庫中2005-2006年的句子作為訓練集,2007年的句子作為測試集。
評估方法沿用第一篇論文中的方法,留出法和人工校驗相結合。
(二)詞嵌入和調參
預訓練的詞向量方麵,本文用Skip-Gram模型和NYT文檔庫訓練了50維的詞向量。
位置特征嵌入使用隨機初始化的向量,維度為5。
調參方麵,PCNNs網絡結構中有兩個參數比較重要: 卷積核的滑動窗口大小和卷積核的個數。
本文使用網格搜索,最終確定滑動窗口為3,卷積核個數為230。
模型的其他參數如下:
(三)模型評估結果
(1)對留出法和人工校驗法的說明
使用留出法和人工校驗法來評估模型的效果。這裏對這兩種評估方法進行補充說明:
留出法的做法是把Freebase中一半的實體對用於訓練,一半的實體對用於測試。
多分類模型訓練好之後,對外部文檔庫NYT中的測試集進行預測,得到測試集中實體對的關係標簽。
如果新發現的實體對有N個,其中有n個出現在Freebase的測試集中,那麼查準率(Precision)為n/N,而不在Freebase測試集中的實體對就視為不存在關係。
可是由於Freebase中的實體對太少了,新發現的、不在Freebase裏的實體對並非真的不存在關係,這就會出現假負例(False Negatives)的問題, 低估了查準率
所以人工校驗的方法是對留出法的一個補充,對於那些 新發現的、不在Freebase測試集中的實體對 (一個實體不在或者兩個實體都不在)進行檢查,計算查準率。
所以留出法和人工校驗要評估的兩個新實體對集合是沒有交集的。具體做法是從這些新實體對中選擇概率值最高的前N個,然後人工檢查其中關係標簽正確的實體對,如果有n個,那麼查準率為n/N。
(2)卷積神經網絡與人工構造特征的對比
首先把PCNNs結合多實例學習的遠程監督模型(記為PCNNs+MIL),與人工構造特征的遠程監督算法(記為Mintz)和多實例學習的算法(記為MultiR和MIML)進行比較。
從下麵的實驗結果中可以看到,無論是查準率還是查全率,PCNNs+MIL模型都顯著優於其他模型,這說明用卷積神經網絡作為自動特征抽取器,可以有效降低人工構造特征和NLP工具提取特征帶來的誤差。
(3)分段最大池化和多實例學習的有效性
將分段最大池化和普通的最大池化的效果進行對比(PCNNs VS CNNs),將結合多實例學習的卷積網絡與單純的卷積網絡進行對比(PCNNs+MIL VS PCNNs)。
可以看到,分段最大池化比普通的最大池化效果更好,表明分段最大池化可以抽取更豐富的結構特征。
把多實例學習加入到卷積網絡中,效果也有一定的提升,表明多實例學習可以緩解樣本標注錯誤的問題。

04

評價


這篇論文中,分段最大池化的奇思妙想來自於傳統人工構造特征的思想,而 多實例學習的引入緩解了第一篇論文中的樣本錯誤標注問題 。這篇論文出來以後是當時的SOTA。
不足之處在於,多實例學習僅從包含某個實體對的多個句子中,挑出一個最可能的句子來訓練,這必然會損失大量的信息。
所以有學者提出用句子級別的注意力機製來解決這個問題。



四:句子級別的注意力機製


第三篇論文是《Neural Relation Extraction with Selective Attention over Instances》,這篇論文首次把注意力機製引入到了關係抽取的遠程監督算法中,刷新了當時的SOTA。論文作者中有清華劉知遠老師。


01

論文的貢獻


這篇論文要解決的問題,就是 多實例學習會遺漏大量信息的問題
所以這篇論文用句子級別的注意力機製代替多實例學習,對於包含某實體對的所有句子, 給每一個句子計算一個注意力得分,動態地降低標注錯誤的樣本的得分 ,再進行加權求和,從而充分利用所有句子的信息。
多實例學習相當於硬注意力機製(Hard Attention),而我們耳熟能詳的以及論文中用到的注意力機製是選擇性注意力機製(Selective Attention)或者說軟注意力機製(Soft Attention)。
所以 多實例學習其實是選擇性注意力機製的特殊情況 (隻有一個句子的權重為1,其他全為0)。

02

模型介紹

模型主要分為兩個部分: 句子編碼器和注意力層。
(1)句子編碼器
句子編碼器就是上一篇論文中的PCNN或CNN網絡結構,由卷積神經網絡的輸入層、卷積層、池化層、非線性映射層(或者說激活函數)構成。
文本特征同樣用 詞嵌入和位置特征嵌入 ,池化層用 普通的最大池化或者分段最大池化。
因此,本文的句子編碼器部分輸出的是一個句子經過最大池化並且非線性激活後的特征向量,用於輸入到注意力層。這部分和上一篇論文基本相同,無須贅述。
(2)注意力層
句子編碼器的作用是抽取一個句子的特征,得到一個特征向量。
如果外部文檔庫中包含某實體對的句子有n條,那麼經過句子編碼器的處理後,可以得到n個特征向量:x 1 , x 2 , ..., x n
在句子編碼器和softmax層之間加一個選擇性注意力層 ,那麼處理的步驟如下:
第一步:計算句子的特征向量x i 和關係標簽r的匹配度e i ,並計算注意力得分α i 。公式中的r是關係標簽的向量表示。
第二步:計算該實體對的特征向量s。該實體對的特征向量是所有句子的特征向量xi的加權之和,權重為每個句子的注意力得分αi
第三步:經過softmax層得到該實體對關於所有關係的概率分布,概率值最大的關係為預測的關係標簽。
(3)誤差反向傳播
如果一個batch-size有s個實體對,那麼用s個實體對的概率分布,計算交叉熵損失:
最後用梯度下降法求出梯度,並進行誤差反向傳播。

03

實驗細節

(1)數據集和評估方法

數據集和上一篇論文一樣,知識圖譜是Freebase,外部的文檔庫是NYT(New York Times corpus)。劃分數據集的做法也一致。評估方法采用留出法,不再贅述。
(2)詞嵌入和參數設置
用NYT數據集訓練Word2Vec,用網格搜索(Grid Search)確定參數。
(3)選擇性注意力機製的效果
句子編碼器分別采用CNN和PCNN的網絡結構,PCNN+ONE表示PCNN結合多實例學習的模型,PCNN+ATT表示論文中的選擇性注意力模型,PCNN+AVE表示對各句子求算術平均的模型(每個句子的注意力得分相同)。
實驗結果表明,無論是CNN還是PCNN,加入注意力機製的模型在查準率和查全率上,都顯著優於其他模型。
論文還有其他更細致的實驗,欲知詳情,請自行翻看論文。

04

評價

這篇論文把注意力機製和CNN句子編碼器結合,用來解決多實例學習存在的遺漏信息問題,更好地緩解了遠程監督算法中的樣本錯誤標注問題。
注意力機製在NLP任務中的效果是有目共睹的,PCNN+ATT的模型看起來非常漂亮,那麼有什麼改進方向呢?
開頭我們說了, 關係抽取可以分為流水線式抽取(Pipline)和聯合抽取(Joint Extraction)兩種 ,流水線式抽取就是把關係抽取的任務分為兩個步驟:首先做實體識別,再抽取出兩個實體的關係;而聯合抽取的方式就是一步到位,同時抽取出實體和關係。
因此上麵介紹的三篇論文中的模型都屬於流水線式抽取的方法,實體識別和關係抽取的模型是分開的,那麼 實體識別中的誤差會影響到關係抽取的效果
而聯合抽取用一個模型直接做到了實體識別和關係抽取,是一個值得研究的方向。

參考資料:


1、《Speech and Language Processing》(Third Edition draft)第17章

2、《cs224u: Relation extraction with distant supervision》

3、《Distant supervision for relation extraction without labeled data》

4、《Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks》

5、《Neural Relation Extraction with Selective Attention over Instances》

6、《Joint Extraction of Entities and Relations Based on a Novel Tagging Scheme》


添加個人微信,備注: 昵稱-學校(公司)-方向 即可獲得
1. 快速學習深度學習五件套資料
2. 進入高手如雲DL&NLP交流群
記得備注呦


登錄查看更多
0
0

相關內容

思想來自於視覺機製,是對信息進行抽象的過程。
小貼士
相關論文
Aidan Hogan,Eva Blomqvist,Michael Cochez,Claudia d'Amato,Gerard de Melo,Claudio Gutierrez,José Emilio Labra Gayo,Sabrina Kirrane,Sebastian Neumaier,Axel Polleres,Roberto Navigli,Axel-Cyrille Ngonga Ngomo,Sabbir M. Rashid,Anisa Rula,Lukas Schmelzeisen,Juan Sequeda,Steffen Staab,Antoine Zimmermann
70+閱讀 · 3月4日
Multi-Temporal Aerial Image Registration Using Semantic Features
Ananya Gupta,Yao Peng,Simon Watson,Hujun Yin
3+閱讀 · 2019年9月19日
Peifeng Wang,Jialong Han,Chenliang Li,Rong Pan
6+閱讀 · 2018年11月4日
Symbolic Priors for RNN-based Semantic Parsing
Chunyang Xiao,Marc Dymetman,Claire Gardent
3+閱讀 · 2018年9月20日
Pengda Qin,Weiran Xu,William Yang Wang
12+閱讀 · 2018年5月24日
Andrea Madotto,Chien-Sheng Wu,Pascale Fung
7+閱讀 · 2018年5月21日
Jian Xu,Chunheng Wang,Chengzuo Qi,Cunzhao Shi,Baihua Xiao
8+閱讀 · 2018年4月3日
Parisa Naderi Golshan,HosseinAli Rahmani Dashti,Shahrzad Azizi,Leila Safari
6+閱讀 · 2018年3月15日
Diego Moussallem,Matthias Wauer,Axel-Cyrille Ngonga Ngomo
8+閱讀 · 2018年2月1日
Top