隨着深度學習以及詞向量的發展,近年來大多的關係抽取模型都採用詞向量做爲關係抽取的主要特徵,且均取得了很是好的效果。限於篇幅,本文僅對有監督學習下的 Pipline 經典模型進行介紹。
往期IE系列文章:html
參考文章:架構
【西多士】https://www.cnblogs.com/sandwichnlp/p/12020066.html函數
正文開始性能
1學習
First Blood測試
一、TILE: Relation Classification via Convolutional Deep Neural Networkui
Author: Daojian Zeng
Paper: https://www.aclweb.org/anthology/C14-1220.pdf
論文簡述: 該論文屬於早期使用深度卷積網絡模型解決關係抽取任務的經典論文。該論文將關係抽取問題定義爲:給定一個句子S和名詞對 e 1 和 e 2 ,判斷 e 1 和 e 2 在句子中的關係,即將關係抽取問題等效爲一個關係分類問題。與傳統的方法相比,該模型只須要將整個輸入句子以及簡單的詞信息做爲輸入,而不須要認爲構造特徵,就能獲得很是好的效果。模型的主要架構以下所示:
模型的輸入主要包括兩個部分,即詞彙級別特徵以及句子級別特徵:
lexical level features:詞彙級別特徵包括實體對e1 和 e2 的詞嵌入向量,e1 和 e2 的左右兩邊詞的詞嵌入向量,以及一個 WordNet 上位詞向量。WordNet 上位詞特徵指的是 e1 和 e2 同屬於哪個上位名次,如「狗」和「貓」的上位詞能夠是「動物」或者「寵物」,具體須要參考的 WordNet 詞典是怎樣構建的。直接將上述的5個向量直接拼接構成詞彙級別的特徵向量 l
sentence level feature:句子級別特徵採用最大池化的卷積神經網絡做爲主要特徵抽取模型,輸入特徵包括詞向量信息以及位置向量信息。
Word Features:爲了可以抽取到每一個詞完整的上下文信息,在句子首位額外添加了Padding字符,Word Embedding 層是預訓練獲得的,而且參與後續的訓練任務
Position Features:額外增長了時序特徵來彌補卷積網絡對時序特徵抽取能力不足的缺陷。論文中的作法是爲每一個詞拼接兩個固定維度的位置向量,分別表示詞距離兩個關鍵實體的相對位置信息。如「中國 的 首都 是 北京」,「的」與「中國」的距離大小爲 1,與「北京」的距離大小爲 -3,再將 1 和 -3 在 Position Embedding 層中查表獲得,Position Embedding 層是隨機初始化的,而且參與到模型訓練當中
將上述的 Word Features 與 Position Features 拼接,輸入到卷積網絡中,再用Max Pooling 層把每一個卷積核的輸出進行池化操做。再將池化結果經過一個全鏈接層,激活函數爲 tanh,將其看做一個更高層次的特徵映射,獲得最終的句子級別的特徵向量 g
將詞彙級別特徵與句子級別特徵直接拼接,即f=[l;g],最終將其送入分類器進行分類。
二、TILE:Relation Extraction: Perspective from Convolutional Neural Networks
Author: Thien Huu Nguyen.
Paper: https://www.aclweb.org/anthology/W15-1506/
論文簡述: 該論文首先提出關係分類和關係抽取兩個主要任務:
關係分類:兩個實體之間存在多個關係類型,而且這多個可能關係中有一個 non-relation 類別,這多個類別的樣本數量基本是平衡的
關係抽取:關係抽取與關係分類的區別在於,關係抽取中的 non-relation 類別的樣本數目可能遠遠超過其餘類別的樣本數目,這樣的任務更有挑戰性,但在實際中有更爲普遍的應用。
論文主要關注的是關係抽取任務。與上篇文章相似,一樣是利用卷積神經網絡做爲主要的特徵抽取模型,模型細節以下所示:
Look-up tables:包括 word embedding 層和 position embedding 層兩個部分。word embedding 爲預訓練獲得,而 position embedding 則隨機初始化,二者均參與訓練。對於輸入句子長度,將其限定在兩個實體可能的最大長度的範圍內,假設句子長度爲 n,用 i−i1 和 i−i2 表示地i個詞距離第一個實體和第二個實體的距離,則 position embedding 層的維度爲(2n−1)×md,其中md 爲位置向量的維度。假設句子中第 i 個詞的詞向量爲 ei ,位置向量爲 di1 和 di2,則該詞的詞表徵爲 xi=[ei;di1;di2]
Convolutional layer:該模型的卷積層借鑑了 TextCNN 的模型結構,經過設計多個不一樣寬度的卷積核來抽取不一樣粒度大小的特徵來提高模型性能。
Pooling layer:最大池化操做,用於抽取最重要的特徵。
Classifier:全鏈接層,激活函數爲softmax,還使用了 dropout 和 l2 正則化策略。
三、TILE:Classifying Relations by Ranking with Convolutional Neural Networks
Author: Cícero dos Santos,
Paper: https://www.aclweb.org/anthology/P15-1061/
論文簡述: 這篇論文一樣是在論文1 基礎上的改進,模型的基本架構與以前基本一致,最大的改變損失函數。
模型結構如上圖所示,主要有如下幾個部分:
-- 模型僅將整個句子做爲輸入,不考慮 lexical level feature。輸入詞表徵包括 Word Embedding 和 Position Embedding 兩個部分,獲取方式與以前同樣
-- 卷積層爲窗口爲 3 的固定大小的卷積核,且也對輸出進行了最大池化操做
-- 對於獲得的編碼表徵,輸入一個全鏈接層,獲得每一個類別的非歸一化分數,但再也不對輸出作 softmax 操做,而是直接對正類別和負類別進行採樣,從而計算損失函數,損失函數(pairwise ranking loss function)以下所示:
這個損失函數主要有如下幾個特色:
-- m+ 和 m− 爲 margin 參數,γ 爲縮放因子
-- sθ(x) 爲模型輸出的非歸一化分數,y+ 爲正確標籤,c− 爲錯誤標籤中分數大於 m− 的那些標籤,做者認爲這些標籤具備更大的信息量。
-- 顯然,損失函數 L 將隨着 sθ(x)y+ 的增大而減少,隨着 sθ(x)c− 的減少而減少
-- 此外,模型還考慮了兩個實體不屬於任何類別,將其看做類別 "Other",在訓練的過程當中,不考慮這個類別的分類,或者說在全鏈接層爲該類別分配了一個不可訓練的零初始化的神經元,對於該類別爲正確標籤的訓練樣本,損失函數的第一項爲0,只保留第二項。在預測的時候,只當某個樣本全部類別分數爲負數時,纔將其分類爲 "Other"
-- 模型在訓練過程當中還額外添加了 L2 正則化項
小結:該模型的主要創新點在於其 Ranking loss 上,相比於 Softmax 函數,其可以使得模型不只僅考慮到正類別分數要儘可能高,還要關注易分類錯誤的類別分數儘可能低。其缺點仍然是模型結構上的缺陷。
四、TILE: Bidirectional Long Short-Term Memory Networks for Relation Classification
Author: Shu Zhang
Paper: https://www.aclweb.org/anthology/Y15-1009/
論文簡述: 在這篇論文以前有過利用簡單的 RNN 和 BiRNN 做爲模型編碼模塊的處理關係抽取任務的,可是效果較 CNN 來講差的就不是一點兩點了,這裏就不提了。該論文用經典的 BiLSTM 做爲模型主要模塊,此外,從新考慮了 lexical feature,實驗證實 lexical feature 對模型性能確實有十分明顯的提高效果。
論文最後測試了不加人工特徵,只用 word embedding,結果降低了 1.5個點,說明人工特徵仍是有必定效果的。此外,論文還測試了移除某個特徵對模型的影響,發現位置特徵和 NER 特徵的移除對模型的影響很是小,這也是十分好理解的,這裏就很少說了。
五、TILE:Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification
Author: Peng Zhou,
Paper: https://www.aclweb.org/anthology/P16-2034/
論文簡述:該模型利用了典型的注意力機制對 BiLSTM 的輸出進行了注意力加權求和,在僅利用了詞向量的狀況下效果接近加入人工特徵的模型,可見注意力機制的做用也是十分強大的。
模型的主要架構如上圖所示。其實模型的主要架構仍是比較常規的,下面簡單介紹一下:
Input Layer: 即輸入的句子,每一個詞用 one-hot 向量表示
Embedding Layer: 預訓練的詞向量層,爲 one-hot 向量提供查詢詞表
LSTM Layer: 利用 BiLSTM 對輸入句子進行編碼,獲得每一個時刻的輸出,即對應每一個詞的編碼結果
Attention Layer: 典型的 Soft-Attention 層。直接隨機初始化一個參數向量做爲 Query,用於與句子的編碼結果進行一維匹配計算注意力分數,再對句子的各個詞的編碼結果進行加權求和。
六、TILE:Relation Classification via Multi-Level Attention CNNsAuthor: Linlin Wang
Paper: https://www.aclweb.org/anthology/P16-1123/
論文簡述: 這篇文章公佈其在 SemEval-2010 Task 8 上的分數達到了 88.0,可是沒有開源,且復現結果也不太好,這個模型的效果存在爭議,或許是論文中個別細節描述有誤,可是其思路仍是很是不錯的。整個論文的主要內容爲:
模型主要依賴一種多層注意力機制。
第一層的注意力機制在輸入層,用於計算全部詞對目標實體的注意力大小。
第二層的注意力機制在CNN的輸出部分,用於計算對於目標關係的注意力大小。
提出了一種新的損失函數,證實其效果要優於傳統的損失函數。
Input Representation: 輸入表徵與 Zeng CNN 一致,爲 Word Embedding 和 Position Embeddding 的拼接。
Input Attention Mechanism: 直接使用向量內積的方式來計算實體與其餘詞之間的相關性,而且將其構形成一個對角陣(其實能夠直接用向量來表示的),再將其進行softmax歸一化獲得注意力分數。
Attention-Based Pooling: 將常規的 Max Pooling 直接用 Attention 操做替代。
Margin-based pairwise loss function: 做者定義了新的損失函數代替以前的分類器 + softmax + 交叉熵的作法。
七、TILE:Bidirectional Recurrent Convolutional Neural Network for Relation Classification
Author: Rui Cai
Paper: https://www.aclweb.org/anthology/P16-1072/
論文簡述:論文的主要思想是對兩個實體間的詞法句法的最短依賴路徑 SDP (shortest dependency path)進行建模,這也是常見的一種關係抽取任務的建模方法,並與以前的建模方式存在一些區別,下面相對詳細地闡述一下。
因爲受到卷積神經網絡和循環神經網絡特性的限制,以前的工做將句法依賴關係看做是詞或者某些句法特徵,如詞性標籤 (POS)。該論文的第一個貢獻就是提出了一種 RCNN 的網絡結構:
利用兩通道的 LSTM 對 SDP 進行全局信息編碼
利用 CNN 捕獲每一個依賴關係鏈接的兩個單詞的局部特徵
此外,做者還指出,兩個實體之間的依賴關係是有向的,如上圖展現的因果關係示例圖,若存在K個關係,則須要將其看做 ( 2 K + 1 ) 種分類問題,其中1爲 O t h e r 類。所以,做者提出其第二個貢獻就在於使用雙向的循環卷積神經網絡 (BRCNN) 來同時學習雙向的表徵,能夠將雙向依賴問題建模爲對稱的依賴問題,從而將其簡化爲 ( K + 1 ) 的分類問題。模型細節以下圖所示:
2
往期回顧
學術圈
長按識別下方二維碼關注咱們
本文分享自微信公衆號 - AINLPer(gh_895a8687a10f)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。