唐楠楠,陳 吉,侯 磊,王 星
1(遼寧工程技術大學 電子與信息工程學院,遼寧 葫蘆島 125105)2(臨沂大學 信息科學與工程學院,山東 臨沂 276000)3(清華大學 計算機科學與技術系,北京 100084)4(清華大學 人工智能研究院 知識智能研究中心,北京 100084)
知識圖譜[1]本質是由實體結點相互連接形成的網(wǎng)狀語義知識庫.隨著信息時代的發(fā)展,知識圖譜已滲透到教育、醫(yī)療、金融等領域,在信息搜索[2]、智能問答[3]、推薦系統(tǒng)[4]等應用中發(fā)揮著重要的作用.知識圖譜的構建離不開關系抽取,實體關系抽取[5,6]旨在從非結構化文本中抽取結構化的實體關系事實.這些事實以(主語,關系,賓語)的形式存在,稱為關系三元組.關系三元組是構成知識圖譜的基本單位,因此關系抽取被視作構建知識圖譜的根基[7].
傳統(tǒng)機器學習的關系抽取研究通常以基于統(tǒng)計和基于規(guī)則兩種方法[8]為主.近年來,由于深度學習可以較精確地獲取更深層的特征,基于深度學習的方法[9,10]成為了實體關系抽取領域的研究熱點.基于深度學習的實體關系抽取根據(jù)實體識別和關系分類的完成順序又可分為流水線方法和聯(lián)合抽取方法兩種.流水線方法[11-17]將實體識別與關系抽取視為兩個獨立的任務,首先由實體模型提取實體,再進行實體間的配對,最后將實體對進行關系分類,這種方法的優(yōu)點在于靈活性強,易于操作,但往往存在誤差積累和交互缺失.聯(lián)合抽取方法[18-27]通過一個模型同時實現(xiàn)實體抽取和關系抽取,能更好地整合實體及其關系之間的信息,增加兩個子任務間的聯(lián)系,可獲得較好的性能.
目前多數(shù)聯(lián)合抽取模型使用雙向長短時記憶網(wǎng)絡(Bi-LSTM)編碼[19,20],該網(wǎng)絡可以捕獲長距離信息,但存在無法挖掘出句子中重點信息的問題,對句子中蘊含的語義信息獲取不夠豐富,也不能并行運算,計算效率較低;以往大多數(shù)聯(lián)合抽取模型將關系視為實體對上的離散函數(shù)[23-25],這種做法會由于訓練樣本有限,導致同一實體參與多個關系時很難得到正確的分類,無法較好地解決句子中包含相互重疊的多個關系三元組的問題.因此,本文提出了一種融合注意力機制和指針標注的實體關系聯(lián)合抽取模型AMPA(Attention Mechanism and Pointer Annotation).本文利用預訓練語言模型BERT編碼詞向量,通過多頭自注意力機制多維度捕獲句子中的關鍵信息,注意力模型可以不依賴前一時刻狀態(tài)進行并行計算,在提高效率的同時充分獲取長距離豐富的語義信息.模型將關系建模為主語到賓語的映射函數(shù),通過指針標注器先抽取主語,然后在關系條件下依次對每一個主語對應的賓語進行標記,通過分層的指針標注可以自然地處理三元組重疊問題.在抽取賓語之前將主語的特征采用改進的層歸一化方法融合到句子編碼向量中,以此增強表達能力以及模型中主語與賓語抽取任務間的依賴性,最終本文的主要工作包括以下3點:
1)為了深入獲取句子中詞向量內部潛在的語義特征,提出了將多頭注意力機制與指針網(wǎng)絡相結合的AMPA模型,在一定程度解決三元組重疊問題的同時,獲取更加豐富的語義信息,提高語義特征抽取能力.
2)為了增強模型依賴,將抽取的主語特征作為條件信息,通過層歸一化方式融合到特征向量中,該特征融合方法取代簡單的連接,為賓語和關系的抽取增強表達能力.
3)本文在公開數(shù)據(jù)集NYT和WebNLG分別進行測試,實驗結果表明AMPA模型的各項評價指標均有較好的表現(xiàn),在兩個數(shù)據(jù)集上的F1值最高分別可達到92.1%、92.7%.
基于流水線的方法進行關系抽取是指實體識別與關系分類兩個任務分開進行,可以描述為對已經標注好目標實體對的句子進行關系抽取,之后把存在實體關系的三元組作為預測結果輸出.這類模型主要采用基于CNN[11]、RNN[12]、LSTM[13]及其改進模型的網(wǎng)絡結構.Zeng等人[14]提出分段的卷積神經網(wǎng)絡PCNN模型,將句子按照兩個實體分割成3段分別進行最大池化,來自動提取特征,并采用多示例學習的方式對遠程監(jiān)督降噪;Lin等人[15]提出PCNN與注意力機制的融合方法,通過構建句子級注意力加權的關系提取向量,有效地降低了錯誤標記的影響;Shikhar等人[16]提出在圖卷積網(wǎng)絡GCN基礎上添加實體類型和關系別名信息,通過施加軟約束來輔助學習提高抽取效果;Peng等人[17]提出動態(tài)改變損失函數(shù)的方法,提高遠程監(jiān)督的準確率.雖然流水線的方法相對易于實現(xiàn),靈活性強,兩個模型可以使用獨立的數(shù)據(jù)集,但是實體抽取產生的錯誤往往會影響關系抽取的性能,造成誤差累積;其次它忽略了兩個任務之間的內在聯(lián)系與依賴關系;此外因為模型需要先對抽取的實體進行兩兩配對,然后再進行關系分類,這樣沒有關系的候選實體對會產生實體冗余,冗余信息不但會提高錯誤率,還會增加模型計算的復雜度.
流水線的方法雖然操作簡單,但是模型的局限性影響了抽取效果,隨后有學者提出了實體關系聯(lián)合抽取的方法.基于聯(lián)合抽取的方法是指將實體識別和關系分類進行聯(lián)合建模,即用單一模型抽取出文本中的實體關系三元組,這種方法能增強兩個子任務之間的聯(lián)系.2016年,Miwa等人[18]首次提出將神經網(wǎng)絡用于聯(lián)合抽取實體和關系.Katiyar等人[19]提出將Bi-LSTM用于聯(lián)合提取實體關系三元組,但模型存在無法抽取其他關系類型的問題.Katiyar等人[20]改進模型無法擴展的問題,將Bi-LSTM與注意力機制結合來聯(lián)合抽取,改善了Miwa等人[18]模型中依賴詞性標簽等缺點,同時該方法可擴展應用于提取各種已定義的關系類型.Bekoulis等人[21]將關系抽取任務建模為多頭選擇問題,模型可以不依賴外部自然語言處理工具,在訓練中自動提取特征.然而,這些模型多數(shù)使用Bi-LSTM網(wǎng)絡,無法并行運算,由于模型結構問題導致編碼能力較弱,語義信息獲取不夠豐富.
2017年,Zheng等人[22]提出將聯(lián)合抽取任務轉換成序列標注任務,該方法優(yōu)于當時大多數(shù)抽取模型,為關系抽取打開了新思路,然而該模型忽略了句子中包含相互重疊的多個關系三元組的問題.2018年,Zeng[23]首先提出解決三元組重疊問題,通過帶有復制機制的Seq2seq模型解決重疊問題,但模型依賴解碼的結果存在實體識別不全的缺點.Fu等人[24]采用加權的圖卷積神經網(wǎng)絡GCN考慮命名實體和關系之間的交互.Zeng等人[25]優(yōu)化之前的模型,考慮到關系事實的提取順序,將強化學習應用到模型中,可自動生成關系事實.Yu等人[26]提出將聯(lián)合抽取分解為兩個相互關聯(lián)的子任務的分解策略,更好地捕獲頭尾實體的相關性.Wei等人[27]提出了一種新的級聯(lián)二進制指針標注框架處理重疊問題,為關系三元組抽取提供了新的視角,但此模型將主語向量取平均后連接到特征向量中,存在特征丟失問題.
綜上所述,現(xiàn)有的聯(lián)合抽取模型已經取得了較好的抽取效果,但仍存在語義信息獲取不充分,模型依賴不足的問題,而且多數(shù)模型不能較好地解決三元組重疊的情況.針對現(xiàn)存的問題,本文提出了一種基于多頭注意力機制和指針標注結合的聯(lián)合抽取模型.
關系三元組提取的目標是識別句子中所有可能的(s,r,o)三元組,其中s為主語,o為賓語,r為關系.根據(jù) Seq2Seq 模型的解碼思路,關系三元組抽取可以表示為公式(1),即先預測主語s,然后通過主語s預測對應的賓語o,最終傳入主語s、賓語o預測對應的關系r.
P(s,r,o)=P(s)P(o|s)P(r|s,o)
(1)
從句子x中抽取關系三元組時,可以設計將賓語o和關系r的預測合并為一步,即先抽取主語s,再根據(jù)主語s同時抽取賓語o及關系r.可以得出三元組抽取的公式(2).
P(s,r,o|x)=P(s|x)P(r,o|s,x)
(2)
理論上,該公式只能從句子中抽取一個三元組,為了處理多個主語s、賓語o以及多個關系r的情況,本文將三元組抽取問題轉化成指針標注問題.首先通過指針標注從一個句子中抽取出n個主語s.然后在抽取賓語o和關系r時采用分層的指針標注方式,預先定義好關系,依次將抽取到的各個主語s在每一種關系條件下對賓語o進行預測.最終完整地抽取出句子中所包含的三元組.
本文提出的AMPA模型通過預訓練語言模型BERT編碼詞向量,設計多頭自注意力層來豐富語義特征,將序列標注轉化為指針網(wǎng)絡標注處理三元組實體重疊問題.模型總體框架如圖1所示,模型可分為BERT詞嵌入層、多頭注意力層和指針網(wǎng)絡層.其中,向量hN表示BERT編碼的句子向量;向量M為經過多頭注意力網(wǎng)絡層訓練的特征向量;0/1標記表示該位置是否對應起始或結束.虛線框內的部分表示抽取出的主語.以第1個抽取出的主語“Scarlett Johansson”為例,在“Birth_place”關系條件下對應賓語為“New York”和“the United States”,在其他的關系條件下沒有對應的賓語,所以主語“Scarlett Johansson”可以抽取出(Scarlett Johansson,Birth_place,New York)和(Scarlett Johansson,Birth_place,the United States)兩個關系三元組.在每個主語和每種關系下依次操作,最終抽取出句子中潛在的全部三元組.
圖1 AMPA實體關系三元組抽取模型結構Fig.1 AMPA entity relation triples extraction model structure
2018年,Devlin等人[28]提出了BERT語言模型,該模型是基于多層Transformer[29]的雙向編碼表征模型,以往通過Word2vec、Glove訓練的詞向量為靜態(tài)的,BERT模型通過動態(tài)地訓練詞向量可以充分地學習深層表征信息.因此本文采用預先訓練的BERT模型作為詞向量嵌入層來編碼上下文信息.
本文抽取任務輸入的是單個句子而不是句子對,所以輸入向量中不包括分割嵌入,因此BERT輸入向量為輸入句子的子詞嵌入和每個詞的位置嵌入之和.本文將Transformer表示為Trans(·),具體操作可以表示為公式(3)、公式(4).其中WS是子詞嵌入矩陣,WP是位置嵌入矩陣,N是Transformer的數(shù)目,本文中N=12,hα是隱藏層狀態(tài),也就是輸入句子在α層的上下文信息.hN表示最終經過N層Transformer編碼得到的句子向量.
h0=WS+WP
(3)
hα=Trans(hα-1),α∈[1,N]
(4)
自注意力機制[30]可以學習句子的內部結構,通過計算兩個詞之間的相似度,學習到句子中任意兩個詞之間潛在的依賴信息.通常采用縮放點積注意力進行計算,如公式(5)所示.
(5)
圖2 多頭自注意力模型Fig.2 Multi-head self-attention model
(6)
M(Q,K,V)=Concat(head1,…,headt)Wo
(7)
本文采用指針標注方式解碼.首先通過指針標注抽取句子中的所有主語,然后采用分層的指針標注抽取關系和賓語,將每一個主語作為先驗條件,利用層歸一化將主語與句子向量進行特征融合,依次在每一種關系條件下標注主語對應的賓語.
3.3.1 主語標注
將多頭注意力層的輸出向量輸入到兩個相同的二進制指針標注器,分別預測句子中主語的起始位置和結束位置,通過0/1指針確定該標記是否對應于主語起始和結束位置.具體操作如公式(8)、公式(9)所示.
(8)
(9)
(10)
3.3.2 主語特征融合
為了加強模型的依賴性,在抽取賓語時要考慮主語的特征,但是采用簡單的連接會導致特征表達效果不佳.本文把主語特征作為條件采用層歸一化LN(Layer Normalization)方法將主語特征與句子向量進行更有效的融合.層歸一化可以避免批歸一化中受批量大小的影響,適用于小批量場景.LN計算如式(11).
(11)
其中,mi為輸入向量M中對應第i個位置的向量,μ為均值,σ為標準差,ε是接近0的正數(shù),α與β是模型訓練參數(shù).本模型改進的層歸一化ILN(Improved Layer Normalization)進行特征融合時將主語向量s通過兩個不同的變換矩陣,轉換成與α、β同樣的維度,然后將兩個變換結果分別加到α和β上.其計算過程如公式(12)所示.
(12)
3.3.3 賓語標注
賓語標注采用分層的指針,首先預定義若干種關系,在每一種關系下都建立兩個二進制指針標注器,實際操作與主語標注類似,不同的是輸入向量改為融合了主語特征的句子向量ILN,特定關系下的詳細操作如公式(13)、公式(14)所示.
(13)
(14)
(15)
AMPA模型的整體損失值為主語抽取任務和關系條件下賓語抽取任務兩部分任務的損失之和.損失函數(shù)表示為公式(16).
(16)
其中,|D|表示訓練集大小,xj是訓練集D中的一個句子,Tj={(s,r,o)}是句子中的潛在三元組.模型使用Adam優(yōu)化器對損失函數(shù)進行優(yōu)化.
為了驗證AMPA模型的實驗效果,本文在NYT[31](New York Times)和WebNLG[32]兩個經典的實體關系聯(lián)合抽取公共數(shù)據(jù)集上進行驗證.NYT數(shù)據(jù)集由遠程監(jiān)督的方式產生,WebNLG數(shù)據(jù)集最初為自然語言處理任務而創(chuàng)建.為了與先前的模型進行公正的對比,本文采用Zeng等人[23]預處理版本的兩個數(shù)據(jù)集.其中NYT數(shù)據(jù)集包括24種預定義的關系,共有56195個實例用于訓練,5000個實例用于測試,5000個實例用于驗證.WebNLG數(shù)據(jù)集包括246種預定義的關系,總共包含5019個實例,測試集包含703個實例,驗證集包含500個實例.根據(jù)句子不同的重疊情況,將句子分為正常情況、實體對重疊EPO情況和單一實體重疊SEO情況,具體數(shù)據(jù)如表1所示.
表1 數(shù)據(jù)集統(tǒng)計Table 1 Statistics of datasets
為了驗證AMPA模型的有效性,本文采用準確率P,召回率R和調和平均值F1來評估本文的模型,其中F1為主要的評價指標.定義模型預測產生的關系三元組與真實的三元組完全相同時為正確抽取的數(shù)量.評價指標公式具體如公式(17)-公式(19).
(17)
(18)
(19)
AMPA模型在服務器Ubuntu18.04操作系統(tǒng)上運行,處理器為Inter(R)Core i7-6800K@3.40GHZ,運行內存16GB(RAM),顯卡為GIGA-BYTE GeForce GTX1080Ti.采用TensorFlow1.15和Keras2.2.4搭建深度學習神經網(wǎng)絡.
實驗中初始詞向量的維度為預訓練語言模型BERT的向量維度768.模型采用小批量學習訓練,批量大小為6.模型采用Adam優(yōu)化器來更新優(yōu)化參數(shù).在驗證集上確定參數(shù),當驗證集上F1結果連續(xù)15個訓練周期不發(fā)生改變時停止訓練.通過調整參數(shù)對比結果,AMPA模型的最優(yōu)參數(shù)如表2所示.
表2 模型參數(shù)值Table 2 Model parameter values
4.3.1 整體結果
為了驗證AMPA模型的有效性,將其與目前較好的幾個聯(lián)合抽取基線模型進行對比,分別為Zheng提出的NovelTagging模型[21]、Zeng 提出的CopyRE模型[22]、Fu提出的GraphRel模型[23]、Zeng提出的CopyRRL模型[24]、Yu提出的ETL-Span模型[25],以及Wei提出的CasRel模型[26].在兩個數(shù)據(jù)集的對比實驗結果如表3、表4所示, 加粗字體為最優(yōu)數(shù)據(jù)結果.
表3 在NYT數(shù)據(jù)集上的對比實驗結果Table 3 Comparison of experimental results on NYT dataset
表4 在WebNLG數(shù)據(jù)集上的對比實驗結果Table 4 Comparison of experimental results on WebNLG dataset
通過表3和表4數(shù)據(jù)可見,AMPA模型在3項評價上的結果指標均超過了基線模型.在NYT和WebNLG數(shù)據(jù)集上,F1得分比最優(yōu)的基線模型分別提高了2.5%和0.9%.特別地,在WebNLG數(shù)據(jù)集上F1值達到了92.7%.證明了AMPA模型在實體關系聯(lián)合抽取中的有效性.本模型性能較優(yōu)是因為BERT語言模型比靜態(tài)編碼能更充分地學習表征信息,多頭注意力機制相比其他網(wǎng)絡在特征提取方面更優(yōu)秀,主語特征融合可以加強指針標注模型中主語和賓語的依賴.對比兩表發(fā)現(xiàn)AMPA模型在NYT數(shù)據(jù)集上的提升更為明顯,而在WebNLG數(shù)據(jù)集上的提升較弱.這與數(shù)據(jù)集的本身性質有關,因為WebNLG數(shù)據(jù)集預定義的關系較多,而且本身訓練數(shù)據(jù)較少,所以WebNLG數(shù)據(jù)集可以達到較好結果但提升的空間有限.
4.3.2 消融實驗
為了驗證多頭注意力機制和條件層歸一化對AMPA模型性能的影響,本文在兩個數(shù)據(jù)集上進行了消融實驗,對比結果如表5所示.其中,AMPA-LN表示指針網(wǎng)絡中將主語向量與句子向量直接連接代替特征融合;AMPA-ATT表示消去多頭注意力網(wǎng)絡.
表5 在兩個數(shù)據(jù)集上消融實驗結果Table 5 Results of ablation experiments on two datasets
對比實驗結果發(fā)現(xiàn)不添加多頭注意力和不采用主語特征融合時,多數(shù)評價指標會有不同程度的下降.其中多頭注意力網(wǎng)絡對于準確率的影響較大,說明注意力網(wǎng)絡通過豐富特征向量提高了模型的抽取準確性;觀察數(shù)據(jù)發(fā)現(xiàn),AMPA-LN模型的準確率和召回率相差懸殊,進行主語特征融合后因為其增加主語與賓語的依賴性,一定程度上使得模型的準確率和召回率結果更加平衡.總體來說,多頭注意力機制和主語特征融合對AMPA模型性能的提升具有明顯效果.
4.3.3 重疊問題實驗
為了進一步驗證AMPA模型具有解決三元組重疊問題的能力,本文將AMPA模型在正常、單個實體重疊、實體對重疊的3種不同重疊模式下與基線模型進行對比,在兩個數(shù)據(jù)集中F1結果的對比情況如圖3、圖4所示.
圖3 在NYT數(shù)據(jù)集上的不同重疊模式的F1得分Fig.3 F1 scores for different overlapping patterns on the NYT dataset
由圖3可見,在NYT數(shù)據(jù)集中AMPA模型在3種不同重疊模式下的F1值均優(yōu)于其他模型,觀察圖4可見,在WebNLG數(shù)據(jù)集中,AMPA模型在單一實體重疊和實體對重疊情況下分別提高了0.3%和1.4%.但在正常情況下的F1得分不及CasRel模型.其次,還可以觀察到,之前的多數(shù)模型在重疊情況下的抽取效果相比正常情況會有下降趨勢,而AMPA在重疊情況下的結果相比正常情況表現(xiàn)更好.這是因為這些模型的結構存在缺陷,它們將關系建模為實體對上的離散函數(shù),當同一實體參與多種關系時,模型無法對關系進行正確分類,從而出現(xiàn)三元組缺失的情況.雖然CasRel模型對于重疊情況也有較好的表現(xiàn),但AMPA模型對于處理復雜句子有更大的優(yōu)勢.原因在于分層的指針標注可以通過映射關系處理重疊問題,而多頭注意力機制能夠從多個維度獲取句子的特征信息,可以更好地解讀復雜句式中的關鍵信息.同時在主語賓語標注中采用主語特征融合,可以增強模型依賴.綜上所述,AMPA模型可以較好的處理復雜的文本,對于處理實體關系聯(lián)合抽取中存在的三元組重疊問題時具備有效性.
圖4 在WebNLG數(shù)據(jù)集上的不同重疊模式的F1得分Fig.4 F1 scores for different overlapping patterns on the WebNLG dataset
本文融合多頭注意力機制和指針網(wǎng)絡提出了一種可以解決關系三元組重疊問題的實體關系聯(lián)合抽取模型AMPA.該模型通過多頭的注意力機制多個維度地捕捉句子中潛在的特征信息,在指針網(wǎng)絡中添加了主語特征融合層,將主語向量融合到句子向量中,強化了主語抽取與關系賓語抽取任務之間的聯(lián)系,提高模型性能.實驗結果表明,AMPA模型可以解決三元組重疊問題,并且相比基線模型可以在實體關系聯(lián)合抽取任務上取得較好的效果.
該模型雖然取得了一定的效果,但當數(shù)據(jù)集存在較大噪聲和長尾問題時,模型訓練效果會產生波動;并且訓練時間較長,成本較高;由于本模型進行聯(lián)合抽取時涉及順序相關的步驟,從而不可避免的存在曝光偏差問題.所以在后續(xù)的工作中,將從提高模型抽取效率,增強模型穩(wěn)定性入手改進抽取模型,并且尋求一種一階段的重疊實體關系聯(lián)合抽取方法,盡可能避免曝光偏差問題帶來的影響,更好地處理重疊問題,進一步解決復雜文本的關系抽取難題.本研究的模型是對通用數(shù)據(jù)集進行實體關系抽取,而領域知識圖譜的構建更有意義,特別地,醫(yī)療領域知識圖譜對于完善醫(yī)療問答系統(tǒng)至關重要,所以接下來會深入醫(yī)療領域對關系抽取模型進行改進,為之后的醫(yī)療領域知識圖譜工作做好鋪墊.