基于症状分析的动物辅助诊疗专家系统的设计与实现
一、背景
专注于为中小企业提供网站设计制作、网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业焦作免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
摘要:针对传统诊断专家系统存在的问题,结合国内外研究现状,利用自身优势,分析形成动物疫病症状及病理变化的数据模型,建立动物疫病知识库,实现相关数据的有效管理,并初步实现基于症状及病理变化的多因子辅助诊断分析结果,为动物疫病临床诊断提供依据和参考。采用正─反向结合的混合推理策略以及深度优选搜索算法,使用先进的.Net技术,实现基于Web的动物病疫辅助诊疗专家系统,为常见的畜禽养殖人员和人类专家提供方便。 背景:近年来,动物食品安全问题日趋严重,为方便养殖户进行病疫诊断和治疗,畜禽病疫专家诊断系统的研究开始受到重视。使用专家系统,可以模拟人类专家诊断病疫的思维过程,甚至提供人类专家无法完成的的功能。目前,大部分专家系统存在一定不足,如大部分采用单机版,不适应当今的网络时代;系统知识库不全、推理简单、考虑不全面、无法提供诊治结合等等。 关于专家系统:专家系统是一个基于知识的系统,它利用人类专家提供的专门知识,模拟人类专家的思维过程,解决对人类专家都相当困难的问题。本文设计的“基于症状分析的动物辅助诊疗专家系统Web版”具有以下特点和优势: (1)启发性。不仅能使用逻辑知识,也能能使用启发性知识,它运用规范的专门知识和直觉的评判知识进行判断、推理和联想,实现问题求解。 (2)透明性。它使用户在对专家系统结构不了解的情况下,可以进行相互交往,并了解知识的内容和推理思路,系统还能回答用户的一些有关系统自身行为的问题。 (3)灵活性。专家系统的知识与推理机结构的分离,使系统不断接纳新的知识,从而确保系统内知识不断增长以满足商业和研究的需要。 (4)能够高效率、准确、周到、迅速和不知疲倦地进行工作。 (5)解决实际问题时不受周围环境的影响,也不可能遗漏忘记。 (6)可以使专家的专长不受时间和空间的限制,以便推广珍贵和稀缺的专家知识与经验。 (7)基于Web技术,采用B/S架构,网络化、分布式、开放性。 (8)只需要接入Internet,一款浏览器,无需用户自己安装、配置、维护,全面降低使用负担、最大扩散知识共享范围。 (9)建立用户诊疗病历库、免疫系统。 建立动物课堂、提供知识查询模块,提供“诊断、治疗、预防、增优”的“四点一线”的系统性套件。 |
二、系统设计
完整的专家系统一般包含诊断入口、推理机、规则库、免疫系统、知识库、知识获取模块以及解释执行机制等部分组成。为了提供更高效、更智能、更周到的专家系统,真正实现智能化,在提供最基本的诊断功能外,还增加了基于病疫和症状的查询模块、基于病疫的治疗方案模块、基于用户个性化定制的动物档案模块。除此之外,本系统将模拟人类思维模式,具有不断自我总结、修改、完善的智能化功能。这意味着,随着系统的不断完善,基于CF非精度性的确定性理论模型的精度将与100%更接近。如图2-1所示: 1、诊断入口 诊断入口即推理机执行推理过程所需要的基本参数的录入模块,这将是使得推理可以进行的前提步骤。不同的推理模式需要对应不同的诊断入口,即提供不同的诊断数据。本系统依据专家对动物病疫诊断的方法进行概括总结并划分为三种诊断入口(三种推理模式),分别是:基于主要症状诊断法、基于怀疑病诊断法、基于多症状组合诊断法。 2、推理机 推理机是专家系统最为重要的核心组件,用于控制、协调诊断流程的运作。它根据诊断入口、诊断数据、自身的推理策略、规则库、知识库权重从知识库选取相关知识进行步骤化推理,直到得出最佳结论并把诊断结果保存在数据结构中。推理机模拟专家的推理过程,推理机的智能水平和效率基本决定专家系统的水平。本系统采用正向推理、反向推理以及正反混合推理法。 3、规则库 规则库是推理机诊断结果准确率的影响因子,它弥补了推理机自身策略以及知识库模式化的不足(知识库中保存的症状可信度称为“一般可信度”或者“事实可信度”)。规则库主要用以表示因果关系,用相对于结果的影响百分值来计算。规则库以“ IFP THEN Q”的基本表达式表示,将规则作为知识的单位。同一症状、同一病疫、同一动物种类对于不同年龄、性别、品种、发病阶段,诊断结果都是不同的,因此完善的、强大的规则库是专家系统的智能化的重要体现之一。规则库规则往往是专家的个人经验总结。 4、知识库 知识库是专家系统的核心成分之一,它主要系统化的以计算机数据的方式存储人类搜集的相关知识,以供系统使用。知识库存储的知识和传统知识有所不同,它包含相关领域的公开性知识,包裹记录在网络、书籍的知识;也包括专家在实践过程中的总结的个人经验性知识。无论何种知识,只有经过对传统数据进行以符合诊断机制的处理(包括检索、分类、整合等)后的知识才有价值存储到知识库。知识库存储知识的质量很大程度上决定推理机的诊断效率以及数据处理的难易程度。 5、知识获取模块 拥有知识是专家系统区别于其他计算机系统的重要标志,知识的容量和质量又是决定专家系统的性能和水平的重要因素。知识获取模块协助专家完成把传统数据处理后的知识转移到系统知识库。使用知识获取模块的一般为动物病疫诊断领域的专家和工程师。本系统以我院长期积累的动物诊断经验知识作为专家系统知识的主要来源,并参考其他知识作为补充。专家收集、分析、整理传统知识然后安装规则录入系统,模块组织成计算机语言后并写入知识库,这包括对知识库和规则库的录入、修改、删除,保障了知识体系的完整性和一致性。 6、解释模块 拥有解释功能的专家系统也是区别于其他计算机系统的重要标志,它负责对诊断过程以及诊断结果做出解释。解释模块是推理机推理过程的可视化体现,它记录、显示用户的诊断数据,展示推理机的诊断结果、引导用户进一步提供诊断数据以及解释推理机做出此步诊断的原因。解释模块直接影响用户对于专家系统的感受和评价,同时良好的解释机制也是用户快速应用专家系统的最好助手。 7、免疫系统 免疫系统的设计是专家系统智能化的体现之一。免疫系统具体表现在规则库中,也是动物档案库的组成部分。每当推理机做出最后诊断后便应用免疫系统的相关规则,如果已有此种病的免疫或者免疫已经失效或者免疫效果已经降低,则对诊断结果进行进一步处理。因为我们不得不考虑到免疫疫苗对于诊断结果的影响,否则诊断结果往往是没有意义的。除此之外,免疫系统为动物提供免疫提醒,是系统设计人性化的又一体现。 |
图 2-1 系统结构
三、询问技术
本系统核心之一在于询问的方法,即如何收集诊断数据。参考中国中医“四诊”法:望、闻、问、切。其基本思想为要求用户对专家系统的提问做出是否的回答(选择)。以犬病的诊断为例。临床医生临床诊断的常用方法为:问诊、视诊、触诊、叩诊、听诊、嗅诊。还包括整体以及一般检查、系统性检查、实验室检查、仪器检查等。专家系统的设计目标用户主要为一般畜禽养殖户,因此询问的内容应该主要是直观的、技术性低的。本专家系统在设计犬病的诊断询问模块时(以犬为例),将询问模式分为三类: 1、“基于多症状组合诊断法”的询问模块(如图3-1所示) 图 3-1 基于多症状诊断 2、“基于主要症状诊断法“的询问模块(如图3-2所示) 图 3-1 基于主要症状诊断 3、“基于怀疑病诊断法“的询问模块(如图3-3所示) 图 3-3 基于症状诊断 |
四、诊断推理技术
专家系统的诊断过程就是基于C-F模型的不确定性推理的过程。每种病疫都有一些特定的临床症状,但同一种症状可以对应多种病疫,因此基于症状的诊断分析机制不能百分之百的推出结论,只能排除不可能发生的病疫。因此,为了模拟这种特点,本系统使用了非精度性(不确定性)诊断模型中的确定性理论。其中,非精度性是用CF(可信度)来表示的。
专家系统推理机求解方式基于规则推理(rule based expert system),又称为产生式推理系统(production rule expert system)。它是由E.Post(波斯特)于1943年作为一种通用的计算机形体提出的,并由A.Newell(纽厄尔)和H.Simon(西蒙)于1972年作为一种人类认知模型引入到人工智能研究中来。产生式与逻辑谓词的蕴含式不同,它不仅可以表示精确知识,也可以表示不精确知识。产生式知识表示法可以比较简单的描述事实、规则以及之间的非精度性度量。产生式(不确定性CF模型)的基本形式为:
P -> Q 或者 IF P THEN Q其中P是前提(前件,条件,前提条件,断言)。P可以是单一断言也可以是多种断言。
Q为产生式结论。操作亦可以称后件。Q也可以设计为多个结论。
在本专家系统中,Q主要用CF模型表示,为可信度因子。我们设定其值介于-100到100之间,即CF∈[-100,100]。
下面以犬的细小病毒性肠炎(编号00008)为例说明具体的推理过程。
表4-1 事实知识库
症状编码 | 规则对应病 | 症状内容 | 症状可信度(%) |
00010 | 00008 | 频繁呕吐 | 25 |
00011 | 00008 | 出血性腹泻 | 30 |
00012 | 00008 | 迅速脱水 | 35 |
表4-2 事实知识库
症状编码 | 规则对应病 | 症状内容 | 症状可信度(%) |
00021 | 00008 | 00010与00011同时出现 | 15 |
00022 | 00008 | 发病犬年龄为3-6个月 | 10 |
00023 | 00008 | 如出现00010未出现00012 | -5 |
事实知识库中的症状可信度为不考虑特殊性的CF可信度值,它代表所占结果可能性的权值。规则知识库的规则可信度代表对于诊断结果的可能性的影响权值。 现在假设一条4月大的犬有症状00010与00012出现,那么其患有细小病毒性肠炎的可能性(CF(00008))基本推理算法为: 事实可能性推断:CFA(00008)=CF2(00010)+ CF2(00011)=25+30=55 规则可能性推断:CFB(00008)=CF3(00021)+ CF3(00022)- CF3(00023)=15+10-5=20 最终可信度为:CFA(00008) + CFB(00008)=55+20=75n 至此,推理基本结束。当然在实际的推理过程中要复杂的多,还应包含多次症状选择与再次诊断的过程。规则库与事实知识库是推理机推算的基本依赖。除此之外,为了系统推理的更加准确,动物的免疫记录也是不可不考虑的因素。 |
五、解释模块
如下图所示,为解释模块的基本模型 图 5-1 解释模块 图 5-2 诊断结果 图 5-3 病疫图片 |
六、“推理机引擎”的构建
本例中使用C#构建推理机引擎,类信息如下图所示:
图 6-1 推理机结果实体
图 6-2 推理机引擎
1)诊断过程由推理引擎完成,引擎会根据调用参数智能判断当前执行的推理模式。
2)诊断结果是一个或多个诊断结果对象组成的集合。此集合将由解释模块翻译、处理并展示给用户。
3)推理机推理的步骤如下图表示:
图 6-3 推理原理
标题名称:基于症状分析的动物辅助诊疗专家系统的设计与实现
网页链接:http://myzitong.com/article/pdieog.html