APP下载

混合式模糊本体推理机框架设计

2012-07-25董美霞李冠宇李海燕

计算机工程与设计 2012年3期
关键词:推理机公理引擎

董美霞,李冠宇,李海燕

(大连海事大学 信息科学技术学院,辽宁 大连116026)

0 引 言

语义网中的知识结构通常以本体作为表现形式,而本体的性质是 “概念的集合”,其中模糊本体是客观事件的本质属性在人脑中的反映[1],例如人的 “高、矮、胖、瘦”等都是模糊概念,是没有确切的标准可以衡量的,这就要求我们通过对模糊本体进行推理,明确概念描述的程度。

本文首先介绍了模糊本体的有关知识,如模糊本体的表示方式、模糊规则语言,模糊推理机等,针对当前没有一种高效的模糊本体推理机的局限性,提出设计了一种混合式模糊本体推理机框架,通过将Pellet与fuzzyDL结合,同时利用通用规则推理机Jena的外部连接优势,实现了模糊本体的推理服务,使推理结果更加准确高效。

1 相关概念介绍

1.1 模糊本体

在语义网中,本体是共享概念模型的形式化规范说明[2],而模糊本体可以用一个五元组F=<I,C,T,N,X>[3]表示,其中:I是个体的集合,也被叫做概念实例。C是模糊概念集合 (或者是OWL中的类,个体、类别、类型),每一个概念是基于实例领域的模糊集。

模糊本体的整个集合被定义成E=C∪I。

T表示集合C中的模糊分类关系,它把概念组织到子概念的树状结构中,其中分类关系T(i,j)表明子类j是带有某个度的父类i的概念分类。

N表示连通整个树形结构的未分类的模糊组合关系集。例如:

命名关系,描述概念名字;

定位关系,描述概念的关系定位;

函数关系,描述概念的函数或是属性;

X是公理集通过一种合理的逻辑语言被表达。

模糊本体融合了模糊集理论和模糊描述逻辑理论,能够很好的表达模糊概念间的语义关系和关联程度。

1.2 知识推理

知识表示是一组描述知识对象的语法和语义的约定。当前的知识表示方法主要有以下几种:一阶逻辑、产生式系统、模糊推理、单调推理、次协调推理、信念推理、基于案例的推理。

在知识推理方法中主要用到基于规则和基于谓词逻辑两种。基于谓词逻辑的推理是确定性推理,这是指推理中所用到的证据是确定的,推理所用的规则是确定的,推出的结论也是确定的。在现实世界,不管是在自然界还是在人们的认识中往往存在着不确定的因素,这是由于人们对信息的掌握不够完善和精确,或者说对知识的掌握具有不确定性[4]。这就要求人们在进行推理、解决问题时要考虑这种不确定的因素,尽量做到符合客观实际。

1.3 模糊描述逻辑

描述逻辑 (description logic,DL)又称为术语逻辑(terminological logic)或是KL-ONE系统。它有2个重要的元素:概念和角色 (关系)。由于它无法应用于模糊概念所涉及的领域。为了表示模糊概念,必须扩展描述逻辑,使之表达能力更强。

模糊描述逻辑[5-6](fuzzy description logics)把概念和角色分别解释为模糊概念集合 (模糊个体集合)和模糊关系集合 (模糊个体对集合)。这样用模糊描述逻辑表达的模糊本体就有能力处理模糊知识。不过模糊概念集合和模糊关系集合都使用了成员函数来为它的元素给出隶属度。例如:李四的身高是180cm,张三的身高是175cm。他们属于 “高个子人”,这个概念的隶属度分别为0.9和0.8。

由此可见,模糊描述逻辑的提出为模糊本体的表达与知识推理奠定了理论基础和理论根源。

1.4 模糊规则语言

在知识推理中知识库主要由规则库和事实库组成。模糊本体进行推理时通过将事实与规则进行匹配实现模糊推理。其中的规则库是由特定的规则语言进行描述,这里的规则语言主要是 RuleML[7]规则和SWRL[8-9]规则语言。

SWRL是融合了OWL和RuleML的规则语言,它可以很好的跟本体结合进行推理服务[10]。然而SWRL不能提供任何方式处理不精确性和不一致性信息。f-SWRL是SWRL的一个扩展[11],它是基于SWRL规则语言并且使用SWRL强大的语义基础作为它的形式支撑。在f-SWRL里,模糊个体公理包括一个模糊隶属度 (它的取值在0到1之间),在该范围内我们能够断言一个个体是否属于该实例(属性),在f-SWRL的原子里包括一个权值 (它的取值在0到1之间)它代表在该规则里原子的 “重要性”。例如下面的模糊规则断言:判断一个人是否是幸福要看他的健康状况与他所拥有的财富的比重:Rich(?p)*0.5Healthy(?p)*0.9->Happy(?p)。

上面的规则定义中Rich,Healthy和Happy是类名,0.5和0.9分别是Rich(?p)和Healthy(?p)的权值。

1.5 推理判定算法

推理判定算法是一种证明在一系列假设中隐含结论的系统化方法。推理机实现推理主要是依赖于内部的推理算法,而一个高效的推理算法能提高推理机的推理效率,当前主流的推理算法主要有Tableau算法[12]和Rete算法。

Tableau算法被广泛用于各种描述逻辑中以判定概念的可满足性或概念间的包含关系。其中Pellet推理机内部就是用Tableau算法进行本体的不一致性检测。

定义1 设D是一个ALC概念 (D是否定范式),C为所有可能概念的集合,RD是出现在D中的角色集合,RD= {R|R出现在D中}。定义D的ALCTableau为一个三元组 (S,L,ε):

S:个体的集合;

L:S→C将S中的个体映射为C中的概念;

RD→2S×S:将RD中的角色映射为一个体对的集合,同时要求存在某个个体s∈S使得D∈L(s)可以很轻松地通过Tableau构造模型,或通过模型构造Tableau。

Rete算法是效率较高的用空间换取时间的正向链推理算法,其中推理机Jena和Drools内部用到的则是推理效率较高的Rete算法[13]。它通过一个Rete算法的模式匹配来提高推理效率。

2 当前主流模糊本体推理机分析

目前的主流推理机主要是对精确本体的推理,而对于模糊本体的推理还在起步发展阶段,由于信息的表现形式各不相同,一个好的推理机应该能处理各种可能的信息。下面对当前处理模糊本体的推理机简单概述如下:

2.1 Jena推理机

Jena推理机是HP实验室开发的开源资源,它可以实现对OWL最简单子集OWL Lite的不确定信息推理,目前的Jena2[14]是Jena的第二个版本,它主要是对RDFS和OWL语言进行推理,允许从实例数据和类描述中推断出额外的事实。

Jena推理机包括一个基于推理引擎的产生式规则,它允许一系列推理引擎插入Jena,这样的引擎被用来获取额外的rdf断言。

Jena推理机内部包括一些定义好的推理机,如RDF规则推理机、DAMLmicro推理机、传递推理机和通用推理机等,其中通用推理机支持用户自定义规则,用户可以根据自身推理需要定义自己的规则。

Jena推理机的规则定义:

Rule:= bare-rule.

or[bare-rule]

or[ruleName:bare-rule]

其中bare-rule可以有forward rule和backward rule两种形式。

2.2 Jess规则引擎

Jess是基于Java平台的规则引擎,它为规则的创建提供一个丰富灵活的推理环境,它是Sandia国家实验室的Ernest Friedman-Hill开发的,被称为 “专家系统外壳”。

Jess推理引擎利用目前一种主流的推理算法Rete算法进行模式匹配,通过模式匹配语言对事实进行操作,它的规则表达形式沿用了CLIPS的语法结构通过对推理模式中的前件和后件进行限定,丰富了模式匹配语言,使得Jess有了强大的知识表示能力。

虽然Jess规则引擎拥有如此的推理能力,但是Jess推理机中的事实和规则却不能捕获领域本体中的不确定性和不精确性,FuzzyJess的提出实现了Jess的模糊扩展,它集成了FuzzyJ Toolkit和Jess,同时允许我们使用Jess的FuzzyJ Toolkit去定义模糊概念和利用这些概念创建模糊规则,FuzzyJ Toolkit本身就是一个模糊专家系统外壳,但是它只支持模糊前件和模糊后件的推理方式,通过将它与Jess结合,形成功能强大的专家系统外壳FuzzyJess,目前的FuzzyJess不但拥有Jess的强大功能,而且能表达精确事实、模糊事实同时执行模糊推理。

2.3 Pellet推理机

Pellet推理机是一种可靠完备的基于描述逻辑表的DL推理机,它是用Java语言实现的能够支持枚举类型和表算法。

Pellet推理机的核心算法是内部的描述逻辑表Tableau算法,该算法能检查知识的一致性。2008年7月11日MINDSWAP研究室将Pellet的功能进行了扩展,设计了Pronto插件,它能够在OWL本体语言中推理概率性知识。Pronto为知识库中的不确定性知识提供了核心的OWL推理服务,它依赖于Pellet1.5.2而存在。Pronto扩展了Pellet部分功能,描述如下:①增加了OWL本体中的概率陈述;②从概率本体中推理出新的概率描述;③对概率推理的结果进行解释。

下面对几种常用本体推理机进行比较如表1所示。

3 模糊本体的知识推理设计

在本体推理机中,主要以基于描述逻辑和基于规则两种推理机为主。其中描述逻辑的推理主要是基于知识库KB(TBox,ABox)而言,在知识库中TBox实现本体的可满足性和包容性检测,ABox主要是对TBox检测结果的验证,可见描述逻辑推理机的推理功能主要体现在一致性判断和相容性检测。由于基于描述逻辑的推理机不能表示一般形式如If Then之类的规则形式,使得基于规则的推理引擎[15]应运而生。基于规则的推理引擎是通过将本体与规则进行结合来弥补OWL DL的推理缺陷实现更强大的知识表示和推理能力。

表1 模糊本体推理机比较

虽然规则引擎和本体推理机已经有很多种,但是在众多推理机中能同时支持规则和描述逻辑并且兼顾模糊本体推理的却很罕见。为此,我们结合目前几种主流的推理机的优点,设计出了混合式模糊本体推理机框架,通过将Pellet、Jena和fuzzyDL系统进行结合实现模糊本体的知识推理,提高模糊本体的推理效率。

(1)Jena是一种基于产生式规则的前向链通用推理引擎,它支持用户自定义规则,能够很容易的与其它推理机进行连接实现推理能力;

(2)fuzzyDL系统[16]是仅有的支持模糊描述逻辑和模糊粗糙集理论的基于Java的描述逻辑推理机;

(3)Pellet是可靠完备的DL推理机,同时它支持枚举类型和表算法,它在对本体进行不可满足性检测时能够以公理的形式给出错误的原因,这是其它推理机无法实现的。

基于上述,本文提出的混合式模糊本体推理机框架,其工作流程如图1所示。当用户发出交互信息请求时,通过在Fuzzy OWL2Protégé中对信息进行编码描述,同时结合领域资源信息构建模糊本体,将模糊本体与推理规则导入推理机中进行推理。这里用到的推理机即为fuzzyDL描述逻辑推理机,在推理模块中主要是进行本体的一致性检测,修复不一致信息,同时进行本体解析,最终将结果通过图形接口返回给应用用户。

本文的核心部分是上图1中推理模块,它内部的构造实现如图2所示。

在该推理模块中用Pellet实现模糊本体的一致性检测,同时修复其中的不一致信息,发现隐含知识并添加到知识库中;在推理检测部分主要用到基于描述逻辑的Pellet推理机进行模糊本体的一致性检测,它是一个完全的OWLDL推理机,它的推理是基于tableaux算法,这一点跟上面提到的基于规则的推理引擎Jena有很大的不同。Pellet用Jena解析OWL的目的在于Jena的模块把OWL解析为三元组,然后在Pellet中利用这些三元组再转换为描述逻辑表示,即是把OWL本体中所描述的所有类、类的公理 (各种关系,如等价类,disjoint等)都转换为描述逻辑表示的方式,存储在知识库knowledge base中。Pellet关于类关系的推理工作就是利用subsumption来判断两个类概念之间的关系,同时可以归约转化为判断类概念的可满足性问题。

在对模糊本体的解析中主要用fuzzyDL系统。在这里需要用到Fuzzy OWL2Protégéplug-in,用OWL2的模糊扩展Fuzzy OWL对模糊本体进行描述。这是目前W3C提出的标准模糊本体描述语言,使用OWL2注解属性的方法去表示模糊本体进行推理,同时利用Jena将两种推理机进行连接,实现混合式模糊本体推理机框架的推理功能。

下面通过一个实例来重点阐述如何在混合式模糊本体推理机框架中利用Fuzzy OWL2Protégé结合fuzzyDL对模糊本体进行推理的过程,其中在Protégé中的本体构建如图3所示。

部分代码描述如下:

图3 matchmaking本体的构建

<rdfs:Datatype>

<owl:onDatatype rdf:resource="http://www.w3.org/2001/XMLSchema#double"/>

<owl:withRestrictionsrdf:parseType="Collection" >

<rdf:Description>

<xsd:maxInclusive rdf:datatype="http://www.w3.org/2001/XMLSchema#integer" > 100000 </xsd:maxInclusive>

</rdf:Description>

<owl:withRestrictions>

</rdfs:Datatype>

</owl:intersectionOf></rdfs:Datatype>

</owl:equivalentClass>

<fuzzyLabel><fuzzyOwl2fuzzyType="datatype" >

<Datatypetype="leftshoulder"a="22000"b="24000"/> </fuzzyOwl2></fuzzyLabel>

</rdfs:Datatype>

在创建好模糊本体以后我们可以用混合式模糊本体推理机框架对模糊本体进行一致性检测,这里用到推理框架中的Pellet推理机。

对模糊本体不一致性的推理检测主要完成以下任务:①检查公理集的一致性。判断输入的公理中是否包含矛盾;②从公理集中推断出新的公理。从断言公理系统中推理得出公理的真实性是合乎逻辑的,任何非空的本体集中都可能推出无穷多的推论。

对模糊本体用Pellet进行一致性检测的结果图展示如图4所示。

接下来是对模糊本体的推理部分,这里主要用到fuzzyDL推理机,在该推理机中主要完成以下任务:①在模糊知识库中添加公理和实例;②创建事实隶属度;③完成对模糊本体构建语言OWL2的解析。

下面通过一个具体实例说明推理的过程。实例描述如下:一个4S店价格目录上卖奥迪TT是$31500。一个买主想以不超过$30000左右的价格买一辆跑车,这样的两个事实在进行规则匹配时会考虑卖家跟买家理想的价位,卖家希望以大于$31500出售,但是可以降到$30500,而买家希望花不超过$30000,但是可以不高于$32000。

图4 模糊本体一致性检测

我们可能用下面的公理来表示这些事实:

(define-fuzzy-concept AudiTTPriceright-shoulder (0,50000,30500,31500))

(define-concept AudiTT (and SportsCar(some hasPrice AudiTTPrice)))

买家的询问可以被定义为:

(define-fuzzy-concept BuyerPrice left-shoulder (0,50000,30000,32000))

(define-concept BuyerQuery (and SportsCar (some hasPrice BuyerPrice)))

为了去推理买家跟卖家都能接受的一个合理价位值,我们需要去计算概念 (和BuyerQuery AudiTT)的最大满意度。通过fuzzyDL系统去计算买家要求的和卖家条件里匹配的最大概率,代码实现如下:

(max-sat?(and BuyerQuery AudiTT))

(show-fillers?hasPrice)

通过图5的推理结果显示最终返回值是0.5,也就是下面两条线的交点,所以最终这款车很可能被卖MYM31000。

部分代码显示如下:

(functional hasPrice)

# (define-concrete-feature hasPrice*real*0 150000)

(define-fuzzy-concept AudiTTPrice right-shoulder

(0,50000,30500,31500))

(define-concept AudiTT (and SportsCar(some hasPrice AudiTTPrice)))

(define-fuzzy-concept BuyerPrice left-shoulder、 (0,50000,30000,32000))

(define-concept BuyerQuery (and SportsCar (some hasPrice BuyerPrice)))

# (concept-satisfiable?(and BuyerQuery AudiTT))

(max-sat?(and BuyerQuery AudiTT))

(show-concrete-fillers hasPrice)

图5 推理结果分析

4 结束语

语义网的不断发展使模糊知识的推理探索已越来越受到人们的关注,而目前的主流推理机也只能处理一部分模糊信息,如何在现有不确定性推理机的基础上实现推理效率高、推理范围广是我们下步工作研究的重点。本文通过将基于描述逻辑和基于规则的本体推理机进行结合,设计了一种混合式模糊本体推理机框架,突破了原有推理机对模糊本体的推理局限性,使得对模糊本体的知识推理能力有所改进,接下来的工作将着眼于改进混合式推理机框架的各部分推理算法从而提高推理效率,同时能将模糊本体的推理推广到粗糙本体中。

[1]WEN Min.Application of SVM-FuzzyES in fault diagnosis of wastewater treatment technics [D].Chongqing:Chongqing University,2006(in Chinese).[文敏.智能故障诊断技术在污水处理中的应用研究 [D].重庆:重庆大学,2006.]

[2]SONG Wei,ZHANG Ming.A first step towards the semantic web[M].Beijing:Higher Education Press,2004 (in Chinese).[宋炜,张铭.语义网简明教程 [M].北京:高等教育出版社,2004.]

[3]Silvia Calegari,Davide Ciucci.Fuzzy ontology fuzzy description logics and fuzzy-OWL [G].LNAI 4578:Berlin,Heidelberg:Proceedings of the 7th International Workshop on Fuzzy Logic and Applications:Applications of Fuzzy Sets Theory,2007.

[4]Incubator Group Report.Uncertainty reasoning for the world wide web W3C [EB/OL].http://www.w3.org/2005/Incubator/urw3/XGR-urw3/,2008.

[5]Thomas Lukasiewicz,Umberto Straccia.Managing uncertainty and vagueness in description logics for the semantic web [J].Web Semantics Science Services Agents on the World WideWeb,2008,6 (4):291-308.

[6]Straccia,Umberto.Towards a fuzzy description logic for the semantic web(preliminary report)[C].Proceedings of the 2nd European Semantic Web Conference,2005.

[7]Ian Horrocks,Peter F Patel-Schneider,Harold Boley,et al.SWRL:A semantic web rule language combining OWL and ruleML[S].National Research Council of Canada Network Inference and Stanford University W3CMember Submission,2004.

[8] WANG Song.Research on inference mechanism based on SWRL in semantic web service[D].Dalian:Dalian Maritime University,2008(in Chinese). [王松.语义网服务中基于SWRL推理机制的研究 [D].大连:大连海事大学,2008.]

[9]Martin O'Connor,Holger Knublauch,Samson Tu,et al.Rule system interoperability on the semantic web with SWRL [C].Sardinia,Italy:International Semantic Web Conference,2005.

[10]Robert E,McGraph,Joe Futrelle.Reasoning about provenance with OWL and SWRL rules[Z].National Center for Supercom-puting Applications University of Illinois,Urbana-Champaign,2008.

[11]Jeff Z Pan,Giorgos Stamou,Vassilis Tzouvaras,et al.F-SWRL:A fuzzy extension of SWRL [C].Proceedings of the International Conference on Artificial Neural Networks,2005.

[12]JU Qi.Reasoning service for rule-based tourism ontology[D].Jilin:Jilin University,2010 (in Chinese).[鞠奇.基于规则的旅游本体推理 [D].吉林:吉林大学,2010.]

[13]GUO fang,BAI Jianjun.JBoss rules engines based on Rete algorithm [J].Computer Era,2008,26 (1):8-10 (in Chinese). [郭芳,白建军.基于Rete算法的规则引擎JBoss Rules[J].计算机时代,2008,26 (1):8-10.]

[14]Dave Reynolds.Jena2inference support [EB/OL].[2009-03-01].http://jena.sourceforge.net/inference/.

[15]QIAN Ling.The design and implementation of an ontology and rule inference based query system [D].Nanjing:Southeast University,2007(in Chinese).[钱凌.一个基于本体和规则推理的查询系统的设计与实现 [D].南京:东南大学,2007.]

[16]Stasinos Konstantopoulos,Georgios Apostolikas.Fuzzy-DL reasoning over unknown fuzzy degrees [C].Proceedings of OTM Confederated International Conference, 2007:1312-1318.

猜你喜欢

推理机公理引擎
欧几里得的公理方法
蓝谷: “涉蓝”新引擎
面向对象的几何定理推导系统的设计与实现
基于Naive Bayesian算法改进的智能诊病系统研究
Abstracts and Key Words
公理是什么
继电保护整定计算模块的设计
无形的引擎
基于Cocos2d引擎的PuzzleGame开发
数学机械化视野中算法与公理法的辩证统一