孫亞茹,楊瑩,王永劍
(公安部第三研究所,上海 201204)
知識圖譜[1-3]可以理解為知識關(guān)聯(lián)網(wǎng)絡,主要通過實體、實體屬性及實體間的關(guān)系來刻畫。通過知識關(guān)聯(lián)網(wǎng)絡,可以完成知識智能查詢、知識智能分析、知識智能問答等重要的自然語言處理任務。以醫(yī)療領(lǐng)域數(shù)據(jù)為例,醫(yī)療知識圖譜[4-6]是實現(xiàn)醫(yī)療人工智能的基石,構(gòu)建完善的醫(yī)療知識圖譜,可以為人們提供更高效精準的醫(yī)療服務。在開放數(shù)據(jù)域中挖掘醫(yī)療知識,自動構(gòu)建或補充現(xiàn)有的醫(yī)療知識圖譜,更是現(xiàn)代化醫(yī)療人工智能的體現(xiàn)。
完善的醫(yī)療知識圖譜應不受限于特定的醫(yī)療數(shù)據(jù)域以及特定的實體和關(guān)系,但現(xiàn)有的知識圖譜在增加新的知識時會面臨實體和關(guān)系無法對齊的問題,從而產(chǎn)生知識冗余[7-8]。簡單羅列實體和實體所屬關(guān)系以及無邏輯支撐,是造成醫(yī)療知識圖譜效率低、限制多、拓展性差的主要原因。
圖卷積神經(jīng)網(wǎng)絡(Graph Convolutional Neural Network,GCN)具有強大的圖結(jié)構(gòu)建模表達能力,是結(jié)構(gòu)化輸入的通用逼近器。因開放域中的數(shù)據(jù)無類別界限,若要達到精準識別的效果,需要結(jié)合先驗知識。這種以知識驅(qū)動參與神經(jīng)網(wǎng)絡模型的訓練方式,被稱為知信學習[9]。將先驗知識與深度學習相結(jié)合,對于模型在開放域中達到精準識別起到至關(guān)重要的作用。文獻[10]對先驗知識與神經(jīng)網(wǎng)絡結(jié)合的初步嘗試,表明該方式可以達到與現(xiàn)代神經(jīng)網(wǎng)絡相似的數(shù)據(jù)擬合能力。
本文采用知信學習的設計思想,在先驗知識與GCN 之間建立關(guān)聯(lián),提出自適應醫(yī)療知識圖譜構(gòu)建方法Ad-MKG,實現(xiàn)在開放域中自適應地進行實體對齊和關(guān)系消歧。在此基礎(chǔ)上,從關(guān)系抽取、實體對齊、三元組抽取3 個方面評估Ad-MKG 的有效性。
現(xiàn)有的醫(yī)療知識圖譜多采用半自動構(gòu)建方法,主要依賴人工定義實體與關(guān)系的規(guī)范、人工知識降重和知識消歧[11-12]。中醫(yī)藥學語言系統(tǒng)的語義網(wǎng)絡框架在中醫(yī)藥術(shù)語系統(tǒng)的質(zhì)量保證和國際推廣工作中發(fā)揮重要的作用,但其中包含復雜、龐大的語義概念,這為知識的構(gòu)建和擴增增加了難度。雖然之后128 種語義類型被去掉了設置不合理的類型,精簡成58 種,但是其抽象形式仍不利于知識的動態(tài)擴增。對此,韓普等[12]將醫(yī)療知識重新劃分為6 類14 種實體關(guān)系,通過多源醫(yī)療實體鏈接融合促進了醫(yī)療知識的融合。
針對知識間表象關(guān)聯(lián)、無實質(zhì)性邏輯支撐等問題,各種不同的實體對齊和關(guān)系抽取方法相繼被提出,如文獻[13-14]采用分析文本依賴樹的方法來挖掘文本中的非局部語法關(guān)系,文獻[15-16]在完整樹中實體間的最短依賴路徑上應用神經(jīng)網(wǎng)絡,文獻[17]將完整依賴樹裁剪為實體間的最低公共祖先作為模型的輸入,以降低完整樹中的無關(guān)信息對模型噪聲的影響,文獻[18]則在修剪過的依賴樹上應用GCN。然而,基于規(guī)則的裁剪策略會忽略文本中的一些重要信息,如在跨句子關(guān)系抽取任務中,裁剪后的依賴樹可能會丟失關(guān)鍵的依賴路徑和中間載體。獲取的實體信息與關(guān)系信息的豐富程度嚴重影響知識融合的準確率,是知識圖譜自動構(gòu)建性能優(yōu)化的關(guān)鍵點。因此,如何使模型在完整樹中學習有用的信息而剔除無關(guān)的信息,是完成實體和關(guān)系抽取任務的關(guān)鍵問題。
本文提出的Ad-MKG 模型主要由3 個模塊組成,即知識庫構(gòu)建、數(shù)據(jù)預處理和知信圖卷積語義分析,其中,知信圖卷積語義分析模塊包含圖編碼層、注意力引導層、知信牽引層和三元組判別層。Ad-MKG 模型框架如圖1 所示,具體步驟如下:
圖1 Ad-MKG 模型框架Fig.1 Framework of Ad-MKG model
1)通過爬蟲技術(shù)從多源獲取所需數(shù)據(jù):獲取實體與別名實體對作為先驗知識存放在知識庫中,以及獲取模型所需訓練的醫(yī)療數(shù)據(jù)。訓練數(shù)據(jù)詳情將在下文實驗部分詳述。
2)對整理好的訓練數(shù)據(jù)樣本,通過數(shù)據(jù)預處理模塊將文本轉(zhuǎn)換為模型可處理的數(shù)據(jù):先通過依存句法分析把文本轉(zhuǎn)換成關(guān)聯(lián)矩陣,再將文本關(guān)聯(lián)矩陣和實體作為知信圖卷積語義分析的輸入。
3)在知信圖卷積語義分析模塊的處理過程中:首先通過GCN 編碼對結(jié)構(gòu)化數(shù)據(jù)進行初步信息挖掘;然后結(jié)合多頭注意力機制捕獲實體間的關(guān)聯(lián)依賴信息,通過將先驗知識與錨點相結(jié)合的方式,使得模型計算輸出的實體特征在空間域中不偏移;最后對GCN 輸出的實體和關(guān)系的特征信息進行分析判別:若判別是相同實體,則輸出三元組存儲知識圖譜;若判別不是相同實體,則輸出不同三元組存儲知識圖譜。
Ad-MKG 模型的核心部分為知信圖卷積語義分析模塊,下文將結(jié)合具體的輸入和輸出,具體描述該模塊各層的計算過程。
圖編碼層用于將數(shù)據(jù)預處理模塊輸出的文本依存信息編碼成圖結(jié)構(gòu)數(shù)據(jù),以支持模型從圖結(jié)構(gòu)數(shù)據(jù)中有效捕獲實體關(guān)聯(lián)信息。
數(shù)據(jù)預處理模塊將輸入的文本{s1,s2,…,sn}處理成輸出(S,e1,e2,e3),其中,S表示文本的依存信息,e1、e2和e3表示不同實體。S包含文本的token 以及關(guān)聯(lián)矩陣。關(guān)聯(lián)矩陣刻畫了文本中詞與詞之間的關(guān)聯(lián),若詞間有關(guān)聯(lián)則元素值為1,若無關(guān)聯(lián)則為0。在圖編碼層,詞變成了圖中的節(jié)點,詞間的關(guān)系表示圖中的邊。若文本中有n個詞,則圖中有n個節(jié)點,可將該圖表示成一個n×n的鄰接矩陣A,其中Aij和Aji表示節(jié)點i和j之間存在一條邊,初始值為0 或1。GCN 通過鄰接節(jié)點來表征本節(jié)點,在L層的GCN 中,給定輸入集合第l層節(jié)點i的輸出向量由第l-1 層節(jié)點i及其相鄰節(jié)點表示如下:
其中:W(l)是做線性變換的權(quán)重矩陣;b(l)是偏差向量;是初始輸入的單詞向量x(ixi∈Rd,d是輸入特征的維度)。
經(jīng)過L層GCN 對每個節(jié)點向量的處理,得到節(jié)點的隱藏表示,利用這些詞表征可以得到一個句子的特征表示:
其中:h(L)∈Rn×d,表示L層所有的隱藏表示(L是超參數(shù));函數(shù)f:Rn×d→Rd將n個向量轉(zhuǎn)變成一個句子向量。同理,第i個實體hei的計算公式如下:
注意力機制是一種有效計算數(shù)據(jù)中哪些重要部分影響結(jié)果的方法,其中多頭注意力機制可以從數(shù)據(jù)的多個層次挖掘影響結(jié)果的重要信息。本文采用多頭注意力機制對文本全局信息特征進行把控,將圖編碼層中的鄰接矩陣通過注意力機制轉(zhuǎn)換成邊-權(quán)連接圖,使得邊-權(quán)連接圖能夠深度刻畫節(jié)點和節(jié)點之間的信息交互。
鄰接矩陣通過注意力矩陣轉(zhuǎn)化成邊-權(quán)連接圖。在圖1中表示節(jié)點i到節(jié)點j的邊的權(quán)重,描述了單個序列2 個任意位置之間的相互作用。注意力矩陣的計算公式如下:
相應地,初始輸入的原始圖轉(zhuǎn)換成了全連接的邊-權(quán)圖,第l層節(jié)點i的輸出向量計算公式如下:
知信牽引層以先驗知識引導模型學習擬合數(shù)據(jù)的規(guī)律,實現(xiàn)文本中的實體對齊。本文以醫(yī)藥實體別名對作為先驗知識,將成對的醫(yī)藥實體作為醫(yī)藥特征的錨點。在實體特征輸出時,設置一個懲罰項γ來獎勵或懲罰模型對實體對齊和關(guān)系抽取學習的行為。在注意力引導層輸出實體特征和句子特征時,首先會判別句子中是否含有錨點,若有則增加錨點在實體特征和句子特征中的權(quán)重,否則懲罰該實體和句子整體的表示。以第l層第i個詞的信息特征為例,計算公式如下:
實體對齊是指不同名字的實體在語義表征空間中具有相同的信息。本文通過直接計算實體特征向量在特征空間的表示,找出文本中與實體he表征最相似的實體表征,計算公式如下:
其中:He表示實體特征的集合。通過式(7)可得到潛在的實體對齊對
三元組的提取依賴實體對和實體間關(guān)系的確定。知信牽引層確定了實體對齊對,對去除掉別名實體的實體對判別關(guān)系,構(gòu)成三元組。本層通過一個維度變換函數(shù)計算GCN 編碼后的句子的整體表達,如式(8)所示:
關(guān)系抽取任務可看作是對描述文本中實體對的關(guān)系進行分類。實體hei與實體hej的關(guān)系rij通過一層前饋神經(jīng)網(wǎng)絡FFNN(·)計算得到:
本文通過Softmax 函數(shù)對rij進行關(guān)系類別的預測,計算公式如下:
對三元組的提取,筆者期望模型對于給定的實體集合{he1,he2,…,hen}可以判別出哪些是相同實體,并輸出不同實體hei和hej之間的關(guān)系rij,然后組成三元組的形式。因此,目標函數(shù)定義為:
其中:m為關(guān)系標簽的個數(shù)??刹捎锰荻认陆捣▽δ繕撕瘮?shù)求參,并采用超參數(shù)學習率α更新參數(shù),計算公式如下:
實驗將從關(guān)系抽取、實體對齊和三元組抽取3 個方面測試和評估本文提出的Ad-MKG 模型。為便于對比現(xiàn)有的任務模型,采用SemEval 2010 Task 8 作為關(guān)系抽取評估數(shù)據(jù)集,采用FB15k 作為三元組抽取評估數(shù)據(jù)集。同時,為驗證知識圖譜自動構(gòu)建的流程,采用收集整理得到的數(shù)據(jù)集Medical Dataset(MD)進行實體對齊和三元組抽取。數(shù)據(jù)集介紹具體如下:SemEval 2010 Task 8[19]訓練集包含8 000個樣本,測試集包含717 個樣本;FB15k 數(shù)據(jù)集是從Facebook 中抽取出的數(shù)據(jù)集,訓練集包含480 000 個樣本,測試集包含59 000 個樣本;MD 數(shù)據(jù)集中的訓練文本依據(jù)爬取到的實體別名對清洗得到。根據(jù)醫(yī)療領(lǐng)域中行文的語義網(wǎng)絡結(jié)構(gòu),定義5 種實體、5 種關(guān)系和7種屬性,整理訓練得到的數(shù)據(jù)集包含10 000個樣本,其中訓練集有80 000個樣本,測試集有20 000個樣本。
在關(guān)系抽取實驗中,選取以下4 個具有代表性的模型進行對比:支持向量機(Support Vector Machine,SVM)[20],最短路徑LSTM(Shortest Path LSTM,SDPLSTM)[21],注意力引導的圖卷積神經(jīng)網(wǎng)絡(Attention Guided GCN,AGGCN)[22],基于BERT 的關(guān)系抽取模型R-BERT[23]。
在實體對齊和三元組抽取實驗中,選擇BERTSoftmax、TransE[24]和TransR[24]作為對比模型。
實驗中主要涉及的超參數(shù)有GCN 層數(shù)L、多頭注意力頭數(shù)N和單詞向量維度d。從L={2,3,4}中選擇GCN 層數(shù),從N={1,2,3,4,5}中選擇多頭注意力頭數(shù),從d={100,200,300}中選擇單詞維度,進行10 次獨立運行的實驗,選擇具有中間驗證結(jié)果的F1 值模型,并報告其測試的F1 值。通過測試集上的實驗結(jié)果可以發(fā)現(xiàn),(L=2,N=2,d=300)的組合設置在MK 數(shù)據(jù)集上取得了最好的效果。該模型是在NVIDIA GeForce GTX 1050 下采用CUDA10.2訓練的,包含100 個訓練周期,每個周期時長約為209 s,初始詞典大小為5 000,dropout 率設置為0.1。同時,采用Adam 優(yōu)化器訓練參數(shù),初始化的學習率為0.001,選擇帶指數(shù)衰減的學習率設置,衰減率為0.9。
3.4.1 關(guān)系抽取任務
在SemEval 數(shù)據(jù)集上進行關(guān)系抽取任務的實驗,實驗結(jié)果如表1 所示,其中加粗數(shù)據(jù)表示最優(yōu)值。由表1 可以看出:深度學習模型性能優(yōu)于基于特征的模型,基于圖結(jié)構(gòu)的深度學習模型性能優(yōu)于基于序列學習的模型,這說明基于圖結(jié)構(gòu)的深度學習方法可以更深層次地捕獲實體之間的信息;基于實體信息挖掘完成關(guān)系抽取的R-BERT 模型較AGGCN 的Macro-F1 值提升了3.5 個百分點,這是因為C-BERT 依賴性能較穩(wěn)定的預訓練模型BERT;本文所提出的Ad-MKG 模型取得了最好的性能,表明先驗知識的參與可以有效提升模型挖掘?qū)嶓w間關(guān)聯(lián)信息的能力。
表1 SemEval 數(shù)據(jù)集中關(guān)系抽取任務的實驗結(jié)果Table 1 Experimental results for relational extraction task in SemEval dataset %
3.4.2 實體對齊任務
在MK 數(shù)據(jù)集上進行實體對齊任務的實驗,實驗結(jié)果如表2 所示,其中加粗數(shù)據(jù)表示最優(yōu)值。由表2 可以看出,Ad-MKG 模型依然取得了較好的結(jié)果,其F1值較BERT-Softmax 模型提升了2.4 個百分點。
表2 MK 數(shù)據(jù)集中實體對齊任務的實驗結(jié)果Table 2 Experimental results for entity alignment task in MK dataset %
進一步地,從數(shù)據(jù)規(guī)模對模型性能的影響出發(fā)進行評估和分析。將MK 數(shù)據(jù)集中的訓練集比例劃分為20%、40%、60%、80%、100%,實驗結(jié)果如圖2 所示。由圖2 可以看出:數(shù)據(jù)規(guī)模對Ad-MKG 有大影響,隨著數(shù)據(jù)規(guī)模不斷增加,Ad-MKG 的學習效果越來越好,但是對基于強大預訓練模型的BERT-Softmax 影響較小,這說明BERT-Softmax對數(shù)據(jù)規(guī)模有較好的擾動性,而Ad-MKG 對樣本數(shù)據(jù)有較強的依賴性。
圖2 不同數(shù)據(jù)集規(guī)模下實體對齊任務的實驗結(jié)果Fig.2 Experimental results for entity alignment task under different dataset sizes
3.4.3 三元組抽取任務
三元組抽取任務是指從文本中識別出成對的實體和實體間的關(guān)系。對三元組抽取結(jié)果進行對比,實驗結(jié)果如表3 所示,其中加粗數(shù)據(jù)表示最優(yōu)值。由表3可以看出,Ad-MKG 依然取得了較好的結(jié)果,這說明Ad-MKG 更關(guān)注于文本中關(guān)鍵的節(jié)點關(guān)聯(lián)信息。但同時從表中發(fā)現(xiàn),Ad-MKG 精確率高但召回率低,而BERT-Softmax 相對穩(wěn)定,這可能與文本中存在多個實體有關(guān),并且文本的傾向性也會誤導模型對實體關(guān)系的表征計算。
表3 MK 數(shù)據(jù)集中三元組抽取任務的實驗結(jié)果Table 3 Experimental results for triple tuple extraction task in MK dataset %
為直觀分析影響模型性能的因素,可視化Ad-MKG 和BERT-Softmax 在5 種關(guān)系類別上的準確率,同時給出每種關(guān)系在數(shù)據(jù)集中的個數(shù),實驗結(jié)果如圖3 所示。由圖3可以看出:在樣本數(shù)量最多的drugs_of 關(guān)系下模型性能最差,說明實體的模糊含義對模型準確率的影響最大;而在樣本數(shù)量最少的belongs_to 關(guān)系下模型性能最好,說明明確的特征表征使得模型在判別時對處理的數(shù)據(jù)有清晰的判別界限。
圖3 不同關(guān)系樣本數(shù)量下三元組抽取任務的實驗結(jié)果Fig.3 Experimental results for triple pull task under different relationship sample sizes
在FB15k 數(shù)據(jù)集中進行三元組抽取任務的實驗,將本文提出的Ad-MKG 模型與TransE 和TransR模型進行對比,實驗結(jié)果如表4 所示,其中加粗數(shù)據(jù)表示最優(yōu)值。由表4可以看出,Ad-MKG 模型依然取得了最優(yōu)的結(jié)果。
表4 FB15k 數(shù)據(jù)集中三元組抽取任務的實驗結(jié)果Table 4 Experimental results for triple tuple extraction task in FB15k dataset %
3.4.4 消融實驗
對模型的各模塊進行消融實驗,以分析Ad-MKG知信圖卷積語義分析模塊中各層對模型整體性能的影響。評測依據(jù)三元組提取性能,實驗結(jié)果如表5所示。由表5 可以看出,注意力引導層與知信牽引層對模型性能的影響較大。在去除圖編碼層后,本文利用多層感知機對數(shù)據(jù)信息進行處理,F(xiàn)1 值下降了3.1 個百分點,說明圖編碼層對模型提取的特征信息質(zhì)量起到了重要的保障作用。目前,注意力機制在很多模型[18-19]中已被證明是有效的,在Ad-MKG 模型中,注意力機制也同樣發(fā)揮了重要作用。在去除注意力引導層后,F(xiàn)1 值下降了1.5 個百分點。在同時去除注意力引導層和知信牽引層后時,模型性能明顯下降,說明注意力引導層發(fā)揮了提升模型捕獲信息特征的作用。同時由消融實驗結(jié)果也可以看出,將先驗知識與深度學習模型相結(jié)合,有利于減小模型在特征域中的位置偏移。
表5 消融實驗結(jié)果Table 5 Ablation experiment results %
3.4.5 實體特征質(zhì)量評估
為直觀地評估模型所得到的實體特征質(zhì)量,對各模型進行樣例測試,二維可視化模型輸出的特征。選取可以對齊的實體和不同的實體進行實驗,測試樣例如表6 所示。
表6 實體特征測試樣例Table 6 Examples of entities features test
首先測試Ad-MKG 和BERT-Softmax 這2 個模型是否能夠正確判別出屬于疾病和藥品的實體(測試1),然后測試同類別中相似實體和不似實體之間的判別結(jié)果(測試2),實驗結(jié)果如圖4 所示,其中形狀相同的表示是同一種類別。由圖4(a)和圖4(b)可以看出,Ad-MKG 模型能夠正確區(qū)分疾病和藥品實體,且界限明晰,達到了預期的效果,而BERT-Softmax模型存在少許的錯誤,如將“黑色素斑”判別為藥品。由圖4(c)和圖4(d)可以看出,在相似實體測試中,BERT-Softmax 模型不能準確區(qū)分相似實體“阿奇霉素”和“希舒美”,而Ad-MKG 模型仍達到了預期的效果,但是對別名實體對不能較好區(qū)分,如“阿奇霉素”和“希舒美”。
圖4 BERT-Softmax 和Ad-MKG 的樣例實體特征空間Fig.4 Example entities feature space for BERT-Softmax and Ad-MKG
針對知識間表象關(guān)聯(lián)、無實質(zhì)性邏輯支撐等問題,本文提出一種自適應的開放域知識圖譜自動構(gòu)建模型。該模型將先驗知識與深度學習模型的訓練過程相結(jié)合,聯(lián)合語義空間實現(xiàn)知識對齊。以醫(yī)療領(lǐng)域數(shù)據(jù)為例,在關(guān)系抽取、實體對齊和三元組抽取3 個任務上的實驗結(jié)果驗證了該模型的可行性和有效性。多源異構(gòu)信息融合是完善知識圖譜自動構(gòu)建的關(guān)鍵點,后續(xù)將研究多源異構(gòu)知識信息對知識圖譜構(gòu)建的影響,進一步提升本文模型的泛化能力。