基于WEB的奶牛疾病诊断系统_第1页
基于WEB的奶牛疾病诊断系统_第2页
基于WEB的奶牛疾病诊断系统_第3页
基于WEB的奶牛疾病诊断系统_第4页
基于WEB的奶牛疾病诊断系统_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编号NO:本科毕业论文论文题目 基于WEB的奶牛疾病诊断系统 学生姓名 学号 学部 专业班级 指导教师姓名 指导教师职称 基于WEB的简易奶牛疾病诊断系统摘要 奶牛养殖业是我过畜牧业的重要组成部分,然而疾病的多发和专家的相对不足严重影响了我国奶牛养殖业的发展。本文对奶牛疾病诊断知识和专家系统进行大量文献研究,在对奶牛养殖基地进行调研的基础上,总结了奶牛疾病诊断知识内容、特点和领域专家的思维方式,采用了面向对象与规则相结合的知识表示方法,设计并实现了基于WEB的面向对象专家系统。 本文重点做了以下三个方面的工作: (1) 对奶牛疾病知识的内容、特点和诊断过程中领域专家的思维模式进行了详细的分析,

2、建立了基于面向对象和规则相结合的复合知识表示模型,此知识表示方法解决了规则表示只能表示因果关系而不能表示机构关系的问题和框架表示继承方式带来的框架任意调用的问题。 (2) 在构建奶牛疾病诊断对象的过程中,本文提供了规则库与推理机分离模式,并给出了推理过程中规则与对推理机新结合的方法,规则与推理机分离解决了规则修改时需要重新编译对象的问题,降低了知识维护的复杂性,新的规则与推理机的结合方式采用文本映射的方式,在对象初始化或者对象属性更新时自动检索规则库、更新可用规则,提高了诊断推理的效率。 (3) 对基于不确定推理进行了改进,设计了基于面向对象的表示,实现了知识库维护的相对独立,简化了系统的计算

3、量,提高了效率,基于web的奶牛疾病诊断系统有利于系统的更新,方便了系统的推广,解决了奶牛疾病诊断专家需求与供给的瓶颈问题。关键词: 基于web,诊断专家系统,面向对象,奶牛疾病,知识表示1 绪论41.1 问题的提出与研究的意义41.2专家系统的起源与发展51.3 本文研究的目标71.4解决的问题72 知识的表示与分析82.1知识表示82.2奶牛疾病诊断知识的分析92.3奶牛疾病诊断内容102.4奶牛疾病的症状112.5奶牛疾病病因112.6疾病防治措施122.7病理知识122.8诊断方法122.9奶牛疾病诊断的思维模式122.10规则的表示方法14三 推理机的分析与实现173.1推理机的发展

4、173.2奶牛疾病诊断系统数据的初始化183.3 推理机的推理流程193.4诊断过程中冲突的消解21四 系统的体系结构及实现224.1系统体系结构的实现224.2 系统功能模块的实现234.3系统工作流程实现234.4知识库的实现254.5系统界面实现26五 结论与展望305.1 结论305.2建议30 1 绪论1.1 问题的提出与研究的意义 发展畜牧业是我国农业结构调整的龙头从产值结构来说,现代农业国家,农业中处于第一位的是奶牛,占总产值的20%左右,随着人民生活水平的提高和农村产业结构的调整特别是加入世贸组织以后,我国的畜牧业将迎来良好的发展机遇。同时,由于激烈的市场竞争,也必然面临新的挑

5、战,产品优质价低才能占领市场,获得好的效益,而经济有效的防止奶牛疾病发生是降低生产成本和提高产品产量,质量的关键措施。要进一步促进畜牧业的发展,就要解决奶牛疾病鉴别难早期防治难的问题,竭力做到早防、早治、防病于未然,最大限度的提高经济效益。 已开发的奶牛疾病诊断专家系统存在推理准确性和实用性不高的问题。为了解决病害频繁发生与领域专家相对缺乏的矛盾,减少病害带来的经济损失,使奶牛疾病得到及时诊断,适时防治的效果,国内外许多科研机构在对病害诊断与防治的基础上,借助于先进的信息技术和人工智能方法,研制了一些奶牛疾病诊断专家系统,利用这些专家系统模仿人类专家对奶牛疾病进行诊断和防治,使奶牛疾病诊断从依

6、靠经验防治向科学防治迈进了一步。 目前已经研制的奶牛疾病诊断系统,通过不同的方法对专家诊断机理进行了模拟,先后开发了基于产生式规则,基于产生式规则,基于本体和基于案例等方法的奶牛疾病诊断系统。可以说这些已经研制的奶牛疾病诊断专家系统进行了有益的探索。但是由于相关知识工程技术的不成熟和开发人员对奶牛疾病诊断领域认识的不全面,致使奶牛疾病诊断专家系统在应用中日益出现脆弱性,解决实际问题的效率低下,无法在实际应用中发挥作用。面向对象的方法应用于专家系统日益成熟,奶牛疾病诊断知识的积累日益完善。医疗诊断推理的最大难点就是知识库问题。这主要是指知识的表示的问题和知识的完备性问题。近年来大量关于专家系统的

7、研究被报道,各种知识表示方法不断被完善,其中面向对象的知识表示受到越来越多研究者的提倡,本文拟采用基于面向对象知识的推理。以充分发挥各种,推理方法的优势,弥补各种不足之处。随着大量奶牛疾病诊断及其专家系统的研究的开展,本实验通过查阅文献资料,与相关领域的专家座谈,提取积累了丰富的奶牛疾病知识诊断案例、规则,为本文的开展奠定了基础。新的网络通讯技术的进步为疾病诊断专家系统提供了更广的空间。兽医学信息是伴随着信息学和计算机技术的进步而发展起来的。以计算机网络技术,多媒体技术和通信技术为支撑的疾病诊断专家系统不仅拥有高层次,多功能的专家知识,并且能模仿人类推理的过程,以形象,直观的方式向使用者提供各

8、种疾病问题的咨询服务与决策方案,是用于解决奶牛疾病诊断中存在的专家队伍缺乏问题的有效途径。在我国,到2005年6月,互联网用户人数已经升到了1.03亿人,5年来平均增近2000万户,专家预测,2008年中国已经超过美国,成为世界第一大互联网用户国。我国大力发展的通信和信息联网的基础设施建设,成为WEB的奶牛专家诊断系统创造了条件。综上所述,开发奶牛疾病诊断专家系统有着迫切的社会需求,牛场养殖业的发展和专家系统的理论与技术的日益成熟为系统开发提供了有力的技术支持,我国互联网的基础设施建设为系统的推广应用创造了条件,因此开发此系统是可行的。1.2专家系统的起源与发展专家系统是人工智能中最重要的也是

9、最活跃的一个应用领域,它实现了人工智能从理论研究走向实际应用、从一般推理策略探讨转向运用专门知识的重大突破。专家系统是早期人工智能的一个重要分支,它可以看作是一类具有专门知识和经验的计算机智能程序系统,一般采用人工智能中的知识表示和知识推理技术来模拟通常由领域专家才能解决的复杂问题。20世纪60年代初,出现了运用逻辑学和模拟心理活动的一些通用问题求解程序,它们可以证明定理和进行逻辑推理。但是这些通用方法无法解决大的实际问题,很难把实际问题改造成适合于计算机解决的形式,并且对于解题所需的巨大的搜索空间也难于处理。1968年,f.a.费根鲍姆等人在总结通用问题求解系统的成功与失败经验的基础上,结合

10、化学领域的专门知识,研制了世界上第一个专家系统dendral,可以推断化学分子结构。20多年来,知识工程的研究,专家系统的理论和技术不断发展,应用渗透到几乎各个领域,包括化学、数学、物理、生物、医学、农业、气象、地质勘探、军事、工程技术、法律、商业、空间技术、自动控制、计算机设计和制造等众多领域,开发了几千个的专家系统,其中不少在功能上已达到,甚至超过同领域中人类专家的水平,并在实际应用中产生了巨大的经济效益。专家系统的发展已经历了3个阶段,正向第四代过渡和发展。第一代专家系统(dendral、macsyma等)以高度专业化、求解专门问题的能力强为特点。但在体系结构的完整性、可移植性、系统的透

11、明性和灵活性等方面存在缺陷,求解问题的能力弱。第二代专家系统(mycin、casnet、prospector、hearsay等)属单学科专业型、应用型系统,其体系结构较完整,移植性方面也有所改善,而且在系统的人机接口、解释机制、知识获取技术、不确定推理技术、增强专家系统的知识表示和推理方法的启发性、通用性等方面都有所改进。第三代专家系统属多学科综合型系统,采用多种人工智能语言,综合采用各种知识表示方法和多种推理机制及控制策略,并开始运用各种知识工程语言、骨架系统及专家系统开发工具和环境来研制大型综合专家系统。在总结前三代专家系统的设计方法和实现技术的基础上,已开始采用大型多专家协作系统、多种知

12、识表示、综合知识库、自组织解题机制、多学科协同解题与并行推理、专家系统工具与环境、人工神经网络知识获取及学习机制等最新人工智能技术来实现具有多知识库、多主体的第四代专家系统。专家系统通常由人机交互界面、知识库、推理机、解释器、综合数据库、知识获取等6个部分构成。其中尤以知识库与推理机相互分离而别具特色。专家系统的体系结构随专家系统的类型、功能和规模的不同,而有所差异。为了使计算机能运用专家的领域知识,必须要采用一定的方式表示知识。目前常用的知识表示方式有产生式规则、语义网络、框架、状态空间、逻辑模式、脚本、过程、面向对象等。基于规则的产生式系统是目前实现知识运用最基本的方法。产生式系统由综合数

13、据库、知识库和推理机3个主要部分组成,综合数据库包含求解问题的世界范围内的事实和断言。知识库包含所有用“如果:前提,于是:结果形式表达的知识规则。推理机(又称规则解释器)的任务是运用控制策略找到可以应用的规则。知识库用来存放专家提供的知识。专家系统的问题求解过程是通过知识库中的知识来模拟专家的思维方式的,因此,知识库是专家系统质量是否优越的关键所在,即知识库中知识的质量和数量决定着专家系统的质量水平。一般来说,专家系统中的知识库与专家系统程序是相互独立的,用户可以通过改变、完善知识库中的知识内容来提高专家系统的性能。人工智能中的知识表示形式有产生式、框架、语义网络等,而在专家系统中运用得较为普

14、遍的知识是产生式规则。产生式规则以IFTHEN的形式出现,就像BASIC等编程语言里的条件语句一样,IF后面跟的是条件(前件),THEN后面的是结论(后件),条件与结论均可以通过逻辑运算AND、OR、NOT进行复合。在这里,产生式规则的理解非常简单:如果前提条件得到满足,就产生相应的动作或结论。推理机针对当前问题的条件或已知信息,反复匹配知识库中的规则,获得新的结论,以得到问题求解结果。在这里,推理方式可以有正向和反向推理两种。正向链的策略是寻找出前提可以同数据库中的事实或断言相匹配的那些规则,并运用冲突的消除策略,从这些都可满足的规则中挑选出一个执行,从而改变原来数据库的内容。这样反复地进行

15、寻找,直到数据库的事实与目标一致即找到解答,或者到没有规则可以与之匹配时才停止。逆向链的策略是从选定的目标出发,寻找执行后果可以达到目标的规则;如果这条规则的前提与数据库中的事实相匹配,问题就得到解决;否则把这条规则的前提作为新的子目标,并对新的子目标寻找可以运用的规则,执行逆向序列的前提,直到最后运用的规则的前提可以与数据库中的事实相匹配,或者直到没有规则再可以应用时,系统便以对话形式请求用户回答并输入必需的事实。由此可见,推理机就如同专家解决问题的思维方式,知识库就是通过推理机来实现其价值的。人机界面是系统与用户进行交流时的界面。通过该界面、用户输入基本信息、回答系统提出的相关问题,并输出

16、推理结果及相关的解释等。综合数据库专门用于存储推理过程中所需的原始数据、中间结果和最终结论,往往是作为暂时的存储区。解释器能够根据用户的提问,对结论、求解过程做出说明,因而使专家系统更具有人情味。知识获取是专家系统知识库是否优越的关键,也是专家系统设计的“瓶颈”问题,通过知识获取,可以扩充和修改知识库中的内容,也可以实现自动学习功能。早期的专家系统采用通用的程序设计语言(如fortran、pascal、basic等)和人工智能语言(如lisp、prolog、smalltalk等),通过人工智能专家与领域专家的合作,直接编程来实现的。其研制周期长,难度大,但灵活实用,至今尚为人工智能专家所使用。

17、大部分专家系统研制工作已采用专家系统开发环境或专家系统开发工具来实现,领域专家可以选用合适的工具开发自己的专家系统,大大缩短了专家系统的研制周期,从而为专家系统在各领域的广泛应用提供条件。1.3 本文研究的目标本文研究旨在开发辅助诊断系统,由于疾病和疾病诊断的复杂性,疾病诊断专家系统目前的应用水平不能做到完全地计算机智诊断。充分发挥用户的主观能动性,在诊断过程中增加用户与系统的交互将大大提高诊断的准确性,所以本系统的定位是在诊断过程中起到指导,辅助作用,与用户共同完成奶牛疾病的一次诊断,具体目标如下; (1)针对目前已经有的系统知识分类粗糙,数据不全面,单一的表示方法有局限性等问题,根据奶牛诊

18、断案例的内容,结果和特点,结合病情理论知识和专家经验知识,提出新的知识表示方法,建立较为完备的知识库。 (2)针对已有系统的推理模型机械、单一的特点,建立以面向对象方法为基础的奶牛疾病诊断推理机制,研究更加有效的推理选择路线,以此来提高奶牛疾病诊断推理的准确性和效率。1.4解决的问题诊断对象的初始化:为了使推理机和知识库之间相对独立系统使用了文本映射描述对象属性的方法,在诊断开始时将获得对问题的描述装入初始化的问题空间,形成问题对象,再装入相应的规则作为对象的方法。推理路线的选择,消息触发机制:问题对象建立后,通过消息触发机制,激活与问题对象相应的规则,得到问题的解。冲突消解机制:当一个问题对

19、应多个规则可以适用时,通过冲突消解机制选择最合适的诊断规则,得到最优解。 2 知识的表示与分析知识表示是人工智能研究的一个中心课题,也是构建专家系统库的基础,知识表示主要是选择合适的形式表示知识,即寻找知识与表示之间的映射,它研究的主要问题是各种数据结构的设计,即知识的形式表示方法,研究表示与控制的关系;表示和推理的关系以及知识表示和其他领域的关系,知识表示的目的在于:通过知识的有效表示,使人工智能程序能利用这些知识做出决策,指定计划,识别状况和对象,分析景物,获取结论。本章论述是全文的理论基础,分析了奶牛疾病诊断和知识的内容,特点和思维模式;概述了专家系统和知识的常用方法;为推理机的设计和专

20、家系统的设计和开发奠定了基础并且提供了知识的准备。2.1知识表示知识表示是人工智能研究的重要领域。智能活动主要是获得并应用知识的过程,它主要包括:知识的获取,知识的表示和知识的应用。而知识只有以适当形式表示才便于在计算机中存储,检索,使用和修改。因此,在专家系统中,知识表示就是研究如何用最合适的形式来组织知识,使对所要解决的问题最为有利。知识的表示是为了描述事物的一组约定,是知识的形式或者符号化过程,是表示将知识(例如关于世界的事实,关系,过程等)编码成合适的数据结构。知识表示是数据结构和解释过程的结合。一般说来,如果只是如何表示最合适与所要解决的问题的性质以及解决的方法密切相关的。在专家系统

21、中,知识表示总是与推理策略同时研究的。目的是使知识最合适于该问题的推理和计算。正如我们可以用不同的方式描述同一事物一样,对于同一种知识可以采取不同的表示模式。但是各种模式在表示不同领域的具体知识时,在模式本身问题领域以及运用这种模式的推理策略方面,其难易程度是不一样的。迄今为止,还没有得到一种通用的知识表示模式,如果表示还没有完善的理论可以遵循,评价一种模式的优劣还没有统一的标准。尽管如此,人工智能领域已经发展出了各种知识表示方法,并且各自有一些特点。朱林立、夏幼明通过对不确性知识表示以及推理问题的探讨,提出了不确定性知识程度的表示方法,为提高不确定性推理结果的可信度提出了一些新的技术和方法,

22、并且通过实例验证了本方法的可行性和有效性。蒋栋、李玲等采用混合规则,框架,过程,语义网络等方法表达电器产品设计中的领域知识;同时以创新设计为目的的,提出了电器产品设计对象知识的“框架式”组织和管理模式,并把多种知识表示方法融入到设计对象知识的建模中。何少华、王菲 提出一个比较和评估各种知识表示范围的框架该框架有4个维度:表示充分性,表示属性,支持的推理方法,推理属性。然后使用此框架对逻辑,语义网,产生式规则以及框架范围这4中常用的知识表示规范进行了比较,最后认为此框架可有效地帮助问题求解中知识表示规范的比较和选择。王风英、乔慧丽通过对目前几种常用的知识表示方法的优点缺点的对比,提出了产品概念设

23、计知识的一种新的方法表示面向对象的知识表示方法最能体现现代设计方法,其思想更接近于人的思维活动。采用面向对象的知识表示方法进行对产品概念设计实例的表示,并且以减速器的产品概念设计为例阐述产品概念设计的知识系统。彭林、杨林楠提出面向对象的知识表示,以类,对象进行事物以及知识的描述,具有模块性,继承性,封装性,多态性和易于维护维护性,以方便于知识的检索,管理,传输和共享。在对面向对象的知识表示和推理机进行了讨论的基础上,详细的介绍了采用面向对象知识表示的专家系统的设计思路,并且对其实现方法及所用到的一些关键技术做了说明。陈传波、郭天杰等人采用描述框架加规则组的两级识别方法。描述框架定义问题领涉及的

24、因素,规则组描述问题内求解的问题。基于这种知识表示技术,涉及实现了农业专家系统开发工具的知识管理子系统。Firriolo FJ等人开发唾液腺体肿瘤的组织病理诊断专家系统,利用启发式规则方式进行知识表达:经过口腔病理专家们的测试,该系统诊断结果可行有效。R.Morpurgo和开发的智能诊断决策系统,采用一阶谓词逻辑和产生式两种知识表达方法组建多个数据库,该系统能够提供全部可能的病况供全部可能的病况供医生参考,从帮助医生做出最好的诊断决定。以上是几种典型的知识表示方法,除此之外还有很多种知识的表示方法,比如特性表示方法,过程表示以及脚本知识表示方法,面向对象的知识表示方法,不精确的知识表示方法,状

25、态空间表示方法等等。这些方法各有特点,也有不足之处,而且适用的领域也不相同。如:谓词逻辑方法只适用于确定性,陈述性,静态性知识:产生式规则方法,如果条件太多,或者规则条数太多,将使得推理的速度变的很慢。此外,在现代的研究中,常采用混合型的表示方式来表示领域的知识。到目前为止,用知识表示的方法有很多种,而且都有其各自的特点,但是在实际应用中究竟选择哪种知识表示方法,还应该结合知识表示方法的特点和梁宇知识的特点来综合考虑,但是无论采用哪种知识表示方法,都要求该方法尽可能的满足以下几点: (1)充分表示领域的知识。 (2)有利于知识的利用。 (3)便于对知识的组织维护与管理。 (4)便于理解和实现。

26、2.2奶牛疾病诊断知识的分析 奶牛疾病诊断是指奶牛疾病专家系统根据奶牛的症状表现,采用一定的诊断方法对症状表现进行识别、以判断奶牛的状态、分析病因并且给出防治措施。奶牛生理状态受多种环境因素的影响,而且治病因素非常多,导致奶牛疾病诊断和防治都变的非常的复杂。另一方面奶牛疾病领域目前尚未形成完备的病理分析,诊断与防治理论,在实际中根据临床经验进行奶牛疾病诊断和防治仍占有很大的比重。笔者通过多次与具有丰富经验的奶牛专家访谈,获取了大量奶牛疾病诊断案例和经验知识。下面就将这些奶牛疾病诊断案例和经验知识与奶牛疾病诊断理论知识结合起来,从奶牛疾病诊断内容,诊断特点与思维模式三个方面对奶牛疾病诊断知识进行

27、分析。2.3奶牛疾病诊断内容奶牛疾病诊断包括以下要素:诊断主体(牛病专家)、诊断客体(病牛)、奶牛疾病的类型、症状的表现、诊断的方法、病理知识、病因和防治措施。这些要素相互关联,共同构成了奶牛疾病诊断的有机整体,表现上是诊断主体与客体相互作用,得出诊断结论,实际上是奶牛疾病专家运用诊断方法并且结合自身的奶牛疾病诊断病理知识,逐步提取有用的诊断要素,并且理清各个要素之间的关系,从而得出诊断结论。具体如图2-1所示: 病因诊断结果防治方法奶牛诊断方法法 观察实验逻辑推理 病理知识诊断要素症状疾病牛病专家 奶牛牛病诊断主体 诊断客体图2-1疾病诊断思维 2.4奶牛疾病的症状 症状表现是指奶牛体在发病

28、过程中出现的非健康的病态反应。主要包括两个方面:(1)奶牛的现场表现,如卧立情况,吃食情况等;(2)奶牛体症状,包括呼吸系统、运动系统、神经系统、消化系统、生殖系统和皮毛等部位的症状。根据症状对疾病结论诊断价值的不同,可以将症状划分为主要症状(必见症状、常见症状)和次要症状(偶见症状),如图2-2所示:图2-2奶牛疾病症状表现现场表现奶牛症状必见症状常见症状偶见症状奶牛疾病症状表现2.5奶牛疾病病因病因是指导致奶牛体发生病变的因素。奶牛的致病因素复杂繁多,基本可以划分为三大类:1.生物因素,包括细菌、病毒、真菌、寄生虫等:2.环境因素,主要是温度湿度等偏离正常指标;3.人为因素,包括饲料管理不

29、正当和机械性损伤。如图2-3所示:传染性饲养管理水平 奶牛疾病环境及季节性 其它接触。.引种混群.周边牛舍饲养密度病毒细菌遗传图2-3奶牛疾病的致病因素 2.6疾病防治措施 在确定奶牛疾病类型和病因之后,诊断进入防治阶段。由于奶牛的种群的差异,养殖场周围环境的差别和饲养管理措施的不同,在奶牛疾病防治中要因时因地地制宜,特别是应该加强环境的检测和疾病的预防,在奶牛疾病发生之初就采取措施进行预防,以降低损失。2.7病理知识病理知识是奶牛疾病诊断的核心,主要是指症状,疾病,病因之间的关系。其中疾病是病因的结果,而症状是疾病的外在反应又是病因的本质反应。实际中,症状,疾病,病因三者之间的关系非常复杂,

30、也是奶牛疾病的重点和难点。如图2-4所示: 因果疾病病理知识映射映射病因症状图2-4奶牛疾病的病理知识 2.8诊断方法奶牛疾病的诊断方法是指奶牛专家在对病牛进行诊断过程中采用的方法,主要包括观察,实验和逻辑推理等方法。其中,观察分为目标检测和镜检;实验包括免疫学,病理和生理实验;逻辑推理包括逻辑思维,形象思维等,主要依据奶牛病理知识和临床经验知识。2.9奶牛疾病诊断的思维模式诊断思维是指专家在诊断过程中一系列的思维活动,即从具体到抽象再到具体的过程。奶牛疾病诊断系统的过程也就是诊断思维活动的过程。这种思维过程在奶牛疾病诊断中表现为从现场调查,奶牛个体检查等资料的收集到运用病理知识和经验知识综合

31、分析症状,疾病,病因的过程,然后对奶牛疾病进行具体的诊断治疗。奶牛疾病专家对疾病的认识过程为获取病牛的特征信息,诊断推理,输出结论,验证结论的过程。开始症状的获取是不完整的,奶牛疾病诊断系统根据一些认为重要的症状做出推理假设,运用奶牛疾病知识进行分析,如果在头脑中假设某种疾病,则必然会出现某种症状,于是向养殖户询问,或者通过相应的检查以明确这些症状是否真的存在,如果存在假说成立,如果不存在,则排除假设。面对复杂的病情,专家对疾病的诊断过程是认识不断深化的过程,其思维的轨迹是:先稳定状态,把注意力集中在某种疾病上,然后随着证据的积累,其思维生产波动,注意的焦点逐步扩大,在一些关键的分叉点上专家汇

32、集经验,使其思维最终落在主要吸引因子上。如此反复交互,最终可以确诊或者把假说缩小在很小的范围内,直到具体诊断结果。实际上可以将上述思维过程抽象为一个假设驱动的“假设一验证”的循环过程,在每次循环中包括以下两步:1.假设寻找当前症状信息下可能的诊断假设;2.验证对诊断假设进行验证,并且要求提供更多的症状信息。再进行1的假设过程。实际上着是一个由诊断到确诊,由不清楚到清楚的一个递进的过程。如2-5图所示:奶牛疾病诊断的主体(专家)奶牛疾病诊断的客体(奶牛) 现场调查 印象诊断病牛检查 可能诊断检验检查确定诊断 图2-5诊断模式在实际的奶牛疾病诊断过程中,专家大脑中的诊断知识通常以两种形式存在:一种

33、是案例知识,另一种事经过长期的诊断实践学习而上升为逻辑语言的经验知识。在经验知识不足的情况下,案例知识显示出更重要的作用,可以通过以往案例的再现来推断新问题的解决措施。列入当病牛显现症状时,专家会根据已经掌握的症状信息,首先回忆以前是否出现过类似的诊断经历,如果有救与当时的诊断情景进行比较,并且根据诊断诊断成功的案例迅速做出判断或者提出假设。如果回忆不到相似的案列,就运用经验知识和理论进行逻辑推理。实际中奶牛疾病诊断的思维过程如图2-6所示: 个性化确诊 奶牛 症状表现可能疾病集合(n1,n2.) 必见症状确定疾病n1疾病分析个性化治疗否定疾病n1是否 可能确诊个性化治疗方案 图2-6疾病诊断

34、思维过程图2.10规则的表示方法产生式系统与一般计算系统相比较具有以下特点:综合数据库是全局性的,在为所有的规则提供访问:规则之间不能相互调用,他们之间的联系中能通过综合数据库进行。因此,对综合数据库,产生式规则和控制系统的修改可以相对独立进行,特别适合于人工智能的应用。尤其是规则的表示具有固有的模块特性,易于实现解释功能,其推理机制更加接近于人类的思维方式,因此获得了广泛的应用。规则库(知识库)规则库由一系列的产生式规则组成。规则形式为:前件后件或者IF条件THEN结论例如:IF ,P,R均升高AND 弛张热,稽留热AND 咳嗽呈短钝,干,湿,连咳或者痛咳AND 听诊肺部呼吸声音减弱,啰音或

35、者黏发音AND听诊胸部有小片浑浊音区(多在肺脏肩膀前)或者清音AND 粘膜潮红THEN 支气管炎(2)工作存储器工作存储器称为动态数据库,综合数据库,短期数据缓冲器,用它来存储求解问题的初始状态以及已经知道的事实,推理的中间结果以及结论。其中的内容是动态变化的,可通过简单的表,数组,带索引的头文件结构,关系数据库等来实现。 表2-1 症状表字段名称字段名称数据类型1id主键int2name症状的名称varchar3flag标记症状的部位int表2-2 疾病表字段名称字段名称数据类型1id主键int2name疾病名称varchar3flag患病部位int(3)控制器控制器以前称为规则表示器,它控

36、制系统的运行和推理过程,包括1规则扫描的气点和顺序安排:2 规则前件与工作存储器中事实的模式匹配;3工作存储器的状态更新4多条规则被触发时冲突的消解5推理终止的判定条件 三 推理机的分析与实现本系统的开发的核心内容。通过分析问题对象的初始化过程,推理机的推理流程,诊断结果冲突的消解方法,确定奶牛疾病诊断专家系统的工作流程,针对本文所研究的问题领域奶牛疾病诊断,提出了应用此理论合理的假设前提,并且对计算公式从疾病诊断的特点出发,进行了适当的修改,本节最后一个诊断实例,验证了推理机设计的合理性。3.1推理机的发展在现实生活中,人们对在各种事物进行分析,综合,最后做出决策时,通常是从已知的事实出发,

37、运用已经掌握的知识,找出其中蕴含的事实或者归纳出新的事实,这一过程成为推理。严格的讲,所谓的推理就是按照某种策略由已知判断推出另一判断的思维过程。人类的智能活动有很多的思维方式,因此,作为模拟人类智能的专家系统相应地也有多种推理方式,如演绎推理,归纳推理和默认推理;确定性推理和不确定性推理;单调推理和非单调推理;启发式推理和非启发式推理;基于知识的推理,统计推理和直觉推理等。从推理过程中所应用的知识和推理结论的确定性方面来看,推理方法可以分为确定性推理和不确定性推理两类。所谓确定性推理是按照明确的规划进行确定性的推理,推理的结论是肯定的或者否定的。不确定性推理就是利用初始数据的不确定性和知识的

38、不确定性,推理出结论的确定性。在医学专家系统中,往往涉及到很多的经验知识,我们知道,经验知识往往都带有某种程度的不确定性,所以,在医学领域应用最多的还是不确定性推理。专家系统是针对某一特定的领域,系统的问题求解过程不仅依赖于特定领域内的某些确定性的知识,而且更多的依赖于领域专家的经验知识。由于现实世界中客观事物的复杂性,导致了人们获得的信息和知识大多是不精确的,这就要求专家系统中的知识表示和处理模式能够反映这种不确定性,能够运用不确定性知识进行推理。不确定性推理是建立在非经典逻辑基础上的一种推理,是对不确定性知识的运用与处理。严格地说,不确定性推理就是从不确定性的初始证据出发,通过运用不确定性

39、的知识最终推出具有一定程度的不确定性但是却合理或者近乎合理的结论的思维过程。就医学领域而言,各种症状以及自身症状之间的关系都是极其复杂的,在客观上都存在着一定的随机性和模糊性,而且有些症状或者疾病的表现也具有不充分性,这就使得人们对这些症状的认识和研究是不精确和不完全的,具有一定程度的不确定性。这种认识上的不确定性就形成了不确定性的知识和不确定性的证据。而且在许多领域问题的实际求解过程中,往往需要运用大量的专家经验,而这种经验性知识往往带有某种程度上的不确定性。因此,为了使计算机对人类思维的模拟更接近于真实的人类思维,就必须对领域内知识的不确定性的表示和处理进行研究。医学领域与其他领域一样,在

40、不确定性推理中,其不确定性也表现为知识和证据两个方面。因此在推理机制的设计与实现时,需要解决知识和证据不确定性的表示,不确定性的匹配,不确定性的传递算法以及不确定性的合成问题。目前,不确定性问题仍然是人工只能和专家系统研究的焦点之一,即如何在信息不完全或者不确定的情况下进行决策和推理。在专家系统的推理中,如果规则的前提是完全的,严格的,那么推出的结论就是确定的,但是这种情况往往是不现实的,因此在客观的世界中,一个事件往往受到很多因素的影响,其中有些因素,甚至大部分因素是难以得到或者无法得到的,这就使得推理的证据是不完全的,不精确的。在专家系统的研究中,对不确定性的研究主要体现在知识的不确定性,

41、证据的不确定性,和不确定性的传递算法,即如何将知识和证据的不确定性传递到结论,并且更新结论的确定性。自专家系统出现以来,成功应用与专家系统开的不确定性推理的方法很多,其中最主要的有可信度方法,概率推理方法,主观Bayes方法,证据理论和模糊推理等。卢燕、潘虹等介绍了基于Browser/Server模式的远程故障诊断系统的基本结构以及工作原理并且对关键技术做了研究。曹珊等概述了人工神经网络的主要特征,分析了基于人工神经网络的专家系统的建设四象,系统的结构以及优缺点,并且对神经网络专家系统做了一定的讨论。施予,霍春宝等针对腹痛的诊断建立了模糊神经网络模型制定了系统实现的方法。通过大量的病例的学习后

42、,仿真结果表明该系统具有使用价值,并且可以推广到其它的疾病诊断领域。3.2奶牛疾病诊断系统数据的初始化推理机的性能与构建一般与知识表示方式以及组织方式有关,但与知识的内容无关,这有利于保证推理机与知识库的相对独立性,当知识库中的知识有变化时无需改变知识库。本文的系统结构中为了使推理机与知识库之间相对独立,对知识库中的内容加以包装。这是因为在设计知识库的时候使用了文本映射的形式描述对象的属性和方法,但是实际中我们需要逆序列化,即通过文本所对应序号完成对对象各个属性的访问。其访问过程如图3-1所示: 获取提交的症状初始化数据空间初始化问题对象 初始化对象事实 根据规则更新问题对象 是否有可用规则生

43、产返回值对象NY图3-1问题对象的初始化过程 3.3 推理机的推理流程对数据初始化完成之后,对对象首先调用SelectCase()方法,从案例库中搜索是否有是否有相似的案例,若有则调用CBR()方法进行案例的相似度匹配,匹配通过后直接返回。进入验证环节,这样可以充分利用前期的工作效果。提高诊断的效率。若没有则启用基本于规则的诊断方法,调用RBR();首先检查是否有可用的规则,若无规则要求用户输入更多证据或者提示用户将其做为未知疾病,若有相应的规则,推理机就行计算。结合相应的规则逐条计算,将达到规则阈值的结果保存在返回值列表。 推理机的诊断算法如下:STEP1. 检查是否有相应的案例,若无则进入

44、STEP3STEP2 案例的相似度计算,若达到阈值则进入STEP7STEP3 检查是否有相应的规则,设为n条,若则进入STEP4,否则进入STEP5STEP4 搜索证据,若新证据不为0,则进入STEP2STEP5 计算第i条规则的激活概率,得到返回值,判断是否满足激活阈值, 否则i=i+1 重新进入到STEP5STEP6 判断是否i=n,若不等于,则i=i+1STEP7 得到返回值列表如流程图3-2所示:初始化对象更新后对象检索新证据是否有相应案例有n条相应规则相似度的计算计算第i条规则激活概率 满足激活阈值返回列表值YNn=0i=i+1NN YYn不等于0n=1图3-2推理机的诊断流程图 3

45、.4诊断过程中冲突的消解由于奶牛疾病症状的种类繁多,经过提炼而入数据库的典型症状具有概括性和代表性。相似的症状被归为一种症状,而且结论疾病的得出一般是由用户提交的一部分数据支持,所以,一组数据可能同时推理出不同的两个甚至更多个可能疾病。再者由于用户提供的证据的不确定性和推理过程中所用知识的不确定性。这时就需要进行冲突消解。冲突消解策略是在推理过程中如何匹配多条规则时采用的策略。在推理过程中,当匹配多条规则时,按规则可信度从大到小选区,将选中的规则作为匹配结论。对于系统推导出的不同可能疾病的情况,本文采用了以可信度排列的方式。将可能结果按系统计算的得此疾病的概率从大到小进行排列,概率大的优先作为

46、结果进行验证,若验证不通过,则取次大者,依次类推。本文还采用了正向推理和反向验证相结合的策略。由于证据和知识的不确定性,推理结果的不确定性也是难免的,这就导致了即使是返回值对象中概率较大的也有可能是不正确的。为了提高系统诊断结果的准确性,充分发挥用户在诊断过程中的作用,本文增加了验证的环节。如图3-4所示: 待验疾病n特定检查选择有关病症 概率计算是否确诊诊断结果YNn=n+1图3-4推理的反向验证过程 四 系统的体系结构及实现本章是系统的设计与实现部分,通过前面对奶牛疾病的诊断知识表示模型和推理模型的构建,本章对系统的结构、功能模块、工作模块、工作流程和知识库进行了详细的设计,配置了系统硬件

47、和软件的平台,核心工作是对各主要功能模块的程序设计,最后是系统的实现。4.1系统体系结构的实现基于web的奶牛疾病诊断专家系统按系统的结果分为三个层次、数据层、业务层和展现层,如图4-1所示: 展现层业务层数据层 用户WIN XP DS服务 数据库服务器图4-1系统体系结构图 数据层:存储在数据库服务器中主要是知识库和辅助信息库,其中知识库主要是规则库,辅助信息库中主要是疾病信息、防治信息、药品信息等,用户信息以及诊断过程中使用临时动态表等。业务层:其核心是奶牛疾病诊断专家系统,包括了专家系统的一般结构,有用户界面、知识获取机构、推理机、知识库管理和系统维护等模块。业务层还包括了用户管理,知识

48、浏览,诊断信息查询等模块。展现层:用户通过访问Internet来使用本系统,这种基于WEB的专家系统解决了用户找专家解决问题的时间和空间问题。4.2 系统功能模块的实现本系统的功能模块包括疾病诊断模块、知识浏览模块、系统维护模块,如图4-2所示:奶牛疾病诊断 牛病诊断知识浏览系统维护牛病知识药品知识牛病案列知识库维护防治信息维护用户信息维护数据提交疾病诊断结果输出 图4-2系统功能模块图 奶牛疾病诊断模块:基本数据的提交诊断诊断结果的输出奶牛疾病知识浏览模块:主要介绍奶牛的疾病知识理论如疾病的名称、症状、防治措施,以及治疗所用药品等。系统维护模块:该系统的维护模块是实现对奶牛疾病知识库、用户信

49、息、以及药品信息等进行维护。4.3系统工作流程实现 用户访问本系统首先进入用户登录界面当登录信息成功之后,系统根据用户的不同身份赋予用户不同的权限。当普通用户登录之后能进行奶牛疾病的诊断,或者进行奶牛疾病知识的浏览。而当用户以管理员身份登录之时,则可以对数据库进行各种添加、修改、删除等操作。管理员登录后可以对系统进行维护、包括知识库、药品信息库等。流程图如图4-3所示:初始化对象更新后对象检索新证据是否有相应案例有n条相应规则相似度的计算计算第i条规则激活概率 满足激活阈值返回列表值YNn=0i=i+1NN YYn不等于0n=1开始管理员登陆普通用户 系统维护用户信息维护知识库维护药品防治信息

50、维护疾病诊断 牛病知识浏览牛病知识药品防治知识牛病案列输出浏览结果结束图4-3系统工作流程图4.4知识库的实现知识库实现的主要任务是将形式化的奶牛疾病知识转变为由编程语言表示的可供计算机执行的语句和程序,从而初步完成可执行的奶牛疾病诊断的原型系统。根据奶牛疾病知识的概念化模型和形式化定义的阐述,并且根据“方便推理和使用”的原则,将奶牛疾病诊断知识按内涵分为概念、事实以及规则等。概念和事实定量或者定性地描述奶牛疾病诊断信息,包括症状、疾病、病因、防治的集合信息:规则是反映事实以及概念间(症状与疾病、病因、防治集合之间)内在的必然联系,描述为前提条件与结论的因果关系,包括环境条件疾病库、症状库、病

51、因库、防治库、规则库数据关系联系在一起,共同完成对奶牛疾病知识的表。具体如图4-4所示: 规则表PKGZ_IDFK1FK2FK3FK4FK5FK6FK7nu1nu2nu3nu4nu5nu6Dise_ID症状表PKRule_IDFKRule_nameFlagDise_ID疾病表PKDise_IDFKDise_nameflagRule_ID病因表PKBY_IDFKBY_nameflagDise_ID防治表PKTreat_IDFKTreat_nameflagDise_ID 图4-4系统知识库设计奶牛疾病症状、疾病、病因和防治等概念和事实存放到字典数据库中、分别表示为: (1)症状表Rule(Rule

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论