尹梓名 杜方芮 趙紫彤



摘 ?要: 隨著人工智能的迅猛發展以及智慧醫療的提出,具備高關聯性,高結構化的醫學知識圖譜成為智慧醫療的研究熱點。然而基于互聯網大數據構建的知識圖譜,其知識質量難以保證,難以適用于具有高專業、高要求、高準確度的臨床輔助診療場景。本文提出一種基于臨床指南的知識圖譜構建方法,著重在知識源頭進行優化,主要對其中包含的陳述性知識和流程性知識進行建模。最后以非小細胞肺癌與冠心病兩類疾病為例,分別構建了疾病知識圖譜,驗證了該方法的可用性。
關鍵詞: 知識圖譜;臨床指南;本體;Neo4j
中圖分類號: TP391.5 ???文獻標識碼: A ???DOI:10.3969/j.issn.1003-6970.2020.09.047
【Abstract】: With the rapid development of artificial intelligence and the proposal of intelligent medicine, medical knowledge graph with high relevance and high structure has become the research hotspot. However, the knowledge graph based on Internet big data is difficult to ensure the quality of knowledge, and it is difficult to apply to the clinical auxiliary diagnosis and treatment scene with high professional, high requirements and high accuracy. This paper proposes a construction method of knowledge graph based on clinical guidelines, focusing on knowledge optimization at the source of knowledge, mainly modeling the declarative knowledge and process knowledge. Finally, the knowledge graph of non-small cell lung cancer and coronary heart disease was constructed to verify the availability of this method.
【Key words】: Knowledge graph; Clinical guidelines; Ontology; Neo4j
0 ?引言
隨著人工智能的迅速發展以及智慧醫療的提出,涉及到知識抽取、表示、融合、推理、問答等內容的知識圖譜成為知識服務領域的一個研究熱點。作為目前人工智能領域最前沿且最重要的一種知識表示形式,知識圖譜基于語義網絡,提供從“關系”的角度去分析問題的能力,從而構建高關聯性,高結構化的知識模型。目前,現有的面向互聯網應用場景的通用知識圖譜構建技術[1-5],雖然能夠快速、大量地建立知識圖譜,但是基于網絡數據建立的知識圖譜,其準確性和可靠性存疑,知識質量難以保證,形成的知識圖譜未必完全正確,難以適用于具有高準確度的臨床輔助診療場景,且這種方法生成的知識圖譜冗余度較大[6-7]。所以如何從各種專業的醫學資料中構建知識圖譜是醫學知識圖譜研究的重點內容。臨床指南(Clinical Guidelines)是基于循證醫學的觀點系統開發的多組臨床指導意見,用于幫助醫生和病人針對特定的臨床問題做出恰當的處理,減少醫療差錯,避免資源浪費[8]。
因此,基于臨床指南構建用于輔助臨床決策的醫學知識圖譜是一種值得研究的方法。本論文提出一種基于臨床指南構建知識圖譜技術,圍繞流程性知識與陳述性知識兩種臨床指南知識表達方式,建立結構化本體庫和知識圖譜模型。該方法著重在知識源頭對知識進行優化,設計并調整概念間的關系結構,對實例與實例間的聯系進行細化完善,保證數據的可用性與可靠性。依據此方法,本文以美國NCCN公布的非小細胞肺癌臨床診療指南和中華醫學會公布的冠心病診療指南為例,構建了這兩種疾病的知識圖譜,并驗證了其可行性,為醫療智能輔助決策提供了一種高質量構建知識圖譜的方法。
1 ?基于臨床指南的知識圖譜構建
1.1 ?概念層(本體層)
臨床指南由大量臨床概念、術語及邏輯關系組成。構建基于臨床指南的知識圖譜,首先應從指南中抽象出其概念層次,將指南結構化。本體設計是知識表達的一種方式,相當于知識圖譜的結構層次構建,突出
強調概念及概念間的關系,通過本體形成的知識庫不僅層次結構較強,而且冗余度較小,是知識圖譜概念層構建必不可少的環節。因此,可通過對指南進行 ?知識抽取,提取指南的概念層內容,進而進行本體設計。
1.1.1 ?概念結構表設計
文本指南中的知識主要由陳述性知識和流程性知識兩大類構成[9]。流程性知識關注的是陳述性知識的推理過程及推理結果。如何從不同格式的知識中提取概念層次內容,是概念層設計的核心部分。從臨床指南的角度來看,我們關注概念模型的三個內容:概念內容,概念實例,以及概念間的邏輯關系。
(1)概念內容:概念內容是對指南中屬于同一類醫學知識的歸一化過程。
(2)概念實例:是概念內容的子集,需要通過命名實體識別技術來完成。應注意,概念實例的提取可與數據層的實體抽取同步進行。
(3)概念間的邏輯關系:描繪兩個概念內容的關系,在流程性知識中通常以有向圖的指向關系來表示,在陳述性知識中需要通過語句語義來確認概念間的邏輯關系。
概念層設計相當于知識圖譜的架構設計,是知識圖譜結構化,規范化的根基。因此,將概念內容按上下位關系,整理成疾病概念結構表,便于知識圖譜構建的理解與運用,如表1所示。
1.1.2 ?概念關系表設計
要實現指南結構化的概念整合,更重要的一步是使這些概念層在語義上形成關聯,以構成一個完整的指南結構體。確定概念層之間的關系主要通過兩種手段來實現:確定同類型醫學概念關系,確定不同類型醫學概念關系。同類型醫學概念關系的確定主要體現在實體的上下位關系。概念結構表確定了概念層的上下位關系后,這一步主要關心不同類型醫學概念關系。
不同類型醫學概念關系的確定以類與類之間的映射關系為核心,是對概念間邏輯關系的歸納。由于疾病的治療普遍包含檢查、評估、治療、用藥、監測等步驟,我們設計了一張以疾病知識圖譜為使用對象的通用概念關系表,不同疾病知識圖譜的概念關系可在此表的基礎上進行設計使用,也可對特定關系進行增補。
1.2 ?數據層(實體和關系)
構建指南數據層的目的是從不同格式的臨床指南中提取醫學知識,并將醫學知識轉換成可被計算機處理的數據格式。知識圖譜數據應用的前提是,這些數據具有規范化的數據模型和物理模型。數據模型是對數據的有效表示,是從人的角度對知識圖譜的數據進行描述,包含三元組模型和圖模型兩種模型。物理層面的存儲是從計算機的角度對數據進行存儲[10],包含關系表存儲和圖存儲兩者存儲方式。數據模型和物理模型的合理化構建關系到知識圖譜的有效性利用。對于數據層的構建,我們利用三元組數據模型來描述指南知識,通過知識抽取,知識存儲兩個內容,將指南知識有效地存儲在圖數據庫管理系統Neo4j中。
1.2.1 ?知識抽取
醫學臨床指南中含有大量醫學臨床術語及指南流程,臨床指南的知識抽取就是從臨床指南中抽取與概念層設計相匹配的實體和關系,并將其整理成實體庫和三元組關系庫。知識抽取主要包括兩方面內容:
(1)醫學實體抽取:從指南中識別命名實體,并將其分類到定義的類別。
(2)醫學關系抽取:從指南中識別并抽取實體和實體之間的關系。關系必須是三元組形式,即實體-關系-實體。整理出的多元關系如圖所示。
在實體抽取和關系抽取時,亦可針對不同實體類設定相關屬性。例如藥品類別含有藥品名稱,藥品英文名稱,藥品類別等屬性。
1.2.2 ?知識存儲
明確了所有實體以及實體的關系后,需要設計數據的物理模型,對知識進行存儲,形成知識圖譜。選擇存儲體系時需考慮知識可靠、可融合、可應用等問題。為表示多樣化,復雜化的醫學實體關系,我們選用基于Neo4j圖數據庫作為存儲體系。Neo4j是基于Java開發的開源原生數據庫,是一個兼備高性能、嵌入式、輕量級等優勢的NoSQL圖像數據庫。基于抽取的三元組數據模型,設計導入的醫學節點和關系節點,考慮到疾病臨床指南所整理的數據為中等規模以及數據可實時插入的效果,采用導入Csv文件為主的方式,對數據進行存儲。
2 ?知識圖譜的應用案例
為驗證上述方法的可行性,本文以非小細胞肺癌和冠心病的臨床指南為例,依照本文所述方法分別建立兩種疾病的知識圖譜。
2.1 ?案例一:非小細胞肺癌知識圖譜構建
近10多年來,惡性腫瘤發病人數成增長趨勢。美國癌癥協會(ACS)在《2020年癌癥統計》上預估了2020年美國新發癌癥病例數和死亡人數,統計顯示,在所有癌癥死亡中四分之一是由于肺癌所致,高于乳腺癌、前列腺癌和結直腸癌三者病例。基于上述知識圖譜構建方法,我們構建了非小細胞肺癌臨床本體以及可推理的知識圖譜,從而實現非小細胞肺癌的臨床輔助決策。
在當今中國的腫瘤防治領域,為實現腫瘤治療的規范化、科學化,普遍倡導以美國國家綜合癌癥網絡(NCCN)發布的臨床實踐指南為首選的循證學依據[11]。該指南以有向流程圖的形式,描述了非小細胞肺癌的臨床診治過程,例如根據各個疾病分期或臨床表現給出對應的評估,治療流程,如圖1所示。
2.1.1 ?概念層設計
首先,對圖1所示的部分臨床指南進行概念層提取。第一步,提取概念內容,分別為“臨床表現”,“初始治療”,“輔助治療”和“治療方法”四個內容。“治療方法”在有向圖中并未提示,但通過歸納可知,“手術”,“化療”,“術前同步放化療”均為一種“治療方法”。第二步,提取概念實例,分別為“肺上溝瘤(T3侵犯,N0-1)”,“術前同步放化療”,“手術”,“化療”四個實例,此步驟要盡可能多的挖掘出臨床指南中高質量的醫學詞匯。第三步,提取概念間的邏輯關系,分別為“臨床表現的初始治療是(某一治療方法)”,“臨床表現的輔助治療是(某一治療方法)”。通過對臨床指南內容的整理歸納(例如由“初始治療”,“輔助治療”,“后續治療”挖掘出上級概念層“治療時期”),整理出非小細胞肺癌本體的三級概念結構,如表4所示。
其次,進行概念關系層設計,基于提取的概念間的邏輯關系,可將語義關系表設計如下表5所示。
2.1.2 ?數據層設計
數據層設計主要是從臨床指南中挖掘出具有高質量的醫學實體(概念實例)和關系,并將其整理成三元組的格式,存儲在Neo4j數據庫中。實體關系必須以概念層設計的關系表為框架,實現實體與實體之間的關系連接。
如圖2所示,該部分指南表示的意思為“臨床評估為IA期(周圍型 T1abc,N0)分期的病人,需先進行治療前評估,評估方法有肺功能檢查,支氣管鏡,縱隔淋巴結病理學評估,FDG PET/CT掃描”,故提取實體“IA期(周圍型T1abc,N0)”為臨床分期,“肺功能檢查”,“支氣管鏡”,“縱隔淋巴結病理學評估”和“FDG PET/CT掃描”為評估方法,概念內容“臨床分期”與“評估方法”的關系為“has_assessment”(有…評估方法),生成表6所示的三元組關系表。
2.1.3 ?臨床實例驗證
非小細胞肺癌知識圖譜可應用于臨床輔助決策,實現搜索與推薦功能。隨著圖數據規模的日益增大,大圖上的子圖搜索問題變得極為重要[12]。我們可以通過不同的方法來實現搜索功能,例如基于規則的子圖匹配,基于節點與結構相似度的子圖匹配等[13]。本文通過規則匹配的方法,實現了非小細胞肺癌系統的后臺操作代碼。
效果如下:當用戶點擊“II期(T2b,N0)”臨床分期和搜索條件“治療方法”時,系統會根據非小細胞肺癌知識圖譜接收搜索條件內容,通過規則匹配,最后將其轉換為Cypher語句以在Neo4j中查詢答案。結果如圖5所示。
非小細胞肺癌知識圖譜的應用也可體現在病人的診中和診后的環節,為醫生提供診斷輔助決策。例如,基于病人主訴,醫生評估病人的疾病分期為“A期(周圍型T1abc,N0)”,臨床決策支持系統可查詢知識圖譜,知識圖譜會針對該疾病分期給出不同的評估方法,治療方法與監測方法,如圖6所示。
2.2 ?案例二:冠心病知識圖譜構建
冠狀動脈粥樣硬化性心臟病是冠狀動脈血管發生動脈粥樣硬化病變而引起血管腔狹窄或阻塞,造成心肌缺血、缺氧或壞死而導致的心臟病,常常被稱為“冠心病”。冠心病在美國和許多發達國家排在死亡原因的第一位。參照本文對流程性知識的構建方法,以《臨床診療指南·心血管分冊(2017年修訂版)》冠心病臨床指南[14]為基礎,對臨床指南陳述性知識進行分析,
2.2.1 ?概念層設計
醫學知識關系錯綜復雜并且醫學知識抽取的精確度要求高,為保證本體構建的正確性,參考醫學主題詞表(MeSH),對冠心病領域內的基本概念和概念之間的相互關系進行分析,通過這些關系和概念完成本體的構建。在理解MeSH詞表和臨床診療指南的基礎上,將冠心病知識本體分為患者病歷、疾病類型、檢測方法、檢測結果、治療方法、危險因素6大類,知識層級結構如圖7所示。
在《臨床診療指南·心血管分冊(2017年修訂)》的基礎上,結合MeSH主題詞表,對構建冠心病臨床指南中概念與概念之間的關系進行詳細的分析,整理出冠心病本體三級概念結構。具體概念結構如下表7所示。
參考非小細胞肺癌關系層設計方法,對相似的部分進行整合和復用,保證兩類疾病構建知識圖譜結構上的統一性。確定冠心病同類型醫學概念實體的上下位關系,并根據指南內容,以類與類之間的映射關系為核心提取不同類型的醫學概念關系,以此整理出8種冠心病臨床指南實體與實體之間的關系,分別為has_class_of、has_treatment、has_assessment、has_detection、assess_result、belong_to、refer_to。冠心病臨床指南的概念關系圖下表8所示。
2.2.2 ?數據層構建
通過知識抽取,對冠心病概念層和關系層進行詳細設計,構建冠心病本體,明確了實體及實體關系后,將關系數據和實體數據以三元組的形式導入到Neo4j圖形數據庫中,具體知識存儲方法參考非小細胞肺癌的知識圖譜構建知識存儲部分的詳細說明,冠心病知識圖譜共包含133個醫學實體,137條實體間關系,可為冠心病臨床醫學決策提供參考。圖8為冠心病臨床指南知識圖譜可視化展示。
2.2.3 ?臨床應用實例
冠心病知識圖譜的構建為冠心病臨床決策提供了便捷的查詢方式。例如,醫學中藥品種類繁多,難以準確記憶,在脫離臨床指南的情況下,如何在臨床上幫助醫生了解穩定型心絞痛患者進行藥物治療時應當使用何種藥物。我們借助Cypher語言在冠心病知識圖譜中查詢這一信息,輸入查詢語句“match data=(na:疾病類型{name:'穩定型心絞痛'})-[r1]->(nb:相關信息)-[r2]->(nc:治療方法)-[r3]->(nd:藥物治療) return data”對藥品信息進行查詢,查詢結果如圖9所示。從查詢結果可看出對穩定型心絞痛患者進行藥物治療時,通常可采用硝酸酯類藥物、抗凝藥物等。藥品信息通過冠心病知識圖譜被及時獲取,減輕了醫生記憶海量醫學知識和錯綜復雜醫學關系的難度,在臨床醫學決策上起到至關重要的作用。
3 ?討論
基于臨床指南的知識圖譜構建方法是一種專注單一疾病,追求高質量醫學知識表達的圖譜構建方法,可以根據患者癥狀以及指標數據,為專業領域的醫生提供診前、診中、診后的輔助性臨床決策方案。但此種方法仍有不足之處,首先,此種方法雖然可以保證錄入知識圖譜的數據質量,但是需要由知識工程師和臨床醫生共同對臨床指南進行整理與歸納,需要消耗一定的人力和時間。其次,文本指南中存在確定性知識和不確定性知識兩種類型,對不確定知識的取舍與分割亦是該方法的難點之一,較好的辦法是引入多種知識表達方式,增強知識圖譜的語義表達能力。綜上,本文所提出的方法只適用于專業領域的醫學知識圖譜構建,對于通用醫學知識圖譜的構建還需要依靠大數據技術來獲取實體,或是由多個專業領域圖譜融合來完成。
4 ?總結
本文提出了一種基于臨床指南的知識圖譜搭建方法,并針對陳述性知識和流程性知識兩種文本指南進行知識圖譜搭建,實現了非小細胞肺癌和冠心病兩種疾病的知識圖譜。疾病知識圖譜的構建為醫學臨床決策中查找和整合醫學知識,進而進行臨床輔助決策奠定了基礎。下一步工作將基于知識圖譜開發智能臨床輔助決策系統,實現知識圖譜的語義搜索與智能問答,幫助臨床醫生提高臨床決策的效率和質量。
參考文獻
[1]楊美潔, 熊相超. 基于爬蟲技術和電子病歷的糖尿病知識圖譜的構建[J]. 中國數字醫學, 2020, 2(2): 6-8.
[2]廖浚斌, 周欣, 何小海, 等. 面向涉恐領域的知識圖譜構建方法[J]. 信息技術與網絡安全, 2019, 38(9): 34-38.
[3]康準, 王德軍. 基于知識圖譜的生物學科知識問答系統[J]. 軟件, 2018, 39(2): 07-11.
[4]王寧. 基于Web的領域知識圖譜構建平臺的研究與實現[D]. 北京市: 北京郵電大學, 2019.
[5]Xin-Hong Jia, Wen-Ai song, Wei-Yan li, etc. Semi-automatic Construction Method Of Chronic Obstructive Pulmonary Disease Knowledge Graph[R]. Wisconsin, United States: IEEE 43rd Annual Computer Software and Applications Conference, 2019.
[6]崔潔, 陳德華, 樂嘉錦. 基于EMR的乳腺腫瘤知識圖譜構建研究[J]. 計算機應用與軟件, 2017, 34(12): 122-126.
[7]孫鄭煜, 鄂海紅, 宋美娜, 等. 基于大數據技術的醫學知識圖譜構建方法[J]. 軟件, 2020, 41(1): 13-17.
[8]曹紅霞, 梁萬年. 循證臨床指南的開發程序[J]. 中國全科醫學, 2003, 6(4): 342-344.
[9]吳彬飛. 臨床指南知識表達與應用方法研究[D]. 浙江大學. 2010.
[10]肖仰化等. 知識圖譜: 概念與技術[M]. 北京: 電子工業出版社, 2020. 1: [286].
[11]王書航, 王潔. 2018年V3版NCCN非小細胞肺癌指南更新要點解讀[J]. 華西醫學, 2018, 33(4): 388-392.
[12]胡一然, 宋中山, 孫翀, 等. NVSA: 一種具有可變節點值的查詢圖搜索算法[J]. 軟件, 2018, 39(3): 16-21.
[13]張玲玉, 尹鴻峰. 基于OAN的知識圖譜查詢研究[J]. 軟件, 2018, 39(1): 54-59.
[14]中華醫學會. 臨床診療指南. 心血管分冊[M]. 人民衛生出版社, 2017.