李梵若 李忠



摘 要: 隨著人工智能技術的不斷發展,涉及到的范圍也在不斷擴大。專家系統作為人工智能中較為重要的組成部分,在醫療診斷中的應用也愈發深入。本文主要介紹一種基于模糊證據推理的醫療診斷專家系統的設計與實現。該系統使用python+MySql為開發工具,C/S架構,以患者的癥狀為條件,使用已經具備的醫療知識作為推理證據,計算輸入癥狀與先驗知識中癥狀的相似度,再與設定的閾值進行比較,從而確定患何種病并給出疑似病癥和處理建議。實驗證明,該系統的準確率達到87%,本系統中應用的模糊證據推理能夠更好地進行多屬性的決策推理,符合一種疾病伴隨多種病癥的現實情況。該系統對輔助醫療診斷、實現常見疾病的自助診斷和指導使用非處方藥具有積極的推動作用。
關鍵詞: 模糊證據推理;專家系統;醫療診斷;人工智能;相似性度量
文章編號:2095-2163(2019)04-0013-04?中圖分類號:TP393?文獻標志碼:A
0 引 言
近年來,人工智能浪潮的不斷高漲,使得人工智能在輔助診斷、醫學影像、藥物挖掘和專家系統等方面都取得了較大的進展[1]。其中,張德政等人[2]提出的中醫專家系統,周仲寧[3]提出的眼科疾病診斷專家系統,潘軍杰等人[4]提出的口腔電子病歷及輔助診療系統等都是人工智能在輔助診療和自助診斷方面較為成功的研發實踐。但是綜合前述文獻分析后可知,這些方案都是將人工智能應用在某一具體醫療科室中,而將專家系統應用在各個職能科室的疾病診斷的案例迄今仍較為少見。基于此,本系統致力于建立一個人機交互進行常見病診斷的自助診斷專家系統,從而指導患者對輕微常見病使用合理的非處方藥進行自診,對非輕微常見病有就醫科室的明確導診。文中擬從模糊證據推理的原理、病例知識庫的設計與構建、智能診斷的實現等方面全面闡述基于模糊證據推理的醫療診斷專家系統的設計與實現。研究內容詳見如下。
1 模糊證據推理
作為一種應用較為廣泛的證據推理方法,模糊證據推理在推理邏輯、命題語句以及判斷時的隸屬函數上都有別于經典證據推理。對此可做探討論述如下。
1.1 模糊邏輯及模糊命題
不同于經典邏輯推理的非真即假的二值邏輯[5],模糊邏輯推理將結果映射到[0,1]區間內,本質上說模糊邏輯是經典二值邏輯應用的推廣。
類似于模糊邏輯,模糊命題指的是帶有模糊可能的陳述句,其反映了事物的“真假”程度。綜合模糊邏輯和模糊命題的概念,可以將模糊證據推理抽象為如下的邏輯表達式:
1.2 隸屬函數
隸屬函數用于描述前項屬于推理結果的模糊集合的隸屬度[6],取值范圍在[0,1]之間。隸屬程度越大,其隸屬于結果的程度也就越高。在該系統中,采用患者癥狀與病例知識庫中癥狀之間的相似性作為隸屬函數,利用兩者間的歐幾里得距離作為相似性度量。設定與知識庫癥狀的相似性閾值為60%,用來判定患病的可能性。
2 病例知識庫的設計與構建
為了達到患者能夠進行常見病的自助診斷,指導患者對輕微常見病使用合理的非處方藥進行自診,對非輕微常見病提供明確就醫科室的目的,該系統中病例知識庫涵蓋的疾病范圍要較為廣泛;數據庫的設計要盡量減少數據冗余,從而提高診斷效率。對此設計可得闡釋分述如下。
2.1 病例知識庫設計
醫療診斷專家系統中需要分別建立各個科室的病例庫,縮小相似性計算量,提高診斷效率。此外,還需要對病人的基本信息(姓名、性別、年齡、過敏史等)詳加了解,并記錄病人的診斷歷史等信息。該系統共設計3種類型數據庫表,具體結構見表1~表3。
研究中設計得到的數據庫表均符合第二范式的設計要求,數據冗余較少,保證了較高的診斷效率。
2.2 病例知識庫的構建
為了涵蓋較為廣泛的疾病范圍,該系統從醫脈通、愛愛醫醫學網、病例庫等病例網站中收集了包括兒科、眼科、泌尿科等6個科室的200多條病例及對應癥狀和診斷建議,基本包括了常見的輕微疾病和非輕微疾病。選取部分眼科、內分泌科的病例信息如圖1和圖2所示。
3 智能診斷的實現及測試
3.1 系統功能和流程
該系統采用C/S架構,實現了基本的用戶登錄、注冊以及患者自助式醫療專家診斷的功能。對于有疑問的診斷建議,患者可以通過給專家留言的功能獲得解答。本次系統研發的軟件流程設計如圖3所示。
在圖3“推理機進行智能判定”這一節點中,將根據患者選擇科室,運用設計研發算法對患者輸入的癥狀進行模糊推理,并在符合條件的可疑疾病中給出相似度最高的疾病及對應處理方法。這里,針對計算相似度的模糊推理邏輯可得研究描述如下。
input_X #輸入的患者病癥集合
standard_X #病例知識庫中病癥集合
standard_Y#病例知識庫中病癥對應的疾病集合
for i in standard_X :
#計算歐氏距離
distance=sqrt([(input_X1-standard_X1)^2+(input_X2-standard_X2)^2+........+(input_Xn-standard_Xn)^2])
similarity=distance/len(standard_X)
#計算以歐式距離為衡量的相似性
if(similarity>0.6)
print(standard_Y)#輸出可能病狀集合
這一方法較為合理地將模糊證據推理和實際應用環境以及知識庫的數據相結合,不僅使得該系統對于疑難雜癥的診斷能力大大提高,而且保證了常見疾病診斷的準確率。
3.2 系統測試
為了檢驗軟件運行后的應用效果,分別對軟件的用戶登錄注冊模塊、患者自助診斷模塊以及疑難雜癥專家留言模塊進行測試,測試結果如圖4所示。在患者輸入3條自身存在的癥狀后,系統根據患者描述,成功地給出疑似疾病以及對應的診斷意見。
但在患者描述的癥狀較為單一,并且還包含了可能的致病因素時,系統卻未能提供對應的診斷結果。如圖5所示。
4 測試結果分析
經過上述測試,在病癥較為多樣或者表現較為復雜的疾病中,該系統的診斷效果較為優秀,準確率達到87%。而有11%的錯誤率主要來自于癥狀過多,知識庫中有較多符合閾值條件的疾病,難以分辨;剩余2%的誤判是由于患者的癥狀較為單一或較少,推理過程中沒有達到對應疾病的最低閾值,從而系統沒有生成評判結果。
閾值對于診斷結果以及不同疾病的影響較大,并且由于癥狀的多少和致病外界因素也會對診斷結果有一定程度的影響。
5 結束語
目前,在人工智能應用較為廣泛的醫療領域中,已經出現了若干科室一級的專家系統。本文討論了一種基于模糊證據推理的醫療診斷專家系統的設計與實現,建立了一個人-機交互進行常見病診斷的自助診斷專家系統,指導患者對大多數并不局限于某一科室的常見病進行處理。文中詳細論述了模糊證據推理的方法、病例知識庫設計與構建以及具體的系統流程設計,并分析了測試結果。得到如下結論:
(1)基于模糊證據推理的醫療診斷系統基本能夠實現患者對于常見疾病的自助診斷,準確率達到87%。
(2)模糊證據推理的方法能夠較好地適用于類似醫療診斷這種多屬性證據推理中。
(3)以“癥狀—疾病名稱”為設計模式的知識庫能夠很好地反映出癥狀和疾病之間的關系,降低了模糊證據推理的不確定性。
(4)在對模糊推理的隸屬函數進行設置時,應該做到閾值的動態變化,對不同的疾病科室設定不同的閾值,以保證診斷的準確性。
(5)致病因素與疾病之間存在著多對多的關系,在知識庫的設計中應考慮添加致病因素。
參考文獻
[1]曾梅. 淺談人工智能在醫療器械領域的應用[J]. 科技廣場, 2017(12):57-60.
[2]?張德政,彭嘉寧,范紅霞. 中醫專家系統技術綜述及新系統實現研究[J]. 計算機應用研究,2007,24(12):6-9.
[3]?周仲寧. 眼科疾病診斷專家系統的研究與實現[J]. 計算機工程與應用,1998(6):80-81.
[4]?潘軍杰,張文清,周震. 口腔電子病歷及輔助診療系統[J]. 深圳中西醫結合雜志,2003,13(4):252-254.
[5]?戴細華. 多值邏輯語義博弈[D]. 廣州:中山大學,2006.
[6]?胡寶清. 模糊理論基礎[M]. 2版. 武漢:武漢大學出版社,2010.