羊艷玲,李燕,鐘昕妤
(甘肅中醫(yī)藥大學(xué)信息工程學(xué)院,甘肅 蘭州 730000)
知識圖譜(knowledge graph,KG)是大數(shù)據(jù)時代下針對海量知識產(chǎn)生的一種新型管理與服務(wù)模式,其屬于語義網(wǎng)絡(luò)范疇,是表示知識的一種新途徑,用于描述真實(shí)世界中存在的各種實(shí)體、概念或?qū)傩裕槿〔⒊尸F(xiàn)出特定領(lǐng)域概念之間的語義關(guān)系[1]。近年來,因其有助于醫(yī)學(xué)信息表達(dá)的分類和標(biāo)準(zhǔn)化,以及醫(yī)學(xué)知識的共享、分布和應(yīng)用,具有臨床診斷、治療、研究和教育應(yīng)用價值,知識圖譜在醫(yī)學(xué)領(lǐng)域也逐漸得到關(guān)注與重視。它將醫(yī)學(xué)知識映射納入知識服務(wù)系統(tǒng),以提高信息檢索、智能問答、決策支持和知識可視化等多種服務(wù)的效果,從而提升知識服務(wù)能力[2]。
然而,隨著深入研究以及將知識圖譜應(yīng)用到各種領(lǐng)域,研究人員發(fā)現(xiàn)在應(yīng)用中仍存有一些問題,其中限制廣泛應(yīng)用的最主要因素是不完備性[3],即知識圖譜中存在缺失的實(shí)體或信息,導(dǎo)致其應(yīng)用存在一定約束,大大限制了用于檢索和推理的準(zhǔn)確性。因此,知識圖譜鏈路預(yù)測是補(bǔ)全知識的一個重要基礎(chǔ),其首要目標(biāo)是預(yù)測知識圖譜中實(shí)體之間可能存在的關(guān)系,以及發(fā)現(xiàn)和恢復(fù)缺失信息[4]。
鏈路預(yù)測通過網(wǎng)絡(luò)中已知節(jié)點(diǎn)的信息和網(wǎng)絡(luò)結(jié)構(gòu),預(yù)測兩個無限連接節(jié)點(diǎn)之間存在鏈接關(guān)系的可能性,為缺失信息恢復(fù)和錯誤信息檢測提供技術(shù)支持[5]。鏈路預(yù)測是信息科學(xué)與復(fù)雜網(wǎng)絡(luò)之間的重要聯(lián)系,近年來,國內(nèi)外學(xué)者們就知識圖譜的鏈路預(yù)測應(yīng)用方面開展了眾多研究工作,已形成較為全面且系統(tǒng)的成果[6]。如GETOOR 等[7]對鏈路預(yù)測實(shí)現(xiàn)數(shù)據(jù)挖掘的相關(guān)概念和研究進(jìn)行了梳理歸納,重點(diǎn)敘述了其定義、存在的問題和經(jīng)典方法。DRUMOND 等[8]針對KG 更新,提出利用張量分解的方法實(shí)現(xiàn)對缺失RDF 三元組數(shù)據(jù)的補(bǔ)充。SOCHER 等[9]在預(yù)測中引入神經(jīng)網(wǎng)絡(luò)方法,但存在模型復(fù)雜和參數(shù)調(diào)優(yōu)等不足。目前,在鏈路預(yù)測研究中主要面臨以下兩大難題,一是現(xiàn)有大規(guī)模KG 存儲數(shù)據(jù)量極大;二是KG 構(gòu)建形成單一的實(shí)體屬性和關(guān)系而忽視了相關(guān)聯(lián)的外部信息,而這些外部信息中包含了極為豐富的先驗(yàn)知識,因此融合關(guān)聯(lián)外部信息的KG 才是更為全面、真實(shí)的。如何將KG 提供的數(shù)據(jù)與外部知識相結(jié)合也是面臨的難點(diǎn)之一[10]。
在中醫(yī)臨床領(lǐng)域,構(gòu)建知識圖譜的一個核心知識源是中醫(yī)醫(yī)案。由于實(shí)際醫(yī)案數(shù)據(jù)普遍存在歧義性和多樣性的問題[11],使臨床領(lǐng)域知識網(wǎng)絡(luò)中可能存在一些缺失的醫(yī)療實(shí)體和實(shí)體之間的鏈接,或者實(shí)體之間可能存在不正確的關(guān)聯(lián)。這些關(guān)系可以利用臨床領(lǐng)域知識圖譜鏈路預(yù)測進(jìn)行補(bǔ)充或校正,得到更加全面、真實(shí)的知識圖譜[12]。醫(yī)療領(lǐng)域中醫(yī)案數(shù)據(jù)通常具有語義關(guān)聯(lián),并且醫(yī)案之間的語義具有很明顯的強(qiáng)關(guān)聯(lián)性。與此同時,關(guān)于高血壓病領(lǐng)域知識圖譜的鏈路預(yù)測少之又少,且未考慮到中醫(yī)知識圖譜三元組體系和類型以及信息缺失等問題。為了應(yīng)對這一挑戰(zhàn),本課題組提出了一種新的歸納推理模型,即HSTP(Hierarchical Structure Type),旨在將中醫(yī)知識圖譜從兩方面進(jìn)行補(bǔ)全優(yōu)化,一是利用中醫(yī)三元組類型,如<疾病,處方,藥物>和層級結(jié)構(gòu)進(jìn)行補(bǔ)全;二是利用新提出的模型判斷圖譜中兩個節(jié)點(diǎn)是否一致,加強(qiáng)實(shí)體類型形成拓?fù)鋵蛹壗Y(jié)構(gòu)。
知識圖譜中的鏈路預(yù)測是利用已有的關(guān)系推斷出新的關(guān)系,從而建立一個更完整的知識圖譜任務(wù)。為了補(bǔ)充KG 中實(shí)體之間缺失的信息,知識圖譜的解決方案是利用現(xiàn)有知識推斷潛在知識。換句話說,KG是用現(xiàn)有事實(shí)來預(yù)測知識圖譜中實(shí)體之間的潛在關(guān)系。在某種程度上,KG 實(shí)質(zhì)就是復(fù)雜網(wǎng)絡(luò),其類似于復(fù)雜網(wǎng)絡(luò)中的鏈路預(yù)測,但更復(fù)雜的是不僅要預(yù)測節(jié)點(diǎn)之間可能的鏈接關(guān)系,而且能夠推斷這些鏈接關(guān)系中包含的各種信息[13]。盡管歸納鏈路預(yù)測在實(shí)際應(yīng)用中的重要性不言而喻,但現(xiàn)有的研究大多集中在演繹鏈路預(yù)測,無法應(yīng)對從未觀察到的實(shí)體。鏈路預(yù)測問題是復(fù)雜網(wǎng)絡(luò)的一個經(jīng)典問題,當(dāng)前已有了豐富的成果,總體是通過分析節(jié)點(diǎn)之間的相似關(guān)系來進(jìn)行預(yù)測,比如基于相似性的預(yù)測方法、基于似然估計的預(yù)測方法、基于概率模型的預(yù)測方法等。對于深度模型來說,更多工作將鏈路預(yù)測作為深度模型的評價方法來使用,本質(zhì)也是來挖掘兩節(jié)點(diǎn)的相似性。現(xiàn)較為成熟的鏈路預(yù)測方法有以下幾種。
一是基于規(guī)則學(xué)習(xí)的方法。這一方法是基于觀察到的關(guān)系共現(xiàn)模型,學(xué)習(xí)規(guī)則一般是通過歸納得到的,而且能夠自然過渡到其他實(shí)體,因?yàn)樗鼈兒蛯?shí)體之間是獨(dú)立的。Neural LP 提出了一種端到端可微框架來學(xué)習(xí)邏輯規(guī)則的結(jié)構(gòu)和參數(shù)[14]。DRUM 通過挖掘更正確的邏輯規(guī)則,進(jìn)一步改進(jìn)了神經(jīng)網(wǎng)絡(luò)[15]。然而,基于規(guī)則學(xué)習(xí)的方法主要集中在挖掘horn 規(guī)則,限制了它們對知識圖譜中更復(fù)雜的語義關(guān)系建模的能力。
二是基于嵌入的方法。該方法已被證明是知識圖譜推理的一個有前途的方向[16],一些基于嵌入的方法可以為未見的實(shí)體生成嵌入。GraIL 等提出基于GNN的預(yù)測框架,通過推理局部子圖實(shí)現(xiàn)實(shí)體獨(dú)立方式的歸納預(yù)測,但該方法無法實(shí)現(xiàn)常見實(shí)體的關(guān)系獲?。?7]。
三是基于GNNs的鏈路預(yù)測。由于KG自身的圖模式表達(dá)特點(diǎn),基于GNNs的鏈路預(yù)測方法在近幾年展現(xiàn)出巨大潛力。ZHANG等[18]利用GNN結(jié)合層次注意力實(shí)現(xiàn)對實(shí)體領(lǐng)域信息的有效利用,但該網(wǎng)絡(luò)的訓(xùn)練依賴于實(shí)體嵌入而難以對不可見實(shí)體間缺失鏈接進(jìn)行補(bǔ)充。
四是基于關(guān)系矩陣的方法。近期的KG 嵌入方法研究開始考慮引入關(guān)系間相關(guān)性。DO 等[19]實(shí)現(xiàn)對關(guān)系投影空間的跨越基分解并共享給所有關(guān)系。ZHU 等[20]嘗試將關(guān)系矩陣分解成兩個低維矩陣相乘來學(xué)習(xí)。
本文提出一種新的歸納推理模型HSTP,它能有效利用相鄰的關(guān)系三元組。具體來說是從關(guān)聯(lián)模型(correlation patterns)和相關(guān)系數(shù)(correlation coefficients)兩個方面對語義關(guān)聯(lián)進(jìn)行了建模。根據(jù)不同的結(jié)構(gòu)特征將所有關(guān)系劃分為多個關(guān)聯(lián)模式組,然后將原始知識圖轉(zhuǎn)換為關(guān)系相關(guān)圖(RCG),其中節(jié)點(diǎn)表示關(guān)系,邊表示任意兩個關(guān)系之間的關(guān)聯(lián)模式。
定義1(關(guān)系相關(guān)模塊):基于任何兩個關(guān)系之間的語義相關(guān)性與其拓?fù)浣Y(jié)構(gòu)高度相關(guān)的模塊。
定義2(關(guān)系相關(guān)網(wǎng)絡(luò),RCN):模擬不同相關(guān)模式在鏈路預(yù)測中的重要性。它由相關(guān)模式和相關(guān)系數(shù)兩個部分組成。
定義3(關(guān)聯(lián)模式):任意兩個關(guān)系之間的關(guān)聯(lián)都與其拓?fù)浣Y(jié)構(gòu)相關(guān)。
定義4(相關(guān)系數(shù)):闡述兩種關(guān)系之間的語義關(guān)聯(lián)程度。
定義5(關(guān)系相關(guān)圖,RCG):為達(dá)到對任意兩個關(guān)系之間的相關(guān)模式進(jìn)行建模的目的,將所有關(guān)系對分為七類拓?fù)淠J健F渲泄?jié)點(diǎn)表示關(guān)系,邊表示原始知識圖中任意兩個關(guān)系之間的關(guān)聯(lián)模式。
定義6(圖形結(jié)構(gòu)模塊):對于三元組(u,rt,v),周圍的局部圖包含了關(guān)于三元組如何與其鄰域連接的信息。
HSTP 旨在以獨(dú)立于實(shí)體的方式對給定的三元組(u,rt,v)進(jìn)行評分,其中rt是u和v之間的目標(biāo)關(guān)系。其中HSTP 包括兩個模塊:關(guān)系關(guān)聯(lián)模塊和圖形結(jié)構(gòu)模塊。關(guān)系關(guān)聯(lián)模塊輸出嵌入向量rtN和eu,將這兩個模塊組織在一個統(tǒng)一的框架中,框架見圖1。利用一個評分網(wǎng)絡(luò)將這兩個模塊的輸出結(jié)合起來,得到給定三元組(u,rt,v)的分?jǐn)?shù)。
圖1 評分框架圖
得分函數(shù):f(u,rt,v)定義為:
其中,WS∈R4d×1代表權(quán)重參數(shù)。
損失函數(shù):進(jìn)行負(fù)采樣并使用對比較鏈接損失對模型進(jìn)行訓(xùn)練,使其得分正樣本高于負(fù)樣本。損失函數(shù)定義為:
其中,γ代表超參數(shù);(u′i,r′t,i,v′i)代表表示事實(shí)三元組(u,rt,v)的第i個負(fù)樣本;[n]代表{1,2,…,n},n 是負(fù)樣本個數(shù)。
為驗(yàn)證本文所提出的HSTP 模型的效果及解決高血壓病中醫(yī)醫(yī)案KG 的補(bǔ)全,需要在數(shù)據(jù)集上通過實(shí)驗(yàn)驗(yàn)證。筆者使用了文獻(xiàn)[17]中提出的歸納鏈路預(yù)測基準(zhǔn)數(shù)據(jù)集作為公開數(shù)據(jù)集用作訓(xùn)練,這些數(shù)據(jù)來自WN18RR[21]、FB15k-237[22]和NELL-995[23]。將前期收集的高血壓病中醫(yī)醫(yī)案數(shù)據(jù)集作為私有數(shù)據(jù)集用作預(yù)測,其中有1 345 個關(guān)系三元組用來訓(xùn)練,共包含632個實(shí)體和495關(guān)系。
對于感應(yīng)鏈路預(yù)測,訓(xùn)練組和測試組應(yīng)重疊實(shí)體。WN18RR、FB15k-237 和NELL-995 歸納出4 種類型的歸納數(shù)據(jù)集,且其大小不斷增加。數(shù)據(jù)集詳細(xì)信息見表1。
表1 歸納基準(zhǔn)的統(tǒng)計數(shù)據(jù)表
將HSTP 與幾種經(jīng)典的方法進(jìn)行比較,包括Neural LP[14]、DRUM[15]和GraIL[17]。使用Adam 優(yōu)化器[24]進(jìn)行訓(xùn)練,初始學(xué)習(xí)率為0.01,批量大小為16。在訓(xùn)練和測試時,隨機(jī)抽取每個三元組的兩跳封閉子圖,并使用一個兩層的GCN 來計算子圖的嵌入。對于WN18RR、FB15k-237 和NELL-995,損失函數(shù)中的margins 分別設(shè)置為8、16、10,最大訓(xùn)練時epochs 設(shè)置為10。
三元組分類是一個簡單的二分類問題,即對一個三元組(u,rt,v)判斷它是正樣本還是負(fù)樣本。鏈路預(yù)測是用實(shí)體集中的實(shí)體替換掉頭實(shí)體或尾部實(shí)體,計算所有三元組的得分,然后得到原三元組在所有三元組中的排名。三元組分類任務(wù)在很多補(bǔ)全模型中被當(dāng)作評測任務(wù),其方法是通過三元組(u,rt,v)的兩個階段模型傳播和輸出模型計算(u,rt,v)的得分函數(shù),如果評分函數(shù)小于指定閾值劃分為正樣本,否則為負(fù)樣本。由于這是一項(xiàng)二元分類任務(wù),使用準(zhǔn)確率作為評估指標(biāo)。三元組分類的實(shí)驗(yàn)結(jié)果如表2、圖2 所示。
表2 三元組分類任務(wù)的準(zhǔn)確率(%)
圖2 三元組分類任務(wù)準(zhǔn)確率
由以上結(jié)果可知:
①在三元組分類任務(wù)上,HSTP 性能優(yōu)于Neural LP、DRUM 和GraIL 模型。說明HSTP 模型獲取實(shí)體向量的方式較其他復(fù)雜,能有效地捕捉序列特征。
②比較數(shù)據(jù)集WN18RR、FB15k-237和NELL-995發(fā)現(xiàn),隨著實(shí)體增多,訓(xùn)練數(shù)據(jù)的減少,模型的分類效果都會降低。但是在同一個數(shù)據(jù)集下,各種模型性能的相對關(guān)系基本保持不變。
③在三個數(shù)據(jù)集上,本文提出的HSTP 模型相對于其他模型分別提高了2.4%、2.8%和3.2%,整體性能優(yōu)于上述模型。
3.4.1 基準(zhǔn)模型
為評估提出的關(guān)系相關(guān)模塊的有效性,課題組提出了一個稱為HSTP-base的基線,該基線得分三元組(u,rt,v),僅依賴于關(guān)系相關(guān)模塊的輸出,因此,HSTP-base的得分函數(shù)為:
其中,Wbase∈Rd×1代表權(quán)重參數(shù)。
3.4.2 評價及分析
使用精度召回曲線(AUC)下的面積作為分類度量,AUC(Area Under Curve)被定義為ROC 曲線下的面積。用隨機(jī)實(shí)體替換每個測試三元組的頭部或尾部,以對相應(yīng)的負(fù)三元組進(jìn)行采樣。然后用相等數(shù)量的負(fù)三元組對正三元組進(jìn)行評分,用不同的隨機(jī)種子進(jìn)行實(shí)驗(yàn),并報告平均結(jié)果。從WN18RR、FB15k-237 和NELL-995 中提取的歸納基準(zhǔn)數(shù)據(jù)集的AUC-PR,結(jié)果見表3、圖3。
表3 鏈路預(yù)測任務(wù)實(shí)驗(yàn)結(jié)果
由圖3 鏈路預(yù)測的AUC-PR 結(jié)果可知,從三元組任務(wù)和鏈路預(yù)測兩個任務(wù)總體來說,課題組的基線模型HSTP-base 在所有數(shù)據(jù)集上都優(yōu)于歸納基線。由于HSTP-base 完全依賴于關(guān)系相關(guān)模塊來執(zhí)行鏈路預(yù)測,此結(jié)果證明課題組提出的歸納鏈路預(yù)測模型大大提高了HSTP 模型的性能,在大多數(shù)數(shù)據(jù)集上比GraIL 提高了3.9%左右,驗(yàn)證了在歸納鏈路預(yù)測任務(wù)中HSTP模型的有效性。
圖3 鏈路預(yù)測的AUC-PR結(jié)果圖
古代中醫(yī)學(xué)中并無“高血壓病”概念,現(xiàn)代高血壓病在中醫(yī)辨證理論體系中所對應(yīng)的疾病有“眩暈”“頭痛”,對應(yīng)的病機(jī)為“肝陽上亢”。如圖4 和圖5 所示,其描述了關(guān)于高血壓病中醫(yī)醫(yī)案知識圖譜的補(bǔ)全前和補(bǔ)全后,因?yàn)槲粗溌奉A(yù)測的任務(wù)是判斷圖中實(shí)體之間的連線是否真實(shí)存在,所以補(bǔ)全后的知識圖譜可以考慮到相鄰的關(guān)系三元組,展示更多缺失的信息,使高血壓病在中醫(yī)的辨證論治中更加系統(tǒng)化、全面化。首先體現(xiàn)在高血壓病的證治分型上,在肝火上炎、肝腎虧虛、氣虛血瘀、陰虛陽亢和痰濕壅盛證的研究基礎(chǔ)上增加了其他臟腑、氣血津液和情志證等方面的辨證,同時也對應(yīng)增加了每個證型的脈證、舌象等具體臨床癥狀表現(xiàn)。補(bǔ)全優(yōu)化后的優(yōu)勢主要體現(xiàn)以下三點(diǎn):第一,中醫(yī)學(xué)的基本特點(diǎn)是整體觀念和辨證論治,一個臟腑或者一個部位的病變往往會累及其他的臟腑和部位,通過補(bǔ)全此圖,可以比較直觀地看到相同疾病不同證型之間會出現(xiàn)有共同的證候,體現(xiàn)中醫(yī)學(xué)整體觀念和辨證論治的特點(diǎn);第二,使本病的辨證更加精確完善且具有連貫性和統(tǒng)一性;第三,強(qiáng)化表達(dá)了疾?。Y狀-證候之間的聯(lián)系,體現(xiàn)了中醫(yī)辨證以五臟為中心的整體觀,辨證方式包含了臟腑辨證、八綱辨證和氣血津液辨證。
圖4 “疾?。Y狀-證候”可視化圖補(bǔ)全前
圖5 “疾?。Y狀-證候”可視化圖補(bǔ)全后
本文以醫(yī)學(xué)領(lǐng)域?yàn)槔槍χR圖譜描述中醫(yī)高血壓病病例的特點(diǎn),提出將KG 與相鄰三元組相結(jié)合,充分描述實(shí)體節(jié)點(diǎn)的屬性,并構(gòu)建了一個關(guān)聯(lián)關(guān)系描述屬性的模型。然后基于HSTP 預(yù)測模型實(shí)現(xiàn)KG 的信息補(bǔ)全,從而找到其中缺失的信息?;谡鎸?shí)數(shù)據(jù)集的實(shí)驗(yàn),驗(yàn)證了該方法的有效性,實(shí)驗(yàn)結(jié)果在一定程度上具有可行性。筆者就知識圖譜補(bǔ)全研究中面臨的信息覆蓋不全面及相鄰三元組信息丟失兩大問題,提出以下解決方法。一是結(jié)合實(shí)體類型和層級結(jié)構(gòu)信息(如中醫(yī)知識圖譜中的疾?。硬。愋徒Y(jié)構(gòu))補(bǔ)全知識圖譜;二是融合實(shí)體信息與拓?fù)浣Y(jié)構(gòu)形成增量,實(shí)現(xiàn)模型結(jié)構(gòu)優(yōu)化。經(jīng)實(shí)驗(yàn)驗(yàn)證,新提出的HSTP 歸納推理模型能夠有效建模語義關(guān)聯(lián)并對比其他方法獲得了更優(yōu)的鏈路預(yù)測性能。
本文提供了一種針對醫(yī)學(xué)領(lǐng)域知識圖譜未知鏈路預(yù)測思路,但只限于初步探尋。以知識圖譜鏈路預(yù)測問題的特點(diǎn)和應(yīng)用為出發(fā)點(diǎn),今后要開展的工作主要為如何處理大規(guī)模的知識圖譜和海量標(biāo)簽數(shù)據(jù)集,并將預(yù)測未知鏈接擴(kuò)展到醫(yī)學(xué)的其他方面。