孫倩+劉洪巖+王玥+姚勝男
摘 要:針對梨樹病害領(lǐng)域本體的構(gòu)建、推理及完善,本文提出了基于SWRL的梨樹病害領(lǐng)域本體的構(gòu)建方法,該方法包括確定梨樹病害領(lǐng)域的核心概念集、添加概念的屬性及概念之間的關(guān)系、添加概念的實例、表示領(lǐng)域本體四個步驟;此外,還設(shè)計了一系列SWRL規(guī)則,使用Jess推理引擎,建立了SWRL規(guī)則的推理機(jī)制,通過推理的方法實現(xiàn)了自動挖掘梨樹病害領(lǐng)域本體的隱含關(guān)系,從而完善梨樹病害領(lǐng)域本體。
關(guān)鍵詞:SWRL規(guī)則;梨樹病害;領(lǐng)域本體;隱含關(guān)系;自動挖掘
中圖分類號:S436.612.1 ?文獻(xiàn)標(biāo)識號: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
本體可以描述特定領(lǐng)域中的資源關(guān)系,而推理則可借助一定的規(guī)則,通過已知的關(guān)系推出隱含的關(guān)系。如今對本體的應(yīng)用大多將其作為一個建模工具,而忽略了它的推理功能。本文使用SWRL規(guī)則語言與Jess推理引擎相集成,建立基于SWRL規(guī)則的本體推理機(jī)制,通過推理的方法實現(xiàn)了自動挖掘梨樹病害領(lǐng)域本體的隱含關(guān)系,從而進(jìn)一步完善梨樹病害領(lǐng)域本體的描述。
1 基于SWRL規(guī)則推理的梨樹病害領(lǐng)域本體的構(gòu)建
1.1 確定梨樹病害領(lǐng)域的核心概念集
構(gòu)建領(lǐng)域本體首先要確定本體將覆蓋的專業(yè)領(lǐng)域,經(jīng)過信息收集和需求分析,本文選取梨樹病害領(lǐng)域作為建立領(lǐng)域本體的對象。需首先確定該領(lǐng)域最重要的概念,然后確定與之相關(guān)的其他重要概念,以建立核心概念集。本文首先確定“Pear-tree”,然后確定與其相關(guān)的概念。表1給出了梨樹病害領(lǐng)域本體的核心概念的名稱及含義。
1.2 添加概念的屬性及確定概念之間的關(guān)系
描述一個領(lǐng)域,僅描述該領(lǐng)域的概念是不夠的,還要描述概念的內(nèi)部結(jié)構(gòu),即概念屬性。因此,必須為上述核心概念集中的概念添加屬性,并確定與其它概念之間的關(guān)系。例如:為“Disease” 添加“describe”屬性,可以表示梨樹病害的特性、癥狀等;添加“D-pathogen”表示“Disease”與“P-kind”之間的關(guān)系,表示病害的病原種類;添加“has-byname”表示病害的別名。表2給出了“Pear-tree”與其它概念之間的關(guān)系及說明。
表1 梨樹病害領(lǐng)域本體的核心概念
核心概念名稱 解釋
Disease 表示梨樹病害的種類
Growing-period 表示梨樹生長期的各個階段
Part 表示梨樹生病的部位,例如:根、果實、葉子、葉柄
Pathogen
Feature 表示病原的特性,例如:黑色小斑
P-kind 表示梨樹病害的病原種類
Pear-tree 表示梨樹
Symptom
Color 表示梨樹生病部位發(fā)生變化后的顏色
Shape 表示梨樹生病部位發(fā)生病變的形狀
Dynamic-symptom 表示梨樹生病的癥狀,例如:腐爛
表2 Pear-tree與其它概念之間的關(guān)系
名稱 解釋
At-part 表示“Pear-tree” 和 “Part”之間的關(guān)系
Has-ds 表示“Pear-tree”和“Dynamic-symptom”之間的關(guān)系
Has-c 表示“Pear-tree” 和“Color” 之間的關(guān)系
Has-disease 表示“Pear-tree” 和“Disease” 之間的關(guān)系endprint
Has-shape 表示“Pear-tree”和“Shape” 之間的關(guān)系
Has-feature 表示“Pear-tree”和“Feature” 之間的關(guān)系
Has-pathogen 表示“Pear-tree”和“P-kind”之間的關(guān)系
At-period 表示“Pear-tree”和“Growing-period”之間的關(guān)系
1.3 添加概念的實例
構(gòu)建領(lǐng)域本體,還必須為概念添加實例。例如:為 “Dynamic-symptom”添加實例“change color”、“die”、“dry-rot”、“falling-off”、“putrescence”、“rotting”、“spotting”、 “wilting”;添加“branch”、“fruit”、“fruit-stem”、“stipe”、“l(fā)eaf”、“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 梨樹病害領(lǐng)域本體的表示
本體可以用自然語言描述,也可以用框架(Framework)、語義網(wǎng)絡(luò)或本體語言描述和表示。一般選擇采用本體語言表示,常用的本體語言有DL、RDF(S)[1]、OWL[2]、XOL、DAML+OIL等。本文使用的Protégé 3.4.8開發(fā)工具支持DAML+OIL以及OWL,可以用RDF、RDFS、OWL等本體表示語言在系統(tǒng)外對本體進(jìn)行編輯和修改[3]。
首先根據(jù)已經(jīng)確定的核心概念使用Protégé 3.4.8創(chuàng)建相應(yīng)的類。圖1是使用Protégé 3.4.8 的OWLVizTab顯示的本文創(chuàng)建的梨樹病害領(lǐng)域本體類的示意圖。其次使用“data properties”為類添加屬性,使用“object properties”添加類之間的關(guān)系,最后添加實例,從而生成一個OWL文件。
圖1 梨樹病害領(lǐng)域本體類示意圖
2 SWRL規(guī)則設(shè)計
SWRL是以O(shè)WL子語言O(shè)WL DL和OWL Lite以及RuleML為基礎(chǔ)的一種規(guī)則描述語言,驅(qū)使Horn-like規(guī)則與OWL知識庫結(jié)合,利用抽象的語法表達(dá)OWL本體中所描述的知識信息[4]。由于SWRL在OWL中加入了規(guī)則,因此可提供更強(qiáng)的邏輯表達(dá)能力。SWRL規(guī)則是由推理前提antecedent和推理結(jié)果consequent構(gòu)成的[5]。一條規(guī)則,若其前提被滿足,則其結(jié)論也必為真[6]。
表4是本文定義的梨樹病害領(lǐng)域本體的SWRL規(guī)則庫中的部分SWRL規(guī)則,包括診斷病害、病原及解決別名問題的規(guī)則。例如: 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),即若梨樹葉子上出現(xiàn)黃色圓形病斑,并生黃色針狀小點,則可初步診斷該梨樹患梨銹病。 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(病原)的實例。為了解決病害別名的問題,本文也定義了一條規(guī)則:Pear-tree(?x) ∧Has-disease(?x, ?y) ∧Disease(?y) ∧Disease(?z)∧has-byname(?y, ?z)→Has-disease(?x, ?z),即梨樹x患病害y,病害y和病害z是別名關(guān)系,則梨樹x也患病害z。
表4 梨樹病害領(lǐng)域本體部分SWRL規(guī)則
規(guī)則名稱 ? ? ?規(guī)則表述
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 試驗實現(xiàn)與結(jié)果
本文選用斯坦福大學(xué)開發(fā)的一個開源規(guī)則編輯器“SWRL Editor” 編輯規(guī)則并存儲于本體中。但SWRL Editor本身并沒有推理能力,需要一個推理引擎將本體和SWRL規(guī)則庫連接,從而實現(xiàn)通過本體進(jìn)行推理[7]。Jess規(guī)則推理引擎是由美國Sandia國家實驗室分布式系統(tǒng)計算組成員以CLIPS為基礎(chǔ)擴(kuò)展的、采用Java編寫的開放式的規(guī)則引擎[8],Jess 系統(tǒng)包含規(guī)則庫、事實庫和推理機(jī)三部分[9]。因此,本文在構(gòu)建了梨樹病害領(lǐng)域本體和SWRL規(guī)則的基礎(chǔ)上,選用Jess推理引擎將梨樹病害領(lǐng)域本體和SWRL規(guī)則轉(zhuǎn)換成Jess事實庫和規(guī)則庫,然后進(jìn)行本體推理,得到包含新的本體知識的推理結(jié)果,最后將推理結(jié)果導(dǎo)回梨樹病害領(lǐng)域本體,從而更新領(lǐng)域本體[10]。
圖2是“SWRL Editor”的操作界面,本試驗在該界面中完成了一系列SWRL規(guī)則的編輯和存儲。點擊界面中“OWL+SWRL->Jess”按鈕,將梨樹病害領(lǐng)域本體和SWRL規(guī)則轉(zhuǎn)換成Jess事實庫和規(guī)則庫[11]。點擊“Run Jess”按鈕使用Jess推理機(jī)進(jìn)行推理生成新的知識。使用“Jess->OWL”按鈕即可將推理所得的新知識傳回本體文件,從而更新本體文件。圖3中畫圈的位置顯示的是規(guī)則: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)推理得出的新關(guān)系:即該梨樹患有梨銹病。
圖2 SWRL Editor 操作界面
圖3 推理得出的新關(guān)系
4 結(jié)束語
本文構(gòu)建了梨樹病害領(lǐng)域本體,設(shè)計了一系列的SWRL規(guī)則,并嘗試使用SWRL規(guī)則語言與Jess推理引擎相集成,建立了基于SWRL規(guī)則的本體推理機(jī)制,實現(xiàn)了自動挖掘梨樹病害領(lǐng)域本體的隱含關(guān)系,從而更新該領(lǐng)域本體。
參 考 文 獻(xiàn):
[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] 王松.語義網(wǎng)服務(wù)中基于SWRL推理機(jī)制的研究[D].大連:大連海事大學(xué),2008.
[7] 宗南蘇,鄭業(yè)魯. 基于本體與SWRL的鱖魚疾病診斷知識表示與語義推理[J]. 農(nóng)業(yè)圖書情報學(xué)刊,2009,21(6):10-14,26.
[8] 伍宏偉.基于語義WEB技術(shù)的產(chǎn)品配置研究[D].上海:上海交通大學(xué),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規(guī)則推理的隱含關(guān)系挖掘[J].現(xiàn)代圖書情報技術(shù),2011,27(3):68-72.
[11]SWRL Editor FAQ[K/OL]. http://protege.cim3.net/cgi-bin/wiki.pl?SWRLEditorFAQ.endprint