
基于xml的农业专家系统构建技术.doc
6页基于XML的农业专家系统构建技术Construction technology of agricultural expert system based on XML周国民丘耘樊景超王剑周义桃Zhou Guomin Qiu Yun Fan Jingcao Wang Jian Zhou Yitao1. 问题的提出农业专家系统可以根据不精确、不完整或不完全可靠的前提进行推理,能够 有效地解决农业生产管理问题和完善农业生产管理技术体系,因此在农业领域得 到了广泛的应用,一批先进实用的专家系统⑴⑵⑶被开发出来,应用到生产实际 中,产生了很好的效益随着互联网络技术的飞速发展,基于WEB的网络型专家系统已成为我国农业 专家系统的开发主流,并基本上采用基于COM或者DCOM的三层体系结构,如图 1根据这种结构图1.基于COM技术的体系结构开发的专家系统具有很多优点:由于在客户端只要有浏览器就行,所以对客户端 要求不高,并且具有统一的交互界面,操作简单,易于使用和维护但是,这种 体系结构在应用中也暴露出一些问题,如不同单位开发的组件无论是属性还是方 法都会有所不同,造成专家系统之间的集成或者通讯比较困难,应用系统开发者 需要对组件的属性和方法有深刻的了解,才能开发出功能强大的系统;用户界面 以ASP页面的形式实现,开发工作量比较大。
近年来,我们对网络化农业专家系统中的一些关键技术进行研究和开发,采 取综合集成与关键技术创新相结合的方法,在COM组件的外面再加一•个XML服务 层,将COM组件的功能以XML服务器的形式提供,有效地解决了专家系统之间的 集成的问题,同时也降低了网络化专家系统的开发难度2. XML技术XML (Extensible Markup Language)即可扩展标记语言,是一种元语言 它是国际互联网联盟(W3C)开发的用于网络环境下数据交换、数据管理和网页 设计的新技术它是国际标准 SGML (Standard Generalized Markup Language [ISO 8879])的一个子集,一个实用标准XML是以一种开放的、自我描述的方式定义数据结构XML文档由标记和字 符数据组成,通过DTD或Schema使XML文档结构化XML文件是树型结构,包 含所有元素的元素称为根元素,它是没有前导元素的唯一的-一个元素,根元素直 接包含的那些元素叫做子元素,它还可以包含自己的子元素如果包含了子元素, 则称之为树枝;如果不包含子元素,则称之为树叶XML将网络信息标准化,使 开发者和计算机易于辨认信息,能创建不依赖 于平台、语言或者格式有限制的开放数据。
在网络化农业专家系统中,我们使用XML作为专家系统与外界交流的语言, 当需要运行专家系统的时候,只需要发送--个以XML表示的消息,XML服务器接 受消息,并解析消息,然后启动相应的专家系统组件,专家系统组件运行的结果 也被包装成XML表示的消息,由XML服务器发送出去图2就是一个消息的实例Does your animal have<7row>
二是,将用户界面交互信息与知识库和数据库分离开, 在知识库仅含有抽象的用户交互信息,抽象的用户交互信息需要具体的界面库支 持才能够完成实际的用户交互,这种分离使得知识库中的知识更加中性,同一•个 抽象的用户交互信息可以根据不同的运行情景或者不同的运行平台生成不同的 用户界面,从而提高系统的复用性和降低应用系统开发的难度3. 2推理为了提高系统的运行效率和能力,我们开发的XML服务器是无状态服务器, 就像HTTP服务器一样,每一•次对服务器的访问都是独立的,无上下文的在这 样的环境下,实现连续的推理是一种挑战我们采用逐步逼近的方法来解决这个 问题设系统向用户提问为Q,用户回答为A,则一问一答形成一个QA对,使用 XML语言可以表示为“<q>问题</q><a>答案</a〉”推理的过程如图4当用户与XML服务器开始交互时,QA对队列应该为空, 就相当于用户没有向系统提供任何信息XML服务器启动专家系统组件,开始推理,并运行到需要向用户交互的点,结束推理,并将提问Q以消息的形式返回 用户回答这个提问Q”形成答案A”这时QA对队列的内容应该为“〈q>QK/q>〈a> AK/a>”用户以“ Q1 AK/a>”队列与XML服务器交互,就相当于 用户向系统提供了一些不完全信息。
XML服务器启动专家系统组件,开始推理, 并运行到需要向用户交互的点,如果提问的答案在QA对队列,就直接提取答案, 并继续推理,否则产生新的提问Q2,结束推理,将提问Q2以消息的形式返回 用户回答这个提问形成答案膈这时QA对队列的内容应该为“QK/q>〈a〉 A1 Q2 A2"o依此类推,用户向系统提供的信息逐步增加,系 统的推理路径也越来越长,直到产生推理结果在上述的推理过程中,每一次交 互都是独立的,从而提高了服务器运行的效率和能力第n步交互
Does your animalhave & backbone? (yes no)
noDoes your animal have & backbone?(yes no)
Is the animals body in segynents^ (yes no)
yes^>
当用户与XML服务器开始交互后,以消息的形式返回提问Q,提问Q是中性 的,具体的显示需要界面库支持界面库的结构如表1,界面库中一•条典型的记 录如表2<>表1界面库的结构名称类型长度说明qid文木50qtitle文木50知识库中问题的描述mtitle文本50界面的标题mtype文本50界面的类型mContent备注界面描述文件mMedia文本50界面中多媒体文件的列表inMemo备注每一个界面的注解表2界面库中的记录字段值qid001qtitleDoes your animal have a backbone? (yes no)mtitle该动物有后脊骨吗?mtype1mContent
vinput type="radio" name=" 否” left=n220H top=”180” right=”320” bottom=”200”>mMediapl.jpglp2.jpg!mMemo如果符合,请选择是,否则选择否,然后按[下一步]在上面的记录中,“Does your animal have a backbone? (yes no)” 是提 问Q,是中性的,具体的界面显示存放在字段“mContent”中。
界面显示是使用 HTML语言来描述,界面的类型包括选择型、输入型和综合型ASP程序通过处理 界面库中相关字段的内容自动生成网页4. 结语我们在Internet环境中己经实现了基于XML网络化农业专家系统模块,并 且与农业远程诊断平台集成在一起,提供实时的和非实时的远程咨询服务,对该 模块的测试结果表明,总体规划和设计是可行的,并且具有潜在的良好性能:(1) 系统集成简单:用户可以很方便地建立起一个网络化农业专家系统2)透明性: 用户关心的事情少,并不需要知道具体的COM组件细节,只需要了解能提供的服 务目前,我们并推进该系统的完善和实用化参考文献:[1] 赵春江等,基于软构件模型的农业智能系统平台,农业.工程学报,20 (2) : 140-143, 2004[2] 刘滨等,我国农业专家系统研究应用与展望,莱阳农学院学报,20 (3) :229-231, 2003[3] 刘晓东等,农业专家系统平台设计与实现,计算机应用研究,5:79.81, 2002[4] W3c Recommendation, Extensible Markup Language(XML) 1.0,httD:〃www・ w3.org/TR/1998/REC・XML・ 19980210。
