疾病诊断小型专家系统 ——人工智能课程设计报告 智能 1 0 0 1 班 傅宝林 0 9 0 9 1 0 1 2 1 7 2 0 1 3 .6 .1 8 2 1 内容提要 此系统采用专家系统的规则库-推理机技术原理,以医学诊断为背景,旨在作出一个简单的辅助诊断专家系统。 系统的框架及界面采用的是Java 语言,调用XML 里保存的知识库和规则库。 此小型的专家系统以肺结核、哮喘、食管癌、骨折等疾病的诊断为例,展示了一个小型专家系统是如何构建的。 3 目录 1 内容提要……………………………………………………………2 2 目的和意义…………………………………………………………4 3 系统的主要内容和功能……………………………………………5 4 设计流程及描述……………………………………………………6 5 课程设计体会………………………………………………………2 1 6 参考文献……………………………………………………………2 2 4 2 目的和意义 (1 )加深理解专家系统的结构及开发过程。 (2 )初步掌握知识获取的基本方法。 (3 )掌握产生式规则知识表示方法及其编程实现方法。 (4 )初步掌握知识库的组建方法。 5 3 系统的主要内容和功能 系统主要以问答的形势询问病情症状,操作者只需要回答Y ES 或NO。当一趟询问完成后,系统会基于以上询问得出的事实推理出最终的诊断结果。 功能见以下截图1、2. 图1 问询界面 图2 诊断结果界面 6 4 设计流程及描述 1) 需求分析 本设计需要用高级语言编写框架及调用外部的规则库与知识库。方便起见,用 jav a 语言编写框架,用 XML 文件保存。 2) 知识获取与知识表示 知识获取通过医学临床专业的同学及医学诊断专业书籍,确保专家系统的专家性。 知识的表示采用的是 x ml 语言,把事实与规则一条条保存。 3) 知识库的组建 知识库分事实库和规则库组建。疾病诊断因为有的病有交叉的症状,所以逻辑上,从症状到诊断的过程是对一颗二叉树的搜索,当问题回答的是 YES 时,就进行深度优先搜索,当回答 NO 时,就转到兄弟节点。对于无关的疾病,则回到根节点重新对下一颗子树进行搜索。得到一种疾病的确诊就是 resu lt,得到这个叶子节点前遍历过的节点组成了reasons. 4) 推理机制选择/编制 采用的是问题引导式推理。在规则库里写的其实不是真正的规则。真正的规则蕴含在问题及前提里。为了不让“专家”问无用的问题,每个问题都是以...