董文波,孫仕亮+,殷敏智
1.華東師范大學 計算機科學與技術學院,上海 200062
2.上海交通大學醫(yī)學院 附屬上海兒童醫(yī)學中心病理科,上海 200127
2012 年,谷歌首次推出了知識圖譜,并利用它來提高查詢結果的相關性和用戶的檢索體驗,為用戶提供了更加精確化和智能化的搜索服務。知識圖譜以網(wǎng)狀的結構、三元組的知識組成形式來顯式表示現(xiàn)實世界中的知識,更加簡潔直觀,靈活豐富。目前,不同領域內已經(jīng)創(chuàng)建了很多大型知識圖譜庫(knowledge bases,KB),如DBpedia、Freebase和Yago等。這些知識圖譜庫是由大量的事實以三元組(頭實體,關系,尾實體)形式構成的。其中,頭實體和尾實體用圖譜中的節(jié)點表示,關系由圖譜中節(jié)點之間的連接邊表示。每一個三元組表達了現(xiàn)實物理世界中的一條知識或事實。最近幾年,伴隨人工智能的快步發(fā)展,知識圖譜逐漸成為了知識服務領域中一個新的研究熱點,受到國內外學者和工業(yè)界的聚焦與關注,已經(jīng)發(fā)展成為支撐眾多人工智能應用的核心,比如智能化精準搜索、自動問答、推薦系統(tǒng)和決策支持等。
在醫(yī)學領域,得益于信息化技術的快速發(fā)展和醫(yī)療信息系統(tǒng)的普及,醫(yī)學數(shù)據(jù)庫中積淀了海量的醫(yī)學知識和臨床診斷數(shù)據(jù),如果能從這些數(shù)據(jù)中提煉出知識,同時對其管理和合理利用,是推進醫(yī)學智能化和自動化的關鍵。同時,也能夠為醫(yī)學知識檢索、醫(yī)療輔助診斷以及醫(yī)學檔案的智能化管理提供基礎。知識圖譜能夠有效挖掘、組織和管理大規(guī)模數(shù)據(jù)中的知識,提高知識信息服務質量,從而也可以在醫(yī)學領域為醫(yī)生和病人提供更智能化的服務。尤其近年來人工智能快步發(fā)展和智能醫(yī)療、精準醫(yī)療和醫(yī)學輔助診斷的提出,知識圖譜在醫(yī)學領域逐漸引起重視,受到國內外研究人員廣泛的關注。不斷有知識圖譜在醫(yī)學領域的相關成果和研究被提出。比如,牛津大學建立了稱為LynxKB 的知識圖譜,主要用以藥學相關的研究。日本東北大學提出一種知識圖譜來進行面向個體化預防和醫(yī)療的基因組前瞻性隊列研究工作。中醫(yī)科學院通過自動化技術構建了一種中醫(yī)藥知識圖譜,用于幫助醫(yī)生進行輔助診斷。吉林大學針對世界基因組流行病建立了一種基于知識圖譜的可視化分析方法等。在這些醫(yī)學知識圖譜中,節(jié)點以及節(jié)點間的連接邊分別囊括了不同的含義。通常,節(jié)點的含義包括:疾病、癥狀、藥物、輔助檢查、科室、手術和部位等。節(jié)點之間連接邊的含義包含:疾病類型、臨床表現(xiàn)、誘發(fā)病因、發(fā)病機理和機制、預防措施、藥理作用、鑒別方式和診斷方法等。當前醫(yī)學知識圖譜的主要應用涵蓋了醫(yī)學問答系統(tǒng)、臨床決策與支持系統(tǒng)、醫(yī)學輔助診斷和醫(yī)學語義精準搜索等方面,這些研究和成果促進了智能醫(yī)療和醫(yī)學智能自動化的發(fā)展,存在著極其廣闊的應用前景和社會價值。然而,雖然醫(yī)學知識圖譜取得了較好的應用與發(fā)展,卻存在著一些缺陷,其中醫(yī)學知識圖譜由于構建過程中的不完整性嚴重制約了其使用效能。如何自動地從已有的醫(yī)學知識中發(fā)掘隱藏的醫(yī)學知識進而補全醫(yī)學知識圖譜已成亟待解決的事項。
從海量數(shù)據(jù)中發(fā)掘出隱藏的知識依賴于推理技術的支持。推理是模擬人類思維的過程,旨在從一個或多個已有的經(jīng)驗知識前提下推理出結論或者新的知識。學術界相繼給出了知識推理的基本概念。Nikolas認為推理是一系列能力的集合,這種能力包括理解對象、應用邏輯規(guī)則和根據(jù)已有知識校準和核驗體系結構的能力。Tari將知識推理歸納為基于已知事實和現(xiàn)有邏輯規(guī)則推斷出新知識的機制?;谥R圖譜的醫(yī)學知識推理目的主要是從現(xiàn)有的知識圖譜數(shù)據(jù)中辨別出錯誤的醫(yī)學知識數(shù)據(jù)并發(fā)掘推斷出新的知識。通過醫(yī)學知識推理,可以獲得醫(yī)學知識圖譜中現(xiàn)有實體對間新的關系,然后反饋給醫(yī)學知識圖譜,從而能夠擴展和補全現(xiàn)有醫(yī)學知識圖譜,為醫(yī)學高級應用提供完備的醫(yī)學知識支持。基于醫(yī)學知識圖譜廣泛的現(xiàn)實應用和補全現(xiàn)有醫(yī)學知識圖譜不完整的缺陷需求,基于知識圖譜的醫(yī)學知識推理成為當前知識圖譜和知識推理研究領域的熱門問題。醫(yī)療領域知識推理不僅可以補全醫(yī)學知識圖譜,還可以為醫(yī)療人員和病患者提供臨床知識及相關診療方案進行輔助診斷,促進并推動了醫(yī)療診斷智能化的改革與進程。
本文首先針對醫(yī)學知識圖譜的相關構建技術和基于知識推理的醫(yī)學輔助診斷進行了總結與歸納。其次重點回顧了醫(yī)學知識推理的研究現(xiàn)狀,并對其推理方法進行了分類,即:基于邏輯規(guī)則的醫(yī)學推理、基于表示學習的醫(yī)學推理以及基于深度學習的醫(yī)學推理。最后,本文總結了醫(yī)學知識推理目前面對的一些挑戰(zhàn)和重要問題,并展望了其發(fā)展前景和研究趨勢。
本章首先結合標準知識圖譜的構建流程,并從醫(yī)學知識的表示、醫(yī)學知識抽取、醫(yī)學知識融合和質量評估這幾個方面結合知識推理來介紹醫(yī)學知識圖譜的構建。首先,通過醫(yī)學知識抽取和表示從大量的非結構化、半結構化和結構化的醫(yī)學數(shù)據(jù)和醫(yī)學知識中提取出實體、關系和屬性等基本要素,并以合理高效的三元組形式保存到醫(yī)學知識庫中。然后,通過醫(yī)學知識融合中的數(shù)據(jù)整合、實體對齊、知識消歧和知識加工分別對醫(yī)學知識庫的知識進行清理和整合,消除冗余和偏差信息,確保知識的質量,提升知識和數(shù)據(jù)內部的邏輯性和層次性。通過知識推理,推斷出缺失或者隱藏的知識,自動把醫(yī)學知識圖譜中的舊知識進行更正與更新,并為知識圖譜補充新的知識。質量評估主要是通過人工或者定義規(guī)則丟棄構建過程中置信度比較低的醫(yī)學知識,來提高醫(yī)學知識圖譜的可信性和準確率,從而確保醫(yī)學圖譜知識和數(shù)據(jù)的質量。針對以上流程,圖1 描述了醫(yī)學知識圖譜構建的框架和詳細過程。
醫(yī)學知識抽取方式可以劃為人類專家抽取和以機器學習方法自動的抽取。人類專家抽取是專家根據(jù)經(jīng)驗制定相應的規(guī)則從醫(yī)學信息中提取知識?;跈C器學習方法的醫(yī)學知識抽取是利用機器學習方法和技術,從原始醫(yī)學數(shù)據(jù)中自動抽取出醫(yī)學知識。由于人類專家提取的代價較大,通過機器學習方法設計自動提取技術是知識抽取當前的重點研究方向。醫(yī)學知識抽取主要是從非結構化、半結構化和結構化的海量醫(yī)學知識中提取出實體、關系和屬性等基本要素。
早期的醫(yī)學實體抽取方法基于醫(yī)學詞典和規(guī)則。該方法主要是通過醫(yī)學專家定義規(guī)則生成醫(yī)學詞典或使用現(xiàn)有醫(yī)學詞典從語料中抽取疾病名、藥物名、癥狀名等醫(yī)學實體。Wu 等通過CHV 和SNOMEDCT 兩個醫(yī)學詞典對醫(yī)療診所筆記中的醫(yī)學信息進行識別,取得了較好的實驗結果。Friedman 等通過自定義語義模式和語法來識別電子病歷中的醫(yī)學信息。Hanisch 等通過基于規(guī)則的方法和預處理的同義詞詞典用于識別生物醫(yī)學文本中可能出現(xiàn)的實體名,并將識別結果對齊至蛋白質和基因數(shù)據(jù)庫。Savova 等提出了一種臨床文本分析和知識提取系統(tǒng),采用流水線結構以及基于規(guī)則和機器學習的技術來從電子病歷和臨床記錄中提取信息。Yang 等提出一種基于字典的生物醫(yī)學實體名稱識別方法,并設計了醫(yī)學術語縮寫識別算法對生物醫(yī)學實體詞典進行擴充。然而,該類方法面臨以下挑戰(zhàn):(1)目前沒有一個完整的醫(yī)學詞典可以包括所有類型的醫(yī)學實體,因此簡單的文本匹配算法不足以強大來對實體進行識別;(2)相同的單詞或短語其意義往往根據(jù)上下文語境的改變而改變;(3)很多藥物和疾病實體擁有多個名稱。因此,該類方法雖然有較高的提取準確度,卻依賴專家編寫的規(guī)則和醫(yī)學詞典,難以適應數(shù)據(jù)不斷變化的現(xiàn)實情況。
圖1 醫(yī)學知識圖譜的構建流程Fig.1 Construction process of medical knowledge graph
隨之,研究者將機器學習算法應用于醫(yī)學實體抽取中,利用醫(yī)學數(shù)據(jù)的特點對模型進行訓練,然后識別實體。與基于規(guī)則和詞典的方法不同,機器學習方法需要標準的標注數(shù)據(jù)集以及合適的算法,然后利用樣本數(shù)據(jù)的統(tǒng)計特征和參數(shù)來構建模型。目前使用到的機器學習算法有隱馬爾科夫模型(hidden Markov model,HMM)、支持向量機(support vector machine,SVM)和條件隨機場(conditional random field,CRF)等。Kazama 等使用支持向量機進行生物醫(yī)學命名實體識別,同時為了提高訓練效果,引入了詞緩存和無監(jiān)督訓練等方法。實驗結果表明了所提方法提取準確率高于對比方法,并能應用于大規(guī)模知識庫中。Zhou 等通過一系列特征訓練隱馬爾科夫模型,包括詞的構成特征、形態(tài)特征、文獻內名稱別名等,其醫(yī)學知識的識別準確率達到了66.5%。Tang等提出了一種結構支持向量機算法來識別臨床記錄中的實體名,該算法結合了CRF 和SVM 的優(yōu)點以及單詞嵌入的有效表示,取得了高效的識別效果。然而,基于機器學習的方法需要高質量的數(shù)據(jù)進行訓練,因而對人工標注的專業(yè)性要求較高。
為了降低對數(shù)據(jù)標注依賴,利用海量未標注數(shù)據(jù)提升模型性能,深度學習近些年來也被廣泛應用于實體抽取。Collobert 等提出一個深層神經(jīng)網(wǎng)絡模型,取得了超越傳統(tǒng)算法的識別效果。Wei 等基于CRF和雙向循環(huán)神經(jīng)網(wǎng)絡(recurrent neural network,RNN)生成特征,再使用SVM 進行疾病命名實體識別。Jagannatha等實現(xiàn)了CRF、BiLSTM(bi-directional long short-term memory)和BiLSTM-CRF 三種模型以及一些改進模型在英文電子病歷命名實體識別中的效果,實驗結果表明基于LSTM 的模型比CRF 效果更好,并且BiLSTM 結合CRF 模型能夠進一步提高評測結果的準確率。深度學習方法的優(yōu)勢在于無需專家制定復雜的抽取特征,神經(jīng)網(wǎng)絡模型可以自動學習到句子中隱含的語義表示??偨Y了不同的醫(yī)學實體抽取方法如表1 所示。
醫(yī)學關系抽取的目的是解決醫(yī)學實體間的語義鏈接問題。早期的關系抽取主要是通過人工構造語義規(guī)則以及模板的方法識別實體關系。因為人工構造規(guī)則難以應對大規(guī)模數(shù)據(jù)量,所以各種關系抽取模型被提出。這些模型的做法通常是在兩個實體間預定義好要抽取的關系類型,再將抽取任務轉換為分類問題來處理。Uzuner 等在句子層面抽取了六類醫(yī)療實體關系,使用實體順序和距離、鏈接語法和詞匯特征來訓練六個SVM 分類器,實驗結果證明了所提方法的有效性。Abacha 等使用人工模板和SVM 的混合模型,取得了較高的值。該研究還指出,在樣本數(shù)較少時,模板匹配方法起主要作用。而樣本數(shù)較多時,SVM 起主要作用。Ryan分析了電子病歷中實體關系的偏置特性,提出了一種節(jié)省標注語料的半監(jiān)督關系識別方法,該方法采用SVM 作為分類器,對標注的樣本先進行預測,把置信度低的樣本加入到訓練集中。曹明宇等提出一種基于BiLSTM-CRF 的藥物實體與關系聯(lián)合抽取方法。具體的,將藥物實體及關系的聯(lián)合抽取轉化為端到端的序列標注任務,使用詞向量及字符向量作為輸入特征,應用BiLSTM-CRF 模型進行標注。針對生物醫(yī)學文本中大量存在的重疊關系,他們改進了原始的標注模式,增加了M 標簽來緩解重疊關系的問題,且增加了實體類別標簽來更充分利用實體信息。此外還改進了關系抽取規(guī)則,相比簡單的最近匹配規(guī)則,所提的方法能夠顯著提升重疊關系的召回率。Seol 等提出利用CRF 模型識別與患者相關的臨床事件,利用SVM 模型提取事件之間的關系。
表1 醫(yī)學實體抽取方法Table 1 Medical entity extraction methods
屬性抽取是指對屬性和屬性值對的抽取。屬性的抽取是指為醫(yī)學實體構造屬性列表,如藥品的屬性包括適應癥、禁忌癥、規(guī)格、劑量等。屬性值的抽取是指為各實體附加具體的屬性值。目前的做法通常是將屬性抽取看成一種特殊的關系抽取,然后轉化為關系抽取問題。阮彤等考慮了知識源的可靠性以及不同信息在各知識源中出現(xiàn)的頻度等因素。在構建中醫(yī)藥知識圖譜時對數(shù)據(jù)源的可信度進行評分,結合數(shù)據(jù)在不同源中出現(xiàn)的次數(shù)對數(shù)據(jù)項進行排序,并補充到相應的屬性值字段中。
醫(yī)學知識表示主要是以符號化、形式化和模式化的語言來表示醫(yī)學知識,提高計算機在醫(yī)學知識獲取、存儲和應用上的效率。
目前構建的醫(yī)學知識圖譜基本是以(頭實體,關系,尾實體)三元組的組織形式來表示醫(yī)學知識。這種知識表示方法相對聚焦和深入,表示能力既強又方便靈活,因而具有較大的發(fā)展?jié)摿?。此外,該種以三元組形式的知識表示還可以借助機器學習方法,將實體和關系分別轉化為計算機容易處理的低維稠密向量,提升了知識融合和知識推理的性能。
醫(yī)學知識融合主要是在概念規(guī)范下對醫(yī)學知識實行數(shù)據(jù)整合、實體對齊、知識消歧和加工的過程。目的是解決由于醫(yī)學知識來源不同引起醫(yī)學知識重復、醫(yī)學知識質量參差不齊和醫(yī)學知識關聯(lián)不清晰等問題,消除多余和錯誤的知識信息,提升醫(yī)學知識數(shù)據(jù)內部的層次性和邏輯性。本文將醫(yī)學知識融合分為醫(yī)學實體對齊和醫(yī)學知識庫融合。
實體對齊用于消除異構數(shù)據(jù)中的實體沖突,指向不一致問題,從而形成高質量知識。于曉青等綜述了數(shù)據(jù)融合技術在醫(yī)學領域中的應用,并根據(jù)不同的抽象層次將其分為數(shù)據(jù)級融合、特征級融合和決策級融合三類。翟霄等提出一種多模態(tài)結構圖模型,利用圖結構對多模態(tài)醫(yī)學數(shù)據(jù)進行建模和表示。并基于此模型,提出一種并行的數(shù)據(jù)加載技術,用于抽取出多模態(tài)醫(yī)學數(shù)據(jù)中分屬不同模態(tài)和模態(tài)間關系的數(shù)據(jù)并存儲到圖數(shù)據(jù)庫中。吳嘉敏利用基于命名實體屬性關系的相似性比較法,對“藥物”“靶標”“基因”這幾個類別的數(shù)據(jù)進行實體對齊。龐震等根據(jù)醫(yī)療領域的實際應用需求,提出了一種多數(shù)據(jù)源融合的醫(yī)療知識圖譜構建理論框架。張志劍通過計算詞向量間的空間距離表征詞間語義相似度,并設定相似度閾值來劃分醫(yī)學本體間的關系,以此實現(xiàn)實體對齊。
由于當前大部分醫(yī)學知識圖譜都是針對某個科室或者某類疾病和藥物來構建的,需要對不同的醫(yī)學知識庫進行融合以獲得涵蓋范圍更為廣泛和完整的醫(yī)學知識圖譜。Dieng 等將醫(yī)學數(shù)據(jù)庫轉換為醫(yī)學本體,然后在人工控制下對本體進行擴展和補全,并設計了一種啟發(fā)式規(guī)則,自動建立知識的概念層次來實現(xiàn)醫(yī)學知識庫的融合。Baorto 等進行知識庫融合時,先確定數(shù)據(jù)的醫(yī)學術語是否已經(jīng)存在,然后將新術語添加到醫(yī)學實體詞典中,同時建立了審計流程來保證引入醫(yī)學數(shù)據(jù)的一致性。
總結了醫(yī)學知識融合的方法如表2 所示。目前醫(yī)學知識圖譜的知識融合技術雖有一定的發(fā)展,然而,醫(yī)學知識融合的質量還有待提升,融合過程需要大量人工干預。因此,高效的醫(yī)學知識融合算法值得進一步研究。
表2 醫(yī)學知識融合Table 2 Medical knowledge fusion
醫(yī)學知識推理主要通過從現(xiàn)有的醫(yī)學知識數(shù)據(jù)中推斷出查詢結果,并能夠識別錯誤推理出新的知識。
通過知識推理,可以發(fā)掘并推斷出缺失和隱藏的醫(yī)學知識,自動把醫(yī)學知識圖譜中的舊知識進行更新,并為知識圖譜補充新的知識。在具體應用中,醫(yī)學知識推理不僅可以補全醫(yī)學知識圖譜,還能夠為醫(yī)療人員和患者提供臨床知識及相關診療方案進行輔助診斷。將在下節(jié)對醫(yī)學知識推理進行詳細的回顧與分析。
質量評估則是確保圖譜知識數(shù)據(jù)好壞的重要過程。通過人工或者定義規(guī)則丟棄構建過程中可信度比較低的知識,來提高醫(yī)學知識圖譜的可信度和準確度。
Clarke 等使用基于任務評估方法來分析基因本體。Bright 等使用本體設計原則和領域專家審查意見作為指標來評估本體在抗生素決策支持系統(tǒng)中的效果。Cordon 等通過電子病歷、診斷案例和臨床事件等來構造黃金標準用以評估和改進傳染病本體。張志劍和昝紅英等在構建醫(yī)學知識圖譜時使用精度、召回率和1 值來作為評價指標,其定義分別為=/(+),=/(+),1=2×/(+)。其中,、、分別表示準確識別、錯誤識別以及無法識別的實體的數(shù)量。在關系抽取任務中,采用準確率ACC 作為評估標準。王菁薇等在構建傷寒論醫(yī)學知識圖譜時,針對實體抽取的結果,經(jīng)過兩位中醫(yī)學博士進行人工校對與評估。
醫(yī)學知識圖譜構建是其應用的基礎,而醫(yī)學知識推理是醫(yī)學知識圖譜構建過程中非常重要卻充滿挑戰(zhàn)的任務。早期的醫(yī)學知識庫需要小范圍專家通過人工方式構建,成本高昂,因此其構建的醫(yī)學知識庫的規(guī)模較為有限。為了更好地構建大型醫(yī)學知識圖譜,利用人工智能技術和自然語言處理的方法,從半結構化和非結構化的文檔中自動抽取知識,構成知識庫。然而,數(shù)據(jù)來源有限和知識提取算法能力本身造成了其構建的知識圖譜并不完整。隨著知識圖譜的增大,圖譜中仍然有很多實體之間沒有得到有效的關聯(lián)。同時,知識圖譜中也有一些明顯的錯誤和過時的信息,需要進行更正和更新。無論是人工構建還是自動構建的醫(yī)學知識圖譜,以上不完整性嚴重限制了本身的使用效能。因此,醫(yī)學知識推理技術無論是在醫(yī)學知識圖譜構建過程中,還是自身應用愈發(fā)重要。
Open PHACTS 是一個開放型的醫(yī)學知識訪問平臺,它整合了不同來源的醫(yī)學數(shù)據(jù)。該平臺創(chuàng)建了約三十億余條的生物醫(yī)學語義數(shù)據(jù)三元組。中醫(yī)藥知識服務平臺則整合了中醫(yī)藥及其相關領域的醫(yī)學術語和資源,包括醫(yī)學本體、中藥材、藥劑藥方和疾病癥狀等相關知識庫。用戶可以通過該平臺進行關于中醫(yī)藥醫(yī)學知識的檢索和問答。SNOMED-CT是目前國內外比較全面的由多種語言的臨床醫(yī)學術語構成的本體醫(yī)學知識庫,它包含了經(jīng)過科學驗證的臨床資源,并對電子健康記錄中臨床醫(yī)學內容進行了一致性表示。最后,該知識庫包含了大約349 548個醫(yī)學相關概念。DisGeNET是一個關于基因、變異與疾病的醫(yī)學數(shù)據(jù)庫,囊括了大約10 萬條醫(yī)學關聯(lián)關系。這些關聯(lián)關系是由不同來源組成的,主要包括專家人工組織的數(shù)據(jù)庫、動物實驗結果、基因編碼序列推斷和相關科學文獻挖掘結果,并使用了標準名詞表映射以確保醫(yī)學內容的一致性。DisGeNET已被普遍應用于人類疾病的分子級基礎研究、疾病基因表現(xiàn)觀察、疾病并發(fā)癥治療、藥物療效和副作用調查等相關領域。
醫(yī)學知識圖譜和其他領域知識圖譜一個區(qū)別之處在于,醫(yī)學知識圖譜中的節(jié)點可能更多的是醫(yī)學相關概念。在一些醫(yī)學知識圖譜研究工作中,研究者一般將那些含有豐富語義鏈接關系的節(jié)點當作實體,比如“冠心病”疾病。而那些相對比較抽象、語義模糊和鏈接較少的當作醫(yī)學概念,比如“心血管疾病”。其次,醫(yī)學知識圖譜是更加針對性的,更具有專業(yè)性質的領域知識圖譜,其醫(yī)學知識語義分析復雜性使得構建更具挑戰(zhàn)性。再者,醫(yī)學實體名稱不規(guī)范和醫(yī)學規(guī)范命名不統(tǒng)一使得醫(yī)學名稱多樣性,而醫(yī)學又是關乎生命的科學,因此醫(yī)學知識圖譜對知識精度的要求非常高,特別是應用于臨床輔助決策過程中的醫(yī)學知識,必須保證其準確性。因此,在醫(yī)學知識圖譜的整個構建過程中,需要有醫(yī)學專家全程審核醫(yī)學相關知識來保證知識的正確性。最后,也有研究者認為醫(yī)學知識圖譜是一個概率知識圖譜,即圖譜中有一些關系可能具有一定的概率。其他知識圖譜多為事實類圖譜。例如,比爾蓋茨創(chuàng)建了微軟,在知識圖譜中被表示為三元組(比爾蓋茨,創(chuàng)建,微軟)。該三元組是一個事實三元組,它成立的概率為1。而在醫(yī)學知識圖譜中,雖然“糖尿病”會導致“多飲”“多尿”等癥狀,但這并不是對于所有患有糖尿病的病人都成立的,很多病人并沒有這些顯性癥狀。其次,在“藥物不良反應”關系中,也會出現(xiàn)“常見”“罕見”和“非常罕見”等不同的概率。這些藥物的不良反應概率不盡相同。
醫(yī)學知識圖譜應用于實際問題中,主要面臨兩個難題。其一,缺乏涉及全科醫(yī)學知識的完整性醫(yī)學知識圖譜。目前的醫(yī)學知識圖譜主要是依據(jù)單個科室、某種疾病和治療藥物來構建的,無法被廣泛應用。其二,醫(yī)學知識推理的可靠性?;卺t(yī)學推理做出的診斷支持牽系到病人的身體健康和生命安全,因此對推理的正確性和可靠性有非常高的要求。目前,基于醫(yī)學知識推理給出的醫(yī)療診斷支持只能起到搜索和輔助診斷的作用。受限于醫(yī)學知識圖譜構建的復雜性和現(xiàn)有醫(yī)學知識推理的能力,基于醫(yī)學知識圖譜的醫(yī)學知識推理仍需進一步研究。
基于醫(yī)學知識推理的輔助診斷應用廣泛。美國斯坦福大學開發(fā)出一個MYCIN 系統(tǒng),用來輔助內科醫(yī)生診療由細菌感染的血液性疾病。MYCIN 的主要功能是可以對疾病進行辨別診斷,并根據(jù)患者體重不同給出使用抗生素計量差異性的建議。Rugers大學研發(fā)了一個名為CASNET 的系統(tǒng),主要用以輔助醫(yī)生進行青光眼的診治。斯坦福大學研發(fā)出一款叫作PUFF 的肺功能檢測系統(tǒng),用以輔助醫(yī)生專家進行肺功能測試。經(jīng)過各種臨床實例驗證,其測試成功率可以達到93%。耶魯大學構建了Senselab 知識圖譜,用以描述人類的腦結構。它緩解了目前神經(jīng)科學所面對的大量數(shù)據(jù)難題,并從微觀到宏觀,基因到行為的多個層系上幫助研究人員理解人類大腦。目前,比較常見的醫(yī)學知識圖譜有NDF-RT、Sider、MEDI、LabeledIn等。這些醫(yī)學知識圖譜大多來自于MEDLINE 和OpenKG 等公開的醫(yī)學數(shù)據(jù)庫。此外,國外應用比較廣泛的臨床知識庫有MorphoCol、NursingKB等,主要用以輔助醫(yī)生進行醫(yī)療決策診斷和支持工作。
國內學者和研究人員對中醫(yī)藥知識圖譜的創(chuàng)建流程和方法,以及基于醫(yī)學推理的輔助開藥進行了探索和研究。張德政等開發(fā)出用以高血壓診斷的智能專家系統(tǒng),該系統(tǒng)利用人工神經(jīng)網(wǎng)絡技術來抽取知識并基于此進行推理以輔助醫(yī)生進行診治。還有學者成功研發(fā)出一款計算機輔助分析專家系統(tǒng),主要用以智能描繪心率和記錄宮縮圖像。該系統(tǒng)可以在對不同病人進行診治的同時給出同樣或類似的診療建議,并可以對病人進行診斷解釋。楊連初等研發(fā)出一款存儲了四百多種疾病類型的中醫(yī)診斷軟件。該軟件內容充實詳細,涉及面廣泛,得到了普遍的應用。阮彤等創(chuàng)建了一種中醫(yī)藥知識圖譜。該中醫(yī)藥知識圖譜囊括了發(fā)病癥狀庫、疾病類型庫和中草藥庫中的相關醫(yī)學知識,主要用以中醫(yī)藥問答和幫助醫(yī)生輔助開藥。
基于醫(yī)學知識推理的輔助診斷在工業(yè)界也備受矚目。北京康夫子科技有限公司利用知識圖譜相關構建技術,構建了醫(yī)療大腦知識圖譜。主要讓計算機去閱讀醫(yī)療文獻,構建知識庫,并利用知識推理技術,達到輔助醫(yī)生診斷的目的。百度創(chuàng)建了百度醫(yī)生APP,利用醫(yī)療知識圖譜和知識推理技術,讓醫(yī)生和患者之間交流進行輔助診斷,并提供醫(yī)療信息服務。IBM 開發(fā)的Watson,可為病人患者提供個性化、有優(yōu)先針對順序和循證醫(yī)學證據(jù)的治療方案。目前可支持乳腺癌、肺癌、胃癌和結腸癌等13 種常見癌癥,其提供的治療方案與世界頂級醫(yī)生專家符合度高達90%以上。開放醫(yī)療和健康聯(lián)盟(open medical and healthcare alliance,OMAHA)研究了醫(yī)學知識圖譜的相關構建工作,目前已經(jīng)成功發(fā)布了Schema 知識圖譜模型。知識圖譜包括了藥品和適應癥,用于臨床治療的相關檢查這兩種醫(yī)學知識數(shù)據(jù)。在醫(yī)學知識推理的輔助診斷過程中,他們也發(fā)現(xiàn)醫(yī)學知識圖譜獨特于其他知識圖譜的問題。比如:(1)醫(yī)學實體名稱多樣性。由于醫(yī)學知識數(shù)據(jù)來源不同,致使醫(yī)學實體名稱多樣性。然而,很多醫(yī)學實體實際上表示同一醫(yī)學知識。比如,獲得性免疫缺陷綜合征與艾滋病表示同一種醫(yī)學疾病。OMAHA 通過借鑒醫(yī)學知識定義較為清晰的七巧板醫(yī)學術語集來進行醫(yī)學知識圖譜實體對齊,從而消除醫(yī)學實體名稱多樣性的問題。同時,還可以完善醫(yī)學實體的定義,豐富醫(yī)學實體的表述方式。(2)醫(yī)學對知識質量和推理精度要求更高。醫(yī)學涉及到人類的生命健康,因此對于醫(yī)學知識質量和推理的精度提出了非常高的要求。尤其是應用于醫(yī)療輔助診斷中的醫(yī)學知識,必須已在實踐中得到了充分的驗證。醫(yī)學知識推理的精度也必須得到較高的保障。研究人員應該優(yōu)先選取臨床指南、醫(yī)學教材、藥品說明書等這些醫(yī)學知識質量較高的知識來源用于醫(yī)學知識圖譜的構建,同時通過自動抽取加人工審查相結合的方式來保證醫(yī)學知識的精確度。
醫(yī)學知識推理不僅可以補全醫(yī)學知識圖譜,還能夠為醫(yī)療人員和患者提供臨床知識及相關診療方案進行輔助診斷。知識圖譜推理在醫(yī)生輔助診斷任務中得到了廣泛的研究和應用,大大提高了醫(yī)生工作的效率,已成為近年來的研究熱點。
醫(yī)學知識推理也是基于通用的知識推理技術,因此,本文首先將醫(yī)學知識推理分為三類,即:基于邏輯規(guī)則的醫(yī)學推理、基于表示學習的醫(yī)學推理以及基于深度學習的醫(yī)學推理。然后給出每種推理類別的定義以及一些典型做法,最后給出該類推理方法在醫(yī)學知識圖譜推理中的應用。
基于邏輯規(guī)則的醫(yī)學推理方法在早期得到了普遍的關注,產(chǎn)生了不同的推理方法,包含了謂詞邏輯推理方法、本體推理方法和隨機游走推理方法等。
一階謂詞邏輯將命題當作基本的推理單元,其中命題包含了個體和預測。個體即是知識圖譜中的實體對象,可以單獨存在。它們可以是一個具體的事物或者一個抽象的概念。謂語被用來描述個體的屬性。Schoenmackers 等提出了一種一階歸納學習方法,是謂詞邏輯的一項主要工作。該方法主要通過搜索知識圖譜中的全部關系,并獲得每個關系的集合作為特征來推理和預測實體對應的關系是否存在。Bienvenu 等提出一種框架來強化推理系統(tǒng),使之在不一致容忍語義下具有解釋能力。為了對大規(guī)模的不完整信息知識庫進行推理,Wang 等提出了一種稱為ProPPR 的一階概率語言,在知識庫推理中允許相互遞歸(聯(lián)合學習)來提高性能。Yang 等研究了概率一階邏輯規(guī)則的學習問題,主要用以知識庫的推理。這個問題較為困難,因為它需要學習連續(xù)空間中的參數(shù)和離散空間中的結構。因此構建了一種基于神經(jīng)邏輯的程序架構,將一階邏輯規(guī)則的參數(shù)學習和結構學習進行聯(lián)合學習。在經(jīng)驗數(shù)據(jù)中的實驗驗證了該框架在多個知識庫基準數(shù)據(jù)集上的表現(xiàn)好于對比方法。Bousquet 等提出一種根據(jù)DAML(Darpa agent markup language)和OIL(ontology inference layer)描述邏輯來推理的實現(xiàn)方法,并用以改進信號檢測用于藥物警戒系統(tǒng)。Chen 等采用基于規(guī)則的推理方法研發(fā)了糖尿病診斷系統(tǒng)用以輔助醫(yī)生并提供開藥建議。邊紅根據(jù)醫(yī)療數(shù)據(jù)建立了中醫(yī)胃病的相關知識圖譜,并基于此圖譜實現(xiàn)了一種專家輔助診斷系統(tǒng)。該系統(tǒng)可以通過把不同的醫(yī)學輸入信息轉變?yōu)橹眯沤Y構,然后根據(jù)產(chǎn)生式規(guī)則來表示這些內容,接著進行模糊推理,最后可以通過患者的體征表現(xiàn)和癥狀表現(xiàn)向患者提供快速而基本的診斷結果。袁勇等建立了一個呼吸道疾病專家系統(tǒng),主要針對呼吸道疾病進行確診和排除,并對提出的診斷假設進行判斷。該系統(tǒng)主要使用基于規(guī)則的方法進行推理,同時還考慮了疾病和表現(xiàn)癥狀之間的不確定性。在相關實驗上證明了所提方法有效性,能夠給出較高準確性的診斷結果。羅率力受啟發(fā)于醫(yī)生在診斷過程中的思維分析,并根據(jù)醫(yī)學知識表達結構,提出了一種基于模糊框架的推理機制和模糊規(guī)則的推理機制。該機制運用了正向推理和逆向推理,這兩種推理互相嵌套,克服了單一推理機制的不足,提高了醫(yī)學診斷的正確性。該推理機制還將推理過程分為多個步驟同步進行,使得推理過程不至于過分冗長,滿足了不同用戶的個性化需求。Kumar等提出了一種基于實例推理和規(guī)則推理的混合方法,并開發(fā)出一種用以重癥監(jiān)護病房的臨床決策支持系統(tǒng),提高了病房的監(jiān)察與護理。
基于知識圖譜的醫(yī)學推理也能夠基于圖譜中本體進行推理。本體是更抽象化和概念化的知識表示,基于本體的圖譜推理主要是發(fā)現(xiàn)本體定義里的邏輯錯誤與矛盾,從而構建更加準確的本體。在對物理世界中的知識進行建模時,常常需要用本體來表示和推理。為了使用描述邏輯(description logics,DL)來處理這樣的本體,Markus 等使用有限的屬性值對集合(稱之為注釋)來豐富DL 概念和角色,并允許概念包含來表達對注釋的約束。Wei 等提出并實現(xiàn)了知識圖譜表示學習分布式推理系統(tǒng),該系統(tǒng)基于一個OWL(web ontology language)的知識圖譜。由于系統(tǒng)含有豐富的更具表達性的規(guī)則,推理能力也相對較強。同時,還支持對冗余數(shù)據(jù)的優(yōu)化。實驗結果表明,與其他推理系統(tǒng)相比,該系統(tǒng)能夠有效推導出本體中更多的隱含信息,也能夠很好地檢測知識圖譜中的不一致性。Martínez-Romero 等研發(fā)了一種基于本體的智能監(jiān)護治療系統(tǒng),用以急性心臟病危重病人的智能監(jiān)護。其中,專家知識由OWL 本體和一組規(guī)則來進行表示?;诳梢源韺<抑R的本體和規(guī)則,推理機可以進行相應推理,從而能夠向醫(yī)生提供關于病人診療的建議。Shi 等根據(jù)本體的概念建立了語義健康知識圖譜,它是異構醫(yī)學知識與醫(yī)學服務的語義集成,可以用于自動化的臨床醫(yī)學輔助診斷和推理。Angel等研發(fā)了基于邏輯推理和本體驅動的辨別輔助診斷系統(tǒng),并用于幫助醫(yī)生進行輔助診斷。
一系列研究表明,將基于路徑的推理規(guī)則引入知識推理可以顯著提升推理的性能。路徑排序算法(path ranking algorithm,PRA)是一種在圖中根據(jù)路徑進行推理的算法。為了學習知識庫中某個特定邊類型的推理模型,PRA 會找到經(jīng)常鏈接節(jié)點的邊類型序列,這些節(jié)點是該邊類型的實例預測。PRA根據(jù)路徑上的關系規(guī)則的特征作為Logistic 回歸模型的輸入來推理知識圖中實體對的缺失邊。PRA 的主要思想是用一條或者多條連接兩個實體之間的序列路徑來推理該對實體之間的具體的隱藏關系。在知識圖譜中,路徑主要是由連接兩個實體之間的實體和關系序列構成。學習階段一般分為三個階段:序列路徑尋找、提取路徑特征和構建分類器。PRA算法中常用的序列路徑尋找方法有隨機游走、深度優(yōu)先游走和廣度優(yōu)先游走。提取路徑特征一般是將不同路徑的二值特征提取并作為下一步分類器的輸入。分類器通常是構造一個邏輯回歸二元分類器。侯秀萍等設計了基于動態(tài)模糊邏輯和加權模糊邏輯相結合的計算機輔助醫(yī)學診斷系統(tǒng),通過實例證明了所提方法的有效性。朱呂行通過整合基因-疾病庫、基因-基因庫和疾病-疾病庫,構建了一個異構中醫(yī)知識圖譜。該知識圖譜含有疾病和基因兩種類型節(jié)點,以及它們的三種相互關系?;谠撝R圖譜,提出了一種深度游走算法使得可以在全局網(wǎng)絡上進行搜索游走,然后根據(jù)游走的路徑獲得各個節(jié)點的嵌入表示向量。最后使用圖卷積神經(jīng)網(wǎng)絡提取向量的特征用于后續(xù)的預測診斷。他們實現(xiàn)了可以學習已知的疾病-基因關聯(lián)信息并為未知的疾病-基因關聯(lián)做出預測。王雁等提出一種專家醫(yī)生的知識結構及診斷推理方式。醫(yī)生將臨床醫(yī)學數(shù)據(jù)以疾病腳本的方式進行組織。伴隨臨床經(jīng)驗的豐富與增加,專家醫(yī)生可以聚積充足的疾病腳本。在臨床診斷過程中,專家可以不需要對病人全部的病歷數(shù)據(jù)和病狀進行詳細分析,而可以通過模式識別或樣例辨認等機器學習方法自動搜索與之相似的疾病腳本,從而可以對病人做出快速準確的診斷。
基于表示學習的醫(yī)學推理主要是學習三元組中實體和關系的低維嵌入表示,然后基于此向量化的知識表示進行計算和知識圖譜推理。近些年來,不同學者相繼提出了一些基于表示學習的推理方法,比如距離平移模型和語義匹配模型。
距離平移模型是通過構建三元組中實體和關系的平移操作來學習它們的向量化表示。Bordes 等提出了基于距離平移的TransE 模型,旨在將知識圖譜中構成三元組的實體和關系使用低維的稠密實值向量來表示。TransE 將知識圖譜中實體和關系分別投影到一個連續(xù)的低維向量空間中,把關系解釋為頭實體和尾實體之間的平移操作,即+≈。然后通過計算式(1),數(shù)值越小,認為構成的三元組越合理。
圖2 醫(yī)學知識圖譜嵌入表示學習示例Fig.2 Framework of medical knowledge graph embedding representation learning
為了解決多跳推理問題,各種基于路徑的知識表示學習模型被提出。Seo 等提出一種基于可靠路徑的表示學習方法,用以知識圖譜的表示學習。具體來說,他們提出一種可靠的知識圖路徑排序方法,避免了不可靠路徑的不必要計算,找到語義上有效的關系路徑。實驗結果證明了所提方法有效性和高效性。劉嶠等提出了一種基于表示學習的語義感知關系推理算法,充分考慮了實體和關系在語義上的多樣性。通過加權的方式聯(lián)合實體向量的語義要素,實現(xiàn)不同實體對之間關系語義的表示與辨分。在知識圖譜中的推理任務驗證了所提算法的有效性,實驗結果表明了算法可以較好地區(qū)分實體對之間的復雜關系的語義,提升了知識圖譜中關系推理任務中的準確率。鄭子強通過整理關于慢性腎臟病中醫(yī)醫(yī)案文獻,構建了慢性腎臟病知識圖譜。在醫(yī)學知識推理任務中,按照慢性腎臟病的診療過程,將之分解為知識圖譜多層實體間的鏈路預測任務。在慢性腎臟病知識圖譜表示學習的基礎上,通過多維卷積神經(jīng)網(wǎng)絡對知識圖譜中的實體和關系構成的路徑向量進行特征提取,然后輸入分類器中實現(xiàn)鏈路預測任務。實驗結果驗證了所提方法是有效的,在多個評估指標下預測都超過了95%。
深度學習的再度興起,使得深度神經(jīng)網(wǎng)絡被廣泛應用于各種領域。神經(jīng)網(wǎng)絡由于其較強的特征捕捉與映射能力,基于深度學習的知識推理也是當前一個研究熱點。目前在醫(yī)學推理中應用比較廣泛的是基于循環(huán)神經(jīng)網(wǎng)絡(RNN)、卷積神經(jīng)網(wǎng)絡(convolutional neural networks,CNN)和圖神經(jīng)網(wǎng)絡(graph neural network,GNN)的知識推理方法。
循環(huán)神經(jīng)網(wǎng)絡的優(yōu)勢是可以有效處理序列數(shù)據(jù),并能夠有效編碼序列信息的上下文。然而,知識圖譜是由大量的知識三元組構成的,這些知識三元組無法形成有效的序列信息。一個可行的解決方案是通過尋找知識圖譜中兩個實體之間的鏈接路徑,將路徑上的信息融合來構建知識圖譜鏈路序列信息。然后,通過將鏈路序列輸入RNN 進行路徑編碼,最終來獲得知識圖譜中頭實體與尾實體之間的路徑的語義相關向量進行知識推理。然而,由實體和關系組成的路徑序列信息僅能夠提供有限的推理信息。同時,從大量的鏈路序列中搜索對推理有用的路徑序列效率較低。Arvind 等提出了一種使用稱為path-RNN 的遞歸神經(jīng)網(wǎng)絡來組合路徑含義,該網(wǎng)絡對多跳關系的鏈接進行推理。Path-RNN 使用PRA為每個關系類型找到不同的路徑,然后將路徑中二進制關系的嵌入作為輸入向量。最后通過構建關系分類器來將路徑特征向量推理為實體間具體的關系。
大多數(shù)方法集中在使用三元組本身的結構信息來學習實體和關系的語義嵌入表示,然后基于此低維嵌入表示進行推理。然而,實際上,在大多數(shù)知識圖譜中,實體的描述通常很簡潔,現(xiàn)有的方法無法很好地利用這些描述。而這些多源異構描述信息能夠加強知識圖譜中實體和關系的語義區(qū)分能力。卷積神經(jīng)網(wǎng)絡因為其自身獨有的網(wǎng)絡架構,為這些額外的描述數(shù)據(jù)的特征提取提供了支持。Xie 等提出了一種基于實體描述信息的知識圖譜嵌入表示學習模型。具體來說,他們探索了連續(xù)詞袋和深度卷積神經(jīng)網(wǎng)絡兩種編碼方法來分別編碼實體描述的語義信息。然后進一步使用三元組和描述語義信息的特征來學習知識圖譜三元組中實體和關系的向量化知識表示。實驗表明,該方法在推理任務中取得了良好的效果,還可以減少數(shù)據(jù)稀疏性對推理模型性能的影響。Chen等提出了DIVA(discrete infer variational auto-encoder)的概率圖模型框架。他們認為知識圖譜推理問題可以歸結為兩個步驟:鏈接路徑尋找和路徑推理。同時在優(yōu)化過程中通過提高了這兩步之間的交互以增加模型的魯棒性和減弱模型對噪聲的敏感性。DIVA 使用潛變量圖模型來建模知識推理問題,假設在知識圖譜中存在一個潛在變量,它承載了實體之間關系的等價語義。路徑尋找過程作為一個先驗分布,主要用來搜索給定實體對之間的關系鏈接路徑。路徑推理過程作為一個似然分布,主要是將搜索到的路徑的潛在變量分類為多個關系類別。
近幾年來,利用圖神經(jīng)網(wǎng)絡和強化學習來求解路徑搜索問題也引起了廣泛關注。Xiong 等假設給定源實體和關系,可以通過路徑尋找另一個實體,這個過程可以定義為一個馬爾科夫決策過程。提出的Deep-Path 是首次在知識圖中使用強化學習方法進行路徑尋找的模型,對后續(xù)的派生模型有著重要的啟示。在這項工作中,他們提出了一種新的可控多跳推理方法,將路徑尋找過程使用強化學習(reinforcement learning,RL)來搜索。代理agent 在路徑尋找的每一步中,通過對關系進行采樣來擴展其路徑,從而采取增量式路徑擴充。為了更有效地刺激強化學習中的代理尋找關系路徑,他們使用策略梯度進行訓練并設計了一個新穎的獎勵懲罰函數(shù),用來共同鼓勵路徑搜索過程中尋找到路徑的準確性、多樣性和效率。實驗結果表明該方法優(yōu)于路徑排序算法和基于距離嵌入模型的方法。然而,與傳統(tǒng)方法相比,Deep-Path 更側重于路徑的搜索,在推理過程中,只是簡單地使用尋找到路徑的二值特征輸入到一個二元分類器中來預測一個預定義的關系是否存在。DAPath 模型增強了基于深度路徑的強化學習的運用,并用之主要解決知識圖譜推理任務中的鏈接預測問題。進一步的,M-WALK 通過使用RNN 記錄所有軌跡路徑,然后使用蒙特卡洛采樣和Q 學習算法迭代優(yōu)化策略來學習模型。Wang 等設計了一個基于生成對抗網(wǎng)絡(generative adversarial network,GAN)的強化學習模型,應用于知識圖譜推理與補全的任務。他們將知識圖譜補全問題定義為馬爾科夫過程,并探索在狀態(tài)轉移過程和獎勵過程中引入的規(guī)則,以更好地指導生成對抗網(wǎng)絡優(yōu)化下的行走路徑。同時,使用長短項記憶模型(long shortterm memory,LSTM)作為生成對抗網(wǎng)絡的生成器,不僅用來記錄歷史軌跡,而且可以生成新的子圖,然后使用GAN 訓練策略網(wǎng)絡。此外,為了更好地生成新的子圖,采用圖神經(jīng)網(wǎng)絡將知識圖嵌入到低維向量中,并對各層的消息傳遞過程進行參數(shù)化。
圖3 動態(tài)交互式智能診斷模型框架圖Fig.3 Framework of dynamic interactive intelligent diagnosis model
受以上知識推理工作的啟發(fā),殷蘇娜通過對糖尿病臨床醫(yī)學數(shù)據(jù)進行分析和整理,構建了糖尿病知識圖譜。同時,為了處理醫(yī)學臨床知識中的時序數(shù)據(jù),設計了基于長短期記憶神經(jīng)網(wǎng)絡的序列增量學習模型。該模型利用長短期記憶網(wǎng)絡可以聯(lián)系上下文的優(yōu)勢,并提出一個序列增量學習層來強化學習特征。最后,以一種端到端的方法來解決知識圖譜中的鏈接預測推理任務。李蕓提出一個交互式智能輔助診斷模型用于提升醫(yī)生的診斷效率。該模型包括了疾病推理和檢查推薦兩大模塊,其智能診斷整體結構如圖3 所示。首先,模型根據(jù)疾病與癥狀、病史等之間的關聯(lián)關系,構建了疾病知識圖譜。模型推理模塊將醫(yī)學診斷過程看作馬爾科夫決策過程,設計了一個基于強化學習框架的檢查推薦策略網(wǎng)絡,用于預測每步交互狀態(tài)中最優(yōu)的動作,優(yōu)化診斷路徑。模型接收到用戶在系統(tǒng)中輸入的信息,然后推薦當前狀態(tài)的動作。如果推薦動作為檢查項目,模型則會等待用戶進一步輸入信息,繼續(xù)與用戶進行交互。如果推薦動作為診斷疾病結果,模型則結束當前交互過程并給出醫(yī)學診斷結果。通過現(xiàn)實中的實際操作,驗證了所提模型和系統(tǒng)在疾病輔助診斷上的靈活性和準確性。Yang 等提出一種ART-Kohonen 神經(jīng)網(wǎng)絡和病歷推理相結合的智能診斷,提高了診斷的效率和準確度。神經(jīng)張量網(wǎng)絡模型在Freebase 等知識圖譜本體庫上對缺失和隱藏關系的推理準確率達到了90%。Karegowda 等在糖尿病知識圖譜中通過使用遺傳算法和反向傳播神經(jīng)網(wǎng)絡相結合的混合推理模型,將診斷正確率提高了7%左右。趙超提出基于馬爾科夫隨機場的醫(yī)學知識推理框架,針對疾病診斷、檢查推薦、治療方案推薦三大臨床決策問題,結合圖特征、邊特征、分布式表示的節(jié)點特征等構建了六種勢函數(shù),設計了三種評價指標對推理系統(tǒng)性能進行評估。這三種評價指標分別是平均@(mean@,@)、平均@(mean@,@) 以及平均準確率(mean average precision,MAP)。其中,@是指前個返回結果的準確率,@是前個返回結果中的正實例在全部正實例中所占的比重,MAP 為多個查詢的平均正確率的均值。羅計根通過整理中醫(yī)書籍《中醫(yī)證候鑒別診斷書》和《中醫(yī)證候辨證論治輯要》,提出了一種結合雙向長短期記憶網(wǎng)絡和條件隨機場的中醫(yī)命名實體識別模型,然后構建了中醫(yī)實體抽取語料庫。為了更好地展示中醫(yī)實體及實體間的關系,建立了模式層的結構。然后,作者利用TF-IDF(term frequencyinverse document frequency)算法分別對證候-癥狀、證候-舌像、證候-脈象三類關系之間的貢獻權重進行計算。最后將實體、關系和權重導入到數(shù)據(jù)庫中完成知識圖譜的構建,如圖4 所示。在中醫(yī)知識圖譜推理過程,中醫(yī)領域里面大部分的實體之間沒有存在直接的關系。例如,當要查詢治療血虛證的證方中是否含有當歸這味中藥時,知識圖譜中中藥類實體和證候類實體并沒有直接的關系,這兩者是根據(jù)方劑相連接的,如圖5 所示。此時,需要通過實體血虛證找到治療它的方劑,再根據(jù)方劑找到組成中是否含有該中藥。因此,為了更好地對構建的中醫(yī)知識圖譜進行實際應用,提出了一種基于路徑的推理算法。
圖4 中醫(yī)領域構建的知識圖譜Fig.4 Constructed knowledge graph in field of traditional Chinese medicine
圖5 知識圖譜中的間接關系Fig.5 Indirect relationship in knowledge graph
目前基于深度學習的知識圖譜推理在醫(yī)學領域的探索和工作研究處在初始階段,仍有很多可以進步的空間。
本節(jié)對現(xiàn)有的醫(yī)學知識推理技術進行了廣泛的綜述,并對其推理方法進行了分類:基于邏輯規(guī)則的醫(yī)學推理、基于表示學習的醫(yī)學推理以及基于深度學習的醫(yī)學推理。這三種方法既有相似之處又有區(qū)別,在推理任務中是可以互相補充的。相似之處是這些方法都是對知識圖譜中的三元組進行特征建模和參數(shù)學習。主要區(qū)別在于基于深度學習的知識推理模型將CNN、RNN 和GNN 集成到表示學習模型或邏輯規(guī)則模型中,通過深度學習模型對知識圖譜中的實體和實體間關系進行學習,然后通過實體之間的序列路徑建立預測模型進行相關推理。表示學習模型主要是學習實體和關系的低維嵌入表示,并基于此語義表示進行后續(xù)的醫(yī)學推理。其優(yōu)點是可以充分利用知識圖譜中的結構信息,缺點是建模時不能引入先驗知識來實現(xiàn)推理。邏輯規(guī)則模型的優(yōu)點是可以模擬人類的邏輯推理能力,并映入人類的先驗知識來進行輔助推理。缺點是它沒有解決對領域專家的依賴性,計算復雜度高,泛化能力比較差。在醫(yī)學知識圖譜領域,目前的醫(yī)學推理方法雖然促進了醫(yī)學診斷自動化和智能的進程,但仍存在著學習能力不夠強、醫(yī)學知識和數(shù)據(jù)利用率較低等缺陷。為了解決上述問題,需要探索和研究高效的混合醫(yī)學推理模型。表3 羅列并對比了不同知識推理方法。
表3 醫(yī)學知識推理方法Table 3 Medical knowledge reasoning methods
醫(yī)學知識圖譜構建和醫(yī)學推理技術,將會成為知識圖譜和人工智能領域的熱點研究對象,其研究成果能夠推動醫(yī)學自動化和智能化進程,促進智能醫(yī)學應用的研發(fā)。本章總結了醫(yī)學知識推理目前面對的一些挑戰(zhàn)和重要問題,并展望了其發(fā)展前景和研究趨勢,希望能促進這一快速發(fā)展領域的進一步研究。
(1)現(xiàn)有的海量醫(yī)療數(shù)據(jù)在語言、功能、存儲等方面存在著比較大的差異。因此,知識復用、泛化能力和實體消歧等問題對醫(yī)學推理造成了極大的挑戰(zhàn)。深度學習的信息捕捉和特征映射能力已在其他人工智能領域得到了驗證,而目前基于深度學習的知識圖譜推理在醫(yī)學領域的探索和工作研究處在初始階段,仍有很多可以進步的空間。深度學習的表示學習能力和醫(yī)學知識推理的結合,將顯著提升推理學習的性能,并帶動工業(yè)界和學術界的發(fā)展。
(2)現(xiàn)有的醫(yī)學知識推理方法通常需要很多高質量的醫(yī)學知識和數(shù)據(jù)樣本進行訓練和學習,然后才能完成有效的推理。而這需要消耗醫(yī)生專家和研究人員大量的時間和精力對醫(yī)學數(shù)據(jù)和樣本進行標注,成本和代價高昂。此外,訓練所得到的模型的泛化能力通常也比較差。而人類常??梢愿鶕?jù)少量樣本學習,然后舉一反三即可完成推理。如何實現(xiàn)小樣本或者零樣本學習推理是一個挑戰(zhàn)。最近幾年,零樣本學習(zero-shot learning)和少樣本學習(fewshot learning)在計算機視覺及自然語言處理等領域引起了廣泛的關注。零樣本學習和少樣本學習可以從一個未遇到過的類別或者只有很少的樣本實例中學習。結合零樣本學習和少樣本學習的醫(yī)學知識推理可以避免高昂的數(shù)據(jù)獲取,提高推理泛化能力,值得進一步研究。
(3)醫(yī)學知識推理的可視化可以讓醫(yī)生和患者更加直觀地了解到推理的詳細過程和依據(jù)結果。在醫(yī)療領域,由于醫(yī)生和患者的知識背景不同,如何提高醫(yī)生和患者之間的溝通效率是一件困難的事情。醫(yī)學推理可視化可以做到“換位思考”,即分別從醫(yī)生和病人的角度,展示出最佳的推理方案,讓病人能夠明白診斷的過程和依據(jù)結果,醫(yī)生則可以根據(jù)知識圖譜的動態(tài)推理做出合理高效的醫(yī)療診斷,從而達到輔助診斷、智能診斷的目的,也可以帶給病患更友好的就診體驗。
(4)傳統(tǒng)醫(yī)學知識推理的方法只考慮了圖譜中三元組本身的結構信息,知識信息利用不全面,也在一定程度上造成了推理準確度不高。如何更高效地利用知識圖譜的圖結構信息和外部專家知識是進一步提升推理性能的關鍵問題。不同模態(tài)、不同來源的醫(yī)學數(shù)據(jù),比如醫(yī)療文本、醫(yī)療影像等中蘊含著豐富的、可以相互補充的醫(yī)學知識和信息??梢岳枚嗄B(tài)和多源數(shù)據(jù)融合的方法進行更加可靠的知識推理,從知識增強的角度進一步提高知識推理的性能。同時,知識圖譜中的關系預測路徑長度會隨著知識圖譜的增大不斷增長,而現(xiàn)有的主要方法中預測長路徑的能力有限。推理性能隨著路徑的長度逐漸降低。然而,在大規(guī)模醫(yī)學知識圖譜中,實體之間的長路徑推理不可避免。因此需要更高效的推理模型來描述更復雜的推理任務。
(5)醫(yī)學知識圖譜中醫(yī)學知識的有效性通常會受到空間以及時間等動態(tài)因素的影響。如何更加合理地利用這些醫(yī)學知識的動態(tài)約束信息進行動態(tài)推理也是醫(yī)學知識推理目前面臨的難題和一大挑戰(zhàn)。比如,疾病的誘發(fā)、緩解和治愈是一個逐漸發(fā)展演變的歷程,因此醫(yī)學知識推理需要結合病人在醫(yī)治過程中產(chǎn)生的歷史臨床數(shù)據(jù)進行推理。但是,目前的推理模型還無法結合病人治療過程中動態(tài)產(chǎn)生的臨床事實序列,因此不能夠總是給出正確的推理結果。設計能夠根據(jù)醫(yī)學知識的有效性進行動態(tài)推理的模型是必要的。
(6)患者自我診斷。如何解決醫(yī)生短缺這個醫(yī)療領域的難題是一個挑戰(zhàn)。培養(yǎng)一個經(jīng)驗豐富的醫(yī)生需要較長的時間。基于知識推理技術的智能問診在解決該難題方面有巨大的潛力。智能問診系統(tǒng)主要是患者與機器進行交互,患者通過輸入自身基本信息,比如患病癥狀、既往病歷和過敏史等,系統(tǒng)可以通過知識推理技術進行分析,然后形成原始的診斷結果,極大減短了問診的時間,提高了問診的效率。同時,患者也可以通過人機交互來進行智能查詢與診斷,比如誘發(fā)病因、用藥、治療方案等,最終可以生成診斷報告,從而進行自我辨別診斷。
從大量的醫(yī)療數(shù)據(jù)中提取出醫(yī)學知識,然后構建醫(yī)學知識圖譜,對其進行高效利用,是推進醫(yī)學智能化和自動化改革的關鍵,對智能醫(yī)療的實現(xiàn)有著重要意義。同時,也能夠為醫(yī)學知識檢索、醫(yī)學輔助診斷以及醫(yī)學檔案的智能化管理提供基礎。本文對構建醫(yī)學知識圖譜的關鍵技術和醫(yī)學輔助診斷進行了總結與歸納,并重點回顧了醫(yī)學知識推理研究現(xiàn)狀,對其推理方法進行了分類。對于每一類別,分別介紹了代表性算法和最新研究進展。最后,本文總結了醫(yī)學知識推理目前面對的一些挑戰(zhàn)和重要問題,并展望了其發(fā)展前景和研究趨勢。醫(yī)學知識推理仍有很多尚未完善和可創(chuàng)新的工作,需要更多的學者和研究人員共同推進該領域的發(fā)展。