基于SWRL的枸杞病虫害本体知识推理研究

2017-03-21 07:58李贯峰李卫军
江苏农业科学 2016年11期
关键词:推理

李贯峰+李卫军

摘要:针对农业领域存在的知识表示、推理和重用等问题,将本体理念与技术引入农业领域,并对如何构建枸杞病虫害本体及相应的SWRL规则进行研究。首先对枸杞病虫害知识本体中的概念及概念之间的关系进行知识表示,构建1个可共享、可重用、可扩展的枸杞病虫害领域本体;然后根据枸杞病虫害本体中逻辑关系设计一系列SWRL规则;最后将构建的枸杞病虫害领域本体和SWRL规则放入Jess推理机中进行推理,通过推理的方法得到病害领域本体的隐含知识,从而完善枸杞病虫害领域本体。

关键词:领域本体;SWRL规则;推理;枸杞病虫害

中图分类号: TP391;S435.671 文献标志码: A

文章编号:1002-1302(2016)11-0399-03

本体(ontology)作为共享概念模型的明确形式化规范说明,在知识的组织、共享和重用方面优势明显,近年来备受人们的关注[1]。随着理论基础和相关技术不断完善与发展,本体在许多领域已经得到了广泛的应用。农业领域知识是一种可以大幅度提高农业劳动力和生产效率的生产要素,研究农业领域的知识建模,建立一个基于本体的共享农业知识库,实现本体知识库的推理功能,完善农业知识服务体系,是加快农业信息化发展的迫切任务。

本体可以描述领域中的概念关系,本体知识库的建立是为了将领域知识及时准确地传递给用户。而基于知识的推理则借助一定的规则,利用已知的关系可推出隐含的关系,本体知识库的推理研究是为了提供更优质的知识服务。目前对本体的研究除了将其作为一个领域知识建模工具外,一些本体推理方法也已经用于推理和查询语义Web,其中比较典型的本体推理方法有:基于描述逻辑的推理方法,例如Racer[2]、Pellet[3]等;基于规则的推理方法,例如Jena等[4];基于传统的一阶谓词证明器的推理方法,例如Hoolet[5];基于逻辑编程的推理方法,例如F-OWL[6]、KAON2[7]等。这些推理方法都能实现检查本体的一致性和得到隐含知识的两大基本推理功能,但是也存在着一些局限性。

本研究借助本体理论思想,选择枸杞病虫害领域知识作为研究对象,提取枸杞病虫害中的主要构成要素,借助本体构建工具Protégé手工构建结构良好的枸杞病虫害领域本体库,根据枸杞病虫害中概念之间的关系构建相应的SWRL(Semantic Web Rule Language)规则,用SWRL规则与Jess[8]推理引擎相集成,建立基于SWRL规则的本体推理机制,通过推理的方法得到枸杞病虫害领域本体的隐含知识,进一步完善枸杞病虫害领域本体的描述,为枸杞病虫害知识服务提供支持。

1 相关理论

1.1 本体的构建方法

本体论原是哲学领域中为研究存在而发展出来的概念,随着人工智能的发展,本体论逐渐成为计算机及相关领域关注的热点。本体是通过领域专家积极参与和通力协作而构建的领域概念、关系和公理体系的集合,以计算机能理解的语言和形式描述、表示和组织知识,促进知识重用、知识共享和知识服务[9]。随着本体论研究在农业领域的渗透,本体在农业知识库构建、知识共享服务及智能检索等方面具有广泛的应用前景。

随着本体在各个领域的广泛应用,出现了多种本体构建方法,国内外比较有影响的本体构建方法有骨架法、IDEF5法、TOVE法、METHONTOLOGY法、XHEMICALS法、SENSUS法及七步法等[10]。

1.2 本体推理机

本体推理机主要是针对本体进行推理,是对知识进行解释的程序,根据知识的语义,按一定策略找到知识进行解释执行[11]。目前常用的本体推理机主要有Racer[2]、Pellet[3]、Jena[4]、Jess[8]等。Jess规则推理引擎是以CLIPS为基础扩展的、采用Java编写的开放式规则引擎。Jess推理引擎的基本结构如图1所示,包含事实库、规则库和推理机3部分,其中类、属性、实例和属性值作为事实存储在本体中,推理规则用SWRL规则表示。推理实施时Jess推理引擎需将本体实例、属性值和SWRL规则翻译成Jess事实和Jess规则,推理得出的新知识可再写回本体中。

1.3 SWRL规则

SWRL规则基于OWL语言,采用了基于Horn子句的RuleML的1个子集,是按语义方式呈现规则的一种规则描述语言[8]。SWRL是语义Web规则事实上的标准语言,作为W3C的成员提案,主要目标是提供OWL在逻辑表达方面不支持的表达能力,同时保持与OWL语法、语义和理论模型的兼容性。一个合法的SWRL规则是由表示前提(antecedent)和结论(consequent)构成的推导关系,而每个前提和結论都是由多个元素(atom)组成,元素之间是逻辑与的关系,SWRL框架中的元素用于定义条件判断的限制式,如pests(?x),说明是x属于pests类,hasSymptom(?x,?y),说明x有症状y。

2 枸杞病虫害领域本体的构建

本研究借鉴相关构建本体的方法,依据农业领域知识的特点,确定了枸杞病虫害领域本体构建的方法,其流程如图2所示,具体思路如下:

(1)构建本体之前,进行需求分析,确定领域本体框架,明确领域本体的应用目标和范畴,对于限定本体范围、增强本体针对性,以缩短构建时间、降低构建难度具有重要的意义。

(2)通过专业相关书籍、文献资料、权威网站信息等途径获取领域知识,结合农业领域专家建议,对领域知识进行分析、整理和归纳,得到所需领域的概念和关系。

(3)在对领域知识充分了解的基础上,结合需求分析,将领域中的主要概念和关系列举出来,在农业领域专家指导下,确定领域的核心概念和关系。

(4)基于前面划分的概念层次结构,使用本体构建工具对类、属性和实例等本体元素进行编码以及形式化,实施本体构建。本研究将用Protégé工具来实现对枸杞病虫害本体的构建。

(5)本体构建完成后,领域内术语定义是否清晰,概念及关系是否完整,需要运用推理工具自动判断和一致性检验,并对有逻辑错误的地方进行修改,以确保本体中包含的所有知识不存在矛盾。

(6)本体创建是一个反复迭代的过程,本体库需要在实际使用过程中不断去修改、优化和完善以便更好地适应实际使用情况。

根据上述构建步骤,在学习关于枸杞病虫害书籍和大量文献资料的基础上,结合枸杞病虫害领域专家建议,以宁夏地区常见的枸杞蚜虫、枸杞红瘿蚊、枸杞瘿螨等51种枸杞害虫和根腐病、炭疽病、白粉病等15种枸杞病害为研究对象,以诊断和防治为研究目标,抽取领域中的重要概念、属性及实例,用Protégé工具构建了1个内容丰富、层次清晰、体系完善的枸杞病虫害本体库,构建好的枸杞病虫害本体的类结构如图3所示。其中Thing是默认的超类,其他的类都是它的子类,共计37个本体类,基本涵盖了实际生产中主要的枸杞病虫害种类。该本体中有7个数据属性和12个一级对象属性用于描述枸杞病虫害的基本信息。还包括51个害虫实例、15个病害实例和其他本体类实例。

3 SWRL推理规则构建

3.1 SWRL规则设计

在已建的枸杞病虫害本体基础上,通过对本体概念的提取确定病虫害所涉及的具体推理元素,并根据元素组建推理规则。推理中的规则定义最为关键,规则是表示知识的一种方式,推理规则是典型的条件语句:if-then子句。规则库中的规则是根据枸杞病虫害的症状、发生规律、防治方法等概念层次和概念之间的关系定义出的关系规则,这些规则严格控制着本体的行为,能够为枸杞病虫害知识的诊断、推理或判定提供依据。

举1个简单的例子说明SWRL规则的建立方法。根据对枸杞根腐病的症状描述为枸杞病株外观表现为叶片发黄、萎垂;挖起病株剖检根、茎部,可见患部变褐至黑褐色,有的皮层腐烂、脱落、露出木质部。用SWRL翻译以上的自然语言,可以得到SWRL规则:叶片发黄∧叶片萎垂∧根部变黑褐色∧茎部变褐色∧根部皮层腐烂∧茎基部皮层脱落 →根腐病。然后依照SWRL的语法和语义,构建相应的SWRL推理规则格式如下:

Wolfberry(?x)∧Disease(?y)∧(Roots(?z)∧harmsOn(?x,?z)∧hasColor(?z,blackbrown)∧hasDS(?z,rot))∧(Leaf(?u)∧harmsOn(?x,?u)∧hasColor(?u,yellow)∧ hasDS(?u,sag))∧(Branches(?v)∧harmsOn(?x,?v)∧hasColor(?v,brown)∧hasDS(?v,Cortex fall off))→Ceitocybe bescens(?y)

其中x、y、z、u、v分別为类Wolfberry(枸杞)、Disease(病害)、Roots(根部)、Leaf(叶片)Branches(茎)的实例,harmsOn、hasColor、hasDS等为属性关系。

通过上述方法就能将枸杞病虫害本体中概念、属性和实例等元素之间的关系建成相对应的SWRL规则。根据本体推理的目标,枸杞病虫害知识推理会更新领域本体,通过建立的枸杞病虫害诊断规则进行推理,逐步完善枸杞病虫害知识领域本体。表1是本研究定义的枸杞病虫害领域本体的SWRL规则库中的部分SWRL规则,包括部分诊断病害、虫害及防治方法的规则。

4.2 SWRL实现

SWRL Editor是一个开源的SWRL规则编辑器,可以让用户以Horn子句逻辑公式形式的输入方式来创建、修改和读写SWRL规则并提供与Jess推理引擎的整合,可以方便快速地构建基于SWRL的推理规则并进行推理规则的验证。该编辑器被作为插件嵌入Protégé OWL Plugin中,使用户能在Protégé软件中方便地编辑SWRL规则。编辑规则时,用户可以直接引用1个本体中的OWL类、属性和实例,也可以直接访问SWRL Built-in本体中的所有Built-ins[12]。只有符合语法标准的SWRL规则才能被有效保存,而且SWRL规则以OWL实例的形式保存在相关的OWL文件中。图4显示的是枸杞病虫害诊断规则的建立过程。由于SWRL Editor本身并没有推理能力,需要和Jess推理引擎结合使用才能完成推理功能。运用SWRL Factory机制,SWRL Editor与Jess API实现连接,从而在API级上与已有规则引擎相互操作。

SWRL规则的建立是为了更好地解决基于本体的查询和推理问题。推理时需要将Protégé中的枸杞病虫害本体的信息(如类、属性和实例等)导入Jess中的事实库,将SWRL表示的规则导入Jess规则库中,并将其通过SWRL JessBridge转换成Jess实例和规则。通过调用Jess推理引擎,用户可以实现对SWRL规则的语义推理,并可以根据推理结果更新知识库的内容。在SWRL JessBridge操作界面,点击“OWL+SWRL→Jess”按钮,将枸杞病虫害领域本体和SWRL规则转换成Jess事实库和规则库;使用“Run Jess”按钮、使用Jess推理机进行推理生成新的知识,点击“Jess→OWL”按钮即可将推理所得的新知识传回本体文件,从而更新本体文件[13]。

将构建的枸杞病虫害本体和SWRL规则放入Jess推理机中进行推理,能得到本体中的隐含知识。基于以上的这些推理规则可以进一步处理枸杞病虫害领域本体中的各类之间以及类与实例之间的冲突关系,深度挖掘类与实例之间隐含的语义关系,使得推理结果更加准确。

4 结束语

本体的推理通过一些处理机制把隐含在显式定义和说明中的知识提取出来,目的是在本体的应用中充分利用这些知识解决实际问题。本研究以枸杞病虫害领域的相关知识为例,运用本体开发工具建立了枸杞病虫害知识库。设计了一系列的SWRL规则,并尝试使用SWRL规则语言与Jess推理引擎将枸杞病虫害领域本体和SWRL规则转换成Jess事实库和规则库,建立了基于SWRL规则的本体推理机制,得到包含新本体知识的推理结果, 从而更新了枸杞病虫害领域本体的隐含知识。

参考文献:

[1]Studer R,Benjamins V R,Fensel D. Knowledge engineering,principles and methods [J]. Data and Knowledge Engineering,1998,25(2):161-197.

[2]Haarslev V,Moller R. Racer:a core inference engine for the semantic web [C]. In work-shop on Evaluation on Ontology-based Tools,the 2nd International Semantic Web,2003.

[3]Sirin E,Parsia B,Grau B C,et al. Pellet:a practical owl-dl reasoner[J]. Web Semantics:science,services and agents on the World Wide Web,2007,5(2):51-53.

[4]Jena-a semantic web framework for Java[EB/OL].(2009-04-09)[2014-07-08]. http://jena.sourceforge.net/index.html.

[5]Tsarkov D,Riazanov A,Bechhofer S. Using vampire to reason with OWL[C]. International Semantic Web Conference,2004:471-485.

[6]Zou Y,Finin T,Chen H. F-OWL:an inference engine for the semantic web.[2014-07-08]. http://fowl.sourceforge.net/ 2003.

[7]KANO2. (2009-04-09)[2014-07-08]. http://kaon2. semanticweb.org/.

[8]Oconnor M,Knublauch H,Tu S,et al. Supporting rule system interoperability on the semantic web with SWRL[M]//The Semantic Web-ISWC 2005. Springer Berlin Heidelberg,2005:974-986.

[9]熊大紅,方 逵,戴小鹏,等. 农业本体构建方法研究 [J]. 农机化研究,2011,33(11):48-52.

[10]Maliappis M T. Using agricultural ontologies [J]. Metadata and Semantics,2009 (6):493-498.

[11]潘 超,古 辉. 本体推理机及应用[J]. 计算机系统应用,2010,19(9):163-167.

[12]宗南苏. 农业知识服务:蚁群算法与语义推理研究[D]. 北京:中国农业科学院,2009.

[13]孙 倩,刘洪岩,王 玥,等. 基于 SWRL 的梨树病害领域本体隐含关系挖掘 [J]. 山东农业科学2015,47(6):125-128.

猜你喜欢
推理
也谈高中英语教学中的阅读技巧
提高农村学生学习几何的能力探索
初中数学课堂反例的应用
《唐人街探案》:异域奇观下的喜剧推理实验