孫亞茹,楊瑩,王永劍
(公安部第三研究所,上海 201204)
知識圖譜[1-3]可以理解為知識關聯網絡,主要通過實體、實體屬性及實體間的關系來刻畫。通過知識關聯網絡,可以完成知識智能查詢、知識智能分析、知識智能問答等重要的自然語言處理任務。以醫療領域數據為例,醫療知識圖譜[4-6]是實現醫療人工智能的基石,構建完善的醫療知識圖譜,可以為人們提供更高效精準的醫療服務。在開放數據域中挖掘醫療知識,自動構建或補充現有的醫療知識圖譜,更是現代化醫療人工智能的體現。
完善的醫療知識圖譜應不受限于特定的醫療數據域以及特定的實體和關系,但現有的知識圖譜在增加新的知識時會面臨實體和關系無法對齊的問題,從而產生知識冗余[7-8]。簡單羅列實體和實體所屬關系以及無邏輯支撐,是造成醫療知識圖譜效率低、限制多、拓展性差的主要原因。
圖卷積神經網絡(Graph Convolutional Neural Network,GCN)具有強大的圖結構建模表達能力,是結構化輸入的通用逼近器。因開放域中的數據無類別界限,若要達到精準識別的效果,需要結合先驗知識。這種以知識驅動參與神經網絡模型的訓練方式,被稱為知信學習[9]。將先驗知識與深度學習相結合,對于模型在開放域中達到精準識別起到至關重要的作用。文獻[10]對先驗知識與神經網絡結合的初步嘗試,表明該方式可以達到與現代神經網絡相似的數據擬合能力。
本文采用知信學習的設計思想,在先驗知識與GCN 之間建立關聯,提出自適應醫療知識圖譜構建方法Ad-MKG,實現在開放域中自適應地進行實體對齊和關系消歧。在此基礎上,從關系抽取、實體對齊、三元組抽取3 個方面評估Ad-MKG 的有效性。
現有的醫療知識圖譜多采用半自動構建方法,主要依賴人工定義實體與關系的規范、人工知識降重和知識消歧[11-12]。中醫藥學語言系統的語義網絡框架在中醫藥術語系統的質量保證和國際推廣工作中發揮重要的作用,但其中包含復雜、龐大的語義概念,這為知識的構建和擴增增加了難度。雖然之后128 種語義類型被去掉了設置不合理的類型,精簡成58 種,但是其抽象形式仍不利于知識的動態擴增。對此,韓普等[12]將醫療知識重新劃分為6 類14 種實體關系,通過多源醫療實體鏈接融合促進了醫療知識的融合。
針對知識間表象關聯、無實質性邏輯支撐等問題,各種不同的實體對齊和關系抽取方法相繼被提出,如文獻[13-14]采用分析文本依賴樹的方法來挖掘文本中的非局部語法關系,文獻[15-16]在完整樹中實體間的最短依賴路徑上應用神經網絡,文獻[17]將完整依賴樹裁剪為實體間的最低公共祖先作為模型的輸入,以降低完整樹中的無關信息對模型噪聲的影響,文獻[18]則在修剪過的依賴樹上應用GCN。然而,基于規則的裁剪策略會忽略文本中的一些重要信息,如在跨句子關系抽取任務中,裁剪后的依賴樹可能會丟失關鍵的依賴路徑和中間載體。獲取的實體信息與關系信息的豐富程度嚴重影響知識融合的準確率,是知識圖譜自動構建性能優化的關鍵點。因此,如何使模型在完整樹中學習有用的信息而剔除無關的信息,是完成實體和關系抽取任務的關鍵問題。
本文提出的Ad-MKG 模型主要由3 個模塊組成,即知識庫構建、數據預處理和知信圖卷積語義分析,其中,知信圖卷積語義分析模塊包含圖編碼層、注意力引導層、知信牽引層和三元組判別層。Ad-MKG 模型框架如圖1 所示,具體步驟如下:

圖1 Ad-MKG 模型框架Fig.1 Framework of Ad-MKG model
1)通過爬蟲技術從多源獲取所需數據:獲取實體與別名實體對作為先驗知識存放在知識庫中,以及獲取模型所需訓練的醫療數據。訓練數據詳情將在下文實驗部分詳述。
2)對整理好的訓練數據樣本,通過數據預處理模塊將文本轉換為模型可處理的數據:先通過依存句法分析把文本轉換成關聯矩陣,再將文本關聯矩陣和實體作為知信圖卷積語義分析的輸入。
3)在知信圖卷積語義分析模塊的處理過程中:首先通過GCN 編碼對結構化數據進行初步信息挖掘;然后結合多頭注意力機制捕獲實體間的關聯依賴信息,通過將先驗知識與錨點相結合的方式,使得模型計算輸出的實體特征在空間域中不偏移;最后對GCN 輸出的實體和關系的特征信息進行分析判別:若判別是相同實體,則輸出三元組存儲知識圖譜;若判別不是相同實體,則輸出不同三元組存儲知識圖譜。
Ad-MKG 模型的核心部分為知信圖卷積語義分析模塊,下文將結合具體的輸入和輸出,具體描述該模塊各層的計算過程。
圖編碼層用于將數據預處理模塊輸出的文本依存信息編碼成圖結構數據,以支持模型從圖結構數據中有效捕獲實體關聯信息。
數據預處理模塊將輸入的文本{s1,s2,…,sn}處理成輸出(S,e1,e2,e3),其中,S表示文本的依存信息,e1、e2和e3表示不同實體。S包含文本的token 以及關聯矩陣。關聯矩陣刻畫了文本中詞與詞之間的關聯,若詞間有關聯則元素值為1,若無關聯則為0。在圖編碼層,詞變成了圖中的節點,詞間的關系表示圖中的邊。若文本中有n個詞,則圖中有n個節點,可將該圖表示成一個n×n的鄰接矩陣A,其中Aij和Aji表示節點i和j之間存在一條邊,初始值為0 或1。GCN 通過鄰接節點來表征本節點,在L層的GCN 中,給定輸入集合第l層節點i的輸出向量由第l-1 層節點i及其相鄰節點表示如下:

其中:W(l)是做線性變換的權重矩陣;b(l)是偏差向量;是初始輸入的單詞向量x(ixi∈Rd,d是輸入特征的維度)。
經過L層GCN 對每個節點向量的處理,得到節點的隱藏表示,利用這些詞表征可以得到一個句子的特征表示:

其中:h(L)∈Rn×d,表示L層所有的隱藏表示(L是超參數);函數f:Rn×d→Rd將n個向量轉變成一個句子向量。同理,第i個實體hei的計算公式如下:

注意力機制是一種有效計算數據中哪些重要部分影響結果的方法,其中多頭注意力機制可以從數據的多個層次挖掘影響結果的重要信息。本文采用多頭注意力機制對文本全局信息特征進行把控,將圖編碼層中的鄰接矩陣通過注意力機制轉換成邊-權連接圖,使得邊-權連接圖能夠深度刻畫節點和節點之間的信息交互。
鄰接矩陣通過注意力矩陣轉化成邊-權連接圖。在圖1中表示節點i到節點j的邊的權重,描述了單個序列2 個任意位置之間的相互作用。注意力矩陣的計算公式如下:

相應地,初始輸入的原始圖轉換成了全連接的邊-權圖,第l層節點i的輸出向量計算公式如下:

知信牽引層以先驗知識引導模型學習擬合數據的規律,實現文本中的實體對齊。本文以醫藥實體別名對作為先驗知識,將成對的醫藥實體作為醫藥特征的錨點。在實體特征輸出時,設置一個懲罰項γ來獎勵或懲罰模型對實體對齊和關系抽取學習的行為。在注意力引導層輸出實體特征和句子特征時,首先會判別句子中是否含有錨點,若有則增加錨點在實體特征和句子特征中的權重,否則懲罰該實體和句子整體的表示。以第l層第i個詞的信息特征為例,計算公式如下:

實體對齊是指不同名字的實體在語義表征空間中具有相同的信息。本文通過直接計算實體特征向量在特征空間的表示,找出文本中與實體he表征最相似的實體表征,計算公式如下:

其中:He表示實體特征的集合。通過式(7)可得到潛在的實體對齊對
三元組的提取依賴實體對和實體間關系的確定。知信牽引層確定了實體對齊對,對去除掉別名實體的實體對判別關系,構成三元組。本層通過一個維度變換函數計算GCN 編碼后的句子的整體表達,如式(8)所示:

關系抽取任務可看作是對描述文本中實體對的關系進行分類。實體hei與實體hej的關系rij通過一層前饋神經網絡FFNN(·)計算得到:

本文通過Softmax 函數對rij進行關系類別的預測,計算公式如下:

對三元組的提取,筆者期望模型對于給定的實體集合{he1,he2,…,hen}可以判別出哪些是相同實體,并輸出不同實體hei和hej之間的關系rij,然后組成三元組的形式。因此,目標函數定義為:

其中:m為關系標簽的個數。可采用梯度下降法對目標函數求參,并采用超參數學習率α更新參數,計算公式如下:

實驗將從關系抽取、實體對齊和三元組抽取3 個方面測試和評估本文提出的Ad-MKG 模型。為便于對比現有的任務模型,采用SemEval 2010 Task 8 作為關系抽取評估數據集,采用FB15k 作為三元組抽取評估數據集。同時,為驗證知識圖譜自動構建的流程,采用收集整理得到的數據集Medical Dataset(MD)進行實體對齊和三元組抽取。數據集介紹具體如下:SemEval 2010 Task 8[19]訓練集包含8 000個樣本,測試集包含717 個樣本;FB15k 數據集是從Facebook 中抽取出的數據集,訓練集包含480 000 個樣本,測試集包含59 000 個樣本;MD 數據集中的訓練文本依據爬取到的實體別名對清洗得到。根據醫療領域中行文的語義網絡結構,定義5 種實體、5 種關系和7種屬性,整理訓練得到的數據集包含10 000個樣本,其中訓練集有80 000個樣本,測試集有20 000個樣本。
在關系抽取實驗中,選取以下4 個具有代表性的模型進行對比:支持向量機(Support Vector Machine,SVM)[20],最短路徑LSTM(Shortest Path LSTM,SDPLSTM)[21],注意力引導的圖卷積神經網絡(Attention Guided GCN,AGGCN)[22],基于BERT 的關系抽取模型R-BERT[23]。
在實體對齊和三元組抽取實驗中,選擇BERTSoftmax、TransE[24]和TransR[24]作為對比模型。
實驗中主要涉及的超參數有GCN 層數L、多頭注意力頭數N和單詞向量維度d。從L={2,3,4}中選擇GCN 層數,從N={1,2,3,4,5}中選擇多頭注意力頭數,從d={100,200,300}中選擇單詞維度,進行10 次獨立運行的實驗,選擇具有中間驗證結果的F1 值模型,并報告其測試的F1 值。通過測試集上的實驗結果可以發現,(L=2,N=2,d=300)的組合設置在MK 數據集上取得了最好的效果。該模型是在NVIDIA GeForce GTX 1050 下采用CUDA10.2訓練的,包含100 個訓練周期,每個周期時長約為209 s,初始詞典大小為5 000,dropout 率設置為0.1。同時,采用Adam 優化器訓練參數,初始化的學習率為0.001,選擇帶指數衰減的學習率設置,衰減率為0.9。
3.4.1 關系抽取任務
在SemEval 數據集上進行關系抽取任務的實驗,實驗結果如表1 所示,其中加粗數據表示最優值。由表1 可以看出:深度學習模型性能優于基于特征的模型,基于圖結構的深度學習模型性能優于基于序列學習的模型,這說明基于圖結構的深度學習方法可以更深層次地捕獲實體之間的信息;基于實體信息挖掘完成關系抽取的R-BERT 模型較AGGCN 的Macro-F1 值提升了3.5 個百分點,這是因為C-BERT 依賴性能較穩定的預訓練模型BERT;本文所提出的Ad-MKG 模型取得了最好的性能,表明先驗知識的參與可以有效提升模型挖掘實體間關聯信息的能力。

表1 SemEval 數據集中關系抽取任務的實驗結果Table 1 Experimental results for relational extraction task in SemEval dataset %
3.4.2 實體對齊任務
在MK 數據集上進行實體對齊任務的實驗,實驗結果如表2 所示,其中加粗數據表示最優值。由表2 可以看出,Ad-MKG 模型依然取得了較好的結果,其F1值較BERT-Softmax 模型提升了2.4 個百分點。

表2 MK 數據集中實體對齊任務的實驗結果Table 2 Experimental results for entity alignment task in MK dataset %
進一步地,從數據規模對模型性能的影響出發進行評估和分析。將MK 數據集中的訓練集比例劃分為20%、40%、60%、80%、100%,實驗結果如圖2 所示。由圖2 可以看出:數據規模對Ad-MKG 有大影響,隨著數據規模不斷增加,Ad-MKG 的學習效果越來越好,但是對基于強大預訓練模型的BERT-Softmax 影響較小,這說明BERT-Softmax對數據規模有較好的擾動性,而Ad-MKG 對樣本數據有較強的依賴性。

圖2 不同數據集規模下實體對齊任務的實驗結果Fig.2 Experimental results for entity alignment task under different dataset sizes
3.4.3 三元組抽取任務
三元組抽取任務是指從文本中識別出成對的實體和實體間的關系。對三元組抽取結果進行對比,實驗結果如表3 所示,其中加粗數據表示最優值。由表3可以看出,Ad-MKG 依然取得了較好的結果,這說明Ad-MKG 更關注于文本中關鍵的節點關聯信息。但同時從表中發現,Ad-MKG 精確率高但召回率低,而BERT-Softmax 相對穩定,這可能與文本中存在多個實體有關,并且文本的傾向性也會誤導模型對實體關系的表征計算。

表3 MK 數據集中三元組抽取任務的實驗結果Table 3 Experimental results for triple tuple extraction task in MK dataset %
為直觀分析影響模型性能的因素,可視化Ad-MKG 和BERT-Softmax 在5 種關系類別上的準確率,同時給出每種關系在數據集中的個數,實驗結果如圖3 所示。由圖3可以看出:在樣本數量最多的drugs_of 關系下模型性能最差,說明實體的模糊含義對模型準確率的影響最大;而在樣本數量最少的belongs_to 關系下模型性能最好,說明明確的特征表征使得模型在判別時對處理的數據有清晰的判別界限。

圖3 不同關系樣本數量下三元組抽取任務的實驗結果Fig.3 Experimental results for triple pull task under different relationship sample sizes
在FB15k 數據集中進行三元組抽取任務的實驗,將本文提出的Ad-MKG 模型與TransE 和TransR模型進行對比,實驗結果如表4 所示,其中加粗數據表示最優值。由表4可以看出,Ad-MKG 模型依然取得了最優的結果。

表4 FB15k 數據集中三元組抽取任務的實驗結果Table 4 Experimental results for triple tuple extraction task in FB15k dataset %
3.4.4 消融實驗
對模型的各模塊進行消融實驗,以分析Ad-MKG知信圖卷積語義分析模塊中各層對模型整體性能的影響。評測依據三元組提取性能,實驗結果如表5所示。由表5 可以看出,注意力引導層與知信牽引層對模型性能的影響較大。在去除圖編碼層后,本文利用多層感知機對數據信息進行處理,F1 值下降了3.1 個百分點,說明圖編碼層對模型提取的特征信息質量起到了重要的保障作用。目前,注意力機制在很多模型[18-19]中已被證明是有效的,在Ad-MKG 模型中,注意力機制也同樣發揮了重要作用。在去除注意力引導層后,F1 值下降了1.5 個百分點。在同時去除注意力引導層和知信牽引層后時,模型性能明顯下降,說明注意力引導層發揮了提升模型捕獲信息特征的作用。同時由消融實驗結果也可以看出,將先驗知識與深度學習模型相結合,有利于減小模型在特征域中的位置偏移。

表5 消融實驗結果Table 5 Ablation experiment results %
3.4.5 實體特征質量評估
為直觀地評估模型所得到的實體特征質量,對各模型進行樣例測試,二維可視化模型輸出的特征。選取可以對齊的實體和不同的實體進行實驗,測試樣例如表6 所示。

表6 實體特征測試樣例Table 6 Examples of entities features test
首先測試Ad-MKG 和BERT-Softmax 這2 個模型是否能夠正確判別出屬于疾病和藥品的實體(測試1),然后測試同類別中相似實體和不似實體之間的判別結果(測試2),實驗結果如圖4 所示,其中形狀相同的表示是同一種類別。由圖4(a)和圖4(b)可以看出,Ad-MKG 模型能夠正確區分疾病和藥品實體,且界限明晰,達到了預期的效果,而BERT-Softmax模型存在少許的錯誤,如將“黑色素斑”判別為藥品。由圖4(c)和圖4(d)可以看出,在相似實體測試中,BERT-Softmax 模型不能準確區分相似實體“阿奇霉素”和“希舒美”,而Ad-MKG 模型仍達到了預期的效果,但是對別名實體對不能較好區分,如“阿奇霉素”和“希舒美”。

圖4 BERT-Softmax 和Ad-MKG 的樣例實體特征空間Fig.4 Example entities feature space for BERT-Softmax and Ad-MKG
針對知識間表象關聯、無實質性邏輯支撐等問題,本文提出一種自適應的開放域知識圖譜自動構建模型。該模型將先驗知識與深度學習模型的訓練過程相結合,聯合語義空間實現知識對齊。以醫療領域數據為例,在關系抽取、實體對齊和三元組抽取3 個任務上的實驗結果驗證了該模型的可行性和有效性。多源異構信息融合是完善知識圖譜自動構建的關鍵點,后續將研究多源異構知識信息對知識圖譜構建的影響,進一步提升本文模型的泛化能力。