基于XML语法的模糊规则互换方法
2014-09-29孟祥福
王 星,陈 吉,孟祥福
(辽宁工程技术大学电子与信息工程学院,辽宁 葫芦岛 125105)
1 概述
语义Web[1]是当前Web的延伸,它赋予Web资源机器可理解的语义,其重要目标是推理Web上广泛存在的知识。推理的前提是知识表示。近年来,作为知识表示的重要工具,规则(Rule)受到广泛关注,并被引入语义Web。
近年来,随着规则的发展,多种规则语言、规则标记语言及其系统开始出现。文献[2]提出一种语义Web规则语言(Semantic Web Rule Language,SWRL),并实现了基于SWRL的规则系统Hoolet。文献[3]提出一种TRIPLE,实现了基于TRIPLE的规则系统。文献[4]提出并实现了一种语义Web规则语言OWL Rule+。为了标记规则语言,规则标记语言(Rule Markup Language,RuleML)[5]、REWERSE 规则标记语言(REWERSE Rule Markup Language,R2ML)[6]等应运而生。
规则语言在语法和语义等方面的异构性导致系统之间的交互(即规则互换)非常困难。为了解决这个问题,研究者进行了不同的尝试。文献[7]以R2ML为中心语言,提出SWRL与R2ML、SWRL与OCL之间的规则转换。文献[8]设计实现了以RuleML为中心的规则转换系统。文献[9]指出,以规则互换格式(Rule Interchange Format,RIF)[10]为中心的互换规则是规则互换发展的必然趋势,并提出和设计了以RIF元模型为中心的规则互换结构和原型系统。
上述规则语言、规则标记语言及其互换系统只能表示互换经典知识,而对广泛存在的模糊知识无能为力。因此,模糊语义Web规则语言(fuzzy SWRL,f-SWRL)[11]、RuleML的不确定扩展[12]、f-NSWRL[13]、f-SW-if-then-RL[14]等语言及其系统相继出现。这些模糊语言在语法和语义上具有异构性,基于它们的系统无法实现自由交互。因此,实现模糊规则语言之间的互换成为亟待解决的问题。到目前为止,除文献[15]讨论了模糊规则互换之外,尚未见到系统讨论以f-RIF为中心的模糊规则互换的文献。
针对以上问题,本文基于f-RIF,构建以f-RIF XML语法为中心的规则互换结构(fuzzy Rule InterchangeArchitecture based on XML,f-RIAXML),它支持f-RIF与f-SWRL、f-NSWRL、RuleML(即模糊化扩展后的RuleML)、f-SW-if-then-RL等常见模糊规则语言之间的双向规则互换。这5种语言之间的转换都基于XML语法,这样能保证转换过程中语法的正确性,提高转换效率。分析模糊规则互换过程中的信息缺失问题,并给出了相应的对策以尽量减少信息缺失带来的影响。最后,设计并实现模糊规则互换原型系统f-RIAXML1.0,并给出相应的实验分析。
2 模糊规则互换格式
RIF是基于规则的语言的可扩展框架,称为RIF语系(RIF Dialects),它包括精确的、形式化的语法、语义和XML规范。目前RIF语系包括RIF-BLD(RIF Basic Logic Dialect)等6个标准子语系[16]。虽然RIF章程中提到了表示和互换模糊知识的目标,但它目前不具备此种能力。因此,对RIF进行了模糊扩展,提出了f-RIF(具体内容可详见文献[17])。f-RIF是模糊集、可能性分布与RIF相结合产生的模糊语言,它拥有自己的元模型(模糊规则元模型如图1所示)、XML语法和语义,具有较强的表达能力,能够承担起模糊规则互换中心语言的角色。
图1 f-RIF模糊规则元模型
下面是文献[13]中式(2)的模糊规则的f-RIF XML语法片段的部分内容,以此来说明f-RIF具体语法的构成:
3 模糊规则互换体系结构f-RIAXML
基于f-RIF、f-SWRL、RuleML、f-R2ML和f-SW-ifthen-RL的具体语法,本节将构建模糊规则互换体系结构f-RIAXML。如图2所示,f-RIAXML以f-RIF 为中心,支持f-RIF、f-SWRL、RuleML、f-NSWRL和f-SW-if-then-RL,f-RIF与基于f-SWRL、RuleML、f-NSWRL和f-SW-if-then-RL的规则语言,以及f-SWRL、RuleML、f-NSWRL和f-SW-if-then-RL之间的双向规则互换。通过规则语言之间基于XML的规则互换,f-RIAXML能够实现输入输出文件的全XML化,可以提高转换效率,为计算机对模糊规则语言的自动表示和推理打下基础。
图2 模糊规则互换体系结构f-RIAXML
3.1 f-RIF与f-SWRL之间的转换
为了使f-RIF与f-SWRL能够共享规则,在抽象语法的层次上定义了f-RIF与f-SWRL之间在原子和公理方面的映射。每一个f-SWRL规则都可以映射成一个f-RIF的全称规则,而且其中必然包含规则蕴涵。表1详细阐述了f-SWRL和f-RIF之间主要原子和公理的映射。
表1 f-SWRL与f-RIF之间的原子和公理映射
其中,FC,FC1,FC2表示模糊类描述,FP1,FP2表示模糊属性ID,表达式χf-RIF是转换函数(即χf-RIF(f-SWRL原子)=f-RIF原子),t是变量,Formulai(i=1,2)表示f-RIF中维数为i的模糊公式。这里需要注意的是,f-SWRL中的等价包括2种情况:类的等价和属性的等价。而且,f-RIF中的常量包括5种类型:即个体名、数据值名、类名、个体属性名和数据值属性名。更重要的是,f-RIF中的原子、表达式和框架由f-SWRL中的类和属性来表示。为简化表示形式,从3.2节开始的语言之间的转换用语言的XML语法表示。
3.2 f-RIF与RuleML之间的转换
经过对f-RIF的XML Schema和RuleML 0.91术语集的深入分析,可以得到下面的结论。首先,f-RIF中的元素
3.3 f-RIF与f-NSWRL之间的转换
通过分析f-RIF XML Schema和f-R2ML XML Schema,可以得到如下的结论:(1)f-RIF中的
3.4 f-RIF与f-SW-if-then-RL之间的转换
在f-RIF中的
4 信息丢失与解决方案
在f-RIAXML中,具有不同表达能力的模糊规则语言进行规则互换时,可能出现源语言的原子在目标语言中无法找到对应原子的情况,这样模糊规则互换就可能带来信息的丢失。重视信息缺失有利于提高转换效率,增强转换系统的可靠性。模糊规则的转换是双向的,这导致信息的丢失也具有双向性[10],即从f-RIF到f-SWRL,f-NSWRL,RuleML,f-SW-if-then-RL和从f-SWRL,f-NSWRL,RuleML,f-SW-if-then-RL到f-RIF。尽管在一些情况下信息丢失不可避免,但可以采取补救方法减少它的负面影响。
(1)从f-RIF 到f-SWRL,f-NSWRL,f-SW-if-then-RL,RuleML的转换
1)从f-RIF到f-SWRL的转换
在此方向上,信息丢失在以下方面体现比较明显:模糊规则蕴涵,模糊原子与模糊公式,模糊框架。①f-SWRL是建立在SWRL基础上的规则语言,它的前提中只允许模糊原子的交,结论只能是原子公式或者模糊原子的交。当要转换的f-RIF规则的前提由多个模糊原子的并组成,结论由模糊原子的交组成时,转换无法完成。但可通过如下的方法完成:依据任意命题都可以转换成析取范式的结论,(a∨b→c)⇔((a→c)∧(b→c))[9]以 及Lloyd-Topor 方 法 ,一个f-RIF的模糊规则可以转成前提是模糊原子交的模糊规则,然后再把规则分别转换成f-SWRL模糊规则的合取的形式。②f-RIF的模糊原子与模糊公式可以表示N维属性,而f-SWRL只能表示类和二维属性,因此需要把一个N维属性转化成多个二维属性,即建立Cn2个f-SWRL模糊属性代替一个N维的f-RIF模糊原子或模糊公式。③f-RIF的框架元素无法映射到f-SWRL中,但可以使用几个f-SWRL属性近似代替f-RIF模糊框架。
2)从f-RIF到f-NSWRL的转换
与f-SWRL类似,f-NSWRL只有模糊类和模糊属性,因此没有元素直接对应f-RIF的N元原子。解决办法是近似替代,把N元原子和表达式转换成Cn2个f-NSWRL属性。
3)从f-RIF到f-SW-if-then-RL的转换
f-SW-if-then-RL允许模糊规则的前提和结论出现析取,因此f-RIF的模糊规则可以直接向f-SW-if-then-RL转化。f-SW-if-then-RL所能表示的关系只有模糊类和模糊属性,因此f-RIF中有关N元关系的模糊原子也需要转换成多个模糊属性来实现。有关f-RIF槽向f-SW-if-then-RL转化的方法与向f-NSWRL的转化类似,不再赘述。此外,由于f-SW-ifthen-RL不具有表示非单调规则的能力,因此f-RIF带有2种否定的规则原子无法映射到f-SW-if-then-RL中。
4)从f-RIF到扩展的RuleML的转换
扩展的RuleML的N维属性无法直接表示f-RIF中含槽的模糊原子、表达式和框架。与f-SWRL类似,RuleML也使用近似替代方法把框架转换成多个二元关系来实现。
(2)从f-SWRL,f-NSWRL,f-SW-if-then-RL,RuleML到f-RIF的转换
1)从f-SWRL到f-RIF的转换
一方面,f-SWRL的否定(如ComplementOf和Different-IndividualsAtom)主要映射成f-RIF的否定,至于失败即否定NAF(Negation As Failure)的转换需要视具体情况来定。另一方面,f-SWRL从OWL继承来的类和属性的一些特征(如自反、对称与传递)也无法直接对应到f-RIF,此问题主要通过定义多个对应的宏定义来解决。
2)从f-NSWRL到f-RIF的转换
与f-SWRL不同的是,f-NSWRL中的否定以及失败即否定可以转换成f-RIF的原子。同样地,需要定义宏定义来解决f-NSWRL中从Web本体语言中继承的属性。
3)从f-SW-if-then-RL到f-RIF的转换
与f-SWRL类似,f-SW-if-then-RL从OWL DL继承来的类和属性的自反、对称和传递等特征也无法在f-RIF中体现,也是需要通过定义宏定义来解决。
4)从RuleML到f-RIF的转换
与经典RuleML向RIF的转换类似,扩展后的RuleML中不具有安全性的模糊规则无法转换成f-RIF的模糊规则。
5 原型系统f-RIAXML1.0
5.1 系统实现
f-RIAXML1.0(fuzzy Rule Interchange Architecture based on XML,version 1.0)是基于f-RIAXML实现的原型系统。该系统还实现了f-RIF的Presentation语法与XML语法之间的转换。由于XML语法是计算机能够“理解”的语法,同时为了提高转换效率,该原型系统的输入输出均为XML语法的形式。
f-RIAXML1.0通过工厂模式和Dom模型等技术实现(如图3所示),它的主要功能是:自动处理待转换模糊规则,并实现源语言与目标语言的模糊规则互换。
图3 f-RIAXML1.0系统的功能
以第2节中f-RIF XML片段为输入,通过f-RIAXML1.0的一系列处理与转换可以分别得到f-SWRL XML语法、f-NSWRL XML语法、f-SW-if-then-RL XML语法和RuleML XML语法的规则表示形式,为了简化表示,本文仅给出RuleML XML形式的规则:
5.2 实验分析
下面通过转换不同的规则实例对f-RIAXML1.0的性能进行测试。f-RIAXML1.0所测试的各语言间的平均转换时间如表2所示(f-SW-if-then-RL缩写为f-it),对于每一种转换,本文给出了30个不同的输入文档。对于每一个文档的转换时间,这里取最小值作为转换时间。表2中共有2种转换类型,分别是单步转换和两步转换,前者如f-RIFpre(f-RIF的表示语法缩写为f-RIFpre)→f-RIF,后者如RuleML→f-SWRL(实际上是RuleML→f-RIF→f-SWRL)。
表2 f-RIAXML1.0系统的平均转换时间 s
该实验共进行了900个不同规则实例的测试,每个实例都尽量做到在最大程度上包含尽可能多的源语言的元素,特别是模糊元素。测试实例表明f-RIAXML1.0能够支持f-RIF与f-SWRL、RuleML、f-R2ML和f-SW-if-then-unless-RL模糊规则语言之间的两两双向转换,基于XML语法的转换能够提高转换的效率,而且系统具有良好的稳定性。下一步对系统的改进将更加关注系统的转换效率,尽最大可能减少转换时间,主要措施有减少文档自动导入和导出的时间、提高预处理速度。
6 结束语
异构模糊规则的互换是语义Web的重要议题之一。本文构建了以f-RIF XML语法为中心的模糊规则互换体系结构f-RIAXML,设计并实现了原型系统f-RIAXML1.0。所构建的体系结构和实现的系统能够很好地解决异构模糊规则系统之间的通信问题,同时也为语义Web模糊规则推理奠定了基础。
[1]Berners-Lee T,Hendler J,Lassila O.The Semantic Web[J].The Scientific American,2001,284(5):34-43.
[2]Horrocks I,Patel-Schneider P F,Bechhofer S.OWL Rules:A Proposal and Prototype Implementation[J].Journal of Web Semantics,2005,3(1):23-40.
[3]Sintek M,Decker S.TRIPLE——A Query,Inference,and Transformation Language for the Semantic Web[C]//Proc.of the 2nd International Semantic Web Conference.[S.1.]:IEEE Press,2002:364-378.
[4]梁 晟,付弘宇.语义Web规则标记语言OWL Rule+的设计与实现[J].计算机研究与发展,2004,41(7):1088-1096.
[5]The Rule Markup Initiative[EB/OL].(2012-02-12).htttp://www.ruleml.org/.
[6]Wagner G,Damásio C V,Giurca A.Towards a General Web Rule Language[J].International Journal of Web Engineering and Technology,2005,2(2/3):181-206.
[7]Milanović M,Gašević D,Guirca A,et al.Bridging Concrete and Abstract Syntaxes in Model-driven Engineering[J].Journal of Computer Science and Information System,2009,6(2):47-85.
[8]Boley H,Kifer M,Patranjan P L,et al.Rule Interchange on the Web[C]//Proc.of International Conference on Reasoning Web.[S.1.]:IEEE Press,2007:269-309.
[9]王 星,严 丽,马宗民.一种以RIF元模型为中心的语义Web规则互换方法[J].小型微型计算机系统,2011,32(7):1379-1386.
[10]Boley H,Kifer M.A Guide to the Basic Logic Dialect for Rule Interchange on the Web[J].IEEE Transactions on Knowledge and Data Engineering,2010,22(11):1593-1608.
[11]Pan J Z,Stoilos G.f-SWRL:A Fuzzy Extension of Swrl[J].Journal of Data Semantics VI,2006,6(1):28-46.
[12]Damásio C V,Pan J Z.Representing Uncertainty in Ruleml[J].Journal of Fundamenta Informaticae,2008,82(3):265-288.
[13]王 星,马宗民.f-NSWRL:一种语义Web非单调模糊.
[14]王 星,严 丽,马宗民,等规则语言[J].小型微型计算机系统,2010,31(5):830-834.语义Web模糊if-then和If-then-unless规则语言[J].小型微型计算机系统,2012,33(11):2398-2404.
[15]王 星,马宗民,陈 吉.语义Web模糊规则的互换与实现[J].计算机工程,2012,38(15):156-158.
[16]Rule Interchange Format Current Status[EB/OL].(2012-03-23).http://www.w3.org/standards/techs/rif#w3c_all.
[17]Wang Xing,Ma Zongmin,Yan Li,et al.RIF-FRD:A Rif Dialect Based on Fuzzy Sets[C]//Proc.of the 9th International Conference on Fuzzy Systems and Knowledge Discovery.[S.1.]:IEEE Press,2010:1912-1916.