?

面向誤診提示的疾病-癥狀語義網構建

2018-06-01 02:53紀林影翟睿峰
吉林大學學報(工學版) 2018年3期
關鍵詞:結構化語料庫本體

黃 嵐,紀林影,姚 剛,翟睿峰,白 天

(1.吉林大學 計算機科學與技術學院,長春 130012;2.吉林大學 符號計算與知識工程教育部重點實驗室,長春 130012;3.吉林大學 軟件學院,長春 130012;4.吉林大學第二醫院 神經內科,長春 130041;5.長春理工大學 電子信息工程學院,長春 130022)

0 引 言

誤診[1]是臨床診療中的一種常見現象。它造成的后果程度不一,輕者增加病人身心痛苦,延遲康復時間,重則危及生命,是醫療事故和醫療糾紛的主要原因之一。在臨床診斷過程中,由于人們認識水平的局限性和疾病變化的復雜性,醫生的初診結果與疾病的實質不相符的現象時有發生,隨著科學技術的進步和現代醫學的發展,臨床中不斷引入各種現代化的檢查儀器,使得診斷手段有了很大進步,然而臨床誤診率并沒有因此下降[2]。根據粗略統計,疾病誤診率仍為10%~15%[3]。

誤診的最主要原因是相似癥狀的混淆。癥狀是臨床診斷的主要依據,容易誤診的疾病通常是由于其癥狀相似。易誤診疾病及癥狀的知識大量存儲在各種書籍文獻和開放的網絡數據庫中。因此,整合相關知識源,構建一個“疾病-癥狀”知識系統對疾病診斷過程中可能發生的誤診作出提示,對提升臨床診斷效果有重要意義。

近年來,生物醫學知識表示領域取得了一系列的進展:①結構化生物醫學知識的表示及發現。本體是一種重要的結構化知識表示方法,是共享概念模型的明確的形式化規范說明,它的主要功能是實現知識的共享和復用[4]。一些主要領域的本體已經建立,如基因本體[5]、疾病本體[6]、人類表型本體[7]。②非結構化生物醫學知識的表示及發現。近些年,大量生物醫學信息和知識以學術論文、醫學教科書、病例報告等半結構化和非結構化表示形式在互聯網上發表。劉彥斌等[8]針對語義生物信息庫整合領域,解決了數據資源的鏈接問題。Mohammed等[9]通過構建疾病與癥狀之間的關系,將疾病本體與癥狀本體整合在一起。Cheng等[10]通過建立疾病相關數據庫的語義關系來整合關于人類疾病的各種知識源。Huang等[11]設計了一種基于網絡的算法,從多種生物醫學語料庫中抽取了疾病與基因的關系。Bai等[12]通過連接多種生物醫學本體與知識源構建了一個混合的生物醫學知識網絡。然而,在對誤診提示的支持方面仍然存在一些尚未解決的問題。首先,現有的癥狀本體是基于解剖學的,其概念之間沒有語義上的聯系,使得癥狀間的相似關系在本體中沒有得到體現。其次,癥狀與疾病間的關系存儲在非結構化的文本中,未被抽取出來進行結構化的表示。而且,癥狀與疾病間不是簡單的一對一關系,還存在常見與罕見的區別。最重要的是,現有醫學知識表示系統中都未包含疾病間的鑒別診斷(易誤診)知識。鑒別診斷知識通常存儲在診療手冊等文獻中,尚未結構化地表達在計算機系統中,限制了疾病間易誤診知識的直接利用。

綜上,本文構建了一個疾病-癥狀語義網(Disease-symptom semantic net,DSSN),其包含了疾病本體DO、癥狀本體及疾病間的易誤診關系,并通過一個醫學診斷中的例子來評估此語義網對于易誤診的提示作用。由于醫學文獻(如PubMed等)大多由英文表示,并且目前醫學領域已建立的大量本體(如DO)及各種術語標準(如ICD-10等)都是由英文表示的,因此本文構建的語義網也采用英文表示,并將在下一步工作中擴展中文版。

1 癥狀本體構建

構建癥狀本體的步驟為:①從SYMP,Wikipedia, Cleveland Clinic和Mayo Clinic等醫療領域知識庫中獲取描述癥狀文本的語料庫;②在此語料庫中進行癥狀描述詞語的識別,得到盡量豐富的癥狀詞匯候選集;③計算候選集中癥狀詞匯間的語義相似度;④根據癥狀詞語之間的語義相似度合并相近語義癥狀,建立一個新的癥狀本體。

1.1 語料庫

為了獲得全面、準確的癥狀詞匯,本文選用SYMP、Wikipedia、Cleveland Clinic和Mayo Clinic作為語料庫。SYMP(Symptom ontology)是一個以解剖學為基礎的癥狀本體,包含936個癥狀;Wikipedia中包含了以ICD-10為標準的全部疾病的百科知識頁面,其中每個疾病都包含了其常見和罕見的癥狀描述;Cleveland Clinic和Mayo Clinic是美國頂尖的綜合醫療機構,集醫療服務、學術研究及教學于一體,其各自網站上都建立了疾病相關診療知識的知識庫,包含各種疾病的癥狀描述。本文使用SYMP中的癥狀詞匯,并分別提取Wikipedia, Cleveland Clinic和Mayo Clinic中關于疾病癥狀描述部分的文本作為癥狀識別的語料庫。

1.2 癥狀詞匯識別

生物醫學注釋工具,如NCBO annotator[13]和MetaMap[14],可以高精度地注釋與疾病和癥狀相關的術語。然而,在本文選用的語料庫中,大量相關的詞匯并不是出自現有疾病、癥狀等本體,甚至有些不是由單獨的單詞構成,所以不能被傳統的注釋工具完全識別。為了全面、準確地提取所有癥狀詞匯,本文預先把文本語料庫分為結構化語料(本體)和非結構化語料(文本)。對于這兩種類型的語料,癥狀詞匯識別流程為:①對于結構化語料,將之直接放入癥狀詞匯候選集中;②對于非結構化語料,首先,使用Porter Stemmer算法[15],在文本中提取與癥狀詞匯候選集中詞匯具有相同詞根的詞匯;然后,使用基于WordNet[16]的英語詞匯相似度計算算法,進行特征提取,計算特征值,以此來提取文本中與候選集中詞匯語義相似度高的詞匯;最終,識別出文本中所有的癥狀詞匯,圖1為從Wikipedia中腦炎(encephalitis)的癥狀描述部分中識別出癥狀詞匯。至此,本文就獲得了擴充的癥狀詞匯候選集,共為2250個。

圖1 癥狀詞匯識別結果Fig.1 Result of symptom words recognition

1.3 同義癥狀合并

不同語料庫對于同一種現象描述的詞匯可能是不同的,例如對于“麻痹”這個癥狀,就有“paralysis”、“numbness”和“palsy”,為了統一表示相同意義的癥狀描述詞匯,本文對癥狀描述詞匯進行同義詞合并處理。分為兩步:①在癥狀語料中,對于同一癥狀有不同的描述,往往用括號注釋,例如:difficulty swallowing(dysphagia),所以,首先識別文本中所有此類形式的同義詞。②通過基于WordNet的英語詞匯相似度計算算法[16],計算詞匯間相似度值,并以此識別詞庫中有著相同或相近語義的癥狀描述詞匯,合并同義癥狀。

1.4 癥狀本體構建

已有的癥狀本體SYMP是基于解剖學構建的,例如把癥狀分為腹部癥狀、心血管系統癥狀、消化系統癥狀、神經系統癥狀和泌尿系統癥狀等,將癥狀與解剖學名詞關聯,如腹部絞痛、胸部充血。而在本文要建立的癥狀本體中,概念間的層級構建是基于癥狀詞匯間的語義關系。

前文已經進行了同義癥狀合并,得到了癥狀詞匯的同義詞(別稱Xref)。這些同義癥狀在所構建的癥狀本體中由一個概念(節點)表示。而表示相近癥狀描述的詞語,根據其詞根等詞法特征以及語義范疇特征,建立這些相近癥狀詞匯在語義上的“is-a”關系。例如:“痙攣”在癥狀本體中記為spasm(cramp),其子類(近義詞)為muscle spasms,superimposed spasms和involuntary spasms。

2 疾病-癥狀語義網構建

2.1 疾病-癥狀關系抽取

癥狀的出現往往源自于某一疾病,疾病與癥狀之間的關聯關系是臨床診斷中的重要參考。疾病-癥狀關系抽取方法如下:首先,在Wikipedia, Cleveland Clinic和Mayo Clinic中獲取描述某種疾病癥狀的文本;然后,基于擴充的癥狀詞匯候選集,識別此段文本中的所有癥狀詞語;最后,將提取的癥狀詞匯關聯到具體疾病,即建立癥狀-疾病間的關系“has symptom”。如圖1所示,從Wikipedia中關于腦炎(Encephalitis)的癥狀描述文本中,提取了其中的癥狀詞匯:acute onset of fever,headache,confusion,seizures,irritability,poor appetite,ever,drowsy,confused,stiff neck。從而,將腦炎與其癥狀連接起來。由此,建立所有疾病與癥狀的簡單關系“has symptom”。

疾病與癥狀不完全是簡單的一對一的關系,對于某種疾病,有些癥狀是常見的,有些癥狀是罕見的。本文除了建立“has symptom”這種疾病與癥狀間的簡單關系外,將其常見或罕見程度的關系也提取并建立到疾病-癥狀語義網中。方法如下:首先在語料文本中獲取描述頻率的詞語,本文確定了如表1所示的10余個描述癥狀頻率的詞匯。在語料文本中先定位到這些描述頻率的詞匯,再依據擴充的癥狀詞匯候選集,提取同一句子中的癥狀詞匯。依此可以確定某種疾病中該癥狀發生的頻率,并將其建立到疾病與癥狀的關系中。

本文在SYMP, Wikipedia, Mayo Clinic, Cleveland Clinic中提取了363個頻率詞語,如表1所示。通過對臨床醫生的咨詢,依據頻率詞語把癥狀分為3類: “most”,“most common”,“common”,“usually”,“often”,“≥10%”描述的癥狀是“常見癥狀”;“sometimes”,“less commonly”,“less often”,“3%~10%”描述的癥狀是“一般癥狀”;“occasionally”, “rare”,“≤3%”描述的癥狀是“罕見癥狀”。

表1 頻率提取結果Table 1 Results of frequency extraction

2.2 疾病間易誤診關系的獲取及建立

疾病間的易誤診(鑒別診斷)知識,是構建疾病-癥狀語義網的核心。對疾病的誤診使很多本不嚴重的病情,因為延誤了治療時機而帶來了不良后果,易誤診知識對于疾病的診斷是必不可少的,所以本文在疾病-癥狀語義網中涵蓋了這種知識。

對于疾病易誤診關系的獲取,本文選用經典診療手冊《Current essentials of medicine》[17]作為知識源。書中描述了561種常見疾病的“診斷要點”和“鑒別診斷”信息,本文以此建立疾病間的易誤診關系。再將這種關系及鑒別診斷信息建立到疾病-癥狀語義網中,使得此語義網中的疾病根據易誤診關系相互關聯,構成了在醫療診斷中進行誤診提示的知識庫。如圖2所示,以偏頭痛(migraine)為例,首先,在書中獲取關于偏頭痛的頁面,依據“鑒別診斷”文本,獲取其易誤診疾病為:叢集性頭痛(cluster headache)、腦膜炎(meningitis)、蛛網膜下腔出血(subarachnoid hemorrhage)等疾??;并依據“診斷要點”文本,獲取到其鑒別診斷的描述性信息;最后,將此易誤診關系及鑒別診斷信息建立到疾病-癥狀語義網中。

圖2 偏頭痛易誤診疾病間關系,鑒別診斷知識的獲取及建立Fig.2 Acquisition and construction of misdiagnosed diseases and differential diagnosis of migraine headache

2.3 疾病-癥狀語義網的建立

本文使用Protégé[18]構建了一個包含疾病本體、癥狀本體以及疾病之間易誤診關系的疾病-癥狀語義網。

OWL類定義:類為疾病、癥狀詞匯。

OWL對象屬性定義:對象屬性代表類之間的關系,本文疾病與癥狀間對象屬性分為“has symptom(A)”、“has symptom: common(B)”、“has symptom:general(C)”、“has symptom:rare(D)”以及疾病間的“is misdiagnosed as(E)”(易誤診)共5種,如表2所示。對于每一種對象屬性,都有特定的范圍和領域。

根據以上OWL定義,本文基于語義概念及其關系建立了疾病-癥狀語義網,其中有965個疾病詞匯,2250個癥狀詞匯,共3215個概念。此語義網中,含有疾病-癥狀間的關系、疾病-疾病間的易誤診關系及鑒別診斷知識,所建立的DSSN的部分網絡如圖3所示。該語義網中表示了疾病之間的易誤診關系,以及易誤診疾病之間癥狀的異同。圖4為易誤診疾病偏頭痛(migraine headache)和叢集性頭痛(cluster headache),以及兩者間的各自癥狀區別。

表2 對象屬性描述Table 2 Description of object properties

圖3 疾病-癥狀語義網Fig.3 Disease-symptom semantic net

圖4 DSSN中易誤診疾病例子Fig.4 Example of misdiagnosed disease in DSSN

3 DSSN在誤診提示中的應用

相似癥狀的混淆是誤診發生的主要原因,鑒別診斷是防止和減少誤診發生的關鍵。為了快速、準確地對疾病進行區分和提示,必須要清晰地知道易誤診疾病間的不同癥狀和鑒別診斷知識?;贒SSN中疾病-癥狀間的關系、疾病-疾病間易誤診關系及鑒別診斷知識,可以對醫療診斷中的誤診進行提示。

闌尾炎(appendicitis)是最常見的外科急腹癥之一,在臨床實踐中往往會出現誤診、誤治現象,其誤診率約為9%~36%,大約15%的闌尾炎手術為誤切正常闌尾[19]。本文以闌尾炎為例,說明DSSN如何支持醫療診斷中的誤診提示。

基于DSSN,可以在臨床輔助診療系統中加入誤診提示模塊。下面以一個用例來說明誤診提示模塊的應用。假設醫生對某位患者的初步診斷為闌尾炎,為防止誤診發生,他可以使用誤診提示模塊在DSSN中通過檢索闌尾炎相關易誤診知識來降低誤診發生的概率。如圖5所示,在DSSN中獲取闌尾炎的癥狀為右下腹痛、發燒、嘔吐、便秘和臍周痛,其易誤診疾病為胃腸炎、胰腺炎、膽囊炎和異位妊娠。以上所列癥狀和易誤診疾病對臨床醫生的診斷是一個提示,在所列出的易誤診疾病中,若醫生認為胃腸炎也有潛在可能,他可以通過點擊“胃腸炎”來返回當前初步診斷疾病“闌尾炎”與“胃腸炎”在癥狀上的異同,即闌尾炎與胃腸炎的相同癥狀及獨有癥狀,如圖6所示。它們相同癥狀為腹痛、嘔吐、發燒,闌尾炎的獨有癥狀為便秘、右下腹痛和臍周痛,胃腸炎的獨有癥狀為腹瀉和彌漫性疼痛。依此,醫生就可以根據患者的具體情況作出鑒別診斷。綜上,基于DSSN的易誤診模塊,能夠可視化地展現疾病及其易誤診疾病的癥狀,對醫生在醫療診斷中進行誤診提示,從而降低誤診發生的概率。

圖5 闌尾炎的癥狀及其易誤診疾病Fig.5 Symptoms of appendicitis and its misdiagnosed diseases

圖6 闌尾炎和胃腸炎的相同及獨有癥狀Fig.6 Same symptoms and unique symptoms between appendicitis and gastroenteritis

4 結束語

臨床診斷中誤診現象十分普遍,其主要原因是易誤診疾病之間有著相似的癥狀。而疾病之間的易誤診關系,以及不同疾病之間癥狀的區別等知識在各種醫療文獻中已經大量存儲。本文通過構建一種疾病-癥狀語義網(DSSN),將這些知識結構化地表達在語義網中,即通過對多個醫學領域知識庫進行自然語言處理和文本挖掘,獲得擴充的癥狀詞匯候選集、疾病-癥狀間的關系以及疾病間的易誤診關系和知識,并將這些關系和知識建立成語義網的表達形式。此外,本文還通過一個用例說明了構建的DSSN在臨床輔助診斷系統中對易誤診疾病提示的幫助。

參考文獻:

[1] Balogh E P, Miller B T, Ball J R, et al. Improving diagnosis in healthcare[R]. Washington, DC:The National Academies Press,2015.

[2] 趙會懂. 通過誤診文獻的關鍵詞詞頻分析看臨床誤診發生的規律[J]. 中國醫學圖書情報雜志,2010,19(11):73-77.

Zhao Hui-dong. Clinical misdiagnosis rules found in analysis of the frequencies of its key words appeared in misdiagnosis related papers[J]. Chinese Journal of Medical Library and Information Science,2010,19(11):73-77.

[3] Ely J W, Graber M L, Croskerry P. Checklists to reduce diagnostic errors[J]. Academic Medicine,2011,86(3):307-313.

[4] 王俊華,左萬利,彭濤. 面向文本的本體學習方法[J]. 吉林大學學報:工學版,2015,45(1):237-244.

Wang Jun-hua, Zuo Wan-li, Peng Tao. Test-orinted ontology learning methods[J]. Journal of Jilin University(Engineering and Technology Edition),2015,45(1):237-244.

[5] Gene O C. The gene ontology (GO) database and informatics resource[J]. Nucleic Acids Research,2004,32(Database):D258-D261.

[6] Schriml L M, Arze C, Nadendla S, et al. Disease ontology: a backbone for disease semantic integration[J]. Nucleic Acids Research,2012,40(Database):D940-D946.

[7] Kohler S, Doelken S C, Mungall C J, et al. The human phenotype ontology project: linking molecular biology and disease through phenotype data[J]. Nucleic Acids Research,2014,42(Database):D966-D974.

[8] 劉彥斌,周春光,張重毅,等. 基于本體的語義生物信息數據庫資源鏈接[J]. 吉林大學學報:工學版,2010,40(6):1651-1654.

Liu Yan-bin, Zhou Chun-guang,Zhang Chong-yi, et al. Resource interlinking of semantic bioinformatics database based on ontology[J]. Journal of Jilin University(Engineering and Technology Edition),2010,40(6):1651-1654.

[9] Mohammed O, Benlamri R, Fong S. Building a diseases symptoms ontology for medical diagnosis: an integrative approach[C]∥Proc of the IEEE International Conference on Future Generation Communication Technology,London,2012:104-108.

[10] Cheng L,Wang G H, Li J,et al. SIDD:a semantically integrated database towards a global view of human disease[J]. Plos One,2013,8(10):e75504.

[11] Huang Lan, Wang Ye, Wang Yan, et al. Gene-disease interaction retrieval from multiple sources: a network based method[J]. Biomed Research International,2016,2016(3):3594517.

[12] Bai Tian, Gong Lei-guang, Wang Ye, et al. A method for exploring implicit concept relatedness in biomedical knowledge network[J]. BMC Bioinformatics,2016,17(9):53-66.

[13] Jonquet C, Shah N H, Youn C H, et al. NCBO annotator: semantic annotation of biomedical data[C]∥Proc of the 8th Int Semantic Web Conf, Poster and Demonstration Session, Berlin,2009:2-3.

[14] Demner-Fushman D, Rogers W J, Aronson A R. MetaMap lite: an evaluation of a new Java implementation of MetaMap[J]. Journal of the American Medical Informatics Association,2017,24(4):841-844.

[15] Porter M F. An algorithm for suffix stripping[J]. Program Electronic Library & Information Systems,2006,14(3):130-137.

[16] Miller G A, Fellbaum C. WordNet then and now[J]. Language Resources and Evaluation,2007,41(2):209-214.

[17] Lawrence Tierney, Saint Sanjay, Whooley Mary. Current Essentials of Medicine[M].4th ed. New York:McGraw-Hill Companies,2011.

[18] Gennari J H, Musen M A, Fergerson R W, et al. The evolution of Protégé:an environment for knowledge based systems development[J]. International Journal of Human-Computer Studies,2009,58(1):89-123.

[19] 孫寶志. 臨床醫學導論[M].北京:高等教育出版社,2013.

猜你喜歡
結構化語料庫本體
促進知識結構化的主題式復習初探
改進的非結構化對等網絡動態搜索算法
眼睛是“本體”
平行語料庫在翻譯教學中的應用研究
結構化面試方法在研究生復試中的應用
左顧右盼 瞻前顧后 融會貫通——基于數學結構化的深度學習
《語料庫翻譯文體學》評介
基于本體的機械產品工藝知識表示
專題
Care about the virtue moral education
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合