宋 睿,陳 鑫,洪 宇,張 民
(蘇州大學 計算機科學與技術學院,江蘇 蘇州 215006)
信息抽取(information extraction,IE)研究如何將非結構化描述的自然文本轉化為結構化數(shù)據(jù)。實體關系抽取(relation extraction,RE)則是該領域的一項重要子課題,其目的是從自然文本中挖掘給定實體對之間的語義關系。如例1所示,句中的實體relics和culture需被判定為Entity-Origin關系類型。主流的關系抽取方法將該任務當作分類問題處理,通過設計分類模型學習關系實例的特性,從而利用訓練完備的分類器預測實體間關系類型。
例1Thearchaeologicalsiteyieldsrelicsfromlongforgottenculture.
<譯>:考古遺址發(fā)掘了被遺忘已久的文化古物。
實體1relics
實體2culture
關系類型:Entity-Origin
傳統(tǒng)的關系抽取主要依靠手工特征[1-2]或核函數(shù)[3-6]構造分類模型,這類方法不僅難以捕獲句子的全部信息,且容易產生誤差,從而影響了最終分類器的性能。而深度學習方法不依賴手工構造的特征,因而緩解了傳統(tǒng)方法的錯誤傳遞問題。但是,深度學習方法無法兼顧局部信息和整體信息。其中,卷積網(wǎng)絡主要依靠卷積核抽取局部特征,因此在長句建模中效果不佳,循環(huán)網(wǎng)絡則依靠序列單元提取序列中的上下文關系,對局部特征關注度不夠。因此,本文提出一種兼顧局部與整體信息的卷積循環(huán)神經(jīng)網(wǎng)絡(convolutional recurrent neural network,CRNN),旨在更好地表征關系實例。模型主要包括以下三個部分:
① 在卷積層通過多尺度卷積核抽取多粒度局部特征;
② 在聚合層采用三種不同的聚合策略對多粒度特征進行融合;
③ 在循環(huán)層通過Bi-LSTM建模局部特征間的上下文依賴,獲取全局特征。
本文的研究意義在于,提出了一種融合局部與整體信息的網(wǎng)絡架構,并以此對關系實例建模,在SemEval-2010評測數(shù)據(jù)集[7]上取得了優(yōu)于主流模型的性能。其貢獻主要在于:
① 以緊湊的短語級別表示輸入RNN,替代原有松散的詞級別輸入;
② 利用RNN來處理特征序列,從而彌補CNN在應對序列數(shù)據(jù)上的不足;
③ 探究了多種聚合策略對信息融合的效果。
本文組織結構如下: 第1節(jié)概述相關工作,第2節(jié)介紹模型的框架和內部策略,第3節(jié)給出實驗設置、結果和分析,最后為總結和展望。
關系抽取是信息抽取領域一個重要研究方向,通常做法是將關系抽取當作分類問題處理。在識別出關系實例中的實體對的基礎上,利用分類器來判定關系實例的類型。傳統(tǒng)的關系抽取方法主要包括基于特征的方法和基于核函數(shù)的方法。近年來隨著深度學習的發(fā)展,關系抽取也逐漸從傳統(tǒng)方法過渡到深度學習方法,下面將具體介紹這幾類方法的發(fā)展過程。
基于特征的方法通過著重提取文本中的重要特征來描述實體間的關系,如實體類型、依存樹[1]和詞塊[2]特征等,并將其組織成向量形式,利用機器學習算法(如支持向量機、最大熵等)對關系特征進行分類。該方法依賴特征的設計和自然語言處理工具(如命名實體識別、詞性標注、短語提取等)的準確率,因此設計耗時且容易造成錯誤累積,進而影響最終的分類性能。
基于核函數(shù)的方法通過設計核函數(shù)計算對象在高維空間的相似度,以獲取對象的結構化特征,并以此構建分類模型。Zelenko[3]等通過淺層句法分析設計樹核函數(shù);Culotta[4]等通過依存句法捕獲對象間的相似性來構造樹核函數(shù);Bunescu[5]等將句法最短路徑與樹核函數(shù)融合;Zhang[6]等利用卷積樹核探究句法特征的效果。這類方法依賴核函數(shù)的設計,且同樣受到自然語言處理工具損失的影響,因此通用性不強。
基于神經(jīng)網(wǎng)絡的方法能自動學習文本特征,不需要手動構建特征,因此避免了傳統(tǒng)方法帶來的損失。神經(jīng)網(wǎng)絡的方法主要包括基于卷積神經(jīng)網(wǎng)絡的方法和基于循環(huán)神經(jīng)網(wǎng)絡的方法。其中卷積神經(jīng)網(wǎng)絡的方法主要包括: Zeng[8]等提出利用卷積神經(jīng)網(wǎng)絡對關系實例建模,并引入了位置向量;Nguyen[9]等通過設計不同尺度的卷積核對語義關系進行表征;Santos[10]等提出利用合頁損失函數(shù)替代原有的交叉熵,以更好地區(qū)分不同類型的關系實例; Wang[11]等則在卷積網(wǎng)絡中嘗試了多層注意力機制,以著重突出句子成分對關系標簽的貢獻。循環(huán)神經(jīng)網(wǎng)絡的方法主要包括: Zhang[12]等提出用RNN替代CNN建模關系實例,并用簡單的位置標簽替代位置向量;Li[13]等通過循環(huán)神經(jīng)網(wǎng)絡對不同的句法結構進行建模;Miwa[14]等利用Tree-LSTM建模關系實例,并考慮不同的句法結構類型; Zhou[15]等則將雙向循環(huán)神經(jīng)網(wǎng)絡和注意力機制應用于關系抽取任務中;Xiao[16]等將長句切割,并利用兩層RNN和注意力機制分別編碼。
從建模方法的角度而言,目前神經(jīng)關系抽取方法主要包括基于卷積神經(jīng)網(wǎng)絡的方法和基于循環(huán)神經(jīng)網(wǎng)絡的方法,兩類神經(jīng)網(wǎng)絡方法各有優(yōu)劣。其中,基于卷積神經(jīng)網(wǎng)絡的方法擅長提取關系實例的局部特征,而基于循環(huán)神經(jīng)網(wǎng)絡的方法則能夠很好地捕獲序列的整體特征信息。但是,卷積神經(jīng)網(wǎng)絡過于關注局部特征而忽略整體的序列化信息。相比而言,循環(huán)神經(jīng)網(wǎng)絡則側重考慮序列的整體信息,對局部特征的表示和應用略顯欠缺。針對二者在表示學習層面上互為補充的特點,本文提出一種融合局部和整體信息的卷積循環(huán)神經(jīng)網(wǎng)絡,通過聚合策略聚合卷積產生的多粒度局部特征,并通過循環(huán)神經(jīng)網(wǎng)絡對聚合特征抽取整體信息。

圖1 CRNN模型框架
本文的關系抽取模型主要包括三部分: 卷積層抽取多粒度局部特征、聚合層融合多粒度特征和循環(huán)層對特征上下文依賴建模。模型的具體框架如圖1所示,其中,輸入序列表示由dw維的詞向量(word embedding)和dp維的位置向量(position embedding)拼接而成。模型首先將序列表示輸入卷積層,利用多卷積窗口抽得多粒度的n-gram特征(此處由于卷積操作的平移不變性,使得特征的排列順序與原始詞序列一致,因此不同窗口大小的卷積特征即相當于對應的n-gram特征);然后在聚合層將抽得的特征輸入聚合層,將不同粒度的卷積特征進行融合,并將其按時序組織,形成以原詞為中心的多粒度融合特征。最后經(jīng)過循環(huán)層,利用LSTM捕獲序列長期依賴的能力,對序列特征進行建模,針對高階的n-gram表示,提取其中的上下文依賴信息。
為了同時考慮關系實例的整體和局部信息,本節(jié)主要介紹如何綜合利用卷積神經(jīng)網(wǎng)絡和循環(huán)神經(jīng)網(wǎng)絡對關系實例建模,以建立局部特征和整體特征間的聯(lián)系,從而更好地獲得關系表征。
2.2.1 局部特征抽取
關系實例的重要信息通常體現(xiàn)在序列的局部區(qū)域,但粒度卻并不絕對。為了使模型能夠捕捉不同粒度的局部特征(local feature),本文采用不同尺度的卷積核捕捉文本中不同粒度的n-gram特征,以獲取更全面的局部特征信息。
設輸入的句子矩陣為C,其中每個詞的維度為d(包括dw維的詞向量表示和dp維的位置向量)。為了得到輸入句子的特征表示,模型初始化窗口大小為k的濾波器用于卷積操作,其寬度與詞向量維度一致。卷積操作如式(1)所示。
(1)
其中,“°”代表點乘,σ表示sigmoid激活函數(shù),C[i:i+k]表示第i到i+k的詞向量序列,Hk為寬度為k的卷積核。為了保證不同的卷積核抽取的特征圖長度一致,本文采用了SAME的padding策略,以使不同粒度特征圖和輸入序列長度一致。
2.2.2 局部信息融合
為了更好地建模序列的整體信息,本文通過聚合層對多粒度局部特征進行融合,并將聚合后的特征按時序進行組織,從而得到融合多粒度局部信息的特征矩陣[c1,c2,…,cn]。其中,ci為第i組特征向量,表示以原序列第i個詞為中心的多粒度卷積結果的聚合特征。為了探究不同的特征聚合策略,本文將在2.3節(jié)詳細介紹三種聚合策略。
2.2.3 整體上下文建模
為了更好地捕捉特征序列間的整體信息,本文將循環(huán)層置于卷積層之上,旨在通過循環(huán)神經(jīng)網(wǎng)絡捕獲特征序列的上下文關系。在具體技術環(huán)節(jié),本文采用雙向長短時記憶網(wǎng)絡(bidirectional long short term memory network,BiLSTM)構建循環(huán)層。該網(wǎng)絡通過前向、后向兩組鏈式網(wǎng)絡結構分別對特征序列進行建模,并將兩組鏈式網(wǎng)絡最后時刻的輸出進行拼接作為序列的整體信息。具體來看,BiLSTM將LSTM 神經(jīng)元作為基本的處理單元,其內部通過多組門控機制實現(xiàn)對整體序列信息的控制。其借助三組數(shù)學公式實現(xiàn)信息的處理與計算,如式(2)~式(4)所示。
其中,ct代表聚合層在t時刻的輸出,ht-1代表上一神經(jīng)單元的輸出,σ表示sigmoid激活函數(shù),W為權重矩陣,ft、it和ot分別代表LSTM內部的遺忘門、輸入門和輸出門。
卷積層獲取的n-gram特征,由于卷積核尺寸的不同,其抽取的特征也呈現(xiàn)多粒度的分布。為了更好地組織不同粒度的特征,以適應循環(huán)層建模,本文嘗試了三種聚合策略將不同粒度特征融合,分別是全拼接策略、逐元素最大池化策略以及自注意力機制策略。下面將具體闡述三種聚合策略。
2.3.1 全拼接策略
采用全拼接策略(full concentrate),對不同粒度的特征直接進行拼接。如圖2(a)所示,將特征按序列展開,其中每個時刻的聚合特征由該時刻不同粒度的特征詞拼接而得,結果如式(5)所示。
(5)

2.3.2 逐元素最大池化策略
采用逐元素最大池化(element-wise maxpooling)的策略,對不同粒度的特征進行篩選。如圖2(b)所示,對多組n-gram特征逐位最大池化,即逐個取特征位上多組特征的最大值,形成向量與原始特征位數(shù)一致,具體操作如式(6)~式(7)所示。

2.3.3 自注意力機制策略
采用自注意力機制[17](self-attention),綜合考慮不同粒度特征的信息。如圖2(c)所示,通過計算不同粒度n-gram特征之間的相關性,將不同粒度特征相互關聯(lián),從而賦予不同粒度特征相應的權重,通過加權求和獲取其表征。具體計算如式(8)~式(10)所示。

本文將以上三種聚合策略都作用于多粒度的n-gram特征,并且將聚合的結果[c1,c2,…cn]按時間步t輸入循環(huán)層,以建模多粒度短語之間的上下文依賴。
本節(jié)主要介紹模型的訓練過程。在循環(huán)層獲取關系表征之后,模型設置Softmax作為分類器,用于接收隱層的輸出,并據(jù)此生成每個關系類別的概率分布,然后最小化這一概率分布與關系實例的實際類別的交叉熵來訓練模型。

(11)
其中,l為指示函數(shù),當yi=j為真時l=1,否則為0。
在學習參數(shù)的過程中,深度學習模型往往會由于參數(shù)過多而導致過擬合現(xiàn)象,為了防止過擬合現(xiàn)象的發(fā)生,本文嘗試兩種不同策略來解決這一問題:
① Dropout策略是通過在訓練過程中忽略某些節(jié)點,即不讓數(shù)據(jù)經(jīng)過部分神經(jīng)元。這種隨機丟棄的策略相當于組合了多個網(wǎng)絡模型,且模型參數(shù)數(shù)量都較原先模型少,因此有更好的泛化能力。本節(jié)在模型的輸入層和RNN之后都添加了dropout策略。
② 正則化則是給模型的代價函數(shù)添加罰項,以降低模型本身的復雜度。本文使用L2正則化項來約束模型參數(shù),如式(12)所示。
(12)
其中,L為總代價函數(shù),L0代表原始的代價函數(shù),w代表所有的模型參數(shù),n為訓練集大小,λ則為正則項系數(shù),用于權衡正則項和原始代價函數(shù)的比重。
為了評估提出的CRNN模型在關系抽取任務上的有效性,本文在關系抽取的基準數(shù)據(jù)集上進行了實驗,旨在驗證:
① 融合局部和整體信息的CRNN模型在關系抽取任務上是否較主流模型有明顯優(yōu)勢;
② 不同的聚合策略對模型會產生哪些影響。
下面,首先在3.1節(jié)介紹實驗數(shù)據(jù)集及其劃分,然后在3.2節(jié)介紹具體評價指標及參數(shù)設置,最后詳細闡述模型的實驗性能以及與其他方法的對比。
對于關系抽取的實驗,本文采用語義評測會議SemEval的關系抽取數(shù)據(jù)集SemEval-2010 Task 8[7],該語料集包含8 000個訓練樣本和2 717個測試樣本,其中共9大類關系和一個其他類型,關系類型具體如表1所示。

表1 SemEval-2010 Task 8數(shù)據(jù)集關系類型
此外,依據(jù)測試樣本的分布,本文從訓練集中抽取了1 600個樣例充當開發(fā)集,用于調整參數(shù)及選擇模型,其各個類別的語料分布如圖3所示。

圖3 實驗語料集分布
本文實驗的詞向量采用的是預訓練的Glove詞向量(1)https: //nlp.stanford.edu/projects/glove/,維度為300維。模型超參設置上,本文嘗試了多組模型參數(shù),并通過網(wǎng)格搜索在開發(fā)集上選擇了最優(yōu)的模型。其中,最優(yōu)結果在20~25個迭代輪獲取。模型具體參數(shù)實驗范圍和最終設置如表2所示。

表2 模型超參設置
本文采用準確率P(precision)、召回率R(recall)和F1值作為衡量模型性能的評價指標,首先通過混淆矩陣求得每個類別下的P、R、F1值,然后通過宏平均(Macro-average)求得所有類別的算術平均值作為整體性能的指標。
本文的實驗以MultiCNN[9]為基線系統(tǒng)(Baseline),本文復現(xiàn)的該模型在未引入額外知識的前提下,分類性能能夠達到82.63%。
3.3.1 局部與整體建模
在第一組實驗中,本文在MultiCNN獲取的多粒度卷積特征基礎上,通過添加循環(huán)層捕獲序列之間的上下文信息,替代了原先的池化層。得到的實驗結果如表3所示,其中聚合層采用直接拼接的策略。

表3 添加循環(huán)層的實驗結果(實驗結果省略%,F(xiàn)1值為宏平均)
從實驗結果可以看出,在MultiCNN的基礎上添加循環(huán)層,提高了模型的整體分類效果。其原因在于,單獨的CNN只能關注序列的局部區(qū)域,通過循環(huán)層能更好地捕捉特征間的聯(lián)系,從而獲取關系實例的整體特征。此外,以LSTM作為基本的處理單元,其遺忘門和記憶門在一定程度上起到了特征選擇的作用,效果比簡單的池化更優(yōu)。該實驗證明,通過RNN能有效彌補CNN在整體信息建模上的不足,從而提升關系抽取的性能。
3.3.2 聚合策略
在第二組實驗中,本文旨在驗證三種不同的聚合策略對信息融合的影響。在上節(jié)模型的基礎上,分別嘗試逐元素最大池化和自注意力機制的聚合策略,實驗結果圖4所示。

圖4 聚合策略實驗結果
從實驗結果可以看出,自注意力機制和直接拼接的聚合策略結果近似,且都優(yōu)于逐元素最大池化策略。其原因在于:
① 模型選取LSTM Cell作為基本處理單元,其中,遺忘門和記憶門在一定程度上起到了特征選擇的作用,因此不需要再利用池化操作對特征進行篩選;
② 自注意力學習到的不同粒度的權重信息,直接拼接也能夠獲取,不過是將權重學習的負擔傳遞到循環(huán)層。
綜合以上兩組實驗結果,本文在基線系統(tǒng)的基礎上,組合利用自注意力機制的聚合策略和基于BiLSTM的整體建模思路,在關系抽取語料集上進行實驗,并詳細比較了基線系統(tǒng)和本文的模型在各個類別下的指標,實驗結果如表4所示。從表中可以看出,相比基線系統(tǒng)的多通道CNN,本文的模型在各個類別均有性能優(yōu)勢。其中,召回率提升明顯,說明原先被誤判為other類別的樣本都能被本文的模型正確識別。并且,觀測發(fā)現(xiàn),本文的模型在長句預測上的性能要顯著優(yōu)于基線系統(tǒng)。如例2中關系實例,基線系統(tǒng)判定為other類別,而本文的模型則正確標識為Member-Collection類。

表4 最優(yōu)模型性能結果(實驗結果省略%,F(xiàn)1值為宏平均)
例2Skype,afreesoftware,allowsahookupofmultiplecomputeruserstojoininanonlineconferencecallwithoutincurringanytelephonecosts.
<譯>: Skype是一款免費軟件,允許多個計算機用戶連接加入在線電話會議,且不會產生任何電話費用。
實體1hookup
實體2users
關系Member-Collection
3.3.3 與現(xiàn)有方法對比
最后本文選取了當前主流的關系抽取模型與本文提出的CRNN模型進行對比,分別是:
① SVM: 融合多種詞法、句法、框架語義等特征;
② Multi-CNN: 利用多尺度卷積核抽取特征+最大池化;
③ CR-CNN: 模型為基本的CNN,損失函數(shù)利用合葉損失函數(shù)替代交叉熵損失;
④ SDP-LSTM: 利用LSTM建模實體間的最短依存路徑;
⑤ BiLSTM+ATT: 融合雙向循環(huán)神經(jīng)網(wǎng)絡和注意力機制;
⑥ BiLSTM+CNN: 組合BiLSTM和CNN,其中BiLSTM在前,CNN在后。
如表5所示,本文將主流的關系抽取模型分三大類列出: 基于特征的方法、基于CNN的方法和基于RNN的方法。

表5 CRNN和其他模型進行對比(實驗結果省略%,F(xiàn)1值為宏平均)
從表5中可以看出,相較于傳統(tǒng)基于特征的方法以及基于CNN和基于RNN的模型,本文提出的CRNN模型在不依賴外部特征的情況下,取得了優(yōu)于三類模型的效果。此外,本文還對比了BiLSTM和CNN的另一種結合方法RCNN[18],該方法首先通過BiLSTM對每個詞進行編碼,然后通過卷積層抽取局部特征。實驗顯示,本文的CRNN模型要明顯優(yōu)于RCNN模型。原因在于本文提出的CRNN模型通過聚合策略對特征進行融合,該方法在保留詞序信息的基礎上,起到了融合多粒度局部信息的效果,在結合循環(huán)神經(jīng)網(wǎng)絡和卷積神經(jīng)網(wǎng)絡中起到了重要作用。
本文針對現(xiàn)有的基于神經(jīng)網(wǎng)絡的關系抽取模型無法融合局部和整體信息的問題,提出了一種融合局部特征和整體序列信息的卷積循環(huán)神經(jīng)網(wǎng)絡。該模型通過卷積層抽取多粒度局部特征、聚合層融合多粒度信息、循環(huán)層捕獲特征之間的上下文聯(lián)系,從而將關系實例的局部特征和整體信息進行了融合,并在聚合層探究了多種特征融合策略,最終得到了融合局部和整體信息的關系表征。在SemEval-2010 Task8 數(shù)據(jù)上的實驗證明:
① 融合了局部和整體信息的模型架構比單獨建模局部特征和序列關系的模型在關系抽取上更有效;
② 自注意力和直接拼接聚合策略在特征融合上效果類似,并且都優(yōu)于逐元素最大池化策略。
后續(xù)工作將在本文的基礎上,繼續(xù)探究如何更好地利用實體詞和關系之間的聯(lián)系,以凸顯重要的局部特征,如采用注意力機制捕獲不同特征的重要性。