從頭來看關(guān)系抽取



關(guān)系抽取是信息抽取的基本任務(wù)之一,在近些年來一直備受關(guān)注,其目的是識別文本中實體的目標(biāo)關(guān)系。關(guān)系抽取對于知識庫的構(gòu)建以及文本的理解十分重要,特別有利于自然語言處理的一些任務(wù),如問答,文本理解等,而且,關(guān)系抽取作為知識圖譜構(gòu)建的核心關(guān)鍵,是必不可少的步驟。
從去年開始關(guān)注這個任務(wù)以來,一直關(guān)注的都是近期的文章和方法,但是沒有一個完整的脈絡(luò)梳理,想要更好的了解關(guān)系抽取的近些年發(fā)展,打算從頭開始審視一些關(guān)系抽取的論文,做到心中有數(shù)。因此,在看一些文章的過程中,也記錄下來,分享給大家。
這篇文章主要是介紹了幾篇關(guān)系抽取中和卷積神經(jīng)網(wǎng)絡(luò)(CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)相關(guān)的頂會文章。
1、CNN-2014-COLING
論文題目:Relation Classification via Convolutional Deep Neural Network 論文地址:https://www.aclweb.org/anthology/C14-1220.pdf 這篇文章是最早的將深度神經(jīng)網(wǎng)絡(luò)模型應(yīng)用于關(guān)系抽取任務(wù)上,并取得比傳統(tǒng)特征工程效果好的工作之一,來自中科院自動化所趙軍老師和劉康老師團隊,獲得COLING 2014年的最佳論文獎。
這一篇是關(guān)系抽取中一個比較經(jīng)典的模型,該論文將關(guān)系抽取問題定義為:給定一個句子 和名詞對 和 ,判斷 和 在句子中的關(guān)系,將關(guān)系抽取問題等價為關(guān)系分類問題。模型的整體結(jié)構(gòu)如圖 左, 網(wǎng)絡(luò)結(jié)構(gòu)很簡單,其實就是一個卷積神經(jīng)網(wǎng)絡(luò)(CNN),輸入由 sentence level features 和 lexical level features 兩部分特征構(gòu)成。輸出是該句子中包含的實體 和 之間的關(guān)系。

Lexical level features:即詞匯級別特征,這部分的特征向量其實分為五部分;
L1:實體 本身的向量 L2:實體 本身的向量 L3:實體 左右兩個詞的向量 L4:實體 左右兩個詞的向量 L5:WordNet中兩個實體的上位詞
將幾部分的詞匯特征信息拼接作為詞匯級別的特征信息,論文實驗結(jié)果也表明,這部分信息對模型有很明顯的效果。
Sentence level feature:句子級別特征的提取如上右圖,采用卷積神經(jīng)網(wǎng)絡(luò)以及最大池化結(jié)合抽取句子級別的特征信息,輸入特征是詞向量信息(WF)以及位置向量信息(PF)的拼接結(jié)果。
Word Features:詞向量這部分沒有簡單的使用這個詞的embedding,而是采用滑動窗口的方式,取當(dāng)前詞的前后詞拼接作為當(dāng)前詞的特征信息。 Position Features:考慮到 CNN 沒有時序特征,所以特意增加了位置信息來彌補這一部分,每個詞都距離兩個實體有相對位置信息,將相對位置信息映射為向量表示。
2、CNN-2015-ACL
論文題目:Classifying Relations by Ranking with Convolutional Neural Networks 論文地址:https://www.aclweb.org/anthology/P15-1061.pdf
這篇文章也是基于CNN的網(wǎng)絡(luò)模型,模型結(jié)構(gòu)上面與第一篇文章類似,其中主要是在損失函數(shù)上面進行研究工作,模型的結(jié)構(gòu)如下圖所示:

(1) 模型的輸入特征包含詞向量和詞的位置向量,兩者與第一篇文章獲取方式相同,但沒有詞匯級別的特征。
(2) 句子向量獲取是采用卷積神經(jīng)網(wǎng)絡(luò) + 最大池化。
(3) 計算類別概率使用的不在是常用的softmax,而是采用下面的計算公式,其中 為經(jīng)過池化層的句子向量,shape為[1, D], 代表的是關(guān)系類別向量矩陣,維度必須與池化層后的句子向量維度一致,跟隨網(wǎng)絡(luò)更新訓(xùn)練, 代表其中一個關(guān)系類別的向量,shape為[1,D],從而計算某一關(guān)系類別的概率。

(4) 損失函數(shù)采用的是 pairwise ranking,公式如下, 和 為 margin 參數(shù), 為縮放因子,有助于懲罰更多的預(yù)測錯誤。 為正確標(biāo)簽類別, 為錯誤標(biāo)簽類別(注:特意選取所有錯誤類別中得分最高的),訓(xùn)練目標(biāo)是最小化損失 。

3、CNN-2015-NAACL
論文題目:Relation Extraction Perspective from Convolutional Neural Networks 論文地址:https://www.aclweb.org/anthology/W15-1506.pdf
這篇文章的基本結(jié)構(gòu)也是基于卷積神經(jīng)網(wǎng)絡(luò) + 最大池化層來做關(guān)系抽取任務(wù),與之前采用卷積神經(jīng)網(wǎng)絡(luò)的最大不同之處在于使用的不在是單一的卷積核,而是采用 2014 年kim做情感分類時提出的模型結(jié)構(gòu),可以多個卷積核,不同寬度,更加多粒度獲取句子信息,模型結(jié)構(gòu)如下圖:

(1) 模型輸入部分也是延續(xù)上述兩個模型的方法,詞向量和位置向量特征拼接,其中詞向量采用的是預(yù)訓(xùn)練的方法,位置向量是當(dāng)前詞與兩個實體的相對位置距離,映射為位置向量,與前面類似。
(2) 卷積神經(jīng)網(wǎng)絡(luò)部分采用的是多個卷積核,通過利用多個不同寬度的卷積核來抽取多粒度的特征。
(3) 最后也是最大池化 + softmax,其中還應(yīng)用了dropout和l2正則化等策略。
4、CNN-2016-ACL
論文題目:Relation Classification via Multi-Level Attention CNNs 論文地址:http://people.iiis.tsinghua.edu.cn/~weblt/papers/relation-classification.pdf 這篇文章是出自清華大學(xué)劉知遠老師的團隊
這篇文章主要提出了卷積神經(jīng)網(wǎng)絡(luò)模型與注意力機制(Attention)結(jié)合的關(guān)系抽取方法,其中attention機制加了兩層,一層是輸入層的,一層是池化層的,模型網(wǎng)絡(luò)結(jié)構(gòu)如下圖:

Input Representation:這里也是使用了詞向量和位置向量拼接的方式,其中位置向量與上面模型一樣,都是當(dāng)前詞到兩個實體的相對距離轉(zhuǎn)換為向量表示,為了獲取更加更加豐富的信息,對拼接后的特征采用滑動窗口。
Input Attention Mechanism:這是文中的第一個attention層,主要目的是計算句子中的詞語與實體之間的相關(guān)性權(quán)重,這部分的結(jié)構(gòu)圖如下圖,如圖中所示,建立了與實體對應(yīng)的兩個對角矩陣,對角矩陣中的各個元素是該位置的詞語與實體的相關(guān)程度,具體是通過該詞語實體之間的向量內(nèi)積而來。對于兩個對角矩陣有三種處理方式,分別是對應(yīng)位置平均,拼接以及求對應(yīng)位置向量之間的距離,結(jié)果乘上輸入向量,作為輸入層的輸出,此處便考慮了實體對詞的相關(guān)權(quán)重。

Secondary Attention:經(jīng)過上面的處理之后,經(jīng)過卷積神經(jīng)網(wǎng)絡(luò),此后未經(jīng)過常規(guī)的最大池化層,而是采用第二個注意力機制(attention-Based Pooling),作者認為利用這個方法能夠獲取有意義的n-gram信息,文中構(gòu)建了一個相關(guān)性特征矩陣,其目的是捕捉卷積層的輸出與實體關(guān)系矩陣之間的密切聯(lián)系。將該相關(guān)性特征矩陣經(jīng)過softmax轉(zhuǎn)為混合層的注意力機制特征矩陣,并用該矩陣與卷積層的輸出相乘,然后和常規(guī)的最大池化一樣獲取每一維度的最大值。
5、CNN-2016-COLING
論文題目:Attention-Based Convolutional Neural Network for Semantic Relation Extraction
論文地址:https://www.aclweb.org/anthology/C16-1238.pdf
這篇文章提出了一種基于注意力機制的卷積神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu),該模型利用了詞、詞性和位置等信息,詞級別的注意力機制能夠更好地確定句子中對兩個實體影響最大的部分,模型結(jié)構(gòu)如下圖。

Sentence Convolution:這部分是通過卷積神經(jīng)網(wǎng)絡(luò)獲取句子的特征向量,和上面幾篇文章類似,輸入特征包含預(yù)訓(xùn)練的詞向量以及詞相對實體的相對位置向量,初次之外,與之前不同的是加入了詞的詞性特征向量,三部分的特征向量拼接,作為模型的輸入,之后經(jīng)過卷積神經(jīng)網(wǎng)絡(luò)與最大池化層獲取句子向量。
Attention-based Context Selection:第二部分是文章主要應(yīng)用了注意力機制,目的是為了獲取與句子中那部分對實體更加重要,這部分的模型結(jié)構(gòu)如下圖,主要思路是利用多層感知器網(wǎng)絡(luò)層以及softmax計算句子中實體與每個詞的相關(guān)程度,然后與正常的注意力機制一樣,乘以每個詞的向量表示,獲取這部分的句子表示。

6、RNN-2015
論文題目:Relation Classification via Recurrent Neural Network
論文地址:https://arxiv.org/abs/1508.01006
這篇文章考慮到文本序列信息,采用RNN對文本建模,模型的整體結(jié)構(gòu)也非常易懂,模型結(jié)構(gòu)如下圖所示。

這篇文章的主要部分還是詞嵌入層、RNN網(wǎng)絡(luò)層、最大池化層,然后做關(guān)系類別的預(yù)測。這里面要注意的一點是RNN采用的是雙向RNN網(wǎng)絡(luò),兩個方向的信息不是拼接,而是相加。
另外,在我們之前看到的和CNN相關(guān)的一些方法中,都不約而同的選擇加入位置向量信息,目的是刻畫詞與之間的距離信息,而在RNN網(wǎng)絡(luò)中,句子的序列信息已經(jīng)被編碼在內(nèi),但是我們并不知道句子中的實體是哪部分,因此文中給出的方法是加入四個特殊token作為指示器(PI),分別是、、、,這四個特殊的token可以被看做單詞,分別放在實體前后的位置,和文本一樣經(jīng)過RNN網(wǎng)絡(luò),用于標(biāo)志實體的開始和結(jié)束。
7、RNN-2015-PACLIC
論文題目:Bidirectional Long Short-Term Memory Networks for Relation Classification 論文地址:https://www.aclweb.org/anthology/Y15-1009.pdf
這篇文章的主體網(wǎng)絡(luò)是BiLSTM網(wǎng)絡(luò),但是讀完paper之后,會明顯感覺重心在特征構(gòu)造上面,主要有以下兩方面。
其一:輸入特征構(gòu)造,輸入特征上面選擇了6中詞典特征,POS, NER, hypernyms, PF, dependency feature (Dep), relative-dependency feature(Relative-Dep),部分結(jié)構(gòu)如下圖,將這六種詞典特征和當(dāng)前詞向量拼接作為輸入特征。

其二:構(gòu)造分類特征:以上輸入特征拼接經(jīng)過bilstm網(wǎng)絡(luò)結(jié)構(gòu),然后分為又兩部分特征,其中一部分主要其中在實體上面,將兩個實體的輸入特征和bilstm輸出拼接作為這部分的特征,另外還有句子級特征,句子級別的特征也是采用bilstm之后的最大池化,但有所不同的是,根據(jù)兩個實體的位置將句子分為ABC三部分,拼接max-pool(AB) 和 max-pool(BC),圖形所示如下。

8、RNN-2016-ACL
論文題目:Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification 論文地址:https://www.aclweb.org/anthology/P16-2034.pdf
這篇文章的模型結(jié)構(gòu)中規(guī)中矩,就是BiLSTM + Attention。

9、RNN-2016-COLING
論文題目:Semantic Relation Classification via Hierarchical Recurrent Neural Network with Attention 論文地址:https://www.aclweb.org/anthology/C16-1119.pdf
這篇文章采用了BiLSTM、BiRNN、Attention網(wǎng)絡(luò)結(jié)構(gòu),采用分層的思想根據(jù)句子中兩個實體的位置將句子分為五部分,分別是左邊、實體1、中間、實體2、右邊,因為左中右三部分的可能是由多個詞組成,因此對這三部分采用BiLSTM + Attention獲取這部分的特征,然后和兩個實體拼接,得到五部分的特征,再經(jīng)過BiRNN + Attention做關(guān)系分類,分層的思想體現(xiàn)在bilstm和RNN,模型的結(jié)構(gòu)圖如下圖。

10、RNN-2016-ACL
論文題目:End-to-End Relation Extraction using LSTMs on Sequences and Tree Structures 論文地址:https://www.aclweb.org/anthology/P16-1105.pdf
這篇文章應(yīng)該是采用端到端的聯(lián)合方法來做關(guān)系抽取的第一篇論文,文中雖然做法還是先做實體識別再做關(guān)系抽取的pipline的方式,但是其中兩部分蘊含了參數(shù)共享,任務(wù)之間相互影響,下面是模型結(jié)構(gòu)圖:

Embedding layer:有詞向量、詞性標(biāo)簽、依賴類型、實體標(biāo)簽,分別用 v(w), v(p), v(d), v(e)來表示。
Sequence layer:該層利用 embedding layer 的信息,獲取文本的上下文信息和實體,主要是采用詞向量和詞性向量,經(jīng)過BiLSTM網(wǎng)絡(luò)層,識別每個單詞的實體類別(標(biāo)簽體系采用了BILOU, Begin, Inside, Last, Outside, Unit), 采用一種貪婪的、從左到右的方式為單詞分配實體標(biāo)簽,在解碼過程中,使用一個單詞的預(yù)測標(biāo)簽來預(yù)測下一個單 詞的標(biāo)簽,從而考慮標(biāo)簽相關(guān)性。
Dependency Layer:根據(jù)依存關(guān)系,構(gòu)建出關(guān)于兩個實體的最短路徑依存句法樹。這一層用于捕捉依存樹中實體對之間的關(guān)系,文中采用了雙向樹結(jié)構(gòu)的LSTM-RNN來捕捉目標(biāo)實體詞對周圍的依存結(jié)構(gòu)信息,信息可以從根節(jié)點傳到葉節(jié)點,也可從葉節(jié)點傳到跟節(jié)點。文中主要是將樹型LSTM疊加在序列LSTM上, 樹型LSTM中每個節(jié)點都融入了三種特征,一個是依存類型、一個是序列雙向LSTM的輸出、還有一個是預(yù)測的標(biāo)簽向量。這也是文章的關(guān)鍵,看似仍然是pipeline的方式,但是由于部分參數(shù)是共享的,所以實體識別和關(guān)系抽取是互相影響的,但與真正的聯(lián)合抽取還是有所不同的,因為還是先識別實體,然后得到實體對間的關(guān)系。
總結(jié)
以上是幾篇關(guān)系抽取在過往幾年和卷積神經(jīng)網(wǎng)絡(luò)或者循環(huán)神經(jīng)網(wǎng)絡(luò)相關(guān)的頂會論文,以現(xiàn)在的眼光來看,CNN部分圍繞的主要工作還是基本的卷積神經(jīng)網(wǎng)絡(luò)、注意力機制以及在特征輸入上面,特征上面在慢慢的去除人工構(gòu)造特征,在逐步采用深度學(xué)習(xí)等方法自動獲取特征信息。在RNN部分圍繞的主要是RNN/LSTM/Attention、以及依存句法等特征。其中有很多觀點和想法雖然現(xiàn)在看來并沒有那么復(fù)雜,不過在當(dāng)時神經(jīng)網(wǎng)絡(luò)模型、注意力機制等剛剛興起的時候,能有這樣的開山之作和新穎的想法是非常值得學(xué)習(xí)的。
參考資料
Relation Classification via Convolutional Deep Neural Network Classifying Relations by Ranking with Convolutional Neural Networks Relation Extraction Perspective from Convolutional Neural Networks Relation Classification via Multi-Level Attention CNNs Attention-Based Convolutional Neural Network for Semantic Relation Extraction Relation Classification via Recurrent Neural Network Bidirectional Long Short-Term Memory Networks for Relation Classification Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification Semantic Relation Classification via Hierarchical Recurrent Neural Network with Attention End-to-End Relation Extraction using LSTMs on Sequences and Tree Structures https://github.com/roomylee/awesome-relation-extraction

