基于云技术的犬病诊断专家系统的研究

2015-10-20 02:53吴礼平等
安徽农学通报 2015年18期
关键词:专家系统云计算

吴礼平等

摘 要:针对传统犬病诊断专家系统存在的问题,结合“互联网+”和大数据、云计算时代对犬病诊断专家系统提出了新的要求,采用PHP+MySQL+AJAX技术设计实现了部署于PaaS云计算平台上的犬病诊断专家系统。该系统采用混合推理机制和广度优先搜索策略,运用产生式规则实现化验数据分析和犬病诊断功能;通过排除性规则和修正性规则,优化诊断性能;通过采集和开放病例大数据,用人工诊断的经验进一步完善该系统。

关键词:专家系统;犬病;云计算;混合推理;产生式规则

中图分类号 S854.4;TP182 文献标识码 A 文章编号 1007-7731(2015)18-129-03

Research on the Diagnostic Expert System of Canine Diseases Based on Cloud Computing

Wu Liping1 et al.

(1Yangling Vocational and Technical College,Yangling 712100,China)

Abstract:Using the design of PHP+MySQL+AJAX technology and the PaaS-based cloud computing platform,a diagnostic expert system of canine diseases was established to meet the new requirements of canine disease diagnostic system in the era of“Internet plus”,big data and cloud computing,and to parallely solve the problems of the traditional diagnostic expert systems of canine diseases. In this new expert system,a hybrid reasoning mechanism and breadth-first search strategy,production rules are used to analyze the laboratory data and then functionally diagnose canine diseases; the diagnostic performance is optimized on the basis of exclusionary rule and correction rules; and the diagnostic expert system is further improved by artificial diagnosis experience by way of storage and opening up of big data of cases.

Key words:Expert system;Canine diseases;Cloud computing;Hybrid reasoning;Production rules

1 引言

专家系统是一个智能计算机程序系统,它具有大量的专门知识与经验,应用人工智能技术和计算机技术,根据某领域一个或多个专家提供的知识和经验,进行推理和判断,模拟人类专家的决策过程,以便解决那些需要人类专家处理的复杂问题。

20世纪70年代斯坦福大学所建立的MYCIN系统[1]是首个最具代表意义的疾病诊断专家系统。其后大量的疾病诊断专家系统被开发出来[2-5]。进入21世纪,尤其是近5a来,互联网和移动互联网快速发展对疾病诊断专家系统也提出了新的要求。据统计,截至2014年6月,我国网民规模达到6.32亿[6],手机网民规模为5.27亿[7]。在2015年政府工作报告中,首次提出要制定“互联网+”行动计划,2015年中央一号文件也提出要大力发展互联网农业。互联网已成为核心引擎,推动社会创新[8]。与此同时,数据也成为当今时代最宝贵的资源,而临床诊疗过程中产生的病历数据是真正的大数据[9],然而以往的动物疾病诊断专家系统的设计都受当时运行平台性能的制约,无法使这些大数据发挥应有的价值。为适应现代计算机科技的发展水平及移动互联网的普及,现代的疾病诊断专家系统应满足这些要求:(1)用户可使用各种智能终端通过移动互联网完成操作;(2)拥有海量存储可保存用户产生的病历大数据;(3)利用病历大数据优化系统的诊断性能;(4)计算和存储资源可根据需要随时伸缩配置;(5)敏捷开发,快速部署。

云计算是解决大数据的采集、存储和处理等问题的基础。相比于传统的计算,云计算有明显的特征和优势:在经济性方面,云计算强调构建的低成本,云计算平台能够提供可用性、可伸缩性都很强的计算服务;在应用程序特征方面,云计算提倡效用计算(Utility Computing),消除了计算资源的超前供给与浪费[10]。云计算平台提供商提供的服务主要有IaaS(基础设施即服务)、PaaS(平台即服务)和SaaS(软件即服务)3种模式。本项目基于PaaS云计算服务模式,可以充分发挥云计算和大数据的优势,提高开发效率。

2 系统设计

2.1 系统架构 本系统按照B/S网络计算模式来设计,这样可将主要资源用于服务端软件的开发。服务端程序运行环境为Apache+PHP,程序部署于PaaS云计算平台新浪云SAE。SAE的体系结构(图1)包括3个层次:负载均衡、Web服务池和服务层,后者提供数据库(MySQL)、缓存管理(Memcache)、存储(Storage)和计划任务(Cron)等服务。使用SAE的优势在于:便于根据负载变化灵活配置服务器资源;同时,云计算平台可提供代码的分布式部署,以提高系统的安全性;在数据库方面,SAE可对每组MySQL数据库都采用一主库、多从库并加一备份库的设计,充分保证了数据库的性能,以及数据库的可靠性。

2.2 系统主要功能模块 本专家系统分为化验单处理、症状处理、推理机、解释器、病例库管理、用户管理、知识库管理等7大主要功能模块(图2)。其中,症状处理模块接受并处理用户提交的症状数据;化验单处理模块可对用户提交的化验单数据根据化验单处理规则进行自动分析,推导出相关的症状,并发送到症状处理模块;推理机模块根据病例中的症状信息(包括由化验单推导出的症状)依据诊断规则进行分析,给出诊断结论;解释器负责将推理机发送来的诊断结论或病例库模块发送的格式化病例信息进行解释,以便用户阅读和理解;病例库模块接受专业宠物医师的人工诊断结论,用以修正诊断规则,提高诊断性能;知识库维护模块提供管理员后台维护疾病库、疾病诊断规则库、化验单处理规则库等数据库的管理与维护功能。

3 知识获取与表示

3.1 知识获取 在专家系统中,知识的的数量和质量是决定其性能的关键因素。本专家系统的知识库(诊断规则库和疾病资料库)由长期进行宠物疾病临床诊疗及研究的专家,参考小动物疾病方面的经典著作,结合自身的临床经验研讨而形成。对这些知识,还需要转换为便于计算机处理和分析的格式化文本。

3.2 诊断规则的表示 产生式专家系统中,知识的表示可分为事实的表示和规则的表示[12]。事实的表示比较简单,其形式可与数据表结构对应。规则的表示,本系统采用IF…THEN…形式的产生式规则。本项目中,规则被分为普通规则、排除性规则和修正性规则三种。普通规则用于通过症状推断可能的疾病及该病的可能性,其形式为:IF symptom_id THEN disease_id [CF]。其中,symptom_id表示症状ID,可以用AND、OR和NOT等关键词对多种症状进行复杂的逻辑组合。disease_id表示由症状推导出的诊断结论,即疾病ID,CF表示该诊断的可信度。CF的确定对专家系统的性能至关重要,对于不准确的CF及时修正。

某些症状的存在,直接可以排除某些疾病的可能性,例如公犬已去势这一症状信息可直接排除睾丸炎等疾病。排除性规则的表示方式与普通规则类似,将CF设置为0即可。修正性规则是在普通规则的基础上,根据症状的特点,对相应的普通规则的诊断结论可信度进行加减。修正性规则不能被单独应用,必须在表达式中需要指明其目标规则(靶规则)的ID。

4 推理机设计

在执行疾病诊断的过程中,推理机的任务主要是通过自身的推理机制和搜索策略,从知识库中搜索出相关的知识,并根据知识推理出问题的解答[13]。本系统的推理机采用正反向混合推理的机制,先通过正向推理,使用宽度优先策略,尽可能多的获得可能的疾病结论,然后使用排除性规则,从中将不可能的疾病结论排除掉,最后使用修正性规则,对剩余的结论可行度进行调整,最后根据可行度高低进行排序。

宽度优先的搜索策略,对计算资源的需求比较高,当并发请求的用户过多,系统反应出现明显延迟的时候,系统提示用户是否切换到快速诊断模式。快速诊断模式下,系统根据预先对疾病按照症状相关度做出的分组,提示用户选择一个最为典型的症状作为分组依据,推理机将只在该组疾病中进行搜索和推理。

5 功能实现及性能优化

开发环境的搭建需要安装并配置Web服务器,编写的代码将被提交到服务器中进行运行和调试。服务器搭建于Ubuntu 12.04操作系统上,安装并配置好Apache、PHP、MySQL等软件。本系统使用了PHP开发框架CodeIgniter,使用MVC设计模式。代码编写使用Eclipse for PHP IDE集成开发环境。使用EcmaScript(JavaScript)实现用户操作的交互,使用jQuery以提高前端开发效率。用户终端与服务器之间交换数据使用JSON格式。

本系统部署在基于PaaS模式的云计算平台SAE上,平台自身的特点保证了系统性能的优越。对程序自身的优化,则从以下几个方面进行:(1)缓存化验单处理规则、诊断规则、症状清单等使用频率高但更新频率低的数据,减少对数据库的存取;(2)推理机是影响诊断过程性能的瓶颈环节,将推理机的核心功能用C语言编写为PHP扩展,提高系统的处理速度;(3)用户输入病历信息页面进行静态化;(4)优化数据表结构,适度建立索引,数据查询时只选择必需的字段。

6 结语

疾病诊断专家系统问世很早,不同时期都有不同的研究成果。近几年来,云计算和大数据,以及“互联网+”,对疾病诊断系统提出了新要求。在大数据时代,数据是最为宝贵的资源,随着用户的增多,使用的频繁,用户使用疾病诊断专家系统而产生的数据,是真正的大数据。本系统在法律许可的框架下,将用户诊断过程中产生的病例大数据经过数据清洗后构建病例库,开放给行业专家进行在线人工诊断,人工诊断的结论也作为大数据用于评估系统的性能,纠正系统诊断的偏差。本系统可为用户进行犬病诊断提供专业化的参考,同时,其采集的病例数据也可为兽医专业人员自我学习提供丰富的案例资源。

参考文献

[1]Joeseph Giarratano,Gray Riley.Expert Systems Principles and Programming[M].北京:机械工业出版社,2000.

[2]金雪莲.鸡病专家诊治系统的设计实现及畜禽饲料配方优化系统的设计[D].吉林:吉林大学.2002.

[3]Zvi Hochman,Roge Barlow,John F,et al.A multiple domain expert system for beef cattle farmers,Computers and Electronics in Agriculture,1991,6:143-156.

[4]姜国权.基于WEB的犬病诊断专家系统的应用研究[D].保定:河北农业大学.2006.

[5]余涛,靳志强,杨磊.基于Web的犬病诊断专家系统的设计与实现[J].河北农业大学学报,2011,34(2).

[6]第34次中国互联网络发展状况统计报告[EB/OL]. http://cnnic.cn/hlwfzyj/hlwxzbg/hlwtjbg/201407/P020140721507223212132.pdf,2014.

[7]2013-2014年中国移动互联网调查研究报告[EB/OL]. http://cnnic.cn/hlwfzyj/hlwxzbg/201408/P020140826366265178976.pdf,2014.

[8]到底什么是“互联网+”[EB/OL].http://finance.eastmoney.com/news/1360,20150330491578067.html,2015.

[9]邹北骥.大数据分析及其在医疗领域中的应用[J].计算机教育,2014(7):24-29.

[10]鲍亮,陈荣编著.深入浅出云计算[M].北京:清华大学出版社,2012.

[11]作者未详.新浪云[EB/OL]. http://www.sinacloud.com/doc/sae/tutorial/concept.html,2015.

[12]钟昌乐,钟勇,马春全.等.基于Spring框架的畜禽疾病诊断专家系统的设计与实现[J].计算机应用与软件,2010,27(4).

[13]滕文龙.基于人工智能的医疗诊断系统研究与设计[D].长春:吉林大学,2013.

(责编:张长青)

猜你喜欢
专家系统云计算
TCDS地面专家系统的应用和存在问题
数控机床液压系统故障诊断专家系统的研究
FCCU精馏塔故障诊断专家系统的研究与开发
志愿服务与“互联网+”结合模式探究
云计算与虚拟化
基于云计算的移动学习平台的设计
基于LabVIEW和Access的陀螺仪组故障诊断专家系统
实验云:理论教学与实验教学深度融合的助推器
云计算中的存储虚拟化技术应用
火电机组汽轮机故障诊断方法总结研究