沈希宇,蔡肖紅,曹 慧
山東中醫(yī)藥大學(xué) 智能與信息工程學(xué)院,濟南 250355
個性化推薦系統(tǒng)能夠通過對大量的數(shù)據(jù)進行匯總分析,找尋用戶特征,建立匹配機制,為用戶推薦其可能感興趣的信息。隨著信息社會的建設(shè)逐步完善,推薦系統(tǒng)已經(jīng)根植于社會的各行各業(yè),其中適配于醫(yī)療健康領(lǐng)域的推薦系統(tǒng)正在蓬勃發(fā)展。如推薦用藥、輔助診斷、精準醫(yī)療、預(yù)測藥物相互作用等[1],傳統(tǒng)的推薦算法可以分為基于內(nèi)容的推薦算法、基于協(xié)同過濾的推薦算法和混合的推薦算法[2],但數(shù)據(jù)稀疏性和冷啟動問題一直是傳統(tǒng)推薦算法性能的桎梏。以協(xié)同過濾算法為例,所謂數(shù)據(jù)稀疏性是指在數(shù)據(jù)總量中有效數(shù)據(jù)所占比例極小,導(dǎo)致構(gòu)建的用戶(user)-物品(item)矩陣變得稀疏,在進行相關(guān)計算時,對結(jié)果的準確性將產(chǎn)生極大的負面影響。針對此類問題常用的解決方案為:一是通過引入上下文聯(lián)系,聯(lián)合評論信息等多方位的關(guān)聯(lián)數(shù)據(jù),間接降低矩陣的稀疏程度,從而提高推薦準確度。二是通過對數(shù)據(jù)進行聚類分析,將數(shù)據(jù)聚成高相似度的幾類,降低數(shù)據(jù)的維度,進而提升推薦效果。三是通過結(jié)合深度學(xué)習(xí)挖掘數(shù)據(jù)的隱含特征,從而解決數(shù)據(jù)稀疏性問題。目前學(xué)術(shù)界廣泛運用的是結(jié)合深度學(xué)習(xí)的推薦算法,雖然深度學(xué)習(xí)算法可以有效解決數(shù)據(jù)稀疏性的問題,但對于冷啟動問題仍然缺乏有效的應(yīng)對手段。而且深度學(xué)習(xí)算法通過卷積計算挖掘數(shù)據(jù)隱含特征,對于問題本身缺乏有效的可解釋性。醫(yī)療知識圖譜作為數(shù)據(jù)關(guān)聯(lián)度高且可解釋性良好的技術(shù)手段與推薦系統(tǒng)有著很高的契合度,可以有效解決目前推薦系統(tǒng)所面臨的困難。
本文在將近年來推薦系統(tǒng)的相關(guān)研究進行整理歸納的基礎(chǔ)上,對基于知識圖譜的推薦系統(tǒng)進行深入的研究,主要對結(jié)合醫(yī)療實踐的研究成果進行梳理分析,最后對具可行性的未來研究方向進行了展望。
知識圖譜是通過符號形式構(gòu)建圖模型用來描述物理世界中概念以及其相互關(guān)系的技術(shù)方法,是人工智能領(lǐng)域的下游技術(shù),本質(zhì)上是異構(gòu)圖。知識圖譜的概念由谷歌于2012年提出,其前身是語義網(wǎng),經(jīng)過長時間的發(fā)展形成了結(jié)構(gòu)化的語義知識庫,基本組成單位是節(jié)點和邊。節(jié)點可以是實體,邊可以是實體的屬性關(guān)系,通常的表現(xiàn)形式沿用了語義網(wǎng)絡(luò)中“頭實體-關(guān)系-尾實體”三元組的經(jīng)典設(shè)定,實體以邊為橋梁相互聯(lián)結(jié),構(gòu)成的結(jié)構(gòu)知識呈現(xiàn)網(wǎng)狀,因此也被稱為異構(gòu)信息網(wǎng)絡(luò),如圖1所示。
圖1 知識圖譜示例Fig.1 Example of knowledge graphs
按照知識涵蓋范圍可以將知識圖譜劃分為通用知識圖譜和領(lǐng)域知識圖譜。通用知識圖譜旨在納入更多實體類型,內(nèi)容多而雜,且準確性不足,很難將其實體和關(guān)系標準化;領(lǐng)域知識圖譜則是依托于專業(yè)性領(lǐng)域的特定知識構(gòu)建而成,構(gòu)建三元組的實體和關(guān)系時需要統(tǒng)籌兼顧領(lǐng)域內(nèi)獨特的知識體系,醫(yī)療知識圖譜從屬于領(lǐng)域知識圖譜。
醫(yī)療知識圖譜目前主要的構(gòu)建模式有兩種,即自頂向下與自底向上的構(gòu)建模式。自頂向下的構(gòu)建模式首先構(gòu)建頂部本體層,然后將關(guān)系和概念梳理細化,再將抽取到的實體填充到所構(gòu)建的頂層本體中;自底向上的構(gòu)建模式則是先從數(shù)據(jù)源中提取實體、屬性、類別和關(guān)系,直接合并到知識圖譜的數(shù)據(jù)層,最后形成頂部模式層?,F(xiàn)階段大部分知識圖譜的構(gòu)建都采用了自底向上的方法。
構(gòu)建醫(yī)療知識圖譜有利于整合現(xiàn)有知識,將存在于各處的醫(yī)療學(xué)知識轉(zhuǎn)變成計算機可讀的程序語言。當今正處醫(yī)療數(shù)據(jù)飛速積累的時代,醫(yī)療知識不僅存儲于病例文本、住院表格等非結(jié)構(gòu)化文本中,還在期刊文獻、互聯(lián)網(wǎng)資源等結(jié)構(gòu)化數(shù)據(jù)中大量存在。醫(yī)療知識圖譜構(gòu)建的關(guān)鍵技術(shù)流程如圖2所示。
圖2 醫(yī)療知識圖譜架構(gòu)流程圖Fig.2 Flow chart of medical knowledge graph architecture
醫(yī)療知識圖譜的構(gòu)建流程由醫(yī)療知識抽取、醫(yī)療知識融合和醫(yī)療知識加工三個主要模塊組成。醫(yī)療知識抽取包含實體抽取、關(guān)系抽取和屬性抽取,通過從海量的結(jié)構(gòu)化、半結(jié)構(gòu)化和無結(jié)構(gòu)化的醫(yī)療數(shù)據(jù)源中提煉出實體、關(guān)系和屬性等要素存儲在醫(yī)療知識圖譜中。醫(yī)療知識融合可消除實體、關(guān)系、屬性等概念項與事實對象之間的歧義,使不同來源的知識能夠得到規(guī)范化整合、消歧和加工,并可以保證醫(yī)療知識圖譜能夠循環(huán)更新和補足缺失的知識。醫(yī)療知識加工包括本體構(gòu)建、知識推理和質(zhì)量評估。本體構(gòu)建是對已構(gòu)建好的數(shù)據(jù)層進行概念抽象,即構(gòu)建知識圖譜的頂層關(guān)系本體;知識推理是推斷出尚未明確的實體關(guān)系,自動完成疾病診斷與治療;質(zhì)量評估是通過對已有知識的可信度進行量化評估,篩選出置信度高的知識,保持知識圖譜的精準性。
自互聯(lián)網(wǎng)興起以來,網(wǎng)絡(luò)上積累的數(shù)據(jù)信息極速增長。冗余的數(shù)據(jù)中蘊含著寶貴的價值,但卻很難被開發(fā)出來其應(yīng)有的價值。推薦系統(tǒng)作為幫助人們利用冗余數(shù)據(jù),開發(fā)數(shù)據(jù)價值的有效手段,是推動整個互聯(lián)網(wǎng)發(fā)展的核心動力。對于用戶來說推薦系統(tǒng)所面臨的問題可以簡化為如何針對特定場景下的用戶在眾多候選可能中為其預(yù)測并推薦可能感興趣的事物,在需要應(yīng)用到推薦的場景中多數(shù)用戶都存在需求不明確的情況。與傳統(tǒng)的搜索引擎不同,推薦系統(tǒng)通常會結(jié)合用戶歷史信息和標簽預(yù)測用戶的需求,當用戶歷史信息缺失時則需要利用其他相似用戶的信息來交替比較。
作為介紹推薦系統(tǒng)的前提,如下概念在推薦系統(tǒng)中起著基石作用:用戶信息是與用戶相關(guān)的各種信息,例如歷史瀏覽行為、用戶關(guān)系網(wǎng)絡(luò)等;物品信息是各個推薦場景中所涉及到的不同推薦客體,例如醫(yī)藥、疾病、新聞、電影等;場景信息是在具體的推薦場景中,對用戶決定起到輔助作用的信息,例如時間、地點、用戶所處狀態(tài)等。推薦系統(tǒng)的主體是由用戶信息、物品信息、場景信息共同構(gòu)建的預(yù)測函數(shù)模型。
推薦系統(tǒng)的邏輯架構(gòu)可以簡單地理解為在用戶和龐雜的選擇之間樹立起的過濾網(wǎng),如圖3所示。
圖3 推薦系統(tǒng)邏輯架構(gòu)流程圖Fig.3 Flow chart of Recommended system logic architecture
在實際的推薦系統(tǒng)中,數(shù)據(jù)處理和構(gòu)建算法模型尤為重要。數(shù)據(jù)處理需要對冗余的數(shù)據(jù)進行過濾,包括數(shù)據(jù)的收集、存儲、加工、分類、歸并、計算、排序、轉(zhuǎn)換、檢索和傳播,以此獲取推薦系統(tǒng)所需要的用戶、物品、場景信息。
獲得的信息送往預(yù)測模型之前還需要對信息進行特征工程的處理,提取出可以表達問題本質(zhì)的特征,有助于提高模型的精準度;構(gòu)建預(yù)測模型的過程一般包括召回層,排序?qū)雍脱a充排序?qū)?。召回層的作用是利用高效的召回算法模型快速對海量候選物品進行初篩,過濾掉無用的候選物品,召回用戶可能感興趣的物品;排序?qū)幼鳛橥扑]算法的主體是最為重要的部分,推薦結(jié)果的精確性主要由排序算法對初篩的候選物品進行精確排序來體現(xiàn);補充排序?qū)邮菍τ脩舴祷赝扑]結(jié)果之前的查漏補缺,結(jié)合環(huán)境信息對用戶的推薦結(jié)果進行的微調(diào),為用戶呈現(xiàn)最終的推薦結(jié)果。
自推薦系統(tǒng)應(yīng)用于商業(yè)以來,推薦系統(tǒng)出現(xiàn)了井噴式的發(fā)展,從開始的協(xié)同過濾模型(collaborative filtering,CF)[3]、邏輯回歸模型(logistics regression,LR)[4],逐步進化完善到了因子分解機模型(factorization machine,F(xiàn)M)[5]、梯度提升決策樹的組合模型(gradient boosting decision tree,GBDT)[6-7]。直到2012年AlexNet[8]的提出,深度學(xué)習(xí)憑借其強大的表達能力和靈活性的浪潮席卷學(xué)術(shù)界,基于深度學(xué)習(xí)的模型架構(gòu)百家爭鳴,推薦模型步入了組合模型的階段,基本拋棄了單一模型的框架。
雖然基于深度學(xué)習(xí)的模型對冷啟動和數(shù)據(jù)稀疏性問題做出了很大改善,但是其對特征處理的弱解釋性仍是推薦系統(tǒng)的短板之一。
在推薦系統(tǒng)的早期發(fā)展階段,研究者專注于僅憑借用戶歷史交互信息向目標用戶推薦相似的用戶或物品,例如協(xié)同過濾、邏輯回歸模型、因式分解機、矩陣分解技術(shù)等。該類方法的關(guān)鍵問題在于如何提取用戶和物品的特征來計算它們的相似性。
隨著神經(jīng)網(wǎng)絡(luò)模型的出現(xiàn),許多方法將基于相似性的方法擴展到神經(jīng)網(wǎng)絡(luò),為自動提取用戶和推薦物品的潛在特征提供了一種更有效的機制。然而,該類方法仍然受到數(shù)據(jù)稀疏問題和冷啟動問題的困擾。傳統(tǒng)推薦模型的優(yōu)勢及局限性總結(jié)見表1[3-10]?;趦?nèi)容的方法通過引入各種輔助信息來處理問題,例如上下文評論、場景信息和知識圖譜。引入輔助信息的優(yōu)點是提高了推薦結(jié)果的可解釋性。在輔助信息中,知識圖譜由于其良好定義的結(jié)構(gòu)和充足的資源,在推薦方面顯示出巨大的潛力。
表1 傳統(tǒng)推薦模型的主要優(yōu)勢及局限性Table 1 Main advantages and limitations of traditional recommendation models
知識圖譜作為數(shù)據(jù)關(guān)聯(lián)度高且可解釋性良好的技術(shù)方法與推薦系統(tǒng)有著很高的契合度,可以有效解決目前推薦系統(tǒng)在醫(yī)療領(lǐng)域所面臨的困難。醫(yī)療知識圖譜為item(疾病、藥品等)引入了更多的語義特征,可以更深層次的挖掘患者需求。隨著輔助信息的加入,數(shù)據(jù)稀疏和冷啟動的問題可以得到有效的緩解,進而提高模型效能。而且融合醫(yī)療知識圖譜的推薦系統(tǒng)可解釋性強,連接患者的病歷記錄和推薦結(jié)果,從而提高患者對推薦結(jié)果的滿意度和接受度,能按照符合人類認知的推薦路徑進行精準推送,增強患者對推薦系統(tǒng)的信任。此外,還可以將患者信息和外部信息集成到醫(yī)療知識圖譜中,更為精準地捕捉患者和疾病之間的關(guān)系以及患者的偏好。
目前大多數(shù)基于知識圖譜的推薦模型都基于三種模式:依次學(xué)習(xí)、聯(lián)合學(xué)習(xí)和交替學(xué)習(xí),如圖4所示。
圖4 知識圖譜應(yīng)用于推薦系統(tǒng)的三種模式Fig.4 Three modes of knowledge graph application in recommendation system
依次學(xué)習(xí)是指先使用知識圖譜進行特征學(xué)習(xí),從而得到實體和關(guān)系的低維向量,然后將這些低維向量引入推薦系統(tǒng)再做后面的處理。也就是只把知識圖譜作為一個特征的處理方式,兩個模塊依次進行學(xué)習(xí)。聯(lián)合學(xué)習(xí)是指知識圖譜特征學(xué)習(xí)模塊和推薦算法模塊的目標函數(shù),然后再使用端到端的方法進行聯(lián)合學(xué)習(xí)。將因為進行知識圖譜嵌入而降維的損失也納入到最后的損失函數(shù)中進行聯(lián)合訓(xùn)練。交替學(xué)習(xí)是將知識圖譜特征學(xué)習(xí)模塊和推薦算法模塊視為兩個分離但關(guān)聯(lián)的模塊,使用多任務(wù)學(xué)習(xí)的框架進行交替學(xué)習(xí)。這樣的做法兼顧了兩者的優(yōu)點,使得知識圖譜和推薦系統(tǒng)兩個模塊可以更深入地進行結(jié)合。
現(xiàn)階段基于醫(yī)療知識圖譜的推薦模型大多都是以傳統(tǒng)推薦模型為根基,將醫(yī)療知識圖譜中關(guān)于患者和疾病等實體的結(jié)構(gòu)化知識引入到推薦模型中充當輔助信息,用來改善傳統(tǒng)推薦模型中數(shù)據(jù)稀疏和冷啟動的問題,除此之外也存在利用醫(yī)療知識圖譜本身結(jié)構(gòu)特點來優(yōu)化結(jié)果的推薦模型。根據(jù)算法實現(xiàn)原理以及利用醫(yī)療知識圖譜信息結(jié)構(gòu)的不同,可以將現(xiàn)有基于醫(yī)療知識圖譜的推薦模型分為三種:基于嵌入的方法Emb(embedding-based)、基于路徑的方法Path(path-based)和融合的方法Uni(unified-based)。
融合知識圖譜的推薦系統(tǒng)是一個研究較為成熟、快速發(fā)展的領(lǐng)域,擁有廣泛的應(yīng)用前景,不僅限于醫(yī)療領(lǐng)域,在影視、書籍、音樂、電子商務(wù)等領(lǐng)域也大放光彩。通過整理經(jīng)典綜述文獻和代表性的工作,將基于知識圖譜的多領(lǐng)域經(jīng)典推薦模型匯總見表2[11-36]。
表2 基于知識圖譜的多領(lǐng)域經(jīng)典推薦模型匯總Table 2 Summary of multi-domain classic recommendation models based on knowledge graph
基于路徑的方法通過構(gòu)建用戶和物品的異構(gòu)信息網(wǎng)絡(luò),計算實體連接路徑之間的連通性和相似性,從而實現(xiàn)不同語義角度的推薦。該方法充分且直觀地利用了知識圖譜的網(wǎng)絡(luò)結(jié)構(gòu),引入了基于元路徑相似性的概念,不僅使用戶和物品間的多元關(guān)系被高效利用,而且還增強了推薦算法的可解釋性?;诼窂降姆椒ㄗ钤绫环Q為異構(gòu)信息網(wǎng)絡(luò)(hetegeneous information network,HⅠN)中的推薦方法。異構(gòu)信息網(wǎng)絡(luò)由于包含多類實體和連接關(guān)系,在復(fù)雜多元異構(gòu)的數(shù)據(jù)環(huán)境下的建模能力出眾,因此被廣泛應(yīng)用于推薦系統(tǒng)中。
基于路徑的方法早期通過與傳統(tǒng)的推薦算法相結(jié)合顯著提高了推薦效果的準確性。Yu等人[11]在2013年提出的Hete-MF模型采用基于矩陣分解的推薦框架,使用異構(gòu)信息網(wǎng)絡(luò)將用戶評級與實體相似性矩陣結(jié)合起來,通過提取不同的元路徑并計算每個路徑中的物品相似度進行推薦。由于該模型缺乏對用戶的動機、興趣等外部信息的利用,存在推薦不精準的明顯弊端,該團隊于2013 年提出的Hete-Rec 模型[37]利用元路徑的相似性完善用戶-物品交互矩陣,從而可以提取用戶和物品更為全面的特征信息。該團隊在后續(xù)推出的HeteRec-p模型[12]中進一步考慮了不同元路徑對于不同用戶的重要性,該模型通過基于元路徑的遍歷方法進行特征提取,充分利用了用戶與物品以及物品與物品之間的關(guān)系,首先根據(jù)用戶過去的行為將用戶分組,并利用聚類信息生成個性化推薦,然后根據(jù)用戶的不同提供基于用戶-物品隱式交互的高質(zhì)量推薦。但其對于隱式反饋沒有細致的區(qū)分,只是籠統(tǒng)地劃分為正反饋和負反饋,這將會導(dǎo)致模型的性能下降。在經(jīng)典的協(xié)同過濾算法基礎(chǔ)上,Luo等人[38]提出的Hete-CF模型通過將用戶-用戶、物品-物品和用戶-物品的相似度作為正則化項,查找用戶對未分級物品的相似度,對于解決異構(gòu)社交網(wǎng)絡(luò)上的推薦問題起到了良好的效果。
3.1.1 結(jié)合醫(yī)療實踐的基于路徑的方法
在與醫(yī)療實踐結(jié)合后,推薦系統(tǒng)不僅包含簡單的用戶-物品的關(guān)系問題,還需要遵循生物學(xué)合理假設(shè)的研究方向。傳統(tǒng)用藥推薦是由醫(yī)生根據(jù)豐富的經(jīng)驗配合臨床指南定義的基于規(guī)則模板匹配的推薦,對于特定診斷的非特異化醫(yī)學(xué)推薦可能是有效的,但是對于復(fù)雜患者的私人訂制推薦作用有限。Wang等人[39]提出的SⅠET(star interactive enhanced-based transformer)模型利用基于元路徑的方法從基于電子病歷和醫(yī)學(xué)知識圖的大型異構(gòu)網(wǎng)絡(luò)中構(gòu)造出疾病同質(zhì)圖,藥物同質(zhì)圖和副作用同質(zhì)圖,然后將疾病、藥物、副作用三個實體序列向量投射到低維稠密向量空間中,最后通過計算疾病表征和藥物表征向量之間的余弦相似度得到推薦藥物列表。其優(yōu)點是利用了注意力機制增強了嵌入向量的表示,提高了推薦的精準性,缺點則是增加的參數(shù)需要更多的計算資源,推薦效率有所下降。
藥物重定位是一種將現(xiàn)有藥物用于治療新的適應(yīng)癥的藥物發(fā)現(xiàn)方式。相較于傳統(tǒng)的新藥開發(fā),可以有效縮短藥物研發(fā)周期,降低成本,規(guī)避風(fēng)險。Nam 等人[40]針對藥物重定位問題提出KGE-CLASH模型,引入額外的知識充當輔助信息,改善數(shù)據(jù)稀疏性問題,同時利用調(diào)和函數(shù)進行標簽傳播,所得藥物評分用來推薦。該模型的不足之處是需要專業(yè)人員結(jié)合領(lǐng)域知識來定義元路徑的類型和數(shù)量。Zhao 等人[41]提出的通用臨床決策支持方法使用醫(yī)學(xué)知識網(wǎng)絡(luò)(EMR-based medical knowledge network,EMKN)將問題描述為一個馬爾可夫決策過程(Markov random field,MRF),可以來推理癥狀-疾病之間的合理路徑,通過為實體關(guān)系匹配相應(yīng)的能量函數(shù),一定程度上解決了先前方法需要手動定義元路徑的問題。
與推薦系統(tǒng)中的數(shù)據(jù)稀疏性類似,醫(yī)學(xué)異構(gòu)圖遵循長尾分布,長尾實體只和某些實體交互,因此推薦系統(tǒng)無法統(tǒng)籌全局信息。Lan等人[42]針對醫(yī)學(xué)知識圖譜實體和路徑的稀疏性問題,通過BERT(bidirectional encoder representation from transformers)的預(yù)訓(xùn)練模型對實體和路徑文本語句進行編碼,以增強實體和路徑的嵌入,同時加入了注意機制用于組合多條路徑的語義特征,在解決了數(shù)據(jù)稀疏性問題的同時,大量的BERT參數(shù)會減慢模型訓(xùn)練和收斂的速度,導(dǎo)致模型需要更多的時間成本。
3.1.2 小結(jié)
基于路徑的方法通常將協(xié)同過濾、矩陣分解等傳統(tǒng)推薦算法與異構(gòu)信息網(wǎng)絡(luò)中提取的元路徑相結(jié)合。該類方法利用路徑連通性規(guī)范和豐富用戶-物品表示,缺點是通常需要領(lǐng)域知識來定義元路徑的類型和數(shù)量,導(dǎo)致信息浪費和增加非必要的計算開銷。隨著深度學(xué)習(xí)技術(shù)與醫(yī)療實踐的深入結(jié)合,該類方法將路徑嵌入進行顯式編碼,可以通過連接癥狀-藥物的最顯著路徑生成推薦結(jié)果?;诼窂降姆椒ㄗ匀坏貙⒖山忉屝砸氲酵扑]過程中,推薦結(jié)果可以從預(yù)定義的元路徑中找到參考。實現(xiàn)元路徑選擇的自動化是未來的發(fā)展方向,例如利用深度學(xué)習(xí)模型自動挖掘疾病-藥物的顯著路徑,從而在圖中反映推薦過程?;诼窂降耐扑]算法特點及其局限性總結(jié)見表3。
表3 基于路徑的推薦算法特點及其局限性Table 3 Characteristics and limitations of path-based recommendation algorithm
與基于路徑的方法不同,基于嵌入的方法用知識圖譜作為輔助信息,豐富item或user的表示。為了充分利用知識圖譜的信息,該類方法需要采用知識圖譜嵌入(knowledge graph embedding,KGE)算法將知識圖譜中包括實體和關(guān)系的三元組映射到低維連續(xù)的向量空間,保留知識圖譜結(jié)構(gòu)的同時,使其蘊含更多的潛在語義信息,更容易被計算機理解和操作。知識圖譜嵌入的方法主要可以分為轉(zhuǎn)移距離模型(translational distance)方法和語義匹配模型(semantic matching)方法兩種,前者是利用基于距離的評分函數(shù),學(xué)習(xí)從頭實體到尾實體的空間關(guān)系變換(TransE[43]、TransR[44]等系列模型),后者則是通過基于相似性的評分函數(shù),直接運用神經(jīng)網(wǎng)絡(luò)對語義相似度進行計算(RESCAL[45]、DistMult[46]等模型)。
基于嵌入的方法早期通過利用KGE算法處理過的原始嵌入向量進行推薦。Zhang等人[20]提出CKE(collaborative knowledge base embedding)模型,針對之前方法只利用知識圖譜的單一結(jié)構(gòu)信息而忽略了其他重要信息的缺陷,整合了包括外部知識圖譜、文本、圖像等外部信息,完善了實體的結(jié)構(gòu)化信息向量,形成了物品的潛在向量表示。該模型的不足之處在于忽略了知識圖譜內(nèi)的實體之間的關(guān)系信息;用戶嵌入向量無法得到及時更新;增加的輔助信息涵蓋多個方面,但卻缺少權(quán)重的劃分,這將會對實際推薦結(jié)果產(chǎn)生不利影響。
Wang 等人[21]提出的DKN(deep knowledge-aware network)模型針對上述方法的不足之處,使用結(jié)合了知識圖譜的卷積網(wǎng)絡(luò)KCNN(knowledge-aware convolutional neural network)[47]將新聞的語義信息與知識圖譜融合起來形成全新的嵌入向量。為了捕捉用戶對新聞的動態(tài)興趣,該模型通過加入注意力機制,對候選推薦的權(quán)重進行了分配。雖然DKN模型在用戶歷史交互的信息基礎(chǔ)上,將知識圖譜作為衡量用戶偏好的尺度,但卻只選取了相鄰用戶的聯(lián)系作為上下文信息,完全沒有利用到知識圖譜內(nèi)的關(guān)系信息。在此基礎(chǔ)上該團隊提出了MKR(multi-task feature learning approach for knowledge graph enhanced recommendation)模型[23]將推薦問題精確地建模為多任務(wù)學(xué)習(xí)(multi-task learning)。該模型由推薦模塊和KGE 模塊組成,通過前者學(xué)習(xí)獲得用戶和物品的潛在表示,而后者利用語義匹配的KGE模型學(xué)習(xí)獲得物品關(guān)聯(lián)實體的向量表示,如圖5 所示。這兩個部分通過一個交叉壓縮單元連接起來相互傳遞知識,共享推薦模塊中物品和知識圖譜中實體的規(guī)則化,進一步避免了出現(xiàn)擬合噪聲和提高了模型泛化能力。
圖5 MKR模型結(jié)構(gòu)示意圖Fig.5 Schematic diagram of MKR model structure
3.2.1 結(jié)合醫(yī)療實踐的基于嵌入的方法
藥物-靶標相互作用(drug-target interaction,DTⅠ)在藥物開發(fā)中起著至關(guān)重要的作用,例如藥物重定位和預(yù)測藥物副作用。除此之外,當針對復(fù)雜疾病識別出新的蛋白質(zhì)靶標時,也需要進行DTⅠ預(yù)測,同時需要闡明具有已知治療效果的藥物分子機制。這個問題類似于推薦系統(tǒng)的冷啟動問題,是DTⅠ預(yù)測在實際應(yīng)用中的嚴重限制因素。Ye 等人[48]提出的KGE-NFM(knowledge graph embedding-neural factorization machine)模型在DTⅠ領(lǐng)域通過語義匹配KGE進行實體和關(guān)系嵌入,將所得的低維向量作為輔助信息結(jié)合神經(jīng)因子分解機NFM(neural factorization machines)得到最終的推薦結(jié)果,雖然該方法緩解了DTⅠ中的冷啟動問題,但其框架結(jié)構(gòu)相對簡單,且對參數(shù)的調(diào)整很敏感,因此不便于部署在實際應(yīng)用中。而Shang 等人[49]提出的GAMENet(graph augmented memory network)模型則將藥物建模為實體節(jié)點,將藥物相互作用建模為關(guān)系鏈接,通過結(jié)合外部記憶組件,不僅提高了推薦的精準度還便于部署,增強了其在臨床實踐中的實用性。
自新冠病毒肺炎疫情發(fā)生以來,由于傳統(tǒng)藥物研發(fā)周期長,藥物重定位成為新冠肺炎藥物研發(fā)的主要策略。藥物重定位具有高效、低成本的特點,尤其是在突發(fā)性疾病和罕見病方面優(yōu)勢更加突出。Zeng 等人[50]提出的CoV-KGE(coronavirus-knowledge graph embedding)模型通過利用亞馬遜開源知識圖譜進行KGE從而獲得低維向量表示。CoV-KGE根據(jù)候選藥物的推薦預(yù)測得分進行藥物重定位,快速識別可重新用于新冠肺炎潛在治療的藥物。然而該模型因為存在數(shù)據(jù)噪聲較大以及忽略權(quán)重分配等問題,所以模型的性能欠佳,推薦準確率較低。Jin 等人[51]提出的KG-ASMGNN(KGenhanced attentive multi graph neural network)模型針對之前方法的不足,將草藥推薦問題類比推理為一個多標簽分類任務(wù),除了利用中醫(yī)藥知識圖譜進行KGE 嵌入生成癥狀和草藥的向量表示,還加入了基于注意力的多層感知機(multilayer perceptron,MLP)對癥狀-草藥的映射進行了細顆粒度的劃分,確定了不同癥狀的權(quán)重,提高了推薦系統(tǒng)的可靠性。但由于中醫(yī)實體之間有著復(fù)雜相關(guān)性,推薦效率仍有待提高。
耐藥性是一種復(fù)雜的生物學(xué)現(xiàn)象,阻礙了癌癥治療的可持續(xù)發(fā)展。尋找耐藥性關(guān)鍵基因的常見策略是全基因組篩選。Gogleva等人[52]提出的Skywalk-R模型,將全基因組篩選問題適配為推薦領(lǐng)域的多目標優(yōu)化問題用于尋找耐藥性的關(guān)鍵基因,其中KGE 學(xué)習(xí)獲得的向量作為圖形衍生特征被納入推薦系統(tǒng),提高了推薦結(jié)果的準確性。但與傳統(tǒng)的推薦系統(tǒng)不同,Skywalk-R 無法依靠用戶反饋來逐步評估和改進預(yù)測,因此驗證實驗成本高且耗時長。
基于電子病歷(electronic medical record system,EMRs)的藥物推薦系統(tǒng)在很大程度上可以幫助醫(yī)生做出更好的臨床決策,但是由于電子病歷中缺乏醫(yī)學(xué)專家的知識,推薦系統(tǒng)很難將準確的醫(yī)療事實與合適的處方相關(guān)聯(lián),降低了最終的推薦結(jié)果對于病情復(fù)雜的患者可信度。在基于電子病歷的藥物推薦系統(tǒng)中使用醫(yī)學(xué)知識圖譜,可使推薦系統(tǒng)能夠為特殊患者提供適當?shù)奶幏?。Gong 等人[53]提出的SMR(safe medicine recommendation)模型把推薦用藥問題轉(zhuǎn)換為預(yù)測患者與藥物之間連接的問題,通過從電子病歷和醫(yī)學(xué)知識圖中構(gòu)建大型異構(gòu)圖,利用TransR方法構(gòu)建特定關(guān)系矩陣,橋接的不同向量空間中的實體和關(guān)系對患者進行建模,并最小化潛在的藥物不良反應(yīng)做出安全用藥的建議。但由于模型結(jié)構(gòu)過于復(fù)雜,很難在臨床實踐中部署。
現(xiàn)有的方法多數(shù)都是假設(shè)知識圖譜是完整的,因為不完整的訓(xùn)練數(shù)據(jù)集會對推薦系統(tǒng)的性能產(chǎn)生不利影響。Cao 等人[24]提出的K-TUP(knowledge-enhanced translation-based user preference)模型針對知識圖譜不完整的問題,通過利用轉(zhuǎn)移距離模型TransH[44]將知識圖譜補全任務(wù)和推薦任務(wù)聯(lián)合部署在同一模型中,實現(xiàn)了兩任務(wù)的相互增強。在此基礎(chǔ)上Sousa等人[54]通過把知識圖譜作為BiOnt模型[55]的外部實體信息進行生物醫(yī)學(xué)關(guān)系提取,再結(jié)合K-TUP[24]補全了生物醫(yī)學(xué)實體之間的關(guān)系,提高了推薦的準確度。
3.2.2 小結(jié)
基于嵌入的方法不僅將知識圖譜中的實體和關(guān)系映射到低維向量,還保留了原有的結(jié)構(gòu)或語義信息,對解決基于路徑的方法中依賴元路徑設(shè)計、忽視語義關(guān)系的問題起到了重要的作用。但是該類方法對于知識圖譜中的多跳關(guān)系缺乏合理的運用,致使部分推薦結(jié)果的可解釋性降低。在與醫(yī)療實踐結(jié)合后,基于嵌入的方法構(gòu)建醫(yī)療知識圖譜時常使用多種類型的邊信息豐富醫(yī)療實體的表示,并且采用邊信息可以更精確地對患者的表示進行建模。另外,采用多任務(wù)學(xué)習(xí)策略將推薦模塊與醫(yī)療異構(gòu)圖相關(guān)任務(wù)進行聯(lián)合訓(xùn)練,也可以進一步提高推薦的質(zhì)量。基于嵌入的推薦算法的優(yōu)勢及局限性總結(jié)見表4。
表4 基于嵌入的推薦算法特點及其局限性Table4 Characteristics and limitations of recommendation algorithm based on embedding
基于路徑的方法使用預(yù)定義的元路徑作為連通性信息進行推薦,基于嵌入的方法利用知識圖譜中用戶-物品的嵌入向量表示進行推薦,這兩種方法只利用了知識圖譜的部分信息。為了充分挖掘知識圖譜中蘊含的信息,基于融合的方法被提出。該方法采用嵌入傳播的思想,將實體和關(guān)系的嵌入向量表示和連通性信息結(jié)合起來,以知識圖譜中的連接結(jié)構(gòu)為指導(dǎo),能夠?qū)W習(xí)獲得到更為全面的信息表示。
Wang等人[29]提出的RippleNet模型首次將基于嵌入和基于路徑的方法結(jié)合起來,通過引入偏好傳播思想克服了現(xiàn)有推薦方法的局限性。RippleNet借鑒水波紋的傳播原理,以用戶感興趣的物品為原點,在知識圖譜上逐層向外擴散,實現(xiàn)消息的傳遞。雖然RippleNet 開創(chuàng)性地提出了基于融合的方法,通過偏好傳播方法自然地將KGE 方法融入到推薦系統(tǒng)中,并且不需要人工設(shè)計元路徑,但仍存在著計算量冗余,忽視關(guān)系側(cè)重點等缺點。該團隊后續(xù)提出的KGCN(knowledge graph convolutional network)模型[33]和KGCN-LS(KGCN-label smoothness)模型[56]改善了這些問題。KGCN 通過將候選項的鄰居項到其本身的路徑嵌入到知識圖譜中,利用鄰居向量來擴充當前實體的向量表示,更好地捕捉局部鄰域信息和考慮鄰居節(jié)點權(quán)重實現(xiàn)推薦結(jié)果的優(yōu)化。KGCN-LS則是在KGCN模型上進一步增加了標簽平滑機制(label smoothness,LS)。LS 通過提取用戶交互信息,在知識圖譜上傳播用戶交互標簽,從而指導(dǎo)學(xué)習(xí)過程,可以獲得候選項的綜合表示。除此之外,Wang 等人[57]在RippleNet 模型的基礎(chǔ)上進行改進,提出了Ripp-MKR模型,結(jié)合了RippleNet[29]的偏好傳播思想和MKR模型[23]的交叉訓(xùn)練思想,解決了之前方法因更關(guān)注用戶-物品交互矩陣而忽略了知識圖譜中關(guān)鍵結(jié)構(gòu)信息的問題。
3.3.1 結(jié)合醫(yī)療實踐的基于融合的方法
圖卷積網(wǎng)絡(luò)(graph convolutional network,GCN)不僅可以在圖中歸納節(jié)點和邊的信息表示,還能夠高效處理不同實體之間具有豐富關(guān)系信息的任務(wù),因此受到學(xué)術(shù)界廣泛的關(guān)注。然而將原始GCN擴展到醫(yī)學(xué)知識圖譜的過程中存在著如下問題:(1)最初的GCN是為同構(gòu)圖設(shè)計的,在同構(gòu)圖中,所有節(jié)點都是相同的類型,并且具有相同的功能名稱,而醫(yī)學(xué)知識圖譜多為異構(gòu)圖且具有多種類型的節(jié)點,無法直接適配GNN。(2)在醫(yī)療場景中的特征矩陣中通常有許多缺失值,而原始GCN無法處理節(jié)點特征中存在缺失值的情況。
在與醫(yī)療實踐結(jié)合后,為了解決上述問題Mao 等人[58]提出的MedGCN(Medicine GCN)模型,創(chuàng)新性地將多個醫(yī)療實體之間復(fù)雜的關(guān)聯(lián)融入到異構(gòu)醫(yī)療圖中,通過引入交叉正則化策略,加強了多任務(wù)之間的交互,減少了多任務(wù)訓(xùn)練的過擬合。因為該模型更加側(cè)重于普適性的應(yīng)用場景,因此針對特定的推薦場合性能較為普通。Yang 等人[59]提出的KDHR(knowledge-driven herb recommendation)模型將中醫(yī)藥知識圖譜作為附加的輔助信息,通過GCN 對癥狀和草藥之間的潛在關(guān)系進行建模,并使用多層感知器(MLP)集成從GCN 的每一層獲得的不同層次的信息,以此獲得信息豐富且噪聲較小的節(jié)點特征表示。但因為中醫(yī)藥知識圖譜中的草藥類別不平衡導(dǎo)致模型性能無法達到最優(yōu)。
3.3.2 小結(jié)
基于融合的方法利用嵌入傳播的思想改進知識圖譜中具有多跳鄰居的實體表示,嵌入傳播是在知識圖譜中發(fā)現(xiàn)用戶偏好的方法,類似于在基于路徑的方法中發(fā)現(xiàn)元路徑的模式,繼承了基于路徑方法的可解釋性。該類方法一般采用融合GNN 的架構(gòu),可以自然地將KEG方法融入到推薦系統(tǒng)中。針對原始GCN適配到醫(yī)學(xué)知識圖譜領(lǐng)域中存在著的問題,將異構(gòu)圖分解為多個二部圖或同構(gòu)圖是較為可行的方法?;谌诤系耐扑]算法的優(yōu)勢及局限性總結(jié)見表5。
表5 基于融合的推薦算法特點及其局限性Table 5 Features and limitations of fusion-based recommendation algorithm
推薦系統(tǒng)的發(fā)展已經(jīng)有三十多年歷史,但是基于知識圖譜的推薦系統(tǒng)才發(fā)展起步十年左右。隨著深度學(xué)習(xí)、強化學(xué)習(xí)等技術(shù)的快速涌現(xiàn),融合醫(yī)療知識圖譜的推薦系統(tǒng)得到了推動發(fā)展的動力,且有著廣闊的研究空間。本文提出的未來展望方向如下:
多任務(wù)學(xué)習(xí):知識圖譜的質(zhì)量決定推薦系統(tǒng)的性能,因此對于融合醫(yī)療知識圖譜的推薦系統(tǒng)來說醫(yī)療知識圖譜的鏈路預(yù)測問題是不可忽視的。例如,醫(yī)療知識圖譜中的實體關(guān)系若是存在缺失則會導(dǎo)致患者的偏好可能會被忽略,并且因為缺少事實關(guān)系,推薦的質(zhì)量可能會下降。因此將知識圖譜推理和推薦任務(wù)聯(lián)合部署在同一個模型中是獲得增強推薦質(zhì)量的有效途徑。另外,多任務(wù)醫(yī)療推薦系統(tǒng)也是智能的、有發(fā)展前景的,可以釋放和減輕醫(yī)療資源緊缺的壓力,使醫(yī)療推薦任務(wù)更加方便和效率。例如,Liu 等人[60]提出的多任務(wù)健康管理推薦系統(tǒng),不僅通過利用Word2Vec+TransD獲得文本特征向量,同時還用ResNet(deep residual network)[61]提取醫(yī)學(xué)圖像的特征向量,通過稠密層將提取的特征向量發(fā)生非線性變化得到特征之間的相關(guān)性,然后映射到輸出空間得到稠密向量,提高了推薦系統(tǒng)的穩(wěn)定性。
知識圖譜嵌入方法(KGE):根據(jù)評分函數(shù)的不同,KGE分為翻譯距離模型和語義匹配模型。這兩種類型的KGE 方法被廣泛用于基于知識圖譜的推薦系統(tǒng)中。然而,在數(shù)據(jù)源、推薦場景和模型架構(gòu)不同的情況下,并沒有研究者系統(tǒng)地梳理應(yīng)該采用哪種特定的KGE 方法。因此,該研究方向需要比較不同KGE 方法在不同條件下的優(yōu)劣勢。
跨領(lǐng)域推薦:近年來關(guān)于跨領(lǐng)域推薦的研究成果層出不窮。例如,通過遷移學(xué)習(xí)技術(shù),可以將共享資源中相對豐富的交互數(shù)據(jù)應(yīng)用在目標領(lǐng)域中,能夠獲得更優(yōu)質(zhì)的推薦結(jié)果。Zeng 等人[50]先通過利用亞馬遜開源知識圖譜進行KGE 學(xué)習(xí),然后將獲得低維向量用于藥物重定位中,根據(jù)候選藥物的推薦預(yù)測得分快速識別可重新用于新冠肺炎潛在治療的藥物。另外,通過在疾病-藥品交互矩陣中加入不同類型的邊信息,可以獲得更好的跨域推薦性能。
醫(yī)療知識圖譜本質(zhì)上是一種多源異構(gòu)信息網(wǎng)絡(luò),作為輔助信息豐富推薦系統(tǒng)的表示,有效解決了傳統(tǒng)推薦系統(tǒng)的數(shù)據(jù)稀疏、可解釋性低和冷啟動等問題。本文系統(tǒng)地梳理了國內(nèi)外現(xiàn)有融合醫(yī)療知識圖譜的推薦系統(tǒng)的相關(guān)文獻,回顧整理了知識圖譜構(gòu)建和傳統(tǒng)推薦系統(tǒng)的基礎(chǔ)知識,總結(jié)了基于知識圖譜的推薦系統(tǒng)的三種方法,重點對結(jié)合醫(yī)療實踐的研究成果及其優(yōu)缺點進行歸納總結(jié),最后對具可行性的未來研究方向進行了展望。