,, ,
隨著互聯網、大數據等技術的發展,各領域的數據和知識都呈爆炸式的增長,對知識進行高效組織和管理的需求不斷增加。知識圖譜是在大數據背景下產生的一種高效的知識表示和管理方式[1],能夠支持綜合性的知識檢索、問答、決策支持、可視化分析等智能應用[2-4]。目前,知識圖譜已經被應用到各行各業中,如醫學、金融、農業等領域的信息檢索、知識問答、知識推理等。但現有的知名知識圖譜大多適用于通用領域,如谷歌知識圖譜、Facebook興趣圖譜、搜狗“知立方”等,專業學術領域相關的研究和應用還相對較少,無法滿足科研人員的需求。因此,面向特定領域的知識圖譜研究與實踐變得尤為重要。
近年來,研究者圍繞醫學知識圖譜的構建與應用開展了大量研究,如Maya等人提出了一種從電子醫學病歷中自動提取疾病和癥狀概念并自動構建知識圖譜的方法[5],Meng Wang等人通過構建層次化知識圖譜來獲取電子醫學病歷中患者、疾病和藥物之間的關系[6],Longxiang Shi等人探索了一種可以實現知識圖譜中異構醫學健康知識和服務自動檢索的新模型[7],以及面向知識圖譜的可視化分析[8-10]和應用研究[11-12]等。現有的醫學知識圖譜研究多集中于臨床數據和文獻資源,而面向醫學百科數據的知識圖譜研究還較為匱乏。因此,本文將借鑒谷歌知識圖譜構建的技術和經驗,選取較為規范的醫學百科數據作為知識圖譜的應用案例,構建面向重大疾病的醫學百科知識圖譜,以期為相關人員提供知識的高效搜索,為知識間關聯關系的發現奠定基礎,并最終應用于醫藥衛生專業知識服務系統平臺,輔助開展知識的語義關聯和搜索,以及知識問答、智能診斷等更為深入的應用。
本文利用醫學百科數據進行醫學百科數據的知識圖譜構建,從數據獲取、實體識別、關系抽取、可視化展示等方面闡述醫學知識圖譜的構建流程,最后應用于“中國工程科技知識中心醫藥衛生專業知識服務系統平臺”,實現醫學知識圖譜的應用。
知識圖譜的構建方法可歸納為自頂向下和自底向上兩種[13]。自頂向下的方法是先構建知識圖譜的本體,自底向上的方法則是從實體層開始構建[14],然而實際構建過程中一般是2種方法結合著使用。知識圖譜的構建涉及實體抽取和實體之間關系的建立[15],首先需要從數據中提取出實體、關系和屬性,然后利用圖譜繪制軟件或工具生成相應的圖譜,可視化展示實體及實體間的關系。
醫學百科知識圖譜的構建流程與之相似,分為知識獲取、知識處理和知識應用3部分。針對半結構化的醫學百科數據,需通過命名實體識別、實體關系抽取等技術進行結構化處理,形成對應的知識三元組,然后利用相關軟件和工具將其轉換為另一種可視化、直觀的表示形式,即知識圖譜。具體流程如圖1所示。
知識獲取即調研、收集擬處理的數據對象,以數據的可靠性、完整性、權威性為目標,以確保數據在后續處理、分析、評估及共享過程中的合理性和價值。隨著健康問題的關注度持續上升,積極開展健康知識的研究也是實現“健康中國2030”的重要保障。醫學百科是公眾獲取健康知識的一種重要途徑,好的展示方式將有助于用戶更有效地了解相關知識,從而促進重大疾病的預防和篩查。考慮到醫學百科數據量較大,本文擬選取目前疾病負擔較重的腫瘤、心腦血管疾病、呼吸系統疾病等探索醫學百科知識圖譜的構建方法,并以發病率較高的哮喘為例進行詳細說明。

圖1 醫學百科知識圖譜構建流程
“百科名醫網”(http://www.baikemy.com/)是國家衛健委(原“衛生計生委”)權威醫學科普項目唯一的指定網站,涵蓋了大量醫學和養生知識,擁有嚴格的質量控制和審核機制,內容嚴謹、科學。鑒于其數據內容全面、質量可靠、權威性高,本文使用Java語言通過網絡爬蟲方法抓取“百科名醫網”中與腫瘤、心腦血管疾病、呼吸系統疾病等主題相關的詞條信息,為后續知識處理產生原始數據基礎。
本文基于該爬蟲程序構建了醫學百科數據集,并采用人工剔除的方式輔助篩選出了82條詞條信息,包括疾病名稱、臨床表現癥狀、原因、診斷、治療、預防等內容。同時對采集的詞條信息進行數據清洗、編輯、分組、排序、重復值刪除、規約等一系列預處理操作,以保證數據的完整和準確。
知識處理是指通過命名實體識別、實體關系提取等技術和方法對所收集的數據進行的規范化處理。其中,命名實體識別技術是信息抽取、機器翻譯、問答系統等多種自然語言處理技術必不可少的組成部分,也是構建知識圖譜的重要手段之一[16-18];實體關系抽取的目的則是確定文本中實體對之間的關系,具體而言就是利用關系抽取技術,從無結構的海量文本中提取出格式統一的數據,然后借助計算機快速處理文本,抽取實體之間的語義關系,從而構建出眾多實體之間的關聯信息[19-20]。盡管目前面向命名實體識別、實體關系抽取任務的工具有很多,如針對疾病的工具DNorm-0.06、針對藥物的工具tmChemM1-0.02等,但大多只適用于某些特定的應用場景。因此,根據實際需要選取相應的工具提取實體及實體間的關系信息至關重要。
1.3.1 命名實體識別
本文通過中文命名實體識別工具Stanford NLP識別出有效的疾病、癥狀等實體,為后續實體關系的抽取奠定基礎。此外,為了確保數據質量,聘請專業人員對識別結果進行審核、校對,修改未能正確識別的命名實體。
通過對上述百科數據集進行癥狀、診斷、病因等命名實體的識別與校對,共得到1 876個實體。本文以哮喘的部分文本為例進行分析說明。圖2為哮喘百科文本中識別出的實體情況,包括病因、癥狀、診斷等相關概念實體,每個實體又包含了實體的名稱、實體的類型等。

圖2 “哮喘”百科文本中相關命名實體
通過對上述“哮喘”百科文本數據進行命名實體的識別,共識別出41個相關實體。其中病因實體15個、癥狀實體9個、治療實體9個、診斷實體2個、檢查實體6個。
1.3.2 實體關系抽取
實體關系抽取是構建知識圖譜的重要環節之一,主要是根據實體的屬性、類別、消歧信息、關鍵詞等特征確定實體的所屬關系類別。
醫學領域數據具有內容豐富、信息量大、潛在價值高等特點,因此對該領域的數據進行關系抽取具有非常重要的意義。如醫學百科的關系抽取可以幫助公眾快速了解疾病的病因和癥狀,電子病歷的關系抽取可以用于臨床決策支持等。
醫學領域實體關系抽取的任務主要是抽取疾病和藥物、疾病和癥狀、疾病和基因、疾病和疾病、藥物和癥狀、藥物和藥物等實體間的關聯關系,從而為患者和領域專家提供支持。
首先,抽取每個實體所對應的特征和關鍵詞等信息。百科中的實體都對應著一些結構化和半結構化的特征,本文將采用這些特征來表示實體的類型(圖3),如“哮喘”百科文本中描述的語義特征包括類別特征、上下文特征、關系特征、別名等。另外,文本中的關鍵詞也能對實體之間的關系起到一定的提示作用,如兩個實體之間的關系為“治療”,那么句子中就可能包含消除、減緩、恢復、控制等關鍵詞[21]。
然后根據抽取出的實體及其特征和關鍵詞信息進行實體關系的標注,并用RDF三元組表示,如“哮喘”的癥狀表現為“胸悶”、檢查方式有“肺活量”等;同時能夠展示層次化的關系,如“哮喘”的病因有“敏感原”,“敏感原”又包括“花粉”等(圖4)。
本文將識別的疾病、癥狀、診斷、治療等相關的實體和概念使用xml技術存儲于數據庫中(圖5),然后基于dom4j、XPath等技術對xml文件進行解析,構造相應參數,為后續的可視化分析和展示奠定基礎。

圖3 百科中“哮喘”的實體特征

圖4 RDF三元組表示

圖5 知識存儲情況
知識應用是基于上述知識提供的知識圖譜、輔助語義搜索、可視化分析、智能問答、專家系統等功能和應用。其中醫學知識圖譜是一種新型、直觀的實體關系展示方式,可基于實體的概念、屬性、關系等生成多元的可視化知識圖譜;可視化技術可以利用計算機技術將醫學數據轉換為圖形或圖像,提高交互能力。通過對疾病、藥物、癥狀等醫學數據的可視化處理,能夠實現更好的視覺效果,同時也更容易地被用戶所關注,幫助用戶快速發現感興趣的內容、挖掘知識間的關聯關系。常用的可視化工具有CiteSpace[22]、Tableau[23]、R語言[24]等,各類工具的功能和視覺效果都各有側重,應具體情況具體分析。
圖形化展示是知識圖譜構建的重要部分。本文選取開源免費的ECharts可視化圖表工具對上述百科實體及其關系進行可視化展示,直觀、生動、可交互、可個性化定制,還賦予用戶進行數據挖掘和整合的權限。
為實現上述百科實體關系的可視化應用與服務,本文設計了可用于人機交互展示的系統功能架構,并對各百科知識圖譜進行平臺系統實現,在“醫藥衛生專業知識服務系統(http://med.ckcest.cn)”中新增“知識圖譜”應用(圖6)。

圖6 知識圖譜應用系統頁面
該知識圖譜的應用實現了面向心腦血管疾病、腫瘤、呼吸系統疾病、慢性病等4個主題的醫學領域重大疾病的百科知識圖譜展示,以“哮喘”為例,提供“力導向布局圖”和“和弦圖”兩種可視化功能,用戶可根據需要隨意切換,如圖7、圖8所示。其中不同顏色、不同尺寸的圓圈表示不同級別的實體,“邊”表示實體間的關聯關系。如果想了解某兩個實體間的關系,只需將鼠標懸浮于此即可查看。其中,“力導向布局圖”還支持節點的拖拽功能,用戶可按需調整各實體的位置以達到最好的展示效果。另外,兩種圖提供圖片保存功能,方便后續開展對比分析和深入研究。
通過對“醫藥衛生專業知識服務系統”后臺日志的分析,發現“知識圖譜”應用的嵌入使該系統中“百科數據”的訪問量有了突破性增加,有超過20%的用戶關注并瀏覽過知識圖譜應用,且用戶較為關注的內容主要包括哮喘、乳腺癌、肺癌、腦卒中等疾病。
由此可見,可視化的知識圖譜應用符合領域人員的關注點,能為用戶更好地發現知識間的關聯關系提供幫助,并可大大提升平臺的訪問率和用戶體驗。結合各領域技術開展百科數據知識間的關聯與挖掘,可為相關人員了解疾病的發病與關聯因素,開展創新研究等提供新的視角,幫助公眾直觀獲取相關疾病的知識,提高對疾病的認知,為減少或預防高發疾病的發生提供依據,為國家工程科技智庫在醫藥衛生、公眾健康、科技創新等方面開展宏觀發展策略研究提供多元、智能的知識和服務,為我國醫藥衛生事業發展做好服務支撐工作。

圖7 “力導向布局圖”可視化展示

圖8 “和弦圖”可視化展示
本文通過構建面向重大疾病的醫學百科知識圖譜,實現了相關疾病、癥狀、藥物、病因、診斷、治療等知識的關聯,提供了力導向布局圖和弦圖兩種可視化展示方式,且支持人機交互以及圖片下載保存的功能。在知識圖譜可視化的基礎上,用戶可以直觀獲取上述知識間的關系,并能通過人機交互的方式、根據個性化需求生成滿意的圖譜,從而為深入開展相關科學研究和知識潛在關聯關系的發現奠定基礎。
目前,知識圖譜技術僅應用于“醫藥衛生專業知識服務系統”中“百科數據”的展示,尚未實現真正意義上的語義搜索。下一步,我們將繼續拓展醫學專家、研究機構、專利、報告、文獻等類型資源,抽取各類資源所包含的概念、實體、屬性及其關系,圍繞共同概念和實體整合不同類型、不同來源的知識,形成豐富、多元的知識庫,從而構建全面、巨大的知識圖譜,為“中國工程科技知識中心醫藥衛生專業知識服務系統”提供全面的知識檢索和實體鏈接方法,提高知識檢索和獲取的效率。