衡紅軍 姚若男
(中國民航大學 天津 300300)
信息抽取旨在從非結構化或者半結構化的數(shù)據(jù)中提取出結構化的信息[1]。而關系抽取作為信息抽取重要的子任務,其主要目的是解決原始文本數(shù)據(jù)中的實體關系之間的分類問題,是構建知識圖譜(knowledge graph)的重要步驟之一?;谏疃葘W習和強化學習是當前最受歡迎的方法,現(xiàn)有的基于深度學習、強化學習方法的關系抽取模型,大都局限于單個句子內(nèi)的二元實體的關系抽取。圖1中的兩個句子表達了這樣一個事實,即在治療由EGFR-TKIs基因上的T790M突變引起的疾病時,更多使用到了阿法替尼(afatinib)藥物。兩個句子中包含三個已標注的實體(圖中加粗表示),即三個實體之間存在響應關系,但這在任意一個單獨的句子中都沒有體現(xiàn)。抽取這些知識顯然需要跨越句子邊界以及二元實體。
圖1 跨句多元關系抽取舉例
N元關系抽取和跨句關系抽取在之前并沒有引起太多關注。當前已有的N元關系抽取工作集中在單個句子上進行。跨句抽取通常使用共指來獲取不同句子中的參數(shù)對象,而沒有真正對句子間的關系建模。直到Quirk等[2]使用文檔級圖融合句間關系,將遠程監(jiān)督應用于一般的跨句關系抽取,但該研究依舊僅限于二元關系。近年來,Peng等[3]進一步檢測多個實體之間的關系來拓展跨句關系抽取(跨句多元關系抽取),并提出了一種Graph Long Short-Term Memory Networks(Graph LSTMs)的框架。該框架將輸入文本表示為一個文檔圖,集合句內(nèi)和句間的各種依賴關系,利用圖結構對豐富的語言知識建模。為實體學習到一個魯棒的上下文表示,作為分類器的輸入,簡化了對任意關系的處理,并使與關系相關的多任務學習成為可能。通過在一個重要的精確醫(yī)學數(shù)據(jù)集上對該框架進行評價,證明了該框架在傳統(tǒng)監(jiān)督學習和遠程監(jiān)督下的有效性。這個方法的缺點是將完整的文檔圖分割成兩個方向上的有向無環(huán)圖(Directed Acyclic Graph,DAG),再分別使用Graph LSTM,會造成信息的丟失。Song等[4]針對這一問題提出了一種Graph state Long Short-Term Memory Networks(Graph state LSTM)模型,它將完整的圖結構建模成為單個狀態(tài),使用并行狀態(tài)對每個單詞進行建模,通過消息傳遞遞歸地更新狀態(tài)值。與DAG上使用的Graph LSTMs相比,Graph state LSTM保留了原有的完整圖結構,并允許更多的并行化,從而加快了計算速度。
在現(xiàn)實世界中,包含多個句子依存關系和語篇關系的圖結構既可能很大又可能嘈雜,如何有效地利用相關信息,同時又從圖結構中忽略無關信息仍然是一個具有挑戰(zhàn)性的研究問題?,F(xiàn)有方法使用基于規(guī)則的硬修剪策略來選擇相關的部分依賴結構,并不總能產(chǎn)生最佳結果。問題的有效解決方法是將注意力機制整合到模型中。注意力機制會自動專注于圖中與任務相關的部分,從而幫助其做出更好的決策。
本文將Graph state LSTM與注意力機制進行結合進行跨句多元關系抽取,探索不同的注意力機制對使用Graph state LSTM進行關系抽取時所產(chǎn)生的影響。在一個醫(yī)藥領域的三元實體關系數(shù)據(jù)集以及其二元子關系數(shù)據(jù)集上分別進行實驗,顯示本文提出的模型無論在多元的關系抽取上還是二元的關系抽取上都表現(xiàn)出了較好的性能。
傳統(tǒng)的關系抽取就是對單個句子內(nèi)的兩個實體間的關系進行分類,主要使用的方法有三種:(1) 基于特征的方法,根據(jù)設計好的詞匯特征、句法特征、語義特征來學習良好的關系抽取模型。黃鑫等[5]融合了詞匯、實體和語法等特征,實驗結果證明詞法、句法和語義特征的融合可以提高關系抽取的性能?;谔卣鞯姆椒ㄐ枰斯ぴO計能夠有效表示語料特性的特征,耗費大量人力。(2) 基于核函數(shù)的方法,不需要構造特征向量,而是把結構樹作為處理對象,通過計算它們之間的相似度來進行實體關系抽取。Zhao等[6]采用組合核(composite kernel)方法,先使用單獨核,然后不斷地組合核組合了多個不同的語法特征來進行關系抽取?;诤撕瘮?shù)的方法在訓練和預測環(huán)節(jié)速度過慢。(3) 基于神經(jīng)網(wǎng)絡的方法。近年來,基于神經(jīng)網(wǎng)絡的模型通過自動學習具有強大的特征表示功能,在眾多領域都有了令人矚目的表現(xiàn)。Zeng等[7]建立了分段最大池化的CNN模型(Piecewise Convolutional Neural Networks,PCNN),應用在英文實體關系抽取任務上,通過與傳統(tǒng)最大池化的CNN模型的對比,該模型顯著提升了關系抽取的性能,并在遠程監(jiān)督的多示例學習中取得了優(yōu)異的成績。
現(xiàn)存的大部分關系抽取方法局限于句內(nèi)的關系抽取,而忽略了句子間的實體交互關系,當實體出現(xiàn)在不同的句子中,只有將多個句子合并起來才能表達出他們的關系。Quirk等[2]首次利用遠程監(jiān)督實現(xiàn)跨句關系抽取。該文將依存關系和語篇關系結合形成一種圖結構,提供了一種統(tǒng)一的方法來對句子內(nèi)部和句子之間的關系建模。Gupta等[8]提出了一種新的基于句際型依存的神經(jīng)網(wǎng)絡,通過循環(huán)和遞歸神經(jīng)網(wǎng)絡對最短和增強的依賴路徑進行建模,以提取句子內(nèi)部和句間的關系。
早期對于兩個以上參數(shù)的關系抽取可追溯到MUC-7[9],重點是從新聞文章中提取事件。近些年,神經(jīng)網(wǎng)絡模型廣泛應用到了語義角色標注領域,Roth等[10]使用神經(jīng)網(wǎng)絡對語義角色標記建模,同時學習依賴路徑和特征組合的嵌入,將n元關系分解為謂詞和每個參數(shù)的二元關系,但只考慮到了單個句子中的實例。
現(xiàn)實世界中很多重要數(shù)據(jù)都是圖形式存儲的,代表著各種對象及其相互關系。圖具有復雜的結構,也具有豐富的價值。如何使用深度學習方法學習圖數(shù)據(jù),引起了相當多的關注,除了使用圖結構的LSTM進行圖編碼外,近年來很火爆的圖卷積神經(jīng)網(wǎng)絡(Graph Convolutional Network,GCN)更是被廣泛應用到了機器學習的各個領域。Fu等[11]提出一種端到端關系抽取模型GraphRel,堆疊Bi-LSTM和GCN來考慮線性結構和依賴結構,而且采用第二階段關系加權GCN進一步建模實體與關系之間的相互作用,對實體和關系進行端對端的聯(lián)合建模。Zhang等[12]提出了一個專用于關系抽取的圖卷積神經(jīng)網(wǎng)絡的擴展,可以并行地在任意依賴結構上有效地聚集信息。并提出一種新的修剪策略用于輸入樹,最大限度地去除不相關內(nèi)容的同時合并相關信息。
注意力機制現(xiàn)已被廣泛應用在自然語言處理(NLP)領域的各項任務中,并已取得不錯的成就。Zhou等[13]提出一個基于注意力機制的雙向LSTM神經(jīng)網(wǎng)絡模型進行關系抽取研究,注意力機制能夠自動發(fā)現(xiàn)那些對于分類起到關鍵作用的詞,使得這個模型可以從每個句子中捕獲最重要的語義信息,簡單有效。Zhang等[14]提出了一種針對關系抽取任務構建的位置感知的神經(jīng)序列模型,充分結合基于語義相似度和位置的兩種注意力機制,來解決現(xiàn)有關系抽取模型中未對實體位置建?;蛑粚植繀^(qū)域位置建模的問題。隨著圖神經(jīng)網(wǎng)絡的發(fā)展,Zhang等[15]提出了一種以全依賴樹作為輸入的注意力引導圖卷積網(wǎng)絡(Attention Guided Graph Convolutional Networks,AGGCN)模型。該模型充分利用了依賴樹中的信息,以便更好地提取出相關關系。
本文研究跨句多元實體之間的關系抽取問題,以三元實體為代表提出解決方案。有一個預定義的關系集R=(r1,r2,…,rL,None),文本中的實體之間存在關系集R中的某一關系,其中None表示實體間不存在任何關系。此任務可以表示為識別實體間是否有關系的二分類問題,或者是一個多分類問題,即檢測實體之間存在的具體關系。以圖1中的實例為例,二分類任務是確定afatinib對EGFR-TKIs基因上T790M突變引發(fā)的疾病是否存在影響,多類別分類任務是檢測確切的藥物作用是“resistance or non-response”“sensitivity”“response”“resistance”和“None”中的哪一種。
傳統(tǒng)的關系抽取方法多數(shù)針對于單句二元的關系抽取,不能夠直接用在跨句多元的關系抽取問題上。因為表示跨句多元實體關系的詞匯和句法是稀疏的,為了處理這種稀疏性,傳統(tǒng)的基于特征的方法需要大量的特征工程和數(shù)據(jù),當文本跨越多個句子時,這一挑戰(zhàn)則會變得更加嚴峻。所以本文使用Graph state LSTM對文檔圖進行編碼。
圖2 文檔圖
圖3 graph state LSTM[4]
每個文檔圖包含輸入文本中的所有單詞與邊兩部分信息,分別用V、E兩個集合表示。每個邊e∈E連接兩個具有依賴關系或彼此相鄰的單詞,使用式(1)將每條邊映射到向量空間。
(1)
LSTM在解決梯度消失的同時可以學習長時依賴關系,所以Graph state LSTM使用門控LSTM來對狀態(tài)轉換進行建模。從gt-1到gt,每個單詞與直接連接到該單詞的所有單詞進行信息交換,在每個迭代過程中,對于單詞vj的輸入包括與vj連接(輸入與輸出)的所有邊的表示,如式(2)和式(3)所示,(i,j,l)代表源單詞索引為i,目的單詞索引為j,邊標簽類型為l的邊,Ein(j)和Eout(j)表示單詞j的輸入和輸出邊集,以及其所有連接詞(輸入與輸出)的隱藏狀態(tài),如式(4)和式(5)所示。
(2)
(3)
(4)
(5)
根據(jù)式(2)-式(5)的定義,從gt-1到gt的循環(huán)狀態(tài)轉換公式為:
(6)
(7)
(8)
(9)
(10)
(11)
注意力神經(jīng)網(wǎng)絡近年來被廣泛應用在了自然語言處理的各項任務中,并取得了不錯的成績。注意力機制能夠自動聚焦對關系抽取起到?jīng)Q定性作用的關鍵詞上,獲取句子中重要的語義信息,降低噪聲信息的影響。在本節(jié)中,將Graph state LSTM分別與單層詞級注意力機制和位置感知的注意力機制融合,比較不同的注意力機制對使用Graph state LSTM進行關系抽取時的影響。
1) Graph state LSTM+attention。模型結構如圖4所示,Xn指索引為n的單詞嵌入,en表示當前單詞所有連接邊的嵌入,an為注意力權重,令H為由Graph state LSTM層產(chǎn)生的輸出向量[h1,h2,…,hT]組成的矩陣,其中T為文本總長度。句子的最終表示r由這些輸出向量的加權和組成。
圖4 Graph state LSTM+attention
M=tanh(H)
(12)
α=softmax(ωTM)
(13)
r=HαT
(14)
式中:α為權重矩陣,H∈Rdw+de,dw指詞向量的維度,de是指邊向量的維度,ω是一個可訓練的參數(shù)向量,而ωT是ω的轉置。最終獲得句子的表示:
h*=tanh(r)
(15)
從句子表示中根據(jù)實體的索引篩選出實體的表示,作為最后預測的輸入進行關系預測。
圖5 PA-Graph state LSTM關系抽取模型
句子中已標識的三元實體,每一個實體可能會由多個單詞組成,三元實體分別用Xd=[d1,d1+1,…,d2],Xg=[g1,g1+1,…,g2],Xv=[v1,v1+1,…,v2]表示,d1、d2分別表示實體的開始和結束索引。給定句子s以及句子中三個實體的位置,可以使用式(16)計算每個單詞到實體的相對位置:
(16)
(17)
(18)
式中:Wh、Wq、Wd、Wg,Wv是網(wǎng)絡訓練過程中需要學習的參數(shù)。注意力權重ai可被視為特定單詞對句子表示的相對貢獻。最終句子表示z的計算式為:
(19)
3) 關系分類。Graph state LSTM+attention和Graph state LSTM+位置感知注意力兩個關系抽取模型采用同樣的關系分類方法。從最終的句子表示中選出實體的最終狀態(tài)作為邏輯回歸分類器的輸入,可以很容易地推廣到任意數(shù)量關系類型。使用式(20)以進行預測:
(20)
式中:hEN是第N個實體的隱藏狀態(tài)表示,W0和b0是模型參數(shù)。
本實驗使用的數(shù)據(jù)集來自Peng等[3]遠程監(jiān)督獲取的一個生物醫(yī)學領域的數(shù)據(jù)集。該數(shù)據(jù)集中包括6 987個關于drug-gene-mutation的三元關系實例,以及6 087個關于drug-mutation二元子關系實例。表1顯示了數(shù)據(jù)集的統(tǒng)計信息,Avg.Tok和Avg.Sent分別是token和句子的平均數(shù)量。Cross是指所有實例中包含多個句子的實例所占的百分比。數(shù)據(jù)集中實例大多數(shù)包含多個句子,每個實例對應五個預定義關系標簽中的一個,這五種關系包括:“resistance or non-response”“sensitivity”“response”“resistance”和“None”。在本節(jié)中,進行兩個特定任務的評估實驗,一個是n元實體的多分類任務,以及n元實體的二分類任務。在進行二分類時,對關系標簽進行二值化[3],將“resistance or non-response”“sensitivity”“response”和“resistance”四種關系歸為“YES”類,將“None”視為“NO”類。
表1 數(shù)據(jù)集統(tǒng)計信息表
表2 實驗參數(shù)設置表
由于本文中使用的數(shù)據(jù)集是構造平衡的,所以僅保留最終測試準確率作為模型最終的評測指標。實驗過程中,使用五折交叉驗證對模型進行評估,并通過平均五折驗證的準確率來計算最終測試準確率。對于每一折驗證,從訓練集中隨機分離出200個實例作為驗證集。
為了與基模型進行對比,本文的實驗參數(shù)選取與Song等[4]保持一致,關系分類器使用邏輯回歸分類器。使用batch size為8的mini-batched隨機梯度下降進行訓練,訓練至多30個epochs,根據(jù)驗證集的結果實施早停法(Early stopping)。
本文使用兩類模型作為基線模型:(1) Quirk等[2]提出的基于特征的分類器,Miwa等[17]提出的基于實體對之間的最短依賴路徑建模的分類模型;(2) 圖結構化LSTM方法,包括Peng等[2]提出的Graph LSTM,以及Song等[3]提出的雙向DAG LSTM(Bidir DAG LSTM)和Graph State LSTM(GS LSTM)。
1) 實驗一:n元二分類實驗。首先關注n元二分類的結果,如表3所示,其中,Single表示僅針對包含一個句子的實例進行的實驗,而Cross表示針對所有實例的實驗。在三元實體的關系抽取任務中,本文提出的Graph state LSTM+attention(GS LSTM+attention)模型在單句(Single)和所有實例(Cross)中的準確率分別達到82.5%和84.4%,Graph state LSTM+位置感知注意力(PA GS LSTM)模型,在單句關系抽取和跨句關系抽取的準確率分別達到83.1%和85.8%。在二元實體的關系抽取任務中,GS LSTM+attention模型在單句實例和所有實例中的準確率分別達到84.0%和85.8%,PA GS LSTM模型在單句實例和所有實例中的準確率分別達到84.9%和86.7%。兩個模型的準確率均優(yōu)于基線模型,說明本文的模型是有效的。
表3 n元二分類的平均測試準確度
表4 n元多分類的平均準確率
驗證1:注意力機制可關注到圖結構中重要的節(jié)點信息。
因為在大規(guī)模的圖結構中節(jié)點較多,復雜的背景噪聲會對Graph state LSTM性能產(chǎn)生不良影響。在注意力機制的作用下,模型會關注到文檔圖中最重要的節(jié)點或者節(jié)點中最重要的信息從而提高信噪比,能夠增強任務中需要的有效信息,減弱噪聲信息的影響。所以加上注意力機制的Graph state LSTM用在關系抽取任務上的效果更好。
驗證2:引入位置信息與全文信息可以更好地評價每個節(jié)點對圖最終表示影響。
為了分析不同組件對模型的影響程度,本文在基礎的GS LSTM+attention模型上分別加入表示全文信息的和向量(Q)和相對位置向量(P)分別進行三元跨句二分類(Ternary)與二元跨句二分類(Binary)實驗并進行比較。實驗結果如表5所示,五個模型使用的網(wǎng)絡結構都保持一致。
表5 具有不同組件的模型性能
可以看出,注意力機制考慮到全文信息時,兩個實驗準確率分別比之前高了0.4%與0.3%,注意力機制考慮到實體相對位置信息時,兩個實驗準確率分別比之前高了0.7%與0.5%,GS LSTM+attention+P結果比GS LSTM+attention+Q結果更好一些,兩者融合效果更佳。
在多句文本的文檔圖中,每個詞節(jié)點往往要經(jīng)過多跳才能到達表示實體的詞節(jié)點。PA GS LSTM通過引入單詞到實體的相對位置信息,對單詞位置信息直接建模。對于評價每個節(jié)點對最終圖的表示影響不單從當前詞節(jié)點本身考慮,根據(jù)位置信息、當前詞信息,以及整個文本信息三個方面每個單詞節(jié)點對圖的最終表示做調整,并且從語義信息和序列中實體的相對位置兩方面評價每個單詞對句子表示的影響,獲得對關系抽取更有意義的上下文表示,獲取更高的關系抽取準確率。
2) 實驗二:n元多分類實驗。同時對n元多分類結果進行評估,結果如表3所示。由于細粒度的分類任務要比粗粒度的分類任務難得多,所以根據(jù)表4中的數(shù)據(jù)可以看出來在多分類上的結果比二分類的結果要普遍降低。本文提出的GS LSTM+attention模型在三元和二元實體的所有實例中實驗的平均測試準確度分別達到了78.3%和80.1%,PA GS LSTM模型在三元和二元實體所有實例中實驗的平均測試準確率分別達到了81.7%和84.6%,仍然比沒有使用注意力機制的Graph state LSTM進行關系抽取時的結果要高一些,進一步說明了模型的有效性。
表6將本文提出的模型與基模型在數(shù)據(jù)集中兩個實例上進行關系抽取的結果進行比較,并根據(jù)模型產(chǎn)生的注意權重不同使用不同大小和粗細的字體區(qū)別顯示單詞,越大越粗的單詞代表注意力權重越高,例句中的(d)、(g)、(v)分別代表該詞為數(shù)據(jù)集中標記的藥物、基因、突變實體??梢园l(fā)現(xiàn),對于數(shù)據(jù)集中的復雜實例,加上注意力機制的模型也能夠很好地注意到對關系分類有貢獻的詞。其次,由于標記實體對關系分類是至關重要的,所以模型向標記實體施加了非常高的注意力權重。然而,對于某些關系指向不明顯的實例,如表6中實例2,未指明三個實體之間的關系,而是使用基因部分丟失這一隱含說明來暗示三者之間的關系,只加上詞級注意力的模型分類效果就不如PA GS LSTM,會關注到一些噪聲詞上,從而導致錯誤分類。
表6 關系分類實例
本文提出了引入注意力機制的Graph state LSTM模型用于跨句多元關系抽取,并研究了不同注意力機制對使用Graph state LSTM進行跨句多元關系抽取的影響。實驗結果表明,使用注意力機制對Graph state LSTM進行關系抽取有一定的提升作用。位置感知的注意力機制通過對實體的相對位置建模,同時考慮到整句信息對句子最終表示的影響,對Graph state LSTM進行關系抽取的效果提升更加明顯。未來可以嘗試采用目前主流的自注意力將注意力機制與圖神經(jīng)網(wǎng)絡相結合進行跨句多元關系抽取,探索不同注意力機制與圖神經(jīng)網(wǎng)絡結合時,對關系抽取效果的影響。