陳桂芬, 汪 江,楊志剛
( 1. 福建中醫藥大學 管理學院,福州 350108 ;2.湖北黃岡市中心醫院 重癥醫學科, 湖北 黃岡 438000;3.福建中醫藥大學附屬人民醫院 內分泌科,福州 350004)
?
基于本體的規則推理和案例推理結合的糖尿病診療專家系統研究
陳桂芬1, 汪江2,楊志剛3
( 1. 福建中醫藥大學 管理學院,福州 350108 ;2.湖北黃岡市中心醫院 重癥醫學科, 湖北 黃岡 438000;3.福建中醫藥大學附屬人民醫院 內分泌科,福州 350004)
摘要:將規則推理( RBR )與案例推理( CBR )兩種人工智能技術引入到糖尿病診療系統設計中。圍繞系統總體架構,使用 protégé 構建糖尿病領域本體庫和糖尿病診療SWRL規則庫,通過JESS推理引擎進行動態推理,建立包含新知識的糖尿病領域知識庫;從知識庫中提取部分本體實例作為案例庫,采用案例檢索和本體知識庫檢索相結合的方法,返回查詢和推理結果,提供給病人適合病情的診療方案。將實驗結果與專家實際診斷進行對比,得出系統診治準確率為85. 28%,表明該系統實用性較好,可以成為糖尿病患者一種可行的診療方案。
關鍵詞:本體;規則推理;案例推理;糖尿病診療專家系統
0引言
作為世界上三大慢性病之一,糖尿病對人類健康的危害極大,對國家的醫療體系和國民的健康素質都造成了嚴重的威脅。2013年我國的糖尿病患者人數為1.14億,居全球之首,而形成巨大反差的是,所有針對糖尿病的醫護人員總量不超過 1 萬人[1,2]。顯然,傳統的糖尿病診療模式已經無法應對數量如此龐大的糖尿病患者群體。為了有效緩解就醫壓力,目前有學者在進行糖尿病專家診療系統的研究工作。文獻[3]從預防糖尿病入手,研究基于移動互聯網的糖尿病醫療輔助系統。文獻[4]提出基于貝葉斯和可信度的糖尿病診斷以及分型方法。文獻[5,6]綜合運用多種數據挖掘技術開發出糖尿病診斷系統。文獻[7]提出了應用規則推理實現糖尿病診斷專家系統的方法。目前,國內糖尿病專家系統研究主要在糖尿病診斷和數據挖掘方面,而基于本體利用糖尿病疾病專家的治療經驗對糖尿病進行診斷和治療的研究不多,因此本文提出基于本體的規則推理和案例推理結合的糖尿病診療系統。該系統主要用于糖尿病的診斷并給出專家治療建議。一方面該系統可輔助醫生作出診治;另一方面可對糖尿病病人進行醫療指導,讓病人在家中或者在社區就能得到專家診療建議。
本體是共享概念模型的形式化規范說明[8]。本體可以闡述該領域內的知識結構,利用本體可以清楚地描述領域概念和概念之間的聯系。規則推理(Rule-Based Reasoning,RBR)是指形式化的描述相關領域的專家知識,形成系統規則,RBR具有極強的演繹推理能力。 案例推理(Case-Based Reasoning,CBR) 是指重用知識的技術,利用過去的解決方案來指導當前問題求解的方法[9]。目前RBR和CBR這兩種技術己經在人工智能領域里應用的非常廣泛。將CBR和演繹推理能力極強的RBR技術相結合能使糖尿病診療系統達到更高的智能水平,具有重要的價值。
1系統總體架構
基于本體的規則推理和案例推理結合的糖尿病診療系統的總體架構如圖1所示。
表示層(UI)負責直接跟用戶進行交互,UI為用戶提供應用程序的訪問。本系統UI為用戶輸入數據進行查詢和顯示最終疾病診療結果的界面,其中輸入數據包括患者基本情況、既往病史、家族病史、臨床癥狀等信息,診療結果包括疾病的診斷、治療方案(包括運動治療、飲食治療和藥物治療)。
業務邏輯層(BLL) 專門負責處理用戶輸入的信息。BLL的核心是對本體和案例的操作。其工作主要為對糖尿病領域本體庫和案例庫的查詢。業務工作流程如下:根據用戶輸入的查詢信息,首先查詢案例庫,利用局部相似度和全局相似度計算方法對案例庫中的案例進行計算,如果案例相似度值大于等于設定值,則按照計算結果中排序最高者作為診療匹配結果;如果案例相似度值小于設定值,則搜索由本體和規則構成的知識庫,返回查詢和推理結果,提供給病人適合病情的診療方案。
數據訪問層(DAL) 負責實現數據的存儲和對數據的訪問。數據的存儲為本體知識庫、案例庫和傳統的數據庫的構建,其中核心為本體知識庫推理模塊和案例推理模塊的構建。對數據的訪問采用接口方式實現本體知識庫、案例庫和傳統的數據庫的互通和操作。

圖1 基于本體的規則推理和案例推理結合的糖尿病診療系統架構圖
2糖尿病疾病本體庫的構建
2.1糖尿病領域本體目的和范圍
糖尿病本體是關于糖尿病疾病診治過程的知識,是對糖尿病疾病診治知識的運用策略。糖尿病疾病本體描述的范圍是事實性知識(如糖尿病疾病的病癥表現)、經驗性知識(如癥狀表達、疾病類型、疾病診斷)和描述病理過程的病理知識[10]。筆者依據糖尿病疾病診斷本體的范圍,參照《中國糖尿病防治指南2010版》和糖尿病相關專著文獻,從中整合糖尿病防治知識構建本體類、屬性及其關系,同時采用福建省某三甲醫院糖尿病患者電子病例構建實例。
2.2糖尿病疾病本體具體構建
采用目前最常用的本體構建工具protégé 進行糖尿病領域本體的構建,Protégé 是由斯坦福大學開發的基于 Java 語言的本體可視化構建工具。構建糖尿病領域本體主要在于建立糖尿病領域概念類、屬性及其關系、實例四個部分。首先定義糖尿病領域重要概念類主要有:糖尿病診斷類、糖尿病癥狀類、糖尿病病因類、糖尿病治療類等。糖尿病診斷病型分類依據《中國糖尿病防治指南2010版》,將糖尿病患者診斷分為1型糖尿病(T1 DM)、2型糖尿病(T2 DM)、其他特殊類型的糖尿病、妊娠糖尿病(GDM)及糖尿病并發癥。糖尿病癥狀類又分為癥狀描述和指標測量 (Measurements)子類,其中指標測量是判斷糖尿病病因,確定糖尿病病型和危險水平、并發癥危險因素、以及臨床相關情況的重要內容,是糖尿病患者診斷性評估的重要依據,其涉及的主要概念有空腹血糖(FPG)、餐后2小時血糖(2hPBG)、空腹血漿胰島素(INS)、血清C肽(C-P)、糖化血紅蛋白(HbA1c)、尿素氮(BUN)、肌酐(CR)、尿酸(UA)、尿微量白蛋白(UAER)。糖尿病治療類分為藥物治療、運動治療和飲食治療子類,其中糖尿病的藥物治療分兩類,即口服藥物和胰島素注射治療。其中口服藥物包括: (1)雙胍類降糖藥;(2)胰島素促分泌劑;(3)α—糖苷酶抑制劑;(4)胰島素增敏劑;(5)二肽基肽酶一4抑制劑。
然后定義糖尿病本體中各個類的屬性,屬性分為兩大類:(1)數據屬性(dataproperty)如糖尿病疾病的名稱,它的屬性值為string型,它具有反函數屬性(InverseFunctional Property)約束;又如FPG-value亦為數據屬性,屬性值為float型,它具有函數屬性(Functional Property)約束。(2)對象屬性(objectproperty)如電子處方(electronic-prescription),它的屬性值為病人的全部電子處方記錄(prescriptions),它具有反函數屬性約束。接下來定義糖尿病疾病本體中的關系,該本體關系有is-a、part-of、Instance -of 、attribute-of、cause-by、result- in等。其中is-a、part-of、Instance -of 、attribute-of是本體中的基本關系,cause-by、result- in為自定義關系。最后定義糖尿病本體中類的實例,這些實例為類的特例,將它們放入糖尿病領域本體庫中,為后面的推理做準備。通過以上步驟構建出如圖2所示糖尿病疾病本體模型。

圖2 糖尿病疾病本體模型的部分片段
3規則推理
3.1SWRL規則的建立
SWRL(Semantic Web Rule Language)是由以語義的方式呈現規則的一種語言,SWRL的規則部分概念是由RuleML所演變而來,再結合OWL本體論形成[11]。在語義網服務中,雖然本體支持推理,但它不能進行象“if...then...”這樣規則的推理,SWRL可以有效地彌補這些不足。通過使用SWRL方法建立規則,將使本體具有更強的推理能力。本研究在糖尿病疾病領域本體的基礎上,依據糖尿病疾病醫學專著知識和專家建議,將糖尿病疾病診治規則分為診斷規則和治療規則。
3.1.1診斷規則的構建
診斷規則用于判定是否為糖尿病、糖尿病前期、糖尿病類型以及糖尿病并發癥,規則建立的依據是《中國糖尿病防治指南2010版》。指南中將糖尿病定義為:有典型糖尿病癥狀(如:多尿、多食、不明原因的消瘦)并且隨機血糖≥11.1 mmol/L (200 mg/dl) 或空腹血糖(FPG)≥7.0 mmol/ L (126 mg/dl) 或口服葡萄糖耐量試驗(OGTT)中2h (含0-2小時) PPG≥11.1 mmol/ L (200 mg/dl) 。糖尿病前期中血糖水平已高于正常,但尚未到達目前劃定的糖尿病診斷水平,稱之為糖調節受損期(IGR),此期的判斷亦以FPG及(或)OGTT為準。以前者進行判斷時,FPG≥6.1 mmol/l(110 mg/dl)~<7.0 mmol/l(126 mg/dl)稱為空腹血糖受損(IFG);以后者判斷時,負荷后2小時血糖≥7.8 mmol/l (140 mg/dl)~<11.1 mmol/l (200 mg/dl)稱糖耐量受損(IGT)。目前將此期看作任何類型糖尿病均可能經過的由正常人發展至糖尿病者的移行階段。糖尿病類型以及糖尿病并發癥的診斷限于篇幅不再贅述。
比如用SWRL語言表示部分診斷規則如下:
1.Test _patient(?P) ∧has_DM_history(?P,true)→Diagnose_ patient(?P),解釋如下:
如果患者P有糖尿病疾病史,那么該患者被診斷為具有糖尿病。
2.Test _patient(?P) ∧Swrlb:greaterThanOrEqual(?FPG,7) ∧Has _symptoms(?,a)∧show(?a,polyuria)∧show(?a,more _ food)∧show(?a,weight _loss)→Diagnose_ patient(?P),解釋如下:
如果患者P空腹血糖(FPG)≥7.0mmol/ L,癥狀表現為多尿、多食、消瘦,那么該患者被診斷為具有糖尿病。
3.1.2治療規則的構建
本文以2型糖尿病藥物治療規則的構建為例介紹SWRL治療規則的建立。治療流程是依據《中國糖尿病防治指南2010版》及相關文獻介紹的2型糖尿病患者藥物治療方案[12]。方案如圖3所示,具體為:患者首先采取口服單藥治療;如果口服單藥治療3個月血糖控制不滿意,則采用口服藥物聯合治療;如果口服藥物聯合治療3個月血糖控制不滿意,則采用口服藥物和胰島素聯合治療;如果此種治療3個月血糖還是控制不滿意,則采用多次胰島素治療。

圖3 2型糖尿病藥物治療流程參考圖
其中A表示二甲雙胍,B表示胰島素促分泌劑,C表示α—糖苷酶抑制劑,D表示胰島素增敏劑,E表示二肽基肽 酶 一 4 抑制劑,F表示胰島素。比如用SWRL語言表示藥物治療規則如下:
Test _patient(?P)∧Prescription(? exp)∧Diagnose_new_ patient(?P)∧abox:hasclass(? exp,Prescription_Single)→Treatment_ Prescription(?P,?exp),解釋如下:
如果p是新診斷的2型糖尿病患者,且exp是類Prescription_Single的實例,那么p可使用處方exp進行治療。
3.2JESS推理引擎推理
前面構建了糖尿病領域本體,并將糖尿病領域本體知識之間的邏輯關系轉化成SWRL規則語言,糖尿病領域本體和SWRL規則需要放入JESS(Java Expert System Shell)推理引擎中進行推理,才能挖掘出糖尿病領域本體中隱含的新知識[13]。JESS是目前流行的用Java語言開發的規則系統,支持正向推理和逆向推理,其核心是由事實庫、規則庫和推理機三大部分組成。雖然OWL格式的本體和SWRL規則不能夠直接被JESS識別,但是可以通過格式轉換,使其成為JESS識別的事實和規則。SWRLJESSTab是protégé的插件,能將protégé知識庫映射到JESS事實庫。
基于糖尿病本體和SWRL規則的JESS推理機制框架如圖4所示,具體工作過程為:(1)根據需求,結合已有的糖尿病領域OWL本體、屬性和實例,本研究建立了56條SWRL規則的SWRL規則庫。(2)將糖尿病領域OWL本體和SWRL規則庫經過事實轉換和規則轉換到JESS事實庫和JESS規則庫,其中JESS事實庫有358條事實,JESS規則庫有56條JESS規則。(3)基于JESS事實庫和JESS規則庫運行JESS推理引擎進行推理。(4)用推理后得到的新事實更新、擴充糖尿病OWL本體知識庫。

圖4 基于 SWRL的推理機制框架圖
4案例推理
前面進行了基于糖尿病本體的規則推理(RBR),規則推理具有極強的演繹推理能力,該技術的不足之處在于它在解決糖尿病診治問題時,須“從頭開始”。基于案例推理(CBR)是尋找類似的、成功的過去案例,是“跳過開始”的方法[14]。為了提高整個系統效率,引入CBR來彌補RBR的不足。方法為根據用戶輸入的查詢信息,系統從成功的診治案例庫中檢索與目標案例最相近的案例,將成功的診治方案應用到目標案例的匹配中。
4.1案例的組織
本文的系統中, CBR模塊中的案例包含兩類信息:糖尿病診療案例的問題描述和問題的解決方案。問題描述由三個部分組成:診療基本信息、診療需求信息和診療方案。問題的解決方案包括兩部分內容:診療方案實施結果與評價,這兩項作為診療案例的結果,供決策參考。為了提高案例的檢索效率,系統根據糖尿病診療相關的領域知識本體,對案例進行分層組織,并建立相應的案例索引。以糖尿病慢性并發癥本體為例,建立的樹狀結構案例索引如圖5所示。

圖5 基于糖尿病慢性并發癥本體的診療案例組織
4.2案例匹配檢索
4.2.1案例相似度匹配計算
糖尿病診療案例匹配采用K最近鄰(K-Nearest Neighbor,KNN)算法進行相似度計算,按照計算結果中排序最高者作為診療最佳匹配結果。糖尿病案例樹是一顆概念樹,樹中的每一個節點代表一個概念,樹葉子表示一組糖尿病案例,如圖5所示,其中每一個糖尿病案例都有性別、年齡、癥狀體征、血糖值等一系列的特征項。結構化案例的相似度一般分為局部相似度和全局相似度。局部相似度為各特征項間的相似值,全局相似度為各特征項間的加權平均值。本文使用式(1)計算案例特征項的局部相似度[15]:
(1)
其中,Lcs(i1,i2)表示兩個案例最小共同祖先,Deepth(Ci)表示某個案例在概念樹中的深度。以圖6本體概念層次結構圖中的葉子節點表示案例為例,計算兩個案例間的相似度。表1給出了使用式(1)得出的部分案例間相似度值。

圖6 本體概念層次結構圖

相似度相似度值sim(W9,W12)0sim(W10,W12)3/4sim(W14,W12)1/2
使用式(2)將案例特征項的局部相似度進行綜合,計算出案例全局相似度[15]:
(2)
其中,sim(C1,C2)表示兩個案例的全局相似度,wi表示第i個特征項在整個案例中的權重。由專家經過層次分析法計算本系統中糖尿病診療案例特征項的權重,并以權重屬性的方式存入到診療案例本體中。
4.2.2案例檢索方案
系統提供了糖尿病診療案例的檢索程序來提高檢索的效率。具體程序步驟如下:
(1)根據糖尿病診療案例的診療基本信息進行分類。
(2)將診療類型相同的糖尿病診療案例,根據案例診療需求信息,首先計算需求信息中特征項局部相似度,然后計算需求信息的總體相似度,從而得到需求相似的診療案例列表。
(3)在需求相似的診療案例列表中,根據糖尿病診療案例的診療方案信息,首先計算方案信息中特征項的局部相似度,然后計算方案信息的總體相似度,得到診療方案相似的案例列表[16]。
5系統實現與運行
本系統選取Java語言進行開發,系統開發中使用了IBM的基于Java語言的Ontology集成開發工具集(IODT),該工具集包含了OWL Core和SOR Core工具包用于實現本體模型的解析、推理以及案例庫和知識庫的存儲。本體開發工具使用了斯坦福大學的protégé。通過查詢界面和診治界面(如圖7)對患者信息進行查詢和診斷,并給出診斷結果和推薦治療方案。

圖7 查詢界面和診治界面
選擇60個病人作為測試用例對糖尿病診療系統進行診斷分析,輸入病人的相關信息后由系統進行診斷。根據系統評測和專家建議將評定相似度的設定值為0.6。系統首先根據案例推理選取相似度大于等于0.6的案例放在案例列表并顯示案例內容,如果沒有相似度大于0.6的案例,則搜索由規則推理的本體知識庫,將搜索結果進行顯示。將實驗結果與專家實際診斷進行對比,得出該系統診斷準確率為85. 28%,表明系統實用性較好。
6結語
本文利用人工智能中案例推理和規則推理技術進行糖尿病診療專家系統的研究,本系統不僅給用戶提供了智能友好的交互界面,更重要的是系統能根據用戶查詢的內容進行自動識別,進而進行案例推理和規則推理。本系統在己有醫學案例庫的支持下,以相似度計算方法進行病癥的匹配計算,同時能實現案例庫和本體知識庫的結合查詢,給出較為準確的診斷并推薦相應的治療方案,為解決患者就醫難的問題提供一定的幫助。下一步的研究工作是在案例匹配過程中,進行案例的更新和擴展,使系統更具有開放性。
參考文獻:
[1]孫建永.中國糖尿病患者人數居全球之首[EB/OL].[2015-11-12]. http://finance.chinanews.com/jk/2015/11-12/7619186.shtml.
[2]Xu Y,Wang L,He J,et al.Prevalence and control of diabetes in Chinese adults[J].JAMA, 2013,310(9):948-959.
[3]劉新龍,譚獻海.基于移動互聯網的糖尿病醫療輔助系統設計與實現[J].物聯網技術,2015(5):92-94.
[4]沈麗容, 黃洪.基于貝葉斯和可信度的糖尿病診療系統研究[J].計算機與數字工程, 2011, 39(11) :51-53.
[5]王國強, 闞紅星, 王宗殿. 綜合多種數據挖掘技術的糖尿病診斷系統[J].電腦知識與技術, 2012, 08(23) :5547-5551.
[6]蘇凱, 程鵬.基于APRIORI算法和興趣度的糖耐量實驗數據關聯規則挖掘和篩選[J].醫學信息, 2009, 22(8) :1397-1399.
[7]馬計, 杭波. 糖尿病診斷專家系統的研究與實現[J].實用診斷與治療雜志, 2008, 22(2) :121-123.
[8]W.N. Borst. Construction of Engineering Ontologies for Knowledge Sharing and Reuse [D].PhD Thesis,Enschede :University of Twente, 1997,18(1):44-57.
[9]李曉輝,劉妍秀. 基于實例推理機制(CBR)綜述[J]. 長春大學學報(自然科學版),2006, 16(4):68-70.
[10]鞏沐歌,溫有奎.基于本體的高血壓疾病診斷知識庫[J].情報雜志, 2010(29):169-171.
[11]聶規劃,羅跡,陳冬林.電子目錄的SWRL規則研究[J].計算機工程與應用,2011, 47(7) :57-60.
[12]楊文英.聯合作戰層層阻擊——2型糖尿病治療新流程解讀[J].家庭用藥, 2011(5):28-29.
[13]T Mabotuwana,J Warren.ChronoMedIt- A computational quality audit framework for better management of patients with chronic conditions[J]. Journal of Biomedical Informatics,2010,43(1) :144-158.
[14]DU Xiao ming,YuYong li,HU Hui.Case- based reasoning for multi- attribute evalauation[J].Systems Engineering and Electronics,1999,21(9) :45-48.
[15]R Bergmann,A Stahl.similarity measures for object oriented case representations[J].Lecture Notes in Computer Science,1998(1488):25-36.
[16]劉曉文,胡克瑾.基于本體和CBR的電子政務項目審批決策支持系統[J] .計算機應用, 2009, 29(3):896-899.
責任編輯:程艷艷
Research on Expert System of Diabetes Diagnosis and Treatment Based on Combination of Rule-based Reasoning and Case-based Reasoning of Ontology
CHEN Guifen1, WANG Jiang2, YANG Zhigang3
(1.College of Management, Fujian University of Chinese Traditional Medicine, Fuzhou 350108, China;2. Intensive Medicine Department, Hubei Huanggang Central Hospital, Huanggang 438000, China;3. Endocrinology Department, People′s Hospital Affiliated to Fujian University of Chinese Traditional Medicine, Fuzhou 350004, China)
Abstract:Rule-based Reasoning (RBR) and Case-based Reasoning (CBR) are introduced to the system design of diabetes diagnosis. Focusing on system frame structure, diabetes ontology base and SWRL rules base are established by using protégé, and the dynamic reasoning is executed by using JESS reasoning engine to construct the diabetes domain knowledge base with new knowledge. After part of ontology samples being extracted from knowledge base as case base, searching and reasoning results will be returned through the combination of case retrieval and ontology knowledge base retrieval, and diagnosis and treatment solution will be provided to patients. Comparing experiment results with expert diagnosis, the diagnosis accuracy rate of the system is obtained to be 85.28%, which shows that the system has good practicability and can become a feasible diagnosis and treatment solution for diabetes patients.
Keywords:ontology; rule-based reasoning; case-based reasoning; diabetes diagnosis and treatment expert system
收稿日期:2016-03-12
基金項目:福建省教育廳A類課題(JAS14159)
作者簡介:陳桂芬(1978-),女,湖北黃岡人,講師,碩士,主要從事醫學信息管理研究。
中圖分類號:TP315
文獻標志碼:A
文章編號:1009-3907(2016)06-0019-07