侯夢薇 衛 榮 陸 亮 蘭 欣 蔡宏偉
(西安交通大學第一附屬醫院網絡信息部 西安 710061)
隨著信息技術和互聯網技術的持續發展和不斷變革,人類先后經歷了以文檔互聯為主要特征的“Web 1.0”時代與數據互聯為特征的“Web 2.0”時代,正在邁向基于知識互聯的嶄新“Web 3.0”時代[1].知識互聯的目的是構建一個人與機器都能夠理解的萬維網,使網絡更加智能化.然而,由于萬維網上的內容多源異質、組織結構松散,給大數據環境下的知識互聯帶來了極大的挑戰[2].因此,人們需要依據大數據環境下的組織知識原則,探索既符合網絡信息資源不斷變化規律又能切合適應用戶認知需求的知識互聯方法[3],使其更加深刻地展示整體而相互關聯的人類認知世界[4].知識圖譜(knowledge graph)就是在這樣的大背景下產生的一種知識表示和管理的方式,它是實現智能化語義檢索的基礎和橋梁,為萬維網上知識互聯奠定堅實的基礎[5].
知識圖譜的概念于2012年5月被Google正式提出[6],其原始目的是為了提高搜索引擎的能力,提高搜索結果質量并提升用戶的搜索體驗.2013年之后,隨著智能信息服務和應用的不斷發展,知識圖譜已在學術界和工業界普及,并在智能搜索、智慧問答大數據風控、推薦系統等應用中發揮著重要的作用[7].目前,醫學是知識圖譜應用最廣的垂直領域之一,也是目前國內外人工智能領域研究的熱點,在如疾病風險評估、智能輔助診療、醫療質量控制及醫療知識問答等智慧醫療領域都有著很好的發展前景[8].目前很多公司均構建了自己的知識圖譜,如IBM的Watson Health①、阿里健康的“醫知鹿”醫學智庫②、搜狗的AI醫學知識圖譜APGC等醫學知識圖譜的應用近2年來也開始進入人們視線.在醫學領域,典型的醫療知識圖譜包括SNOMED -CT③,IBM的Waston Health以及國內的諸如上海曙光醫院的中醫藥知識圖譜[9]等.隨著區域衛生信息化及醫療信息技術的發展,積累了海量的醫學數據,如何從這些數據中提煉信息并加以應用,是推進智慧醫療輔助的關鍵[10],也是醫學知識檢索、輔助診療、醫療質量控制、電子病歷及健康智能化管理應用的基礎,對于提高醫生診療水平、減輕醫生負擔具有非常重要的意義.
知識圖譜是語義網(semantic Web)技術之一,是一種基于圖的數據結構,由節點(實體)和標注的邊(實體間的關系)組成[11],它本質上是一種揭示實體之間關系的語義網絡,可以對現實世界的事物及其相互關系進行形式化地描述[12].和傳統的Web頁面網絡相比,知識圖譜中的節點由網頁形式變成了不同類型的實體,而圖中的邊也由連接網頁的超鏈接(hyperlink)變成了實體間豐富的各種語義關系.
三元組是知識圖譜的一種通用表示形式[13],由2個具有語義連接關系的醫療實體和實體間關系組成,是醫學知識的直觀表示,即G=(head,relation,tail),其中,head為三元組中的頭實體,tail為三元組中的尾實體,relation= {r1,r2,…,r|R|}是知識庫中的關系集合,共包含|R|種不同關系.三元組的基本形式主要包括實體1、關系、實體2和概念、屬性、屬性值等.實體是知識圖譜中的最基本元素,例如疾病、藥物、癥狀、輔助檢查、科室、手術、部位等;關系存在于不同實體之間,例如臨床表現、病因、發病機制、科室、預防、藥動學、藥理作用、鑒別、診斷等;概念主要指集合、類別、對象類型、事務的種類等,例如慢性病、二級手術、抗凝血藥物等;屬性主要指對象可能具有的特點、特征及參數,例如疾病特征、藥品規格、手術類型等;屬性值指對象特定屬性的值,例如前面提到的疾病特征為多尿、藥品規格為0.2 mg/支等.通過一個全局唯一的ID號來標識實體,實體間內在特征通過屬性-屬性值對來刻畫,實體之間的關聯通過關系來描述.三元組的存在表示一個已有的事實,即實體處于給定類型的關系中.例如支氣管擴張癥的描述為:支氣管擴張癥(bronchiectasis)多見于兒童和青少年,臨床表現為慢性咳嗽、咳濃痰和(或)反復咳血.
支氣管擴張癥的描述通過表1中的三元組表示:

Table 1 Ternary Representation of Bronchiectasis Description表1 支氣管擴張癥描述的三元組表示
我們可以將所有三元組合并構成一個多圖(multigraph),其中節點表示實體,有向邊表示實體之間的關系,邊的方向表明了實體是作為主體還是對象出現.不同的關系通過不同類型的邊來表示(也被稱為邊標簽),知識圖譜的結構有時也被稱為異構信息網絡(heterogeneous information network)[14].如圖1所示:

Fig. 1 Knowledge graph example圖1 知識圖譜示例
知識圖譜按照覆蓋范圍可分為通用知識圖譜和行業知識圖譜.通用知識圖譜強調融合更多實體,其準確度不夠高,且很難借助標準知識庫規范其實體、屬性和關系等,主要被應用于智能搜索等領域中;行業知識圖譜通常依靠特定行業的數據進行構建,對特定行業有重要的意義.行業知識圖譜需要考慮從不同的業務場景和使用人員,所以實體的屬性與數據模式比較豐富.本文所探討的醫療知識圖譜就屬于行業知識圖譜.
構建醫學知識圖譜的主要目的是抽取大量的、讓計算機可讀的醫學知識[15].在醫療信息技術飛速發展的今天,醫學知識大量存在于非結構化的文本數據、半結構化的表格、網頁以及部分醫療信息系統的結構化數據中,因此現有的醫學知識圖譜模型均為判別模型.通過訓練使該模型能夠區分不同關系的實體對,或者從隨機抽樣的無關負實體中識別有意義的實體對.為了闡述如何構建知識圖譜,本文給出了醫學知識圖譜的體系架構,即其構建模式結構,如圖2所示.
醫學知識圖譜主要有自頂向下(top-down)與自底向上(bottom-up)兩種構建方式.自頂向下方式首先構建頂層關系本體,然后將抽取到的實體匹配更新到所構建的頂層本體中.自底向上的方式直接將抽取數據中發現的類別、實體、屬性以及關系合并到知識圖譜中.目前大部分知識圖譜都采用自底向上的方式進行構建.
醫學知識圖譜的構建流程可以被歸納為3個模塊,即醫學知識抽取、醫學知識融合以及醫學知識計算.醫學知識抽取通過從大量結構化、半結構化或非結構化的醫學數據中提取出實體、關系、屬性等知識圖譜的組成元素,并選擇合理高效的方式將元素存入知識庫中.醫學知識融合對醫學知識庫的內容進行整合、消歧、加工,增強知識庫內部的邏輯性和表達能力,并為醫學知識圖譜更新舊知識或補充新知識.醫學知識計算借助知識推理,推斷出缺失事實,自動完成疾病診斷與治療.

Fig. 2 Medical knowledge graph architecture圖2 醫學知識圖譜架構

醫學知識圖譜的構建與應用需要多種智能信息處理技術的支持[17].通過知識抽取技術,可以從半結構化、非結構化數據中提取知識要素.借助知識融合技術,可以消除實體、關系、屬性與對象之間的歧義,形成高質量醫學知識庫.醫學知識計算是在已有知識的基礎上進一步挖掘隱含知識,從而豐富、擴展醫學知識庫.本節將從醫學知識表示、醫學知識抽取、醫學知識融合和醫學知識推理所運用的關鍵技術為重點,詳細說明其中的相關研究.
三元組知識表示形式雖然受到了廣泛的使用和認可,在應用于醫學領域時卻會出現計算效率低等問題.近年來隨著人工智能、機器學習、深度學習等表示學習技術的重大進展[18-19],醫學實體中的語義信息可以表示為稠密低維實數值的向量,從而在低維度空間中計算實體和關系中的復雜語義關聯,對于醫學知識庫的構建過程有重要意義.醫學知識表示按照計算方式不同可以分為距離平移模型(translational distance model)和語義匹配模型(semantic matching model).其中距離平移模型利用基于距離的評分函數對事實的合理性進行判斷,代表包括翻譯模型(TransE)[20]及其延伸出的復雜關系模型(TransH,TransR,TransD,TransG,KG2E等).語義匹配模型的代表包括單層神經網絡模型(single layer model, SLM)[21]、雙線性隱變量模型(latent factor model, LFM)[22]、神經張量模型(neural tensor model, NTM)[23]、矩陣分解模型(matrix factorization, MF)[24]等.
1) 翻譯模型
TansE是最具代表性的距離平移模型,它將實體和關系表示為同一空間的矢量.三元組中的關系矢量lr elation可以被看作頭實體矢量lh ead到尾實體矢量lt ail的翻譯,并滿足關系:
lh ead+lr elation≈lt ail,
(1)
評價函數為
fr elation(head,tail)=|lh ead+lr elation-lt ail|L1L2,
(2)
翻譯模型的參數較少,計算復雜度低,且適用于大規模稀疏醫學知識庫,性能和擴展性都比較好.圖3(a)為TransE模型的示例.
2) 復雜關系模型
復雜關系模型主要針對實體之間1-to-N,N-to-1,N-to-N的關系類型[25-26].這里簡要介紹這5項代表性模型的原理.TransH針對不同關系下的同一醫學實體的角色問題進行研究,試圖采用不同的形式表示不同關系中的醫學實體.TransR將不同的關系進行更細致的劃分,保證了映射后模型的表達能力.TransD分別對頭實體和尾實體在盥洗空間進行投影矩陣的定義,保證了實體和關系之間的交互.TransG和KG2E均采用高斯分布對醫學實體和關系進行描述,具有較高的實體區分度.圖3(b)(c)為TransH和TransR模型的示例.

Fig. 3 Schematic diagram of distance translation model圖3 距離平移模型示意圖

Fig. 4 Schematic diagram of neural tensor model and single layer model圖4 神經張量模型、單層神經網絡模型示意圖
3) 單層神經網絡模型
非線性的單層神經網絡模型為醫學知識庫中的三元組(head,relation,tail)定義了評價函數:

(3)

單層神經網絡模型基于實體之間的關系,刻畫了醫學實體的語義相關性,從而解決了醫學實體之間協同性較差的問題,但計算復雜度較高,不適用于大規模醫學知識圖譜的表示.
4) 雙線性隱變量模型
雙線性隱變量模型基于醫學實體間關系的雙線性變化對實體的語義相關性進行定義.評價函數:

(4)
其中,Mr elation是通過關系relation定義的雙線性變換矩陣;lh ead和lt ail是頭實體和尾實體的向量化表示.圖5(a)為雙線性隱變量模型的示例.
雙線性隱變量模型形式簡單,降低了計算復雜度,并有效刻畫實體間相關性關系.
5) 神經張量模型
神經張量模型通過將醫學實體中單詞的向量取平均值來表示實體間語義聯系.評價函數:

(5)

Fig. 5 Schematic diagram of matrix factorization model and latent factor model圖5 矩陣分解模型、雙線性隱變量模型示意圖

神經張量模型通過取均值的方式解決了低維向量的“稀疏性”問題,并可以重復使用同一單詞向量進行醫學實體構建.
6) 矩陣分解模型

7) 模型性能對比
為了驗證各模型的效率,本文對比分析了前文討論過模型的時間復雜度和空間復雜度,如表2所示.這里分別用n和m表示實體和關系的數量,d和k分別表示實體的維數和關系嵌入空間的維數,TransG中的c指每個關系的平均語義組件數量.

Table 2 Comparison of Time and Space Complexity表2 模型在時空復雜度上的比較
醫學知識抽取是面向開放的醫療數據,通過人工或自動化技術抽取出可用的知識單元,知識單元包括實體、關系及屬性這3個知識要素,并以此為基礎,形成一系列高質量的事實表達,為上層模式層的構建奠定基礎.
人工抽取方式是依據一定規則收集并整理相關醫學信息并提取知識,目前包括ICD -10[27]、臨床醫學知識庫、SNOMED -CT[28]等都是通過人工構建的醫學知識庫;自動抽取方式是利用數據挖掘、人工智能、機器學習等技術從醫學信息中自動提取基本元素,一體化醫學語言系統UMLS是通過自動提取方式構建的.自動抽取方式是目前的研究重點,也是未來知識抽取的趨勢.本節主要介紹如何自動從醫療數據源中抽取知識,按照要素類型分為實體抽取、關系抽取和屬性抽取.
1) 實體抽取
實體是醫學知識圖譜中的最基本元素,實體抽取的準確率和召回率等將直接影響知識庫的質量,所以實體抽取是醫學知識圖譜技術的重點研究方向.
早期的實體抽取方法是在限定文本領域、限定語義單元類型的條件下進行,采用基于醫學規則和醫學字典的方法,使用已經定義好的醫學規則,抽取出文本中的疾病名、藥物名、癥狀名等實體.例如文獻[29]中通過CHV和SNOMED -CT兩個醫學詞典對醫療診所筆記中的醫學信息進行識別,得到了不錯的實驗結果.但是,這種方法在實施過程中具有極大的難度.①目前沒有一個完整的醫學字典囊括所有類型的實體,所以無法使用文本匹配的方法對實體進行識別;②中文醫學短語的含義根據上下文的改變而指代不同的實體;③需要疾病或藥物實體擁有多個名稱.因此,基于醫學規則和字典的實體抽取方法僅在最早期被廣泛應用,難以適應數據不斷變化的現實要求.
隨后,研究者們嘗試將機器學習和統計學算法應用到實體抽取問題上,利用醫學數據的特點對模型進行訓練,然后識別實體.常用的方法包括支持向量機、人工神經網絡、隱Markov模型、條件隨機場等.文獻[30]使用支持向量機模型進行生物醫學命名實體識別,為了提高訓練效果,引入詞緩存、無監督訓練等方法,實驗結果表明:該方法在GENIA醫學數據集中的準確率高于基準算法,并能高效地應用于大規模知識庫中.文獻[31]提出一種最大熵算法作為機器學習算法和基于規則字典的抽取方法的混合算法,并在Medline數據集進行實驗,實驗的準確率和召回率都在70%以上.基于機器學習的實體抽取方法在運用于醫學領域時面臨著數據質量的良莠不齊及人工標注專業性不高等問題,目前的解決方法是利用海量未標注數據持續提升模型性能,從小樣本中學習,形成一個交互學習過程,從而提升實體抽取的準確率.
深度學習是機器學習研究中的一個新的領域,其目的在于建立、模擬人腦進行分析學習的神經網絡[32].它模仿人腦的機制來解釋數據,例如圖像、聲音和文本,近年來被廣泛應用于實體抽取中.目前BiLSTM-CRF是醫學領域實體抽取中最主流的深度學習模型.文獻[33]通過實驗對比BiLSTM-CRF與其他機器學習模型在醫學電子病歷的實體抽取的效果,實驗結果表明BiLSTM-CRF對提高結果的準確率是有效的.
知識學習和深度學習的方法大多需要搜集大量語料,或過多依賴于專家的標注.文獻[34]提出利用已標注的實體三元組在自然語言表述上的共性和差異,對多種醫療實體關系類內的數據分布進行聯合編碼,進而從生成模型的角度去發現未被標注的關系實體三元組.該方法減輕了傳統判別模型對于外部資源的過度依賴,并且不依賴于醫療實體關系之間的差異進行建模.實驗表明:算法不僅能夠在外部資源有限的條件下,以92.91%的支持度生成屬于某個特定醫療關系的實體三元組,其生成的結果擁有77.17%的準確率且生成結果中有61.93%的樣本未曾出現在訓練數據中.
2) 關系抽取
醫學實體關系抽取的目標是解決實體間語義鏈接的問題,早期的關系抽取主要是通過人工構造語義規則以及模板的方法識別實體關系.之后,醫學實體間的關系模型逐漸替代了人工預定義的語法與規則.本文按照醫學實體的類型將醫學實體關系歸結為2類:同類型醫學實體層關系抽取以及不同類型醫學實體關系抽取.
同類型醫學實體層關系比較簡單,主要為is-a和part-of關系,此類關系通常在醫學詞典、百科、信息標準中定義.在實際應用中,可通過網絡爬蟲、正則表達式等技術從標準醫療數據庫中抽取分層結構,ICD -10,SNOMED等醫療數據庫的醫學專業分類和標準化工作比較權威且覆蓋范圍廣,被廣泛使用.非同類型醫學實體關系的抽取方法是先定義好2實體間要抽取的關系類型,再將抽取任務轉換為分類問題進行處理.
在知識圖譜的構建過程中,遠程監督(distant supervision)能夠減少對標注數據的需求,因此被大量應用于從非結構化醫學文本中進行關系抽取.文獻[35]首先證明由于醫學知識庫的不完整,大量標記過程產生的否定標簽為假否定,并基于此提出一種僅從實體對正標簽進行學習的遠程監督提取算法,并通過實驗證明了此算法的有效性.文獻[36]提出一種基于遠程監督的卷積神經網絡模型,利用卷積神經網絡抓取實體的描述特征,豐富實體表示,并通過計算實體間關系與句子間的相似度賦予句子不同的權重.
然而,遠程監督算法雖然從一定程度上減少了模型對人工標注數據的依賴,但該類方法也存在明顯的缺點.其一是此種假設會引入大量噪音,其二是此算法的數據構造過程依賴于自然語言處理工具,中間過程出錯會造成錯誤傳播問題.為解決這個問題,文獻[37]提出了一種協同消噪的模型,該方法由2個神經網絡和一個協同模塊組成,充分利用了醫療領域中豐富的醫療文本、醫療影像等信息數據.模型中的2個神經網絡分別在文本語料庫和知識圖譜領域進行學習,再通過一個自適應的雙向協同模塊完成它們間的相互學習,達到消除噪聲的目的.實驗表明:該方法在噪聲較大的數據上有較明顯的效果提升.
3) 屬性抽取
屬性抽取針對醫學實體而言,如藥品的熟悉包括規格、劑量、適應癥等,通過屬性可以對實體進行完整勾畫,如二甲雙胍是二型糖尿病患者適用.由于實體的屬性可以看成實體與屬性值之間的一種名稱性關系,因此可以將屬性抽取問題轉換為關系抽取問題.
由于醫學數據庫中的知識來源復雜,存在知識質量良莠不齊、不同數據源知識重復、知識間關聯關系模糊等問題[38],所以必須將來自不同數據源的多源異構、語義多樣、動態演化的醫學知識在同一框架規范下進行異構數據的整合、消歧、加工、推理驗證、更新等,對知識進行正確性判斷,去粗取精,達到數據、信息、方法、經驗與人思想的融合,將驗證正確的知識通過對齊關聯、合并計算有機地組織成知識庫.通過知識融合的定義可以看出,知識融合建立在知識抽取的基礎上.如何消除知識理解中的不確定性,發現知識的真值,并將正確的知識更新擴充到知識庫中是知識融合研究中關注的重點[39].醫學知識融合的關鍵技術有實體對齊技術、實體鏈接技術和關系推演技術.其中,實體對齊技術用于消除本體和數據源的異構性;實體鏈接是醫學知識融合的基礎,通過消歧等操作消除知識中的不一致;關系推演用于發現隱含知識,從而擴充和補全醫學知識庫.
1) 實體對齊
實體對齊用于消除異構數據中的實體沖突、指向不明等不一致問題,從而從頂層創建一個大規模的統一知識庫,從而幫助機器理解多源異質數據,形成高質量知識.
在醫療大數據的環境下,受醫學知識庫規模的影響,實體對齊會面臨3個方面的挑戰:
① 計算復雜度大.算法計算復雜度會隨知識庫規模呈二次增長,計算復雜度難以接受.
② 數據質量良莠不齊.由于不同醫療知識庫的構建目的和方式不同,可能存在相似重復數據、孤立數據、數據時間力度不一致等問題.
③ 訓練數據缺失.大部分醫療數據庫中并沒有先驗數據,通常需要研究者手工對數據進行標簽等操作構造訓練數據,這也是一項龐大的工作.
現有的實體對齊算法可分為成對實體對齊和集體實體對齊2類.成對實體對齊方法只考慮實例及其屬性相似度,常用方法包括概率統計模型、回歸分類樹模型、支持向量機分類模型、集成學習模型、層次圖模型等.集成實體對齊方法是在成對實體對齊的基礎上,在計算實體相似度時加入了實體間相互關系,常用方法包括向量空間模型、bootstrapping算法、貝葉斯網絡模型、LDA分配模型、Markov邏輯網模型等.
2) 實體鏈接
實體鏈接的主要作用是利用醫學知識庫中的實體對從醫療大數據的文本中獲取的實體指代進行消歧,識別每一個實體指代在醫學知識庫中與其對應的映射實體.這里的實體指代指的是實體的一種文本表示形式[40],一個醫學實體可能有多種不同的表達,如全名、別名、縮寫等.按照實體鏈接利用的信息不同,現有工作主要分為基于實體屬性(entity attributes based, EA)的實體鏈接方法[41]、基于實體流行度(entity popularity based, EP)的實體鏈接方法[42]、基于上下文(context based, CB)的實體鏈接方法[43]和基于外部證據(external evidencebased, EEB)的實體鏈接方法[44].
基于實體屬性的實體鏈接方法通過計算實體的名字屬性中字符串的相似度來判斷實體是否相同.實體名稱和屬性的相似度主要通過Consine距離、Jaccard相關系數等方式進行計算:

(6)

(7)
其中,同e1和e2為給定的醫學實體,A(e)表示醫學實體e的屬性字符串.
基于實體流行度的實體鏈接方法認為,對于給定的實體指代,與其對應的映射實體最有可能是醫學數據庫中最為公認的實體,計算為

(8)
其中,e表示給定的醫學實體,P(e)表示醫學實體e的流行度,#()表示次數.
基于上下文的實體鏈接方法通過計算給定醫學實體的上下文之間的相似性判斷2個實體之間是否為同一實體.
基于外部證據的實體鏈接方法認為同一文本中的醫學實體并不是獨立的,它們之間存在語義相關性,而這種相關性有助于提升實體鏈接的準確率.
表3對比了以上4種實體鏈接方法的特點.
3) 關系推演
通過實體對齊和實體鏈接,可以得到初步的本體雛形,但構建知識庫時需求和設計理念的不同會導致知識庫中數據的多樣性和異構性,因此要形成高質量的醫學知識,還需要不斷進行關系推演,將動態產生的關系擴展到已有的醫學知識庫中,從層次上形成一個大規模的醫學知識體系,統一對知識進行管理,對提高醫學知識庫的時新性、覆蓋能力至關重要.由于醫學自然語言表達的隨意性,關系存在大量同義或多義表達,這給關系的擴充帶來了巨大的挑戰.
關系推演的主要目標是將從醫療大數據文本中獲取的實體關系動態擴展到知識庫中.醫學實體關系存在2種可能情況:1)醫學知識庫中存在與目標文本實體關系相同或等價的實體關系,只需找到文本實體關系在醫學知識庫中與之對應的實體關系;2)醫學知識庫中不存在與目標文本實體關系相同或等價的實體關系,則需要將實體關系擴展合并到知識庫中,完成醫學文本實體關系和醫學知識庫實體關系的關聯合并.

Table 3 Advantages and Disadvantages of Entity Linking Model表3 實體鏈接方法分類匯總
關系推演的關鍵在于判定2個實體關系是否表示同一種關系.目前有2種方法:①傳統的基于語義的方法,通過對比描述關系的詞匯之間語義相似度來驗證是否是同一種關系;②基于嵌入學習的方法,這種方法通過在嵌入空間中尋找一個恰當的能量函數學習實體的嵌入表示,利用實體的嵌入表示表達實體關系,并判斷2個描述實體的關系是否表達同一種關系,從而實現將實體關系進行結構映射.
目前醫療領域的知識融合技術雖有一些發展,但仍需要大量人工干預,高效的知識融合算法仍然有待研究.
知識推理是在已有醫學知識庫的基礎上進一步挖掘隱含知識,從而豐富、擴展知識庫.在醫學知識圖譜中,知識推理能夠幫助醫生完成患者數據搜集、疾病診斷、治療方法、避免醫療差錯等.然而,醫學領域擁有其特殊性,即使對于相同疾病,醫生也會根據患者個體情況做出不同的診斷,所以醫學知識圖譜必須處理大量相同或矛盾的信息,大大增加了構建醫學知識推理模型的復雜性.
傳統的知識推理方法包括基于描述邏輯推理(description logic reasoning)[45]、基于規則推理(rule-based reasoning)[46]與基于案例推理(case-based reasoning)[47]等.傳統知識推理方法雖然在一定程度上推動了醫學知識圖譜的發展,但是也存在準確率不高、數據利用率低、學習能力不足等缺陷,并未達到實際應用的要求.
隨著醫療大數據規模的飛速增長,傳統知識推理方法會出現信息遺漏、診斷時間延長等問題.而人工智能技術對于從海量醫療數據中挖掘有用信息有著天然優勢,可以提升知識推理的效率和準確度,常用模型包括了人工神經網絡模型(artificial neural networks model)[48]、遺傳算法(genetic algorithm)[49]和反向傳播網絡模型(back propagation)等.
無論是傳統知識推理方法還是人工智能只是推理方法都將知識圖譜作為數據源,而基于圖的推理則將知識圖譜視作圖,將醫學實體看作節點,實體間關系看作邊,利用關系路徑中的蘊含信息,通過圖中2個實體間的多步路徑對其語義關系進行分析.常用算法包含了路徑約束隨機游走算法(path-constraint random walk)、路徑分級算法(path ranking)等.
知識圖譜為醫療信息系統中海量、異構、動態的醫療大數據的表達、組織、管理及利用提供了一種更為有效的方式,使系統的智能化水平更高,更加接近于人類的認知思維.目前醫學知識圖譜技術主要用于臨床決策支持系統、醫療智能語義搜索引擎、醫療問答系統、慢病管理系統等.
利用知識圖譜技術可以輔助醫療行業和領域的大數據分析與決策,根據患者癥狀、檢驗、檢查等數據,自動生成診斷、治療方案,還可以對醫生的診療方案進行智能化分析,有效減少誤診情況的發生.
IBM Watson主要面向腫瘤和癌癥領域的決策支持,基于巨大的知識庫并使用自然語言、假設生成和基于證據的學習能力為臨床決策支持系統提供幫助,供醫學專業人員參考.此外,很多研究者針對這一領域進行了深入的研究.文獻[50]提出一種本體驅動的、針對傳染病診斷和抗生素處方的臨床決策支持系統,系統包括一個醫學本體知識庫,其中綜合了多個醫學本體資源,包括傳染病、綜合征、細菌、藥物等相關本體;文獻[51]提出一種面向重癥監護室的急性心肌梗死患者的智能監測和決策支持系統.該系統的知識庫由OWL本體和1組表示專家知識的規則組成,能夠分析患者的情況,并給出治療建議;文獻[52]通過自然語言處理方法建立3層疾病結構知識圖譜(疾病-癥候-特征),運用正則表達式、隱Markov模型等人工智能技術解決了構建醫學知識圖譜過程中效率低、耗時長等問題.
在大量醫學數據中搜索生物醫學信息是1項復雜的任務,醫療信息語義搜索建立大規模醫學知識庫對用戶搜索的關鍵字和文檔內容進行語義標注,從醫學知識圖譜中檢索并查詢相關的實體對、實體關系及屬性進行擴展查詢,從而改善醫療信息搜索結果;文獻[53]利用醫學主題詞表Mesh對醫學術語的用戶檢索進行擴展,改進了多模塊醫學信息檢索系統.在ImageCLEFmed醫學圖像數據庫對方法進行了驗證,實驗結果表明,使用醫學本體擴展技術可以改善查詢結果的準確性;文獻[54]提出了一種基于概念匹配而非關鍵字匹配的電子病歷檢索方法,將電子病歷文本從基于術語的原始文本轉換為SNOMED -CT本體定義的醫學概念,結果顯示這種方法能夠提升搜索精度并且為實現基于推理的醫療數據搜索系統提供了框架;文獻[55]提出了一種支持多模式醫學案例檢索的醫學信息檢索系統.該系統通過提供多模態搜索、新的數據融合算法和醫學同義詞典的術語建議來支持醫學信息檢索和發現.
目前,國內外的醫療信息語義搜索引擎包括Healthline,Google health、搜狗明醫、360良醫等.其中Google率先提出將知識圖譜應用于搜索引擎,Google提供了超過400種健康狀況數據,通過信息卡片的方式對疾病特征進行展示,告知用戶某疾病是否具有傳染性、影響主要人群等信息.Healthline是一個基于醫學知識庫的醫學信息搜索引擎,其知識庫涵蓋超過800 000項醫療元數據和50 000條相互關聯的關系概念.搜狗明醫和360良醫結合了元搜索索引和知識庫索引,收集權威醫療知識學術網站內容,為用戶提供包括維基百科、知乎問答、國際前沿學術論文等權威的醫學知識.
醫療問答系統是醫療信息檢索系統的一種高級形式,能夠以準確簡潔的自然語言形式為用戶提供問題的解答.多數基于知識圖譜的醫療問答系統將給定的問題分解為多個小的問題,然后逐一去知識庫抽取匹配的答案,并自動檢測答案在時間和空間上的吻合度等,最后將答案進行合并,以直觀的方式展示給用戶.IBM的Walson、微軟的“小冰”都是融合知識圖譜的問答系統的代表產品.在醫學領域,受限于現有醫學知識圖譜的推理能力,市場上尚未出現比較成熟的醫療問答系統.
研究人員針對知識圖譜與醫療問答系統的融合開展了許多相關研究.文獻[56]提出了一種基于自然語言處理的醫療問答系統,首先對比了先前4種基于醫學本體的醫療問答系統,并結合醫學領域知識、自然語言處理相關技術和語義關系構建知識圖譜,實現了醫療問題的自動化回答;文獻[57]構建了包括疾病庫、癥狀庫、中草藥庫等的中醫藥知識圖譜,利用文本抽取、關系數據轉換以及數據融合等技術,探索中醫藥知識圖譜自動化構建方法與標準化流程,實現中醫藥知識圖譜的智能應用,包括基于模板的中醫藥知識問答和基于知識圖譜推理的輔助用藥;針對已有工作在除關注上下文之外,對起著重要作用的背景知識關注很少的問題,文獻[58]提出了一種具有知識感知能力的雙向長短記憶模型,它利用醫學知識圖譜引入的背景知識來豐富問答的表征學習.模型的核心是一個上下文引導的注意力神經網絡,通過將知識圖譜中的背景知識嵌入整合到句子表示中,并結合知識型注意力機制模塊,對問題和答案中的各個部分進行有效的相互關聯.通過實驗驗證了該方法在WikiQA 和TREC QA數據集上的效果,實驗結果證明:該方法對于醫療問答準確性的提升具有一定有效性.
知識圖譜技術是對語義網技術的一次改造和升華.自Google提出知識圖譜這一概念至今,其熱度仍然只增不減.通過對知識圖譜構建技術體系進行深入觀察和分析,可以看出它是建立在多學科領域研究成果的基礎之上的一門實用技術,是人工智能、信息檢索、自然語言處理、萬維網等交叉領域的理論研究熱點和應用技術的集合.就醫學領域而言,由于醫學知識和規則的專業性、規范性、術語有限性等特點,可以從標準化醫學詞典、醫學數據庫等來源中獲取高質量數據并構建醫學知識圖譜.雖然目前有很多項目進行醫學知識圖譜技術的研究,但醫學知識圖譜構建的關鍵環節還面臨著一些巨大的困難和挑戰.
1) 文本抽取難度大.在醫學知識抽取環節,面向開放域的知識抽取方法研究還處于起步階段.部分研究成果雖然在特定數據集上取得了較好的結果,但普遍存在算法準確性低、限制條件多、擴展性不好等問題.尤其是醫學電子病歷抽取過程中涉及到的純文本信息抽取是當前面臨的重要挑戰.
2) 實體對應不準確.醫學知識融合階段的主要挑戰就是實現準確的實體鏈接.雖然關于實體消歧、共指消解技術的研究已經有很長時間的歷史,但是由于醫學知識來源的多樣性導致醫學實體在不同的數據源中存在嚴重的多源指代問題,而迄今為止所取得的研究成果距離醫學領域的實際應用還有很大的距離.如何在上下文信息受限(跨語境、跨文本等)的條件下準確地將文本中抽取的實體正確連接到醫學知識庫中是當前學術界普遍關注的問題.
3) 知識圖譜存儲方式.目前醫學知識圖譜主要采用圖數據庫進行存儲,在受益于圖數據庫帶來的查詢效率的同時,也會失去關系型數據庫的優點,例如圖數據庫不能支持SQL語言查詢、查詢效率較低等.將自然語言的查詢語句翻譯為知識圖譜可以理解的查詢表達式及等價表達式也是醫學知識圖譜應用需要解決的關鍵問題.
在醫療領域中,隨著醫學信息化水平的逐步深入,積累了大量醫學數據,醫療數據的有效使用對精準醫療、疾病防控、研發新藥、醫療費用控制、攻克頑疾、健康管理等工作都有著重要的意義.構建醫療領域的知識圖譜提供了一種從海量醫學文本和圖像中抽取結構化知識的手段,具有廣闊的應用前景.本文從醫學知識圖譜構建的視角出發,對醫學知識圖譜的架構、醫學知識圖譜構建關鍵技術以及研究應用發展現狀進行了全面調研和深入分析,并對醫學知識圖譜構建工作所面臨的重要挑戰和關鍵問題進行了總結.
知識圖譜在醫療領域的意義不僅在于它是一個全局醫學知識庫,也是支撐例如輔助診療、智能搜索等醫療智能應用的基礎,而且在于它是一把打開人類知識寶庫的鑰匙,它能夠推進醫學數據自動化和智能化處理,為醫療行業帶來新的發展契機.