杜 建,孔桂蘭,李鵬飛,2,白永梅,張路霞
(1.北京大學健康醫療大數據國家研究院,北京 100191;2.北京大學信息技術高等研究院,杭州 226019)
如何從數據中生成知識(data to knowledge,D2K)是情報學和數據科學的重要研究內容,也是解決大數據時代信息超載的關鍵[1-2]。當前,各國高度重視科技創新,由此產出的科學出版物及其相關數據將持續快速增長。現代科學的特點是科學文獻呈指數級增長,但出版量的增長并未反映科學認知領域的擴大,例如,新出現的科學概念(論文標題中識別出的新短語)數量呈線性增長[3-4]。受此啟發,我們認為,海量的科學出版物僅是數據或信息,而其中涉及的“知識單元”對于開展知識發現、加快知識轉化、促進知識驅動的管理決策則具有更重要意義。我國情報學學者馬費成教授曾指出,從物理層次的文獻單元向認知層次的知識單元轉換是情報學取得突破性發展需要解決的關鍵問題[5]。但究竟如何表示知識單元一直沒有得到解決[6]。知識通常以文字、符號和圖片的形式呈現,并通過書籍、期刊和論文的形式進行傳播。一個人想要理解、總結以及運用這些知識,則需要親自閱讀這些書籍、期刊和論文,這是一個緩慢而費力的過程。為了保持知識更新,需要從海量數據和信息中抽取、剝離出知識單元,并建立適宜的表示模型;同時,為促進知識轉化,需要搭建知識和實踐之間的橋梁,構建兩者之間的交互機制,促進知識驅動或知識指導的實踐。
上述觀點在醫學領域尤為明顯和迫切。醫學知識從發現到實際應用,平均有17年的時滯。為何轉化時滯如此之長,一個重要原因是目前的醫學知識多表現為線性的文本(如醫學文獻、臨床指南等)和碎片化的模型(如疾病風險評估模型等)。為了加速醫學知識向臨床應用的轉化,美國密歇根大學提出了“推進可計算生物醫學知識”(mobilizing computable biomedical knowledge,MCBK)的理 念和行動,在美國、英國、澳大利亞、中國等引起了廣泛關注[7],已連續3年召開年會,共同推動第二次知識革命[8]。其核心思想包括3個重要環節。一是將目前人讀的知識格式轉化為機器可執行的格式,開發輔助臨床決策的應用產品,實現“從數據到知識”;二是將知識對象存儲在知識管理平臺上,供臨床醫護人員在實踐中實時調用,實現廣泛共享和利用,實現“從知識到實踐”;三是在知識驅動的臨床實踐中產生新的數據,實現“從實踐再到數據”,進而循環往復又形成新的知識。最終實現“從數據到知識,從知識到實踐,從實踐再到數據”的循環,促進學習型健康醫療體系的建立。
目前,在“數據-知識-實踐”周期中,從數據到知識,是科學共同體開展科學發現的過程;而從知識到實踐的進程緩慢,可計算知識是實現“從知識到實踐”的重要技術手段。以醫學領域為例,通過革新醫學知識的呈現和管理方式(從“人讀”到“機器讀”,從“圖書館存儲”到“可計算知識管理平臺存儲”),并構建知識應用的標準模式,有望促成整個健康醫療體系的變革。本文在國際相關研究和實踐基礎上,結合我們的理解,引入和闡述可計算醫學知識的基本概念、主要類型、表示模型和管理平臺等,以期為學術界開展醫學知識可計算引入跨學科研究思路,也為我國建立學習型健康醫療體系提供方法基礎和實現路徑。
根據能否清晰表述和有效轉移,可以把知識分為顯性知識(explicit knowledge)和隱性知識(tac‐it knowledge)。醫學知識,是經過醫學實踐證實、科學分析或嚴謹研討過程后形成的結果或論斷,對特定的臨床專業或疾病人群具有重要指導意義,可界定為經過科學實驗/試驗并經同行評議后已發表或已被醫學界接受的結果、主張或認知。由于醫學(特別是現代醫學)有嚴格的培養標準和教育體系,醫學知識主要以顯性知識為主,即可以被記錄下來,并被他人直接加以使用的知識[9]。醫學研究產出的醫學文獻和臨床指南成為醫學知識的主要載體。然而,大多數已發表的電子文獻停留于人類可理解的自然語言表示模式,即非結構化的格式(一般以PDF文檔格式存儲),機器無法理解與計算,導致大量隱含在醫學文獻中的知識主張、可在實踐中應用的模型或規則不能得到有效管理與利用。
以“‘computable knowledge’AND‘biomedical OR medical’”為核心關鍵詞,通過系統的文獻檢索與分析歸納,這一概念從字面上主要有兩種表述,“可計算的醫學知識”(computable medial knowledge)和“醫學知識的可計算化”(making medical knowl‐edge computable)。前者側重實現的結果,后者側重實現的過程。從本質上來看,兩者表達的意思是相同的。我們認為,可計算醫學知識的基本概念包括兩個方面,一是知識的表示形式可計算化,二是知識在實踐中“可執行”,兩者缺一不可。
表示形式主要有兩類:一是從非結構化數據中生成知識單元(knowledge unit),表示為從自由文本中抽取的“主語-謂語-賓語”語義三元組(subjectpredicate-object,SPO triple)[10-11];二是從結構化數據中生成可計算的知識對象(computable knowledge objects),表示為從醫療大數據中生成的疾病預測模型,以及疾病診斷規則、計算機化的臨床指南等[7,12]。
美國密歇根大學MCBK主要側重于后者,包括兩方面。一是構建可計算的各類知識對象,通過計算機程序對各類知識進行編程封裝,形成計算機能處理的知識對象。一個知識對象包括知識載體、與用戶交互的界面,以及有關知識的詳細說明3個部分。二是在一個大的知識管理平臺上實現對知識對象的共享和利用。例如,在統一的標準下類似Apple的APP Store提供各類APP應用的下載和使用,醫生、患者、公眾等都能夠直接使用這些知識對象。
以“動脈粥樣硬化性心血管疾病預測的中國模型”為例進行說明,作者不僅發表了學術論文(人讀的格式,如文字、圖片和公式)[13];在此基礎上還開發了可公開使用的網頁版計算器(web-based calculator)①http://cvdrisk.com.cn和手機APP程序,把疾病預測模型以機器可執行的格式存儲并供用戶使用。
根據健康人或患者輸入的年齡、總膽固醇、高密度脂蛋白膽固醇、糖尿病等綜合指標數據,可計算出10年后個人ASCVD(arteriosclerotic cardiovas‐cular disease,動脈硬化性心血管疾病)的發病風險。基于網頁版計算器和手機APP程序這樣的機器可執行的知識對象,用戶通過“填寫-計算-預測”產生了大量新的數據,這些新的數據可進一步幫助改進預測模型的準確性,進而又形成了性能更佳的預測模型(即“新知識”)。最終,實現了“從數據到知識、從知識到實踐,從實踐再到數據”的循環。然而,目前,這樣的疾病預測模型散落于醫學科研機構或醫療機構中科研人員自建的網站,無法對于用戶實現“一站式獲取和大規模使用”。MCBK的目標就是要建立規范統一的、標準化的知識對象存儲和共享平臺。
除了上述介紹的源自結構化數據的疾病預測模型作為可直接調用和運行(即“可執行”)的知識對象外,來源于非結構化文本的知識圖譜通常也作為計算機系統中用來形式化表示知識的一種工具[14]。知識圖譜在臨床實踐中的價值主要體現為在將知識圖譜和基于真實世界數據的電子病歷的結合應用上。目前,將醫學知識圖譜與電子病歷相結合(即促使醫學知識“可執行”)是醫學知識圖譜應用的前沿研究課題。這樣的結合為臨床醫護人員帶來的益處主要包含3個方面:一是方便查詢醫學領域知識;二是邏輯化呈現患者數據和信息;三是輔助臨床決策,從而幫助提高診斷效率和準確率。
使用知識圖譜可以提升從文獻或大量臨床數據中檢索信息、查詢知識的能力。例如,利用大型開放式知識庫(如Wikipedia和SemMedDB)提供的有關每種疾病及其相關癥狀、檢查和治療的知識圖譜,將電子病歷中提取的與診斷相關的信息與之進行比對,可提高臨床診斷的效率[15]。采用結構化圖譜方式取代傳統的敘述性文本對患者病情進行描述,可改進復雜患者數據或個人健康信息的表示和呈現,減輕醫生的信息負擔和認知負擔。在臨床診療過程中,可通過將人讀的、自然語言描述的醫學證據和臨床指南轉化為機器可讀、可理解的知識圖譜,把已有的知識通過知識圖譜工具提供給臨床以作為診療決策的重要參考[16]。醫學知識圖譜與先進的知識圖譜推理方法的結合可以極大地減輕臨床醫生的診斷壓力,減少誤診率并提高診斷效率。由于醫學的系統性,目前的醫學知識圖譜主要面向專病,未來需要更為完整和準確的全科醫學知識圖譜,并需要不斷改進知識圖譜推理算法,以期更好地與臨床決策支持相結合[17]。
此外,與MCBK側重“醫學知識的表示形式可計算化,即從人讀的論文轉化為機器可執行的程序”不同,有學者提出醫學證據合成(evidence synthesis)也需要引入可計算化的思路,以減輕人工負荷。根據統計,目前全球每天要進行75項臨床試驗和11項系統綜述,如何跟上海量醫學證據的發展,并將其轉化為臨床實踐是一個迫切需要解決的科學問題[18]。系統綜述和meta分析已被公認為是客觀評價和合成針對某一特定問題的研究證據的最佳手段,通常被視作最高級別的證據。2020年,醫學信息學領域的學者發表了“可計算的證據合成”(comput‐able evidence synthesis)的概念,提出了直接利用結構化數據促進醫學證據合成的觀點[19]。
在臨床試驗過程中,有關試驗設計和實施的信息通常與試驗結果一起以期刊文章的形式發布。因此,當前的醫學證據合成主要依賴于人工檢索書目數據庫并閱讀、篩選證據,導致數據不夠完整,且帶有一定程度的偏倚,如已發表文章多為陽性結果。關于試驗涉及的臨床問題和干預措施的詳細信息,可通過在試驗注冊時預先指定的數據元素獲取,使得數據結果能夠以標準化、結構化的格式呈現。臨床試驗注冊平臺所提供的結構化結果數據更具有及時性、完整性和易獲取的特點,且可以實現數據的自動更新和計算機可解釋。
因此,現在應該重新反思證據合成的基本原理。隨著獲取不同形式的可計算試驗數據成為可能,將有助于系統綜述從耗時的試驗結果出版物篩選模式轉為主動積極的臨床試驗監測模式,從證據積累模式轉變為證據優先級排序的模式。與此概念相對應,2020年8月,可計算化出版(computable publishing)組織成立,通過開發臨床試驗結果報告器(clinical trials reporter)等工具,支持基于標準的、機器可解釋的公共知識表達,尤其是與健康醫療和科學證據有關的公共知識[20]。
基于美國密歇根大學對可計算醫學知識的定義,只有通過計算機編程封裝知識對象之后,才能實現可計算,從這個角度來看,可計算醫學知識的最終表示方式都是程序代碼。然而,本節重點闡述如何表示封裝之前的可計算醫學知識,即可計算醫學知識的前端表示模型。
在醫學教科書、醫學文獻中出現的大多醫學知識,均是以傳統IF(前件)-THEN(后果)規則的格式進行表示。以發燒為例,醫學知識中的診斷規則通常表示如下:如果患者體溫超過38℃,那么該患者處于發燒狀態。傳統的醫學規則包含前件和后果,前件為臨床的某種病癥,后果為某種特定的疾病、治療方案、或者結局等。在臨床實踐中,大多數醫護人員的疾病診斷及治療均是依賴現有醫學知識中累積的各種規則。把針對特定疾病的診療規則進行歸納、整理,最終形成該種疾病的診療知識庫。
隨著計算機技術的發展,計算機存儲和計算能力已經遠超人腦的記憶思維能力,把傳統IF-THEN診療規則或者診療知識庫電子化、結構化,就形成了計算機能夠存儲并理解的計算機化醫學規則或者知識庫。在文獻和醫學實踐中,基于專家系統方式實現的臨床決策支持系統,就是依賴于這樣的醫學規則和知識庫。
傳統醫學實踐中,醫護人員是依據權威的醫學知識或者自身經驗進行臨床疾病診斷、治療以及疾病管理決策,因此,不同醫療機構以及醫護人員的醫療服務水平和患者的預后與醫護人員自身的醫療背景以及經驗具有很大關聯,差異性非常大。在計算機與信息技術高度發達、大數據與人工智能已經深度融入醫學領域的當今時代,臨床的診療及疾病管理決策已經不單單是依靠現有領域知識和專家自身經驗,基于傳統醫學研究臨床試驗中所收集的數據以及真實醫療實踐中累積的醫療大數據進行分析、挖掘,找出疾病的規律和特征,構建疾病發生、發展以及患者預后的預測模型,將輔助醫護人員進行有效的、優化的臨床決策。
數據驅動的疾病發生、發展及患者預后的預測模型,其輸入變量一般是患者的人口學信息、臨床病癥以及實驗室檢查檢驗的結果,其輸出變量一般是某種疾病或并發癥發生、某種預后發生的概率。將數據驅動的疾病預測模型進行系統實現,并有效嵌入或者集成到日常的醫療服務工作流程中,就形成了一個自動化、智能的臨床決策支持工具,以輔助臨床醫護人員進行各種診療決策。一般來講,數據驅動的疾病預測工具應與基于知識的決策支持工具融合使用,一是拓展了現有領域知識和專家經驗,二是彌補了基于局部真實世界醫療大數據或者臨床試驗數據進行疾病建模帶來的局限性。
大量的生物醫學知識隱藏在自由文本中,自然語言處理技術對實體(如疾病、藥物、基因、蛋白質等)和關系(如疾病治療、蛋白質/藥物相互作用和藥物不良反應事件)的抽取,有助于支撐生物醫學知識管理和發現等應用,促進臨床醫生和實驗室科研人員更有效地獲取信息和生成新知識。可計算知識應是結構化的知識,從格式上可由計算機程序讀取。一種簡單的、可計算的知識表示是語義三元組。語義三元組由兩個概念組成,這兩個概念通過某些謂語(即動詞)相互關聯,如“導致(causes)”和“治療(treats)”。如“布洛芬-引起-胃腸道出血”就是這樣一種語義三元組。語義三元組被稱為“思想的原子”,既可以具象地表示某一命題或主張,又具有不可再分性。例如,可以將藥物知識表示為三元組[21],以從PubMed文獻中抽取的三元組作為基準,將從FDA(Food and Drug Administration,美國食品藥品監督管理局)藥物說明書中抽取的三元組與之對比,可識別新的且文獻中未報道過的醫學知識[22];將電子病歷文本中的知識元表示為語義三元組,開展電子病歷潛在知識發現研究[23]。基于“以三元組為知識單元,以不確定性為知識語境”的知識計算模型,開展矛盾性、沖突性知識發現[24]。
在醫學領域,語義三元組抽取已具有較為成熟的技術,其中,以美國國立醫學圖書館的“科學知識語義表示”項目開發的SemRep工具和SemMed‐DB知識庫為典型代表。SemRep是Semantic Repre‐sentation的簡稱,是一個基于規則的自然語言處理工具。以一體化醫學語言系統(unified medical lan‐guage system,UMLS)中標準化的醫學概念、概念類型(如藥物、疾病)和概念之間的語義關系(如治療)為基礎,從自然語言文本中抽取“主語-謂語-賓語”三元組。最新版UMLS收錄約380萬個概念、127種概念類型和54種語義關系。SemMedDB知識庫存儲基于SemRep工具,抽取PubMed文獻標題和摘要形成的三元組以及其來源語句[25]。該庫每年發布一次,且不斷改進,包括對SemRep工具提取的錯誤概念和關系進行糾正。SemRep和SemMedDB支持了多種臨床決策和轉化應用,包括醫療診斷、藥物再利用、基于文獻的發現和假設生成,有助于改善健康結局。目前,SemRep工具正在被重新設計,以提高其整體性能。SemRep和SemMedDB實現了大規模知識單元的抽取和存儲,是一個基礎庫,并且可進行二次開發。例如,英國學者最近開發了MELODI Presto系統①http://melodi-presto.mrcieu.ac.uk,該系統提供基于Web網頁查詢SemMedDB中的三元組及其背后的支持語句[26]。
近年來,生物語義學(biosemantics)領域的進展為細粒度表示醫學知識對象提供了啟示和借鑒,以荷蘭萊頓大學生物語義學專家Barend Mons教授及其團隊提出的納米出版模型為典型代表[27-28]。該模型并非專指納米領域,而是指借鑒納米之義,具有科學意義的、機器可讀的、最小的知識單元。納米出版物模型解決了由于科學論文和數據集的不斷增長而導致檢索、分析知識單元以及將科學結果與基礎數據聯系起來日益困難的問題,實現了將人讀的知識轉化為機器可讀的知識。
基本結構包括三部分:①主張(assertion),即主-謂-賓三元組表示的科學論斷;②出處信息(provenance),表示提出主張或創建了事實性素材(如數據、圖表等)的作者、機構、時間和地點等;③出版信息(publication Information),關于一個納米出版物本身的元數據,包括納米出版物的創建者、創建日期和版本等。這三個組件缺一不可,保證了信息完整性,并能有效提升科研信息的復用可能。這三個部分的內容均使用RDF格式進行描述,保證了機器可理解和可操作。
目前主要有三種進行中的應用。一是科研工作者自行將個人研究成果發布為納米出版物(存儲于平臺http://nanopub.org/wordpress/);二是將已有關系型數據庫(如基因-疾病關聯知識庫DisGeNet)以納米出版物形式發布[29];三是支持目標導向的大型項目,如藥物發現語義平臺Open PHACTS(Open Pharmaceutical Triple Store)項目[30],是一個存儲和計算藥學概念三元組的倉儲。基于納米出版模型,建立試驗數據和科學結論的規范語義描述本體,并在大規模生物醫藥文獻集上構建了藥學知識單元形成的網絡,即知識圖譜。納米出版模型尚未在臨床醫學領域廣泛應用,這也是我們計劃研究的主要內容。
如果以納米出版模型作為知識單元,構建知識單元的引用關系反映的知識演化,那么需要解決的問題是如何像科學論文那樣,構建納米出版物的引用格式。2019年,有學者提出了可對單個納米出版物進行引用的納米引用格式(nanocitation),并設計了一個系統自動生成納米出版物的引文,解決了這一模型缺乏引文標準的問題,在此基礎上可以設計文獻計量學指標,開展知識單元這一細粒度層面的分析[31]。為了充分發揮并利用可計算醫學知識的優勢,最終需要一種全新的方法讓所有知識在開始生成時便適合于計算[32]。例如,將傳統的人讀的科學出版物轉化為機器可讀的納米出版物,研究產出將不再僅僅是科學論文及相關的數據集,而是一組可計算格式的結果或主張,描述實驗過程和結果的自然語言文本(即學術論文)僅作為供人類可讀并參考的一種形式,對其進行處理后可產生更高階的信息,如系統綜述和臨床實踐指南。
提出納米出版模型的Barend Mons教授及其團隊同時提出,把所有持相同論斷的納米出版物中共同出現的論斷聚合為一個“基本論斷”,以減少冗余[33]。將圍繞一個中心概念(central concept)、路徑長度為1的三元組之組合作為一個knowlet。我們認為,knowlet是指知識圖譜中可以表示一個獨立知識單元的子圖,可將其譯為“知識子圖”。例如,圍繞“新冠”這一概念,作為起點或終點的所有關系,如癥狀、診斷、治療形成的三元組。隨著圍繞某一概念的論斷越來越多,與文本空間快速增長相比,知識子圖空間增長較小,例如,有大量的文本涉及的知識單元只有一個。知識子圖是一個獨立的數字對象和最小的知識單元,其本身可被發現、可訪問、可互操作以及可重用。
在上述5種醫學知識表示模型中,醫學診斷規則和數據驅動的疾病預測模型主要涉及結構化數據,以三元組為基礎的表示模型主要適用于非結構化文本。實際上,規則也可以表示為三元組,例如,“心率”-“正常值”-“60~100次/分”就是“實體-屬性-值”表示的三元組;基于醫學數據、通過機器學習產生的決策樹,可以轉化為一系列的醫學規則,亦可理解為三元組的邏輯組合。知識圖譜的本質是三元組因果關系圖譜,由“實體-屬性-值”或“實體-關系-實體”構成。每個屬性-值對應刻畫了實體的內在特性;關系則連接兩個實體,刻畫了實體之間的外部關聯。
本文第2節提出了可計算醫學知識的兩個要素:一是可計算化的表示形式,二是機器可執行。第3節和第4節分就分為圍繞上述兩個要素展開,其中,第3節是側重于知識對象封裝成軟件代碼之前如何表示的問題;而第4節側重于知識對象封裝成軟件代碼之后,如何提供服務的整個流程以及尚需要解決的問題。
北京大學健康醫療大數據國家研究院正在牽頭積極推動可計算醫學知識在中國的研究和實踐,并與該概念的提出者——密歇根大學學習型健康醫療體系研究中心Charles Friedman教授的團隊保持著密切合作。Charles Friedman教授團隊開發了一個用于可計算知識對象封裝、存儲、管理和調用的知識網格(knowledge grid,K-Grid)平臺①https://kgrid.org。目前已經實現原型系統,并在持續研發中。北京大學健康醫療大數據國家研究院、浙江省北大信息技術高等研究院智慧醫療研究中心正在中國進行本地化開發與推廣。目前,該平臺中的知識對象主要來源于結構化數據,且以疾病預測模型為主。
上文介紹了荷蘭萊頓大學Barend Mons教授團隊提出的納米出版模型與知識子圖模型,主要來源于非結構化文本。我們嘗試將這類知識對象也能編程封裝之后,在K-Grid平臺上實現調用和執行。因此,為了更充分和全面地在我國設計和發起可計算醫學知識的研發和實踐,我們整合了上述兩條路徑(圖1)。

圖1 可計算醫學知識的兩條實現路徑(分別針對結構化數據和非結構化文本)
知識生成與知識的可計算化處理是分開的、在不同階段進行的。本文重點討論將生成后的知識(臨床指南、醫學文獻、本地實驗/試驗后的分析結果等)實現可計算化這階段。
一是數據挖掘,形成計算機可直接調用和執行(如直接計算出疾病風險分值)的知識對象,用知識網格(K-Grid)管理,提供輔助診斷。例如,根據生化指標判斷患者是否可診斷為慢性腎病合并貧血,根據若干指標計算個人罹患肺癌風險分值等。數據挖掘產生的規則或者模型屬于知識表示模型(如人工神經網絡、決策樹等),還沒有形成可計算知識對象,需要K-Grid平臺上的工具對規則或者模型進行編程封裝之后,才能形成可計算知識對象;多種計算機語言(R或者Python)可供選擇進行預測模型的封裝。雖然R開發環境挖掘出來的模型本身就是可執行的,但是如果想通過K-Grid平臺進行管理的話,還需要進一步編程封裝。這與文本挖掘產生知識三元組是一個平行的過程。
二是文本挖掘,形成結構化的三元組,并納入三元組背后的證據和數據,計算出置信度,采用類似Neo4j圖數據庫來管理,實現知識單元的查詢和輸出。例如,根據目前最佳證據,治療某種疾病的藥物清單,該藥物清單可按照置信度排序,提供治療方式的自動推薦。
總之,無論是路徑一提供的輔助診斷,還是路徑二提供的輔助治療,均為臨床決策支持的范疇。下文分別介紹了在兩條實施路徑中,我們已完成的內容以及需要繼續研發的內容。
當前,作為中國首個“推動醫學知識可計算行動”的網站①https://www.kgrid-china.net/,已完成平臺的設計與研發(圖2)。選擇慢性疾病作為切入點,構建了醫學知識模型與可計算編程規范。已建設醫學知識對象29個,多場景兼容應用14個,全流程慢性腎臟疾病(chronic kidney disease,CKD)解決方案專題2個。為醫療機構和醫學專家團隊提供創建并管理醫學知識模型的平臺,讓知識提供者能便捷分享最新研究成果;提供通用的模型API(application programming inter‐face,應用程序接口)接口,軟件工程師不需要掌握醫學知識即可對模型進行組合與部署,研發符合定制化業務流程的應用;患者可通過已有應用進行健康狀況自評與疾病風險預測,醫護人員可以使用應用輔助診療與科研。通過與北京大學醫學部、北京大學第一醫院、密歇根大學等多家醫療機構與國內外院校開展深度合作,推動了學習型智慧健康體系在中國的落地發展。
其主要功能是把原先需要醫護人員、醫療領域決策者或者醫學科研人員認真閱讀、深入理解才能具體掌握的醫學知識,轉變為可計算的醫學知識對象,以供各類醫學應用大規模、并行、且實時地調用運行。該平臺的核心組件主要包含知識對象、知識對象庫、知識對象激活器以及服務四個部分(圖2)。

圖2 K-Grid-China可計算醫學知識智能應用平臺示意圖
(1)知識對象(knowledge objects)。知識對象是經編程封裝的模塊化、計算機可識別、可處理執行的知識模塊。其來源可以是臨床指南(guideline)、期刊文獻以及數據驅動的疾病預測模型等。知識對象包含程序語言所組成的核心知識載體(knowledge payload)、用于與外界溝通的知識對象元數據(meta‐data)、該知識對象部署及相關服務的詳細說明(spec‐ification)。
(2)知識對象庫(digital library)。知識對象庫用來儲存與管理知識對象。一個知識網格平臺可以包含多個知識對象庫,知識對象庫之間相互關聯,知識對象庫的基礎為一個網絡服務器(web server),加上對象檢索服務。
(3)知識對象激活器(activators)。知識對象激活器是一個用來處理患者健康數據、激活并部署知識對象、利用知識對象來提供服務的工具。激活器提供可平行擴展的工具來讓知識對象基于真實世界的患者數據進行計算推理,并給出運行結果。理想上激活器可以執行以不同語言所編程封裝的知識載體,可將知識載體提供給其他應用程序,也可讓某一知識載體本身提供服務。
(4)服務(services)。核心功能在于鏈接醫學應用與知識對象,利用外界應用的輸入數據激活相關的知識對象,并把運行結果反饋給外界應用。
知識網格平臺與各個來源不同、類型相異的醫學知識相比較,就如共同的橋梁和獨立的小船,知識網格平臺為各種醫學知識提供了一個通用的平臺工具,讓各類醫學知識能夠通過該平臺以一個通用的標準和模式為各類醫學應用所調用,以期為學習型智慧健康醫療體系中知識到實踐一環提供基礎架構。
在該路徑中,推進可計算的醫學知識研發與應用還面臨著若干挑戰。一是將可計算的知識對象,例如,疾病預測模型應用于不同的電子病歷系統涉及的標準和互操作性問題;二是需要更好地追蹤和評估可計算醫學知識對患者診療結果的影響;三是如何將目前針對單一病種的可計算醫學知識實現方法和手段拓展到針對共病的醫學知識等[34]。
從文本信息中提取知識,開展知識計算一直是情報學的前沿問題,其核心在于找到合適的知識單元,即要解決什么是知識以及用什么來表示知識。現有研究表明,受計算機科學領域啟發,以“實體-關系-實體”和“概念-屬性-值”三元組作為知識計算單元,具有理論上的合理性以及數據實現的可行性[35]。數字時代,文本大數據中隱藏著大量醫學知識,去除醫學文本冗余部分并提取結構化知識單元是解決信息超載問題、實現大規模知識計算的關鍵。但仍有兩個科學問題需要解決。一是如何既完整又最小化(不可再分)地表示一個獨立的醫學知識單元,即如何在三元組及其邏輯組合形成的知識圖譜中,找到一個最小子圖,作為可計算醫學知識的基本單元,對其利用計算機語言進行編程實現,通過計算機程序實現與醫療數據之間的自動化對話;二是鑒于醫學知識的個體化和不確定性特征,需要明確醫學知識單元成立的依賴條件和證據來源,同時兼顧醫學知識表示的結構化、完整性和不可再分性,才能將人讀的知識格式盡可能“無丟失”和“無冗余”地轉化為機器可讀且可執行的知識格式。
以美國密歇根大學K-Grid原型為基礎,參考荷蘭萊頓大學納米出版模型和知識子圖(knowlet)模型,本文提出從非結構化文本中生成可計算醫學知識的語義表示模型(圖3)和主要實現路徑(圖4)。該模型兼顧醫學知識結構化和可執行兩個核心要點,考慮將置信度作為醫學知識執行和應用的必要條件,以“可編碼知識單元+置信度+可追蹤的證據來源”為基本組件,每個組件均以資源描述框架(resource description framework,RDF)格式進行描述。為實現知識之間的互操作,對每個可編碼知識單元分配一個可信任的統一資源標識符。該模型將“知識單元”及其背后的數據和證據鏈接起來。

圖3 從非結構化文本中生成的可計算醫學知識的語義表示模型

圖4 源于非結構化文本的可計算醫學知識流程圖
該模型的關鍵要素主要包括三個方面。
(1)知識的結構化問題。采用較為成熟的英文醫學自然語言處理工具和中英文醫學術語映射體系,解決中文醫學自然語言處理和三元組抽取問題,形成以主語-謂語-賓語三元組形式表示的結構化主張。針對英文自然語言表述的醫學文獻、臨床指南、醫學百科和現有醫學知識庫等,利用一體化醫學語言系統(UMLS),優化基于SemRep抽取的臨床相關“概念-關系-概念”三元組;對于召回率低的問題,考慮增加利用通用信息抽取工具,如OpenIE抽取“實體-屬性-值”三元組。同時,需要開展醫學證據、結局指標與數值抽取,內容包括臨床結局指標(如有效率、應答率等)、值及P-value。例如,從自然語言文本“2019年我國心血管疾病導致死亡人數約460萬,占全部死亡的43%”中可抽取出:①三元組:“心血管疾病-死亡占比-43%”;②依賴條件:中國人群;③證據來源:2019年全球疾病負擔報告(the global burden of disease study 2019,GBD 2019)。同時,探索基于臨床試驗注冊平臺數據開展證據合成的方法研究,以美國Clinicaltrials.gov、中國臨床試驗注冊平臺等為基礎,利用其相對結構化的數據,自動生成“患者-干預-對照-結局”(popu‐lation-interventions-comparisons-outcomes,PICO),對于注冊平臺上未報告結果的試驗,通過計算機軟件工具獲取書目數據庫(如PubMed)或網絡(如權威會議報道)報告結果。
(2)知識的置信度問題。針對現有的臨床治療類知識圖譜中三元組因缺乏置信度(confidence score)導致在真實世界臨床決策難以落地的瓶頸,需要對醫學知識三元組的置信度水平進行計算,但總體的置信度水平離不開每個證據的臨床結局。根據證據推理(evidential reasoning)理論,把不同的臨床證據的置信度進行合成,可計算得到該三元組的綜合置信度得分。通過舍棄置信度較低的知識,或找到置信度較低知識的條件來保障知識圖譜中三元組的質量。
(3)知識的臨床決策支持應用。基于中文一體化醫學語言系統(Chinese unified medical language system,CUMLS)[36]、國家衛生健康委員會陸續發布的中文醫學術語表等,對構建的醫學知識圖譜中各三元組中的概念和關系進行中英文映射,轉化為中文醫學知識圖譜三元組。探索實現醫學知識“可執行”的機制,將醫學知識圖譜的子圖作為知識單元進行計算機語言編碼,并開發與真實世界電子病歷中數據對話的接口。基于帶有置信度的知識三元組,通過計算機編程封裝轉化為可計算知識對象以輔助臨床決策,如診斷預測、治療推薦等。通過在臨床工作流程中嵌入可計算知識對象、開發可計算知識和患者數據之間的對話機制,解決從知識到實踐,從實踐再到數據的循環式學習,解決醫學知識圖譜在真實場景中落地應用問題。
對于從非結構化文本中抽取可計算醫學知識,結構化和可執行同樣是其兩個關鍵要素,也是兩個重要目標。其中,結構化是指從非結構化醫學文本中生成結構化的知識,并構建適宜的表示和存儲模型,實現大規模存取;可執行是指能與電子病歷(EMR)數據進行交互,并提供決策支持,實現大規模使用。在知識圖譜三元組的基礎上,提出增加通過證據推理融合計算總體置信度水平的思路,解決的知識應用的關鍵瓶頸——不確定性。最終實現“從數據到知識、從知識到實踐、從實踐再到數據”的循環式學習,促進醫學知識快速服務于臨床實踐。
本文所討論的“可計算醫學知識”,均來源于醫學文獻、臨床指南等科學出版物,其中既涉及邏輯化的知識對象,又涉及結構化的知識單元。對科學出版物的分析挖掘本身就是情報學的“看家本領”。但本文的研究重點并非對科學出版物外部屬性特征的分析挖掘,而是對其中蘊含的知識單元或知識對象的分析挖掘,這也是促進情報學向深層次發展的需要,正如我國情報學學者馬費成教授曾指出,從物理層次的文獻單元向認知層次的知識單元轉換是情報學取得突破性發展需要解決的關鍵問題。本文所涉內容是通過醫學信息學或循證醫學的智能化實現技術作為手段或途徑,來討論如何把科學出版物中的知識主張或知識對象,以合適的形式抽取出來,并通過編程封裝,形成可計算的知識,即計算機可直接執行的知識,以促進知識的大規模應用,打通“data to knowledge”(D2K)和“knowledge to practice”(K2P)的鴻溝。
從科學出版物中抽取出知識單元或知識對象的過程,本身也是一個信息處理和情報提取的過程。但是,到底什么是知識單元或知識對象,需要明確其定義并構建合適的模型,即對“可計算化”進行建模。本文提出的兩條實現路徑,實際上分別對應了知識對象和知識單元。
受OMAHA白皮書《促進醫學知識價值開發:臨床指南的計算機化》(2019)[37]的啟發,本文認為,知識對象的抽取和封裝過程是基于知識的建模;知識單元的抽取和封裝過程是基于文檔的建模。前者側重知識的內在邏輯,后者側重知識的表示形式。
(1)基于文檔的模型。以科學出版物文檔本身為中心,將其中以文本表示的知識主張(knowledge claims)轉換為計算機可以理解的文檔形式,例如,以三元組為主要形式的知識單元,強調知識主張的結構化。這種模型結構清晰、表示方法簡單易懂、不需要特殊執行框架,可通過圖數據庫進行存儲和查詢,即使不懂編程知識的用戶(如醫學研究者、醫生等)也可使用,其通用性較強。但由于其計算機化的程度只到文檔層面,就導致了其對科學出版物中知識主張及其背后的邏輯論證過程的解構程度較淺,無法實現知識主張中復雜邏輯知識的表達,因此,其在決策支持(如臨床輔助決策支持)層面的應用較淺,復雜知識的表達還得依賴基于知識的模型。
(2)基于知識的模型。以科學出版物中的知識為核心,將其中的知識對象以規則、決策樹或者任務網絡的形式進行邏輯的呈現,強調知識的邏輯表示形式,采用專門的格式將知識表示為一種形式化、計算機可讀的形式,并且將不同知識融合形成一套知識庫,用于臨床輔助決策系統,并強調與電子病歷系統的結合。同時,強調在不同機構和不同執行平臺間的知識共享,故標準化的醫學術語,如SNOMED CT(systematized nomenclature of medicine clinical terms)、UMLS和MeSH(medical subject head‐ings)應用非常普遍。由于對醫學知識的解構較深,這類模型普遍需要臨床的醫務工作者或者指南的撰寫者與編程人員一起開發,才能更好地理解和表達醫學文獻與臨床指南中所包含的知識對象。
本文結合與情報學密切相關的科學哲學、決策科學等以“知識”為關注對象的領域的最新觀點和進展,從學科交叉的角度,討論可計算醫學知識在促進知識轉化、知識發現和循證決策的可靠性方面的具體應用場景。
(1)促進從知識到實踐。目前,科學知識基本以文本格式發布,不利于用戶使用。科學出版物是知識載體,從中抽取知識單元或知識對象,并封裝成軟件代碼,這是可計算知識的基本概念和路徑。與其他學科領域相比,醫學領域和信息學的交叉研究(如醫學信息學、健康信息學)的技術進展較快,需求也更為迫切,尤其是醫療實踐需要跟上醫學知識的快速增長和更新,需要將醫學知識快速轉化為醫療實踐,而將人讀的醫學知識轉化為機器可讀、可執行的醫學知識是促進“知識到實踐”的有效途徑。
(2)面向知識發現的知識管理。將科學知識儲存在論文里,很難將所有的發現整合起來。學界認為,以數據為中心的科學標志著數據必須從論文限制中“解放”出來,并存儲在云端,以看到更大、更具全局性的畫面。理想情況下,所有的科學出版物都應該是計算機可讀的,這樣計算機就可以檢測出人類無法識別的模式[38]。最近,挪威學者在《計算時代“可解釋的、可計算的、可管理的”的科學知識》一文中,提出將知識視為可計算對象的觀點[39],認為計算賦能(可計算)的知識管理實踐提供了獲取新的一階科學知識的二階科學研究方法,并提出了兩個基本的知識概念:①知識被認為是在已發表的科學文本中顯性表達的事實和信息;②知識被認為是通過適當的派生數據(derived data)和元數據來實現計算的。他們將可計算的知識管理(computable knowledge management)定義為:在科學出版物(如PubMed)和知識庫(如GenBank)等一階知識的基礎上開展二階科學研究,生成新的一階知識的過程。本文認為,這一概念與基于文獻的知識發現(literature-based discovery)是相似的,即把零散的、不相關的信息進行整合,揭示出新的、有希望的、令人驚訝的研究方向,或者提供潛在的變革性或突破性的見解[40]。計算科學家以從文獻和數據庫中提取的知識為基礎,對其進行計算處理,從而挖掘出可以由實驗科學家在實驗中得到檢驗的新假設。實驗科學家和計算科學家之間的合作已成為科學知識發現的新趨勢。
目前,知識管理主要依賴于客觀認識論,即將知識視為客觀的、物理的、可完全可解釋的,而忽視了知識的不完整性、不確定性程度及其上下文背景,如其依賴的條件。要真正實現從現有知識大數據中再次發現新的知識,就不應僅關注結構化的知識單元(knowledge unit),還要關注知識背景(knowl‐edge context)。以實踐為基礎的認識論挑戰了科學知識可以完全解釋和編碼的假設,其認為開發知識管理工具以及據此做出決策和判斷需要考慮科學知識固有的模糊性、不確定性;而且科學知識是多維的,既有具體性又有抽象性,既有隱性又有顯性,既有集體性又有個體性,既有發展性又有靜態性。認識到知識表達的多樣性、模糊性、不確定性和不一致性,才能更高效地發現新的知識。將知識的動態性、不確定性、具象化和爭議性納入計算過程,是確保知識發現的有效性和可靠性的關鍵因素。因此,本文在知識圖譜三元組的基礎上,提出增加通過證據推理融合計算總體置信度水平的思路,解決的知識應用的關鍵瓶頸——不確定性,以打通知識和實踐之間的橋梁。
(3)循證決策。循證決策(evidence-based poli‐cy-making)是借鑒循證醫學而發展出來的一套決策理論,認為政策和決策制定也應吸收和使用最新的科學證據,同時,將社會經驗和價值判斷結合起來,尤其是在突發事件中,做出最佳決策,如新冠肺炎疫情的防控和治療[41]。但在政策和實踐中執行循證決策時,需要克服以下障礙[42]:①錯失機會窗。如果在需要制定關鍵決策時沒有所需要的證據(或沒有資源/基礎設施),那么就會失去循證干預的機會。②知識缺口與不確定性。③有爭議、無關的和相互矛盾的證據,這時不清楚遵循哪一條路徑,會增加制定不正確或非循證決策的風險。而第二條和第三條障礙都涉及知識的不完備性和不確定性,促進本文對DIKW(data,information,knowledge,wisdom)模型的再次理解,尤其是關于如何從知識到智慧這一環節。從數據到信息,再到知識,解釋的是“when/where/who/what”和“how/why”的問題。而從知識到智慧,解決的是“如何在不完備和不確定條件下中做出最佳決策”的問題。醫學知識的不完備性和不確定性是客觀存在的,是醫學決策經常面臨的現實環境和需要考慮的重要因素。從情報學的角度對醫學知識不確定性進行測度,通過可計算的知識實現路徑,及時挖掘出有爭議的和相互矛盾的科學證據,可為循證決策提供重要的參考和依據。過去針對政府決策需求的情報學研究和服務可能多側重提供確定性的信息和知識,特別是已證實或證偽的并有大量依據來支持。而識別知識缺口并通過情報學研究,特別是基于文獻的知識發現,彌補這些知識缺口,以及測度并甄別出不確定性的知識及其背后的原因和條件,對于循證決策至關重要。
當前,我國政府高度重視面向人民生命健康的科技創新,《健康中國2030規劃綱要》中提出,到2030年,大力加強國家臨床醫學研究中心和協同創新網絡建設。可以預計,與我國人民生命健康相關的本土醫學證據和知識將快速增長。目前,有關我國人群疾病與健康相關的醫學知識散落在電子病歷、電子健康檔案、醫學文獻報道、臨床實踐指南以及醫療機構網站或自存儲庫中,需要人讀、人理解或人整合之后,才能形成臨床實踐中可直接大規模使用的知識。此外,我國為數不多的可計算知識生成和應用實例(主要是臨床決策支持工具系統)處于不同機構各為所用、互不兼容、缺乏標準的狀態,存在顯著的碎片化現象。同時,隨著我國對發展健康醫療大數據與醫療人工智能的重視和投入[43],以及公眾的健康意識逐步從單純的醫療服務提前到基于數字技術進行個人健康管理,健康醫療數據在實踐中不斷積累。在海量知識和數據的背景下,通過可計算醫學知識的理念,將醫學研究產出的證據和知識及時轉化為臨床實踐,并搭建醫學知識和醫療實踐之間交互的“接口”和“橋梁”,形成“數據-知識-實踐-數據”的循環式學習,從而提高醫學研究效率和醫療服務質量,為我國建設學習型健康醫療體系提供方法學基礎和路徑參考。
總之,可計算知識強調將人讀的知識格式通過抽取和編程轉化為機器可執行的知識格式,其是促進將知識大規模應用到實踐的重要手段,不僅為情報學領域開展知識計算或知識計量學研究提供了新范式,也為數字圖書館存儲和管理數字化知識對象提出了新需求。本文以醫學為例,詳細地闡述了可計算醫學知識的基本概念,并提出從結構化數據和非結構化文本中生成和共享可計算醫學知識的兩條實現路徑,以期為國內學術界開展醫學知識計算引入跨學科研究思路,并拓展其應用實踐。