论文部分内容阅读
【摘 要】应用ASP.NET技术开发了玉米病虫害管理专家系统。该系统建立了一种知识的表达方法,对玉米病虫害诊断的知识进行有效组织,较好地解决了病虫害诊断过程中知识的不确定性;并设计出一种高效的推理机。该系统能提供在线查询以及玉米病虫害的处理办法。用户通过互联网即可使用该系统,具有使用方便、通用性强等特点。并且用户可以通过管理员的认可对系统的知识库进行填充。
【关键词】玉米病虫害;专家系统;知识库;推理机;ASP.NET
0 引言
人工智能被赞誉为20世纪的三大科学技术成就之一,作为人工智能应用领域的专家系统已渗透到各行各业。农业专家系统现已在农业生产上广泛应用,并在推动现代农业的发展中发挥着极其重要的作用,农业专家系统是运用人工智能的专家系统技术,汇集农业领域知识、模型和专家经验等,采用合宜的知識表示技术和推理策略,以信息网络为载体,为农业生产管理者提供咨询服务。玉米是我国北方主要粮食作物之一,每年因为病虫害而造成的损失巨大,如果能够对这些病虫害进行准确诊断并有效防治,这对提高玉米的产量与品质尤为重要。玉米病虫害的产生、发展的原因复杂,受影响因素多,需具有专业知识的人员才能较准确地诊断,而农村基层具有这样专业知识的人员较为缺乏。本文探讨的是基于ASP.NET的水玉米虫害专家系统,具有开放式的结构,便于用户通过互联网实现远程异地诊断,并可通过互联网实现专家直接参与诊断过程。并且更重要的一点是,凡是通过管理员认可获取超级权限的时候,可以对知识库进行增加,进行知识库的扩充,也就是说把知识库完全留给专家学者或者有经验的农民来完善,这样保证了系统的正确性。
1 开发工具的选择及系统软硬件的配置
1.1 开发环境
系统采用B/S结构,利用.NET技术进行开发,以MicrosoftVisual Studio.NET2005作为开发平台,后台数据库为Oracle 8i。
1.2 软硬件配置
硬件配置为586以上多媒体计算机,40G以上硬盘,1G以上内存。软件运行环境为Windows2000 advanced Server 操作系统,计算机能与互联网连接。
2 系统设计
ASP.NET使用多层的分布式应用模型,应用逻辑按功能将其划分为几个组件。其典型的4层结构有:表示层—将信息回显给客户端;应用层—用于访问和使用系统的流程控制逻辑;业务层—业务规则的封装;数据存储层—持久的数据存储。普通用户仅需要一台可以上互联网的机器,并安装相应的网页浏览(如InternetExplorer)工具,就可以使用本系统。系统流程图如图1。
系统的主要功能如下:可以实现玉米病虫害防治知识的查询、玉米植保信息发布、病虫害辅助诊断与防治策略推荐,并可通过专家值班台BBS系统,实现植保专家与用户之间的直接交流。
1)信息咨询。通过检索数据库中已有病虫害与防治知识,可向用户提供病虫害分布、发生环境、发生规律、危害症状图示、防治策略等信息。
2)信息发布。利用互联网信息传播快速、受众广特点,在本系统中发布近期植保信息,为病虫害的防治提供信息平台。
3)数据维护。系统中包括了数据维护模块,可以方便用户对已有病虫害知识、拟发布的植保信息、专家系统中的知识库进行增、删、改。
4)在线交流。用户通过本系统提供的专家BBS系统,在专家不到场的条件下,可以提供给用户一个与专家“面对面”交流的平台。
5)诊断功能。这是本系统的核心部分。通过反向推理为用户提供相应的症状图像,从而给出最终诊断结果,并根据诊断结果,提供防治方案。
6)预测功能。利用计算机的计算功能,对常见的虫害,根据预测模型,系统提供了预测功能。
7)知识库实时更新。通关申请获得超级权限的专家学者或者有经验的农民,可以在有限的范围内对系统的知识库和推理机进行更新。
3 知识表示和知识库的建立
系统的知识由国家颁布的玉米病虫害预报办法、书籍知识、专家知识和常识性知识构成。这些知识首先按照森林病虫害的种类进行分类,再根据这些知识的具体使用范围进行组织。知识的表示是专家系统设计的关键[1]。本系统知识库主要包括病虫害诊断知识与防治知识,知识库采用Oracle 8i数据库进行存贮,由于数据库中的数据表比较适合产生式规则表示法,因此本系统知识的表示采用了产生式规则表示法[2],即以如下形式进行表示:
IF条件1,条件2,…THEN结论。
知识通过产生式表示法可以得到直观、形象表达,并且有利于知识的组织和系统的推理。知识在数据库中也是模仿这种格式来存储的。由于ORACLE是一种关系数据库管理系统,所以,在存储知识的时候,需要把知识转换成数据表的形式。系统知识库主要包括规则表、条件表、结论表、数值表4个类型。规则表主要存放规则的基本信息,包括规则代码、规则名称和规则备注等。条件表包含有产生式规则的前提部分(即IF…THEN…规则的IF部分)和一些同推理控制有关的数据,包括最终目标标识、条件数、优先级、满足条件代码和结论代码等。结论表包含有产生式规则的结论部分(即IF…THEN…规则的THEN部分)和一些同推理控制有关的数据以及推理所得到的结果值,包括规则代码、结论代码、结论类型、条件满足值、结果值和返回的ASP.NET页面等。数值表存放专家系统规则和模型性中的各条件、结论和参数的代码及其详细的信息,包括条件代码、条件中文名、条件类型、条件默认值、条件值范围和所在规则表等。知识以产生式的表示方式被转化成规则,存入知识库中。
4 推理机的设计
推理机是专家系统实现问题求解的控制机构,是专家系统的核心部分。推理机的主要功能是在规则库中对已知事实进行匹配、进行冲突消解和知识推理[3]。常用推理方法有正向推理、反向推理等,本系统中采用的是基于目标的反向推理,即符号模式匹配的方法进行推理。推理机将根据人机交互界面向用户提问,根据回答的结果,在知识表中匹配相应的结果。首先用户先选择需要专家系统解决的目标问题。然后,专家系统向用户询问或访问数据库得到数据。当有多条可以选择的规则出现时,专家系统根据规则的不同优先级进行冲突消解。这些优先级是添加知识时放进知识库的条件表中的。系统采用的是有界深度优先搜索方式,根据实际的需要来设计其深度。
系统的推理机以类模块的形式部署在应用层的服务器上。当用户访问页面时,推理机被初始化,开始推理。获得推理结果后,可以再调用解释机,对病虫害的诊断结果作进一步的说明,并且通过SQL语句检索防治知识集,获得防治方法。
5 系统特点与展望
基于ASP.NET的网络模式玉米病虫害专家系统成功地将专家系统技术、数据库技术和网络技术有机地结合起来。该系统通过浏览器让专家系统以网络的形式得到更加广泛的应用。它可以为使用者提供对于玉米病虫害进行诊断并提出有建议性的治疗与预防。
参考文献:
[1]姚兴涛.浅谈农业专家系统 [J].河南农业科学,1991,(8):23-25.
[2]何新贵.知识处理与专家系统[M].北京:国防工业出版社,1990.
[3]汪兵,李存斌,陈鹏.EVC高级编程及其应用开发[M].北京:中国水利水电出版社,2005.
【关键词】玉米病虫害;专家系统;知识库;推理机;ASP.NET
0 引言
人工智能被赞誉为20世纪的三大科学技术成就之一,作为人工智能应用领域的专家系统已渗透到各行各业。农业专家系统现已在农业生产上广泛应用,并在推动现代农业的发展中发挥着极其重要的作用,农业专家系统是运用人工智能的专家系统技术,汇集农业领域知识、模型和专家经验等,采用合宜的知識表示技术和推理策略,以信息网络为载体,为农业生产管理者提供咨询服务。玉米是我国北方主要粮食作物之一,每年因为病虫害而造成的损失巨大,如果能够对这些病虫害进行准确诊断并有效防治,这对提高玉米的产量与品质尤为重要。玉米病虫害的产生、发展的原因复杂,受影响因素多,需具有专业知识的人员才能较准确地诊断,而农村基层具有这样专业知识的人员较为缺乏。本文探讨的是基于ASP.NET的水玉米虫害专家系统,具有开放式的结构,便于用户通过互联网实现远程异地诊断,并可通过互联网实现专家直接参与诊断过程。并且更重要的一点是,凡是通过管理员认可获取超级权限的时候,可以对知识库进行增加,进行知识库的扩充,也就是说把知识库完全留给专家学者或者有经验的农民来完善,这样保证了系统的正确性。
1 开发工具的选择及系统软硬件的配置
1.1 开发环境
系统采用B/S结构,利用.NET技术进行开发,以MicrosoftVisual Studio.NET2005作为开发平台,后台数据库为Oracle 8i。
1.2 软硬件配置
硬件配置为586以上多媒体计算机,40G以上硬盘,1G以上内存。软件运行环境为Windows2000 advanced Server 操作系统,计算机能与互联网连接。
2 系统设计
ASP.NET使用多层的分布式应用模型,应用逻辑按功能将其划分为几个组件。其典型的4层结构有:表示层—将信息回显给客户端;应用层—用于访问和使用系统的流程控制逻辑;业务层—业务规则的封装;数据存储层—持久的数据存储。普通用户仅需要一台可以上互联网的机器,并安装相应的网页浏览(如InternetExplorer)工具,就可以使用本系统。系统流程图如图1。
系统的主要功能如下:可以实现玉米病虫害防治知识的查询、玉米植保信息发布、病虫害辅助诊断与防治策略推荐,并可通过专家值班台BBS系统,实现植保专家与用户之间的直接交流。
1)信息咨询。通过检索数据库中已有病虫害与防治知识,可向用户提供病虫害分布、发生环境、发生规律、危害症状图示、防治策略等信息。
2)信息发布。利用互联网信息传播快速、受众广特点,在本系统中发布近期植保信息,为病虫害的防治提供信息平台。
3)数据维护。系统中包括了数据维护模块,可以方便用户对已有病虫害知识、拟发布的植保信息、专家系统中的知识库进行增、删、改。
4)在线交流。用户通过本系统提供的专家BBS系统,在专家不到场的条件下,可以提供给用户一个与专家“面对面”交流的平台。
5)诊断功能。这是本系统的核心部分。通过反向推理为用户提供相应的症状图像,从而给出最终诊断结果,并根据诊断结果,提供防治方案。
6)预测功能。利用计算机的计算功能,对常见的虫害,根据预测模型,系统提供了预测功能。
7)知识库实时更新。通关申请获得超级权限的专家学者或者有经验的农民,可以在有限的范围内对系统的知识库和推理机进行更新。
3 知识表示和知识库的建立
系统的知识由国家颁布的玉米病虫害预报办法、书籍知识、专家知识和常识性知识构成。这些知识首先按照森林病虫害的种类进行分类,再根据这些知识的具体使用范围进行组织。知识的表示是专家系统设计的关键[1]。本系统知识库主要包括病虫害诊断知识与防治知识,知识库采用Oracle 8i数据库进行存贮,由于数据库中的数据表比较适合产生式规则表示法,因此本系统知识的表示采用了产生式规则表示法[2],即以如下形式进行表示:
IF条件1,条件2,…THEN结论。
知识通过产生式表示法可以得到直观、形象表达,并且有利于知识的组织和系统的推理。知识在数据库中也是模仿这种格式来存储的。由于ORACLE是一种关系数据库管理系统,所以,在存储知识的时候,需要把知识转换成数据表的形式。系统知识库主要包括规则表、条件表、结论表、数值表4个类型。规则表主要存放规则的基本信息,包括规则代码、规则名称和规则备注等。条件表包含有产生式规则的前提部分(即IF…THEN…规则的IF部分)和一些同推理控制有关的数据,包括最终目标标识、条件数、优先级、满足条件代码和结论代码等。结论表包含有产生式规则的结论部分(即IF…THEN…规则的THEN部分)和一些同推理控制有关的数据以及推理所得到的结果值,包括规则代码、结论代码、结论类型、条件满足值、结果值和返回的ASP.NET页面等。数值表存放专家系统规则和模型性中的各条件、结论和参数的代码及其详细的信息,包括条件代码、条件中文名、条件类型、条件默认值、条件值范围和所在规则表等。知识以产生式的表示方式被转化成规则,存入知识库中。
4 推理机的设计
推理机是专家系统实现问题求解的控制机构,是专家系统的核心部分。推理机的主要功能是在规则库中对已知事实进行匹配、进行冲突消解和知识推理[3]。常用推理方法有正向推理、反向推理等,本系统中采用的是基于目标的反向推理,即符号模式匹配的方法进行推理。推理机将根据人机交互界面向用户提问,根据回答的结果,在知识表中匹配相应的结果。首先用户先选择需要专家系统解决的目标问题。然后,专家系统向用户询问或访问数据库得到数据。当有多条可以选择的规则出现时,专家系统根据规则的不同优先级进行冲突消解。这些优先级是添加知识时放进知识库的条件表中的。系统采用的是有界深度优先搜索方式,根据实际的需要来设计其深度。
系统的推理机以类模块的形式部署在应用层的服务器上。当用户访问页面时,推理机被初始化,开始推理。获得推理结果后,可以再调用解释机,对病虫害的诊断结果作进一步的说明,并且通过SQL语句检索防治知识集,获得防治方法。
5 系统特点与展望
基于ASP.NET的网络模式玉米病虫害专家系统成功地将专家系统技术、数据库技术和网络技术有机地结合起来。该系统通过浏览器让专家系统以网络的形式得到更加广泛的应用。它可以为使用者提供对于玉米病虫害进行诊断并提出有建议性的治疗与预防。
参考文献:
[1]姚兴涛.浅谈农业专家系统 [J].河南农业科学,1991,(8):23-25.
[2]何新贵.知识处理与专家系统[M].北京:国防工业出版社,1990.
[3]汪兵,李存斌,陈鹏.EVC高级编程及其应用开发[M].北京:中国水利水电出版社,2005.