APP下载

基于SWRL的梨树病害领域本体隐含关系挖掘

2015-08-18孙倩刘洪岩王玥姚胜男

山东农业科学 2015年6期

孙倩+刘洪岩+王玥+姚胜男

摘 要:针对梨树病害领域本体的构建、推理及完善,本文提出了基于SWRL的梨树病害领域本体的构建方法,该方法包括确定梨树病害领域的核心概念集、添加概念的属性及概念之间的关系、添加概念的实例、表示领域本体四个步骤;此外,还设计了一系列SWRL规则,使用Jess推理引擎,建立了SWRL规则的推理机制,通过推理的方法实现了自动挖掘梨树病害领域本体的隐含关系,从而完善梨树病害领域本体。

关键词:SWRL规则;梨树病害;领域本体;隐含关系;自动挖掘

中图分类号:S436.612.1  文献标识号:A  文章编号:1001-4942(2015)06-0125-04

Mining of Implicit Relations for

Pear Diseases Domain Ontology Based on SWRL

Sun Qian1, Liu Hongyan2, Wang Yue1, Yao Shengnan1

(1. School of Information Science and Engineering, Shandong Agricultural University, Taian 271018, China;

2. Information Center, Taishan Polytechnic, Taian 271000,China)

Abstract Aiming to build, reason and perfect pear disease domain ontology, a build approach was proposed based on SWRL. The approach was consisted of confirming core concepts, the properties of added concepts and the relationships between concepts, the instances of added concepts and representing domain ontology. In addition, SWRL rules were designed, SWRL reasoning mechanism was established by Jess reasoning engine. Finally, implicit relationships were mined and diseases domain ontology was renewed by reasoning.

Key words SWRL rule; Pear disease; Domain ontology; Implicit relation; Automatic mining

本体可以描述特定领域中的资源关系,而推理则可借助一定的规则,通过已知的关系推出隐含的关系。如今对本体的应用大多将其作为一个建模工具,而忽略了它的推理功能。本文使用SWRL规则语言与Jess推理引擎相集成,建立基于SWRL规则的本体推理机制,通过推理的方法实现了自动挖掘梨树病害领域本体的隐含关系,从而进一步完善梨树病害领域本体的描述。

1 基于SWRL规则推理的梨树病害领域本体的构建

1.1 确定梨树病害领域的核心概念集

构建领域本体首先要确定本体将覆盖的专业领域,经过信息收集和需求分析,本文选取梨树病害领域作为建立领域本体的对象。需首先确定该领域最重要的概念,然后确定与之相关的其他重要概念,以建立核心概念集。本文首先确定“Pear-tree”,然后确定与其相关的概念。表1给出了梨树病害领域本体的核心概念的名称及含义。

1.2 添加概念的属性及确定概念之间的关系

描述一个领域,仅描述该领域的概念是不够的,还要描述概念的内部结构,即概念属性。因此,必须为上述核心概念集中的概念添加属性,并确定与其它概念之间的关系。例如:为“Disease” 添加“describe”属性,可以表示梨树病害的特性、症状等;添加“D-pathogen”表示“Disease”与“P-kind”之间的关系,表示病害的病原种类;添加“has-byname”表示病害的别名。表2给出了“Pear-tree”与其它概念之间的关系及说明。

表1 梨树病害领域本体的核心概念

核心概念名称 解释

Disease 表示梨树病害的种类

Growing-period 表示梨树生长期的各个阶段

Part 表示梨树生病的部位,例如:根、果实、叶子、叶柄

Pathogen

Feature 表示病原的特性,例如:黑色小斑

P-kind 表示梨树病害的病原种类

Pear-tree 表示梨树

Symptom

Color 表示梨树生病部位发生变化后的颜色

Shape 表示梨树生病部位发生病变的形状

Dynamic-symptom 表示梨树生病的症状,例如:腐烂

表2 Pear-tree与其它概念之间的关系

名称 解释

At-part 表示“Pear-tree” 和 “Part”之间的关系

Has-ds 表示“Pear-tree”和“Dynamic-symptom”之间的关系

Has-c 表示“Pear-tree” 和“Color” 之间的关系

Has-disease 表示“Pear-tree” 和“Disease” 之间的关系endprint

Has-shape 表示“Pear-tree”和“Shape” 之间的关系

Has-feature 表示“Pear-tree”和“Feature” 之间的关系

Has-pathogen 表示“Pear-tree”和“P-kind”之间的关系

At-period 表示“Pear-tree”和“Growing-period”之间的关系

1.3 添加概念的实例

构建领域本体,还必须为概念添加实例。例如:为 “Dynamic-symptom”添加实例“change color”、“die”、“dry-rot”、“falling-off”、“putrescence”、“rotting”、“spotting”、 “wilting”;添加“branch”、“fruit”、“fruit-stem”、“stipe”、“leaf”、“root”作为“Part”的实例;添加梨树各种病害的名称为“Disease”的实例,如表3所示。

表3 Disease的部分实例

名称 中文名称     别名 病原

Pear scab 梨黑星病 Venturia pirina Venturia pirina Anderh.

Pear-Rust 梨锈病 G. haraeanum Gymnosporangium haraeanum Syd.

Pear-black-spot 梨黑斑病 Alternaria kikuchiana Tanaka

Pear brown spot disease 梨褐斑病 Pear-Brown-blight Mycosphaerella sentino (Fr.) Schrot

Pear leaf rot 梨叶腐病 Fabraea maculata (Lev.) Atk

Pear powdery mildew 梨白粉病 Phyllactinia pyri (Cast.) Homma

Black rot of pear 梨轮纹病 Pear rough bark disease Physalospora piricola Nose

Pear-anthracnose 梨炭疽病 Glomerella cingulata (Stonem.)

Spauld et Schrenk

Pear-black-shank 梨黑柄病

1.4 梨树病害领域本体的表示

本体可以用自然语言描述,也可以用框架(Framework)、语义网络或本体语言描述和表示。一般选择采用本体语言表示,常用的本体语言有DL、RDF(S)[1]、OWL[2]、XOL、DAML+OIL等。本文使用的Protégé 3.4.8开发工具支持DAML+OIL以及OWL,可以用RDF、RDFS、OWL等本体表示语言在系统外对本体进行编辑和修改[3]。

首先根据已经确定的核心概念使用Protégé 3.4.8创建相应的类。图1是使用Protégé 3.4.8 的OWLVizTab显示的本文创建的梨树病害领域本体类的示意图。其次使用“data properties”为类添加属性,使用“object properties”添加类之间的关系,最后添加实例,从而生成一个OWL文件。

图1 梨树病害领域本体类示意图

2 SWRL规则设计

SWRL是以OWL子语言OWL DL和OWL Lite以及RuleML为基础的一种规则描述语言,驱使Horn-like规则与OWL知识库结合,利用抽象的语法表达OWL本体中所描述的知识信息[4]。由于SWRL在OWL中加入了规则,因此可提供更强的逻辑表达能力。SWRL规则是由推理前提antecedent和推理结果consequent构成的[5]。一条规则,若其前提被满足,则其结论也必为真[6]。

表4是本文定义的梨树病害领域本体的SWRL规则库中的部分SWRL规则,包括诊断病害、病原及解决别名问题的规则。例如: Pear-tree(?x)∧At-part(?x, leaf)∧Has-ds(?x, spotting)∧Has-c(?x, yellow)∧Has-shape(?x, circle)∧Has-feature(?x, yellow-acicular-small-point) → Has-disease(?x, Pear-Rust),即若梨树叶子上出现黄色圆形病斑,并生黄色针状小点,则可初步诊断该梨树患梨锈病。 Pear-tree(?x)∧Has-disease(?x, ?y)∧Disease(?y)∧D-pathogen(?y, ?z)→Has-pathogen(?x, ?z),即 梨树x若诊断为患病y,病害y的病原确定为z,则可确定梨树x的病害病原为z,其中x、y、z可为类Pear-tree(梨树)、Disease(病害)、P-kind(病原)的实例。为了解决病害别名的问题,本文也定义了一条规则:Pear-tree(?x) ∧Has-disease(?x, ?y) ∧Disease(?y) ∧Disease(?z)∧has-byname(?y, ?z)→Has-disease(?x, ?z),即梨树x患病害y,病害y和病害z是别名关系,则梨树x也患病害z。

表4 梨树病害领域本体部分SWRL规则

规则名称      规则表述

Rule1     Pear-tree(?x) ∧ At-part(?x, leaf) ∧ Has-ds(?x, spotting) ∧ Has-c(?x, yellow) ∧ Has-shape(?x, circle) ∧ Has-feature(?x, yellow-acicular-small-point) → Has-disease(?x, Pear-Rust)endprint

Rule2     Pear-tree(?x) ∧ At-part(?x, fruit-stem) ∧ Has-ds(?x, spotting) ∧ Has-c(?x, black) ∧ Has-ds(?x, mildew)  ∧ Has-shape(?x, circle) → Has-disease(?x, Pear scab)

Rule3     Pear-tree(?x) ∧ At-part(?x, leaf) ∧ Has-ds(?x, spotting) ∧ Has-c(?x, yellow) ∧ Has-shape(?x, oval) ∧ Has-ds(?x, mildew)∧ Has-feature(?x, black-acicular-small-point) → Has-disease(?x, Pear scab)

Rule4     Pear-tree(?x) ∧ At-part(?x, leaf) ∧ Has-ds(?x, spotting) ∧ Has-c(?x, brown) ∧ Has-shape(?x, circle) ∧ Has-ds(?x, falling-off)∧ Has-feature(?x, black-acicular-small-point) → Has-disease(?x, Pear brown spot disease)

Rule5     Pear-tree(?x) ∧ At-part(?x, fruit) ∧ Has-ds(?x, spotting) ∧ Has-c(?x, brown) ∧ Has-shape(?x, circle) ∧ Has-ds(?x, rotting) ∧ Has-ds(?x, falling-off) → Has-disease(?x, Pear-anthracnose)

Rule6     Pear-tree(?x) ∧Has-disease(?x, ?y) ∧Disease(?y)∧D-pathogen(?y, ?z)→Has-pathogen(?x, ?z)

Rule7     Pear-tree(?x) ∧Has-disease(?x, ?y) ∧Disease(?y)∧Disease(?z)∧has-byname(?y, ?z)→Has-disease(?x, ?z)

3 试验实现与结果

本文选用斯坦福大学开发的一个开源规则编辑器“SWRL Editor” 编辑规则并存储于本体中。但SWRL Editor本身并没有推理能力,需要一个推理引擎将本体和SWRL规则库连接,从而实现通过本体进行推理[7]。Jess规则推理引擎是由美国Sandia国家实验室分布式系统计算组成员以CLIPS为基础扩展的、采用Java编写的开放式的规则引擎[8],Jess 系统包含规则库、事实库和推理机三部分[9]。因此,本文在构建了梨树病害领域本体和SWRL规则的基础上,选用Jess推理引擎将梨树病害领域本体和SWRL规则转换成Jess事实库和规则库,然后进行本体推理,得到包含新的本体知识的推理结果,最后将推理结果导回梨树病害领域本体,从而更新领域本体[10]。

图2是“SWRL Editor”的操作界面,本试验在该界面中完成了一系列SWRL规则的编辑和存储。点击界面中“OWL+SWRL->Jess”按钮,将梨树病害领域本体和SWRL规则转换成Jess事实库和规则库[11]。点击“Run Jess”按钮使用Jess推理机进行推理生成新的知识。使用“Jess->OWL”按钮即可将推理所得的新知识传回本体文件,从而更新本体文件。图3中画圈的位置显示的是规则:Pear-tree(?x)∧At-part(?x, leaf)∧Has-ds(?x, spotting)∧Has-c(?x, yellow) ∧Has-shape(?x, circle)∧Has-feature(?x, yellow-acicular-small-point) → Has-disease(?x, Pear-Rust)推理得出的新关系:即该梨树患有梨锈病。

图2 SWRL Editor 操作界面

图3 推理得出的新关系

4 结束语

本文构建了梨树病害领域本体,设计了一系列的SWRL规则,并尝试使用SWRL规则语言与Jess推理引擎相集成,建立了基于SWRL规则的本体推理机制,实现了自动挖掘梨树病害领域本体的隐含关系,从而更新该领域本体。

参 考 文 献:

[1] Resource Description Framework[K/OL].http://www.w3.org/RDF/ .

[2] Bechhofer S, Van Harmelen F, Hendler J, et al . OWL Web Ontology Language Reference [K/OL]. http://www.w3.org/TR/2004/REC-owl-ref-20040210.

[3] A free, open-source ontology editor and framework for building intelligent systems[K/OL]. http://protege.stanford.edu/.

[4] Horrocks I, Patel-Schneider P F, Boley H, et al. SWRL: a Semantic Web rule language combining OWL and RuleML [K/OL]. http://www.w3.org/Submission/SWRL/#1.

[5] SWRL Section 2. Abstract Syntax [K/OL]. http://www.daml.org/2003/11/swrl/abstract.html#2.1.

[6] 王松.语义网服务中基于SWRL推理机制的研究[D].大连:大连海事大学,2008.

[7] 宗南苏,郑业鲁. 基于本体与SWRL的鳜鱼疾病诊断知识表示与语义推理[J]. 农业图书情报学刊,2009,21(6):10-14,26.

[8] 伍宏伟.基于语义WEB技术的产品配置研究[D].上海:上海交通大学,2009.

[9] Golbreich C, Imai A. Combining SWRL rules and OWL ontologies with Protégé OWL Plugin, Jess, and Racer[C]// The 7th International Protégé Conference, Bethesda, MD, 2004.

[10]丁晟春,江超男. 基于SWRL规则推理的隐含关系挖掘[J].现代图书情报技术,2011,27(3):68-72.

[11]SWRL Editor FAQ[K/OL]. http://protege.cim3.net/cgi-bin/wiki.pl?SWRLEditorFAQ.endprint