陈桂芬, 汪 江,杨志刚
( 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