农业知识云服务设计与实现

2014-10-28 18:16顾静秋吴华瑞
湖北农业科学 2014年15期
关键词:农业知识推理云服务

顾静秋+吴华瑞

摘要:针对目前我国农业决策支持系统与专家系统的信息呈孤岛格局的现状,农业信息资源和系统存在严重重复性建设问题,提出基于云计算平台的农业知识云服务模式。以知识模型库为基础,运用Web Service 及XML技术,设计并实现通用的专家知识模型云端服务。应用结果表明,其为零配置客户端的个性化知识应用系统的构建提供了便捷的工具,为实现“知识即服务”做出了有效的尝试。

关键词:云服务;农业知识;推理;加权模糊

中图分类号:TP399 文献标识码:A 文章编号:0439-8114(2014)15-3643-04

Design and Implementation of Cloud Services Model of Agricultural Knowledge

GU Jing-qiu1,2,3,WU Hua-rui1,2,3

(1.Beijing Research Center for Information Technology in Agriculture,Beijing 100097,China;2. National Engineering Research Center for Information Technology in Agricultural, Beijing 100097, China;

3. Key Laboratory for Information Technologies in Agriculture, Ministry of Agriculture, Beijing 100097, China)

Abstract: Agricultural decision support information systems and expert systems of China's are separated mutually. Repeated construction of agricultural information resources and systems is a serious problem. Cloud services model of agricultural knowledge based on cloud computing platform was proposed. Based on Knowledge Model base, Web Service and XML technology were used to design and realize generic expert knowledge cloud Web Services. Application results showed that it was a convenient tool for building personalized knowledge application systems of zero configuration client. This work was an effective attempt to achieve the “knowledge is service”.

Key words: cloud service; knowledge agriculture; reasoning; weighted fuzzy

收稿日期:2014-02-19

基金项目:国家科技支撑计划项目(2012BAD52G01);北京市自然科学基金(4122034);北京市科委项目(D121100003212003)

作者简介:顾静秋(1977-),男,河北秦皇岛人,副研究员,硕士,主要从事农业智能系统、数据挖掘研究,(电话)13366800727(电子信箱)

gujq@nercita.org.cn;吴华瑞,男,研究员,(电话)13070146450(电子信箱)38951466@qq.com。

现有的云计算平台已趋成熟,如Google App Engine、Amazon Elastie Compute Cloud等。基于云计算实现的应用可以方便地部署其上使用其计算资源。而数据存储方面,Google Bigtable与Amazon Simple Storage Service等为实现海量数据的分布式存储与访问提供了支持,计算平台的商业化发展与成熟为构建农业知识云服务提供了很好的底层架构支持[1,2]。

Web服务是因特网上运行的应用。用户所请求的服务运行在远端系统上,后者充当服务的宿主。这种类型的Web API使得用户能够利用因特网上共享的功能,而不是提供自己的完整的应用程序。这种做法的最终结果是一个定制的、基于Web的应用程序,该程序的大部分由第三方提供,因而减轻了传统应用程序在开发和带宽方面的需求。一个优秀的Web服务的例子为谷歌地图API用户所创造的“整合应用”。利用这些定制的应用程序,开发者无须编写代码或提供地图应用,所要做的一切就是连接到谷歌的Web API。

作为农业信息服务的延伸和升华,农业知识服务具有针对性、创造性、效用性、知识性等优势,无疑将成为未来农业科技服务体系发展的趋势和目标[3]。利用构建的农业云知识模型库,设计研发模糊推理机,针对多种作物生产管理所需的专家知识模型,对知识进行服务封装与发布,形成农业云知识模型Web API,使用户能够利用因特网上共享的知识服务API,构建自身的知识服务业务系统,而不用考虑知识库的知识表示、组织、存储方式,也不用考虑知识的推理决策模型,更不用考虑这些服务的部署方式,从而为用户构建知识服务系统提供了快捷有效的工具。

1 系统架构

如图1所示,在知识模型库构建过程中用到的农业知识本体,可以充分集中农业叙词表、农业土壤本体、植物本体、作物本体、农业有害生物本体等的研究成果,利用本体集成技术构建,并通过数据挖掘系统与专家的整理不断更新。endprint

在知识的表示及推理应用方面,采用“模糊产生式规则+模型”的知识表示方法,实现模糊知识和确定知识、知识和模型的有机结合,使之更加接近农业领域知识的本质和特点,更好地应用于生产实际。推理机基于模糊知识库与模型库相结合,支持模型的计算和求解,采用模糊产生式规则的模糊匹配算法,由元知识控制的目标驱动和启发式搜索算法,并进行冲突消解。

通过Web Service技术,封装了知识模块抽取,决策前提条件元数据获取,智能推理3个核心业务功能。使客户可以通过引入知识服务的方式,灵活快捷地构建个性化的本地知识应用系统,而不用把服务端的应用系统和知识库安装到本地。

2 系统实现

2.1 知识获取及表示

系统中采用的模糊产生式规则的一般形式为:P→Q,CF,τ,其左部一般表示一组前提或条件,右部表示若干结论或动作,前提P和结论Q都可以是模糊的。CF:0

知识用BNF描述为:

<知识库>::=*<产生式规则>*{,<产生式规则>}

<产生式规则>::=* <前提> → <结论>,<可信度CF>,<阈值τ>

<前提>::=* 空 | <模糊逻辑加权公式>

<模糊逻辑加权公式>::= <权因子ω*<前提条件数据项>{∧<权因子ω>*<前提条件数据项> }

<结论>::=* < 决策数据项值>[<规则解释>]

<决策数据项值>::= <决策数据项 = 数值>

<前提条件数据项>::=* <一阶模糊逻辑公式>

<一阶模糊逻辑公式>*::= <模糊谓词>

为了把领域专家的知识经验转化为能够提供元知识服务的知识模型库,制定了知识整理的模板,领域专家按照模板总结自己的知识,最后由计算机管理人员将形式化的知识规则输入计算机[4-6]。

2.2 知识服务

用户可在自己的知识应用系统中根据需要调用知识服务,完成自己的知识应用系统开发。应用端系统结合Web服务端知识服务流程如图2。

应用端首先构造作物类别选择的交互页面,选择作物类别。然后通过调用Web服务端的知识模块获取服务,获取当前所选作物在云知识模型库中所对应的所有知识模块,应用端获取到可供使用的知识模块内容后,构造交互页面浏览知识模块,同时选择所需要的模块准备进行应用,选定知识模块后,调用Web服务端的条件元数据获取模块,获取应用该知识模块需要提供的前提条件的元数据,根据这些元数据应用端再次构造交互页面来获取必要的前提条件数据。最后,客户端封装用户数据作为参数调用Web服务端的智能决策服务,得到最终的决策结果,在应用端展示给用户[7-9]。

2.2.1 模块获取服务 public string GetModules(string dbname)

* 根据作物类别名称,得到该云知识库中该作物的所有知识模块

* 参数dbname,知识库名称

* 返回xmlstring,形如

“<?xml version="1.0" encoding="utf-8"?>

hggl花果管理决策

trgl土壤管理

bhzd病害诊断

yyzd营养失调诊断

200 200表示执行成功,400为失败

2.2.2 条件元数据获取服务 知识库中的知识规则的前提条件表达式是由多个逻辑子式构成的,每个逻辑子式包含一个前提数据项,前提数据项的取值符合一定的条件构成了这个逻辑子式。在推理决策过程中,前提数据项取值是用户提供的本地数据,要和逻辑子式中的该前提数据项取值条件比较,从而判断逻辑子式的布尔值。因此要对前提数据项的取值范围或输入方式加以限定,进行明确的定义,才能保证用户输入的数据和知识规则中的数据取值条件可以进行匹配。前提条件数据项的元数据就是描述前提条件数据项的取值范围、输入方式等信息的。主要包括前提条件数据项的数值类型、数值型数据的输入上下限、编辑方式。编辑方式如表1所示。

条件元数据获取服务就是得到并组织这些信息的服务

public string GetItems(string dbname, string moduleid)

*根据知识库名称,知识模块名得到需要的前提条件元数据信息

*参数dbname,知识库名称,moduleid 决策模块名

*返回xmlstring,形如

“<?xml version="1.0" encoding="utf-8"?>

bw 发病部位 C 8 bw||

zz1 症状1 C 8 zz1||(bzbw:bw)

zz2 症状2 C 8

zz2||(bzzz1:zz1),(bzbw:bw)

//标准表数据。

有明显病斑 病斑颜色为褐色 嫩叶上出现褐色小斑点,边缘紫红色。高温高湿时,数个病斑相连,形成不规则形大斑,病斑背面长出黑色霉层。

有明显病斑 病斑颜色为褐色

刚发病时在叶正面出现黄褐色小点,后或变成圆形、中心呈暗褐色,四周黄色。黑心小点,呈同心轮纹状,或病斑呈针芒状,或变成暗褐色大病斑。不管何种病斑,病斑周围都呈绿色晕圈。

200

其中“”标记中的每一个“”定义了一个前提条件项的元数据,“”代表了该前提条件项的英文标识,“”代表了该前提条件项的中文描述,“”代表了该前提条件项的数值类型,“”代表了该前提条件项的输入方式(输入、选择或者根据其他项的内容连动选择),“”代表了该前提条件项的计量单位,“”代表了该前提条件项的约束值(数值的上下限等),“”设定了前提数据项的数值来源,“”设定了该前提数据项需要展现给用户的提示信息。

以上返回的xml数据,第3个条件无数据,名称为zz2,中文描述“症状2”,数值类型为字符串,编辑方式为根据其他静态数据联动选择,数据来源是“”标记中所定义的静态数据。“zz2||(bzzz1:zz1),(bzbw:bw)”表示当前用户可选的数据是静态数据中的标签为“”的数据,但是需满足“||”标记后的两个条件,也就是用户输入的bw和zz1的数据要和静态数据中的bzbw、bzzz1标签数据相匹配,也就是症状2可供用户选择的数据要根据用户输入的发病部位和症状1的信息。

2.2.3 智能决策服务

1)服务接口。public string GetResult(string dbname, string moduleid, string data)

*根据知识库名称,决策模块id,事实表数据得到决策结论

*参数dbname,知识库名称,moduleid决策模块名,data为xml形式数据,形如

“<?xml version="1.0" encoding="utf-8"?>

23 100结果初期树 沙壤土手捏土稍感湿意灰墒

返回结果:

“<?xml version="1.0" encoding="utf-8"?>

苹果病害诊断

霉心病。防治方法:清除菌源:清除树上僵果、枯枝,清扫落叶、落果并集中烧毁。喷药防治:早春芽前喷布3度石硫合剂,花前花后喷布0.3度石硫合剂,或扑海因1 000倍液。贮藏期:果库温度应保持在0.5~1.0 ℃,相对湿度在90%左右。

1

2)智能推理算法。在实际问题中,一条推理规则的前提中的各子前提的“重要性”或所包含的信息量等都可能是不同的。为此,每项前提条件在前提条件中有一个权重(w),为了表达这类现实知识,采用加权模糊逻辑公式是十分合适的。这时,推理规则具有如下形式:w1P1w2P2,wnPn→Q,CF,τ

其中Q 与Pj(j=1,2,…,n)为模糊逻辑谓词,取真值于[0,1]之间。wj:j≥0(j=1,2,…,n)为子前提Pj的权系数。CF:0

上述规则的含义是前提的真度t=∑wj*T(Pj),其中T(Pj)为Pj的真度。T(Q)=t∧CF,其中∧为某种“交型运算”,例如取极小和乘法等,当T(Q)大于等于τ时,则该规则就可被应用[10-15]。

2.3 实现技术

知识服务实现采用.Net Web Service 技术。

.NET平台内建了对Web Service的支持,包括Web Service的构建和使用。与其他开发平台不同,使用.NET平台,不需要其他的工具或者SDK就可以完成Web Service的开发。.NET Framework本身就全面支持Web Service,包括服务器端的请求处理器和对客户端发送和接受SOAP消息的支持[10]。

开发过程中值得注意的几个问题是:

1)为了Java能够调用Web Service方法,.NET写的Web Service的每个方法都要声明为Rpc方法,即添加“[SoapRpcMethod.....]”。

例如:[WebMethod]

[SoapRpcMethod(Use=SoapBindingUse.Literal,Action=“http://nercita.paid/GetModules”,RequestNamespace=“http://nercita.paid/”,ResponseNamespace=“http://nercita.paid/”)]

2)对返回值、参数的处理。应尽量将Web Service方法的返回值、参数都写成字符串(String),不要使用复杂对象类型,这样便于在网络上传输,避免了复杂对象类型的不易转换问题。同时字符串格式为xml形式,还要保证返回字符串编码为“utf-8”,例如,采用如下方式处理:

return Encoding.UTF8.GetString(output.ToArray())

3 小结

云计算平台为农业知识库的构建、知识运算处理提供了更为良好的空间。农业知识云服务的设计与实现为农业知识的共享和利用开辟了一条新的途径。虽然农业知识库的规模远远不能满足应用需求,还不能构成内容丰富的知识云,知识云服务的接口和应用方式设计还不像谷歌地图API那样简洁,但是知识云服务的应用模式一定是未来农业知识最合适的传播形式。

参考文献:

[1] 陈 康,郑纬民. 云计算.系统实例与研究现状[J]. 软件学报,2009,20(5):1337-1348.

[2] 孙 健,贾晓菁.Google云计算平台的技术架构及对其成本的影响研究[J].电信科学,2010(1):38-44.

[3] 张峻峰,郑怀国,孙素芬,等.网络环境下农业知识服务实现策略研究[J].安徽农业科学,2008,36(23):10262-10264.

[4] 杨宝祝,赵春江,李爱平,等.网络化、构件化农业专家系统开发平台(PAID)的研究与应用[J].高技术通讯,2002(3):5-9.

[5] 席 磊,张 丽,张 慧,等.农业专家系统中知识表示技术的研究[J].河南师范大学学报(自然科学版),2006(3):43-47.

[6] 孙 敏,罗卫红,相 林,等.设施果菜病害诊断的知识表达与推理模型[J].农业工程学报,2012,28(17):149-156.

[7] 周 劲,刘 洋,蔺永政.一种基于Web Service的分布式应用系统的设计[J].计算机应用研究,2007(2):238-239.

[8] 李艳霞,冯百明.基于Web Services的信息集成方案[J].计算机,2009(7):1787-1789.

[9] 吴家菊,刘 刚,席传裕,等.基于Web Service的企业知识管理研究[J].计算机工程,2006(22):75-77.

[10] 侯秀萍,袁秀丽,姜 卓,等.不确定性推理技术在医学诊断中的应用研究[J].计算机工程与应用,2005(14):205-207.

[11] 刘大有,唐海鹰,陈建中,等.加权模糊逻辑[J].计算机研究与发展,1998(11):2-6.

[12] 范九伦.加权模糊逻辑真值传播的计算方法[J].系统工程理论与实践,2002(9):15-21.

[13] 许少华,马 坤,刘显德.加权模糊推理网络及在管道损伤诊断中的应用[J].计算机应用研究,2008(6):1673-1675.

[14] 哈明虎,李海军.三种新的基于相似性的加权模糊推理方法[J].计算机工程与应用,2006(28):34-37.

[15] 黄务兰.一种新的基于产生式规则的推理树结构[J].微电子学与计算机,2007(4):76-78.endprint

例如:[WebMethod]

[SoapRpcMethod(Use=SoapBindingUse.Literal,Action=“http://nercita.paid/GetModules”,RequestNamespace=“http://nercita.paid/”,ResponseNamespace=“http://nercita.paid/”)]

2)对返回值、参数的处理。应尽量将Web Service方法的返回值、参数都写成字符串(String),不要使用复杂对象类型,这样便于在网络上传输,避免了复杂对象类型的不易转换问题。同时字符串格式为xml形式,还要保证返回字符串编码为“utf-8”,例如,采用如下方式处理:

return Encoding.UTF8.GetString(output.ToArray())

3 小结

云计算平台为农业知识库的构建、知识运算处理提供了更为良好的空间。农业知识云服务的设计与实现为农业知识的共享和利用开辟了一条新的途径。虽然农业知识库的规模远远不能满足应用需求,还不能构成内容丰富的知识云,知识云服务的接口和应用方式设计还不像谷歌地图API那样简洁,但是知识云服务的应用模式一定是未来农业知识最合适的传播形式。

参考文献:

[1] 陈 康,郑纬民. 云计算.系统实例与研究现状[J]. 软件学报,2009,20(5):1337-1348.

[2] 孙 健,贾晓菁.Google云计算平台的技术架构及对其成本的影响研究[J].电信科学,2010(1):38-44.

[3] 张峻峰,郑怀国,孙素芬,等.网络环境下农业知识服务实现策略研究[J].安徽农业科学,2008,36(23):10262-10264.

[4] 杨宝祝,赵春江,李爱平,等.网络化、构件化农业专家系统开发平台(PAID)的研究与应用[J].高技术通讯,2002(3):5-9.

[5] 席 磊,张 丽,张 慧,等.农业专家系统中知识表示技术的研究[J].河南师范大学学报(自然科学版),2006(3):43-47.

[6] 孙 敏,罗卫红,相 林,等.设施果菜病害诊断的知识表达与推理模型[J].农业工程学报,2012,28(17):149-156.

[7] 周 劲,刘 洋,蔺永政.一种基于Web Service的分布式应用系统的设计[J].计算机应用研究,2007(2):238-239.

[8] 李艳霞,冯百明.基于Web Services的信息集成方案[J].计算机,2009(7):1787-1789.

[9] 吴家菊,刘 刚,席传裕,等.基于Web Service的企业知识管理研究[J].计算机工程,2006(22):75-77.

[10] 侯秀萍,袁秀丽,姜 卓,等.不确定性推理技术在医学诊断中的应用研究[J].计算机工程与应用,2005(14):205-207.

[11] 刘大有,唐海鹰,陈建中,等.加权模糊逻辑[J].计算机研究与发展,1998(11):2-6.

[12] 范九伦.加权模糊逻辑真值传播的计算方法[J].系统工程理论与实践,2002(9):15-21.

[13] 许少华,马 坤,刘显德.加权模糊推理网络及在管道损伤诊断中的应用[J].计算机应用研究,2008(6):1673-1675.

[14] 哈明虎,李海军.三种新的基于相似性的加权模糊推理方法[J].计算机工程与应用,2006(28):34-37.

[15] 黄务兰.一种新的基于产生式规则的推理树结构[J].微电子学与计算机,2007(4):76-78.endprint

例如:[WebMethod]

[SoapRpcMethod(Use=SoapBindingUse.Literal,Action=“http://nercita.paid/GetModules”,RequestNamespace=“http://nercita.paid/”,ResponseNamespace=“http://nercita.paid/”)]

2)对返回值、参数的处理。应尽量将Web Service方法的返回值、参数都写成字符串(String),不要使用复杂对象类型,这样便于在网络上传输,避免了复杂对象类型的不易转换问题。同时字符串格式为xml形式,还要保证返回字符串编码为“utf-8”,例如,采用如下方式处理:

return Encoding.UTF8.GetString(output.ToArray())

3 小结

云计算平台为农业知识库的构建、知识运算处理提供了更为良好的空间。农业知识云服务的设计与实现为农业知识的共享和利用开辟了一条新的途径。虽然农业知识库的规模远远不能满足应用需求,还不能构成内容丰富的知识云,知识云服务的接口和应用方式设计还不像谷歌地图API那样简洁,但是知识云服务的应用模式一定是未来农业知识最合适的传播形式。

参考文献:

[1] 陈 康,郑纬民. 云计算.系统实例与研究现状[J]. 软件学报,2009,20(5):1337-1348.

[2] 孙 健,贾晓菁.Google云计算平台的技术架构及对其成本的影响研究[J].电信科学,2010(1):38-44.

[3] 张峻峰,郑怀国,孙素芬,等.网络环境下农业知识服务实现策略研究[J].安徽农业科学,2008,36(23):10262-10264.

[4] 杨宝祝,赵春江,李爱平,等.网络化、构件化农业专家系统开发平台(PAID)的研究与应用[J].高技术通讯,2002(3):5-9.

[5] 席 磊,张 丽,张 慧,等.农业专家系统中知识表示技术的研究[J].河南师范大学学报(自然科学版),2006(3):43-47.

[6] 孙 敏,罗卫红,相 林,等.设施果菜病害诊断的知识表达与推理模型[J].农业工程学报,2012,28(17):149-156.

[7] 周 劲,刘 洋,蔺永政.一种基于Web Service的分布式应用系统的设计[J].计算机应用研究,2007(2):238-239.

[8] 李艳霞,冯百明.基于Web Services的信息集成方案[J].计算机,2009(7):1787-1789.

[9] 吴家菊,刘 刚,席传裕,等.基于Web Service的企业知识管理研究[J].计算机工程,2006(22):75-77.

[10] 侯秀萍,袁秀丽,姜 卓,等.不确定性推理技术在医学诊断中的应用研究[J].计算机工程与应用,2005(14):205-207.

[11] 刘大有,唐海鹰,陈建中,等.加权模糊逻辑[J].计算机研究与发展,1998(11):2-6.

[12] 范九伦.加权模糊逻辑真值传播的计算方法[J].系统工程理论与实践,2002(9):15-21.

[13] 许少华,马 坤,刘显德.加权模糊推理网络及在管道损伤诊断中的应用[J].计算机应用研究,2008(6):1673-1675.

[14] 哈明虎,李海军.三种新的基于相似性的加权模糊推理方法[J].计算机工程与应用,2006(28):34-37.

[15] 黄务兰.一种新的基于产生式规则的推理树结构[J].微电子学与计算机,2007(4):76-78.endprint

猜你喜欢
农业知识推理云服务
绿色农业种植技术的推广探究
新媒体在农业知识科普宣传中的应用探究
论广播记者如何做好“三农”新闻报道
也谈高中英语教学中的阅读技巧
提高农村学生学习几何的能力探索
苗木繁育技能训练通识教育课程探索与实践
《唐人街探案》:异域奇观下的喜剧推理实验