语义Web服务组合(共7篇)
语义Web服务组合 篇1
语义Web服务的自动化组合的工作主要来自两个领域:一个是人工智能领域,一是形式化方法和自动推理领域。它们之间的工作既相互交叉,又互为补充。来自人工智能领域的工作主要包括构建用于Web服务描述的本体和提出了一系列的面向Web服务功能的Web服务组合方案。来自形式化方法和自动推理领域的工作主要包括面向Web服务行为的服务组合方法,当然,也有借鉴于自动化程序综合(program synthesis)和模型检验(model checking)的方法。
一般地,语义Web服务的组合方法按其关注点的不同可分为:面向Web服务行为的组合方法、面向Web服务功能的组合方法和基于Web服务类型的组合方法;按其实现方式的不同可分为:面向状态搜索算法的组合方法、面向自动推理的组合方法和面向人工智能规划的算法。
1 基于情景演算的人工智能规划方法
这类方法的基本思想是使用人工智能规划中的动作来对Web服务进行建模,利用人工智能中的规划算法来进行Web服务组合。它所找到的组合服务通常比基于服务输入、输出参数的类型匹配的方法要来得准确,但是这类方法所能适用的Web服务范围比较有限。
我们可以把Web服务看作是AI规划中的动作。在经典的规划问题中,动作由动作的前提条件和效应所刻画,而动作的前提条件和效应是参与动作的个体的一组状态构成,动作的执行将使得某些个体处于新的状态之中。例如在经典的积木世界里面,使用手臂举起物体的动作pickup可用PDDL(Planning Domain Definition Language)描述如下:
情景演算最基本的思想就是通过把动作和情境(situation)具体化(reify)以方便进行一阶逻辑推理。所谓情景,形式上就是参与规划的个体所处的状态。在情景演算中,我们用流(fluent)来抽象整个个体的某一特性随情景变化的过程,而个体的状态则就是个体在特定情境下所具有的特性。假设初始情景S0恰好满足动作pickup(a)的前提,也即是说S0为{clear(a,So),arm-empty(S0),…},那么我们只要通过一步的推理就可得出执行动作pickup(a)后的情景是{holding(a,do(pickup(a),So,…},其中do(pickup(a))是情景集合上的一函词,指定了执行动作pickup(a)之后相应的情景迁移。
情景演算通常包含两类公理,一类是动作的前提公理,用于指定各个动作能够被触发的条件;另一类是流的后继公理,用于指定各个状态在每个动作执行之后的变化情况。就上例来说,动作pickup的前提公理是Poss(pickup(ob),S)≡坌ob.cleat(ob)∧armempty。而流on-table的后继公理是on-table(x,do(action,S))≡on-table(x,S)∧action≠pickup(x)∨…其显得更为复杂些。
Web服务的并发行为特性和经典规划中的动作的行为特性是非常不一样的,而针对经典规划问题提出的情景演算仅能产生由一组顺序动作构成的计划,因此在处理循坏、非不确定性和并发性时的行为需要一个解释器,而不是一个规划产生器。Web服务的执行通常会导致新的个体产生,这些个体通常作为Web服务执行的结果返回给用户;而经典规划中假定参与规划的个体不会在规划的过程中产生或消失,动作执行只是导致个体的状态发生变化。
2 基于模型检验的人工智能规划方法
如果把Web服务进一步细分为感知动作(sending action)和实效动作(effect action)两类,则Web服务组合问题可以转化为不确定领域中的条件规划问题。下面我们将要介绍的用于服务交响自动化的规划算法正是反映了上述思想,这个思想对服务组合的自动化来说具有极大的借鉴意义。另外,我们可以在BPEL4WS上使用不确定领域中的规划算法,利用规划中的动作来刻画Web服务的交互信息,能够较好地处理Web服务的非确定性,产生非常健壮的Web服务组合方案。虽然这种方法避免了处理Web服务产生的新个体,但在Web服务的交互信息的层面上进行程序综合并不十分适合于面向功能的语义Web服务组合。所以使用这一类方法的服务组合方案一般是两段式的,即先使用基于输入输出参数的类型匹配或面向服务功能的人工智能规划的服务组合方法寻找满足查询的组合服务,然后针对这个组合服务使用这类方法找出与该组合服务交互的其他Web服务。
这里的规划算法的基本思想是先用迁移系统(transition system)来刻画初始状态在各个动作执行后的迁移过程,然后用模型检验检查目标状态的可达性。目标状态的可达性蕴含了规划算法处理不确定性时的健壮性。如果在其中定义了多种可达性,每种可达性的迁移过程是不一样,但是每个迁移过程都可以通过OBDD进行编码。下面我们简单的介绍一下OBDD(Ordered Binary Decision Diagram)和用于刻画这个迁移过程的程序框架。
例如对于有三个命题变量〈P,Q,V〉的系统,状态集合{〈T,T,F〉,〈T,T,T〉}可以用命题逻辑的表达式PQ来表示,它的一个OBDD表示如图1所示,其中实边表示把源节点的变量赋为真T,虚边表示把源节点的变量赋为假F。
在规划中,我们习惯于用一阶逻辑谓词来刻画规划中的动作和状态。但注意到参与规划的个体数量n是有限的,我们就把一阶逻辑谓词转化为命题词。由于任意的动作都可以看作从一组状态集合到另一组状态集合的迁移,我们令rn(Old)为状态集合上的一个函数,用于计算这样的状态集合New,使得New中的元素不包含于状态集合Old中但却能迁移至状态集合Old中的状态。设规划问题的初始状态集合为I,目标状态集合为G,我们可以使用下面程序刻画与这个迁移过程相对应的迁移系统:
对上面这个程序进行模型检验,若GENERATEPLAN(I,G)=Ф,则不存在满足要求的规划。否则,存在满足要求的规划。
3 基于参数匹配的形式化推理方法
参数匹配的形式化推理方法(Rao)依赖于输入输出参数类型的上下位匹配,只不过该方法借鉴了自动化程序综合的思想,提出了采用线性逻辑推理进行Web服务组合,因而具备对Web服务进行参数个数的匹配的能力。由于该方法所采用的线性逻辑具有不可判定性,这从一定程度上削弱了它能够对Web服务进行参数个数的匹配的优势。
线性逻辑不同于经典逻辑,它以资源的观点来看待命题,茚表示两个资源都存在,茌表示两个资源中必有一个,表示消耗前面的资源可以产生后面的资源。例如,分别用D和C表示一美元和一包烟,那么“两美元能购买一包烟”可以表示为D茚DC。
Rao用线性逻辑来刻画Web服务和参数类型的上下位关系。譬如一个具有I1和I2类型输入参数和O类型输出参数的Web服务可表示为I1茚I2O;又譬如SbSp可以表示Sb是Sp的子类。
线性逻辑和并发系统两个重要的计算模型———Petri网和进程代数都有着深刻的联系。图2给出了一个用线性逻辑对Petri网进行形式化的例子,其中!是模态词,用于产生无限个拷贝。
组合服务的进程构造子实质上就是进程代数中的顺序运算符“.”,不确定选择“+”和并发运算符“|”。通过对每个推理赋予一定的操作语义(即产生对应的Web服务的进程代数表达式),我们可以从推理序列获得组合Web服务的进程代数表达式,这个表达式又可以直接翻译成组合Web服务的服务模型。
例如Web服务exchange可以让客户用一张礼券换取一支铅笔,即Coupon ExchangePencil;Web服务buy可以让客户付一美元买一支铅笔,即DolarBuyPencil;那么我们可以得出结论;无论客户是选择Web服务exchange还是buy,都可以获得一支铅笔,即Coupon茌DollarExchange+buyPencil。在Rao的方案中,与这对应的推理步骤是,其对应的进程代数表达式是exchange+buy。
4 基于搜索的方法
语义Web服务组合和语义Web服务匹配的联系是非常密切的,这里所讨论的一类服务组合算法就是建构于服务匹配之上的。
一个Web服务S能够满足一个查询Q意味着:对于查询Q提供的所有输入,Web服务S必须都能接受;对于查询Q所要求的所有输出,Web服务S必须至少满足其中之一。根据Web服务类型之间是否存在互相包含或相交的关系,我们可以定义一个Web服务S能够满足一个查询Q的程度(按从高到低的顺序):
1)Exact
type(P,Q)≡type(P,S);
2)plugIn
type(P,Q)哿type(P,S)如果P是输入参数;type(P,S)哿type(P,Q)如果P是输出参数;
3)subsume
type(P,Q)哿type(P,Q)如果P是输入参数;type(P,Q)哿type(P,S)如果P是输出参数;
4)overlap
如果P输入参数;如果P输出参数。
在确定Web服务满足查询的程度时,输入参数类型的上下匹配方向和输出参数类型的上下匹配方向正好相反。例如有四个在线销售书籍的Web服务S1,S2,S3和S4。S1接受中国银行的和花旗银行的人民币信用卡,S2接受所有的人民币信用卡,S3接受中国银行的人民币信用卡,S4接受花旗银行的多币种信用卡。如果用户希望使用手中的中国银行和花旗银行的人民币信用卡来购得一些书籍,那么从输入的角度看,服务S1满足用户查询的程度是exact;服务S2满足用户查询的程度是plugIn;服务S3满足用户查询的程度是subsume;服务S4满足用户用查询的程度是overlap。如果进一步考虑输出的话,假定Web服务S1只出售科技书,那么服务S1满足用户查询的程度就降为plugIn。
根据上面的定义可知,仅是在subsume或overlap程度上满足查询的Web服务是无法单独满足我们的确切需要的。为此,它必须与其他Web服务“相加”,并且这些相加的Web服务必须能够囊括查询提供的输入。这正是文献[1]中的服务组合算法的基本出发点,该算法通过一个矩阵对服务进行初步的“相加”以得到一个在exact或pluhIn程度上满足查询的组合Web服务,然后再不断的向前搜索直至获得要求的输出。
矩阵的维数由需要匹配的输入参数的个数决定,矩阵的每个维对应着一个输入参数,矩阵中的元素是一组Web服务,它们在矩阵的各个维上的分量是对应的输入参数所能接受的类型。在上述的例子中,需要匹配的输入参数只有一个,即购买书籍所使用的信用卡,我们用图3来示意这个一维矩阵。由图3可以看出,将S3和S4组合在一起也能够在plugIn程度上满足查询。
目前大多数的语义Web服务匹配算法都局限于服务参数类型的匹配,但这不等于说不能从服务的功能上和从服务的外部行为上来进行服务匹配。如果从服务的功能上和从服务的外部行为上来进行服务匹配,那么多少都有计算性和复杂性方面上的诟病(最显著的如计算的不可判定性),难以获得普遍的适应性,这也是目前大多的语义Web服务匹配算法仍停留于参数类型匹配的原因之一。
5 基于自动机的形式化推理方法
自动机和进程代数都可以很自然的刻画Web服务的行为以及相应的状态变化,例如一个接收search消息然后发送result消息的Web服务S可以用图4(a)中的进程代数公式来刻画:
如果不区分动作前缀“?”和“!”在意义上的不同,那么图4(a)中的各式同时也刻画了一个自动机。它的字母表为{?search,!result},状态集为{S0,S1},并且S0既是初始状态也是终止状态。
另外,图4(b)和图4(c)分别给出了另外一个Web服务R和我们想要获取的组合服务Q。我们的目标是在自动机S,R和Q的基础上构造一个“组合”自动机,并使用PDL对其进行编码以检验其可满足性。由于“组合”自动机中所有的动作都来自于自动机S和R,我们用命题变量MovedS和MovedR分别来模拟自动机S和R在“组合”自动机中的动作。设u是由所有原子程序的并构成的程序,即,我们有:
自动机S,R和Q在“组合”自动机的动作遵循图5中的PDL公式。
(a)刻画自动机S的各个状态在每种输入下的动作的PDL公式
(b)刻画自动机R的各个状态在每种输入下的动作的PDL公式
显然,这个“组合”自动机还须满足初始状态和接受状态等其他一系列的要求。具体的说,这个“组合”自动机的初始状态必须满足
Q0∧S0∧R0,并且“组合”自动机的接受状态必须满足[u](Q0→S0∧R0)。最后,我们必须指明各个自动机中的每个状态都是不同的,即在自动机Q中有[u](Q0→┐Q1);在自动机R中有[u]R0→┐R1);在自动机S中有[u](S0→┐S1)。
从上面构造“组合”自动机的过程中,我们可以看出文献[2]的基本思想与模型检验的原理如出一辙。这不是偶然的,因为从理论上讲,一个迁移系统与一组动态逻辑公式是对等的。所以不论这个迁移系统是用于刻画动态逻辑中的Kripke语义结构,或是用于刻画自动机,还是用于刻画进程代数的操作语义,它从形式上总是与一组动态逻辑公式相对应。
6 结束语
Web服务组合和服务描述是分不开。Web服务的输入输出参数类型、执行前提和效果和消息交互序列等信息不仅是服务描述的对象,也是Web服务组合的根基。从本论文的论述可以看出,Web服务组合问题很难获得一个统一的解决方案。这是因为Web服务组合所依赖的计算理论基础决定了Web组合方法必须根据其关注的焦点在计算能力和可行性作出适当的折衷。
参考文献
[1]Ion Constantinescu,Boi Faltings,Walter Binder.Large Scale,Type-Compatible Service Composition.In:Proc.IEEE Int Conf.Web Services.IEEE CS Press,2004.
[2]Daniela Berardi,Diego Calvanese,Giuseppe De Giacomo,Maurizio Lenzerini and Massimo Mecella.Automatic Service Composition Based on Behavioral Descriptions.Int.J Coop.Inf.Sys,14(4),2005.
[3]陈旭辉.基于规划的语义Web服务组合技术研究[D].福州大学,2006.
[4]冯名正.Web服务组合研究综述[J].计算机应用与软件,2007:24(2):23-27.
语义Web服务组合 篇2
Web服务是能够通过网络描述、发布、定位和调用的自描述的模块化程序,目前是实现SOA架构的最好的平台。随着Web服务应用的深入,单个服务已不能满足用户要求,此时需要进行Web服务组合,将多个单功能服务组合成一个具有多功能的Web服务供用户调用。
传统的组合方法,如WSCI和BPEL4WS,存在不灵活以及难以维护、缺乏动态性的缺陷。利用语义Web与AI规划技术结合进行Web服务组合,能使服务组合具有较好的动态性支持。
本文描述如何利用语义Web服务描述模型、层次任务网规划系统(HTN)以及基于HTN规划系统的规划器SHOP2进行Web服务组合。通过分析语义Web和HTN规划技术,说明其对于语义Web服务组合的支持。
1 背景
1.1 OWL-s
OWL-S(Web Ontology Language for Services)是一种用OWL语言描述的Web服务概念框架的本体,也是一种用OWL语义信息丰富Web服务描述的语言,用来描述Web服务的属性和功能。一个服务由OWL-S的3个描述模块来描述:
ServiceProfile:描述Web服务的性能即该Web服务做什么,用于Web服务发现;
ServiceModel:描述服务怎么做、执行时发生什么,用于Web服务组合;
ServiceGrouding:详细描述如何通过消息与另一服务进行互操作。
ServiceModel主要是服务提供者用来描述服务的内部流程。一个服务通过被称为一个Process(过程)。在OWL-S过程本体中,Process分为3类:原子过程(Atomic process)、简单过程(Simple process),复合过程(Composite process)。
原子过程不可再分,表示能直接完成某些任务的Web服务。
一个复合过程代表一个组合Web服务,可以被分解为其它更小的原子过程、简单过程或者组合过程。组合过程的分解依靠它的控制结构来定义。这些控制结构包括:Sequence,Un-ordered,Choice,If-Then-Else,Iterate,Repeat-Until,RepeatWhile,Split and Split+Join。
简单过程是原子过程或组合过程的抽象概念。不能直接被执行,只提供一种行为的抽象视图。
在过程本体中,每种过程都有自己的属性即IOPE,包括Imputs,Outputs,Preconditions,Effects。Imputs和Outputs指服务的输入与输出,表示数据的交换;Preconditons和Effects指服务的前提条件和效果,表示状态的改变。一个组合Web服务的过程模型包括顶层的组合过程以及经组合过程分解的一系列子过程。Web服务组合可被看成是产生一系列Composite process的过程。过程本体中Composite process即Web服务组合的输出。
在本文中,我们将复合过程作规划器的输入,然后进行任务分解,得出一系列能直接执行的原子服务的组合序列,以此来达到动态Web服务组合的目的。
1.2 SHOP2
SHOP2(Simple Hierarchical Ordered Planner2)是领域无关和HTN规划系统。HTN规划的目标是产生一个完成某个任务的动作序列。HTN规划域(planning domain)的描述包括一系列的操作和方法。规划过程就是对复杂任务进行分解,形成简单的子任务,然后对子任务再进行分解形成更小的子任务,直到子任务是原子任务,并且这些原子任务都可以直接用规划操作(operator)直接执行。
SHOP2知识库由操作和方法以及与非动作的事实和公理组成。操作描述完成某个原子任务需要做什么,方法则说明如何将某个复杂的任务分解成一系列半序的子任务。
1.2.1操作(Operator)
每个操作说明对应的原子任务要如何被执行。操作的一般表达式如下:
(h(v)Pre Del Add)
h(v):操作的操作头,是由操作名h和一个参数表v组成;
Pre:表示操作的前提条件表达式(precondition expression),只有这些项为真,才能使用操作;
Del:表示操作的删除表(delete list),是操作的负效果;
Add:表示加入表(add list),是操作的正效果。
1.2.2方法(Method)
方法说明如何将复合的任务分解成一系列半序的子任务,子任务可以仍然是复合任务,也可以是原子任务。最简单的方法由3部分组成:任务、前提条件以及子任务集。方法的一般表达式如下:
(h(v)Pre1T1 Pre2T2...)h(v):是一个带有输入参数表v的复合的任务;
Prei:是前提条件表达式;
Ti:是半序的子任务。
1.2.3公理
公理可以用来推断在当前状态下没有尚待证实的前提条件。例如:(:-headtail)说明如果tail为真,那么head为真。子句的尾部可以包含任何可能出现在操作和方法的前提条件的项。
1.2.4规划问题(Planning Problem)
关于SHOP2的规划问题是用一个三元组(S,T,D)表示。S是初始状态、T是任务表、D是领域描述。通过把这个三元组作为输入,SHOP2将返回一个规划P=(p1p2…pn),也就是,产生一系列的操作并执行这些操作从初始状态S到目标状态D来实现任务T。
2 基于OWL-S和HTN规划系统的Web服务组合方法
2.1 SHOP2规划系统用于Web服务组合
OWL-S模型按照ServiceProfile,ServiceProcess,ScrviceGrounding对Web服务的语义信息进行了标记。这些标记支持对服务进行自动组合。而SHOP2是一种形式化规划方法的规划器,能够保证规划结果的正确性和完整性。因此,为了实现服务的自动组合规划,我们将复合过程的组合问题转换成SHOP2的规划问题。
2.2 OWL-S过程模型转换成SHOP2规划域
这部分介绍一种将OWL-S过程模型集K转换成SHOP2规划域D的方法。首先有两个假设:(1)定义在K中的原子过程有效果或输入,且不能兼有;(2)复合过程中没有OWL-S中的Split和Split+Join两种控制结构,因为SHOP2规划器不支持并行处理。
在这两种假设下,我们认为从OWL-S过程集的定义M到SHOP2规划域D的转换有3种:(1)在K中产生效果的每一个原子过程,我们将其映射为一个SHOP2的操作;(2)在K中的每一个简单过程,我们将其映射为一个或者多个SHOP2的方法;(3)在K中的每一个复合过程,我们将其映射为一个或者多个的SHOP2的方法。
算法1:产生效果的原子过程到SHOP2操作的转换
TRANSLATE_ATOMIC_PROCESS(Q)
Input:只产生效果的一个原子过程A的OWL-S定义Q
Output:一个SHOP2的操作O
过程:
v=在Q中定义的A的输入参数表
Pre=在Q中定义的A的所有前提条件的合取
Add=在Q中定义的A的所有正效果和输出的集合
Del=在Q中定义的A的所有负效果的集合
return O=(A(v)Pre Del Add)
上面的算法将每个原子过程的OWL-S定义转换成一个SHOP2,通过这个操作改变它的原本状态来模拟状态改变和产生输出的效果。这些Web服务都不能在规划时间内执行。
算法2:简单过程到SHOP2方法的转换
TRANSLATE_SIMPLE_PROCESS(Q)
Input:一个简单过程S的OWL-S定义Q
Output:一个SHOP2方法的集合M
过程:
v=在Q中定义的S的输入参数表
Pre=在Q中定义的S的所有前提条件的合取
(b1,…,bm)=在Q中定义的可以实现S的原子过程和可以分解成的表
For i=1,…,m
Mi=(S(v)Pre bi)
return M={M1,…Mm}
算法3:一个顺序控制结构的复合过程到SHOP2方法的转换
TRANSLATE_Sequence_PROCESS(Q)
Input:一个顺序控制结构的复合过程C的OWL-S定义Q
Output:一个SHOP2方法M
过程:
v=在Q中定义的用于C的输入参数表
Pre=在Q中定义的C的所有前提条件的合取
B=在Q中定义的C的顺序控制结构
(b1,…,bm)=在Q中定义的B的组成过程的一个顺序
T=(b1,…,bm)的有序的任务表
return M=(C(v)Pre T)
其他的控制结构(如Unordered,Choice,If-Then-Else,Iterate,Repeat-Until,Repeat-While)的复合服务的转换算法都类似顺序结构的转换算法。
3 服务框架与实现
服务组合框架如图1所示。
在本系统框架中,OWL-S服务描述包括OWL-S服务描述文档、以及用于表示规划问题初始状态的一些OWL Instances。
该框架的执行由用户接口中开始,用户通过输入参数表来描述所需服务要达到的目标要求。该参数表是基于描述该类型服务输入的本体库所生成的。通过这个用户接口装载好目标服务的OWL-S服务描述文档。
通过OWL-S to SHOP2转换器把OWL-S服务描述文档转换为SHOP2规划域问题文档(defdomain文档)和规划问题文档(defproblem文档)。OWL-S to SHOP2转换器支持类型替换。例如,一个输出可能会被匹配到不是同一类型的一个输入,但是输出的类型是这个输入类型的子类或者等价类。OWLS to SHOP2转换器是本系统的核心部分,用于编排Web服务组合过程。
SHOP2规划器读入SHOP2规划领域文档和规划问题文档,开始进行规划过程。规划器对目标任务进行分解,分解成多个可直接调用的原子服务,然后通过服务执行引擎执行这些原子任务,并返回产生规划所需的信息。基于这些返回信息规划器产生一个有效规划方案。最后经由SHOP2 to OWL转换器返回服合组合方案。
4 结束语
本文选择基于HTN规划系统的规划器SHOP2,结合OWL-S过程模型,给出一种用于Web服务组合的方法,并由组合服务框架用于实现。由于本文涉及的知识面比较广,不能一一概全,因此还存在一些缺陷。
摘要:针对目前语义Web服务组合动态性方面的不足,在对语义Web服务组合的关键技术(语义Web服务本体语言OWL、语义Web服务描述模型OWL-S)研究的基础上,选择基于HTN规划系统的规划器SHOP2,描述从OWL-S过程模型到SHOP2规划域的转换,给出一种关于Web服务组合的、合适的AI规划方法—HTN规划方法,以适应Web服务的动态性组合。
关键词:AI规划,语义Web,Web服务组合,OWL,HTN,SHOP2
参考文献
[1]冯名正.Web服务组合研究综述[J].计算机应用与软件,2007(2).
[2]张佩云,孙亚民.动态Web服务组合研究[J].计算机科学,2007(5).
[3]吴明昌,顾君忠.在Web services动态组合方面的OWL-S语义扩展[J].计算机应用软件,2007(5).
[4]王欣,张晓林.应用OWL-S实现Web服务的语义描述[J].现代图书情报技术,2005(2).
[5]王杰生,李舟军,李梦君.基于Ontology的Web服务组合方法[J].现代图书情报技术,2007(1).
[6]Evren Sirin,Bijan Parsia,Dan Wu etal.HTN planning for web ser-vice composition using SHOP2.In Journal of Web Semantics.Uni-versity of Maryland,2004.
[7]Dana Nau,Tsz-Chiu AU,Okhtay Ilghami et al.SHOP2:An HTN Planning System.Journal of Artificial Intelligence Research20,2003.
语义Web服务技术研究综述 篇3
关键词:语义Web,服务组合,匹配计算方法
0 引言
信息化时代的到来, 解决了我们很多的问题, 于是万维网 (World Wide Web, 简称Web) 诞生了。Web服务是一种基于可编程的Web应用程序, 它是自描述、自包含、自独立、低耦合的、平台独立的。在形形色色庞大的数据中, 快速找到用户有用的信息, 将是未来我们要面临和解决的一个难题。Web服务依据其服务描述方式划分, 大体经历了基于关键字、基于语法和基于语义这三个阶段[1,2,3]。然而, 基于关键字的服务是根据关键字进行查找匹配, 返回含有大量关键字的结果, 其中含有很多不相关的内容, 与我们想要得到的信息匹配率比较低, 很难快速地得到你需要的信息;基于语法的主要是对用户比较方便, 但是计算机的识别能力和判别能力不够, 达不到精准的搜索结果;基于语义的服务是在搜索过程中对其添加了描述方式以及逻辑关系, 使得计算机容易匹配处理信息, 查询到的信息匹配度较高。
1 简介
万维网之父蒂姆·贝纳斯-李 (Tim Berners-Lee) [4]于2001年提出了语义Web, 在2006年, 他在普林斯顿大学演讲中公开表示, 最初把这种智能网络命名为语义网是不够准确的, 更贴切的应该是数据网。语义Web不仅是具有语义信息的, 并且是能够理解语义信息的互联网[5]。
Web服务是一套标准, 是建立可互操作的分布式应用程序的一个新平台, 这套标准定义了应用程序如何在Web上实现互操作性, 它可以基于任何语言和任何平台上, 通过Web服务标准对这些服务进行查询和访问, 为跨平台的互操作奠定了基础[6]。语义Web会根据人的思维, 把数据信息进行分解, 更准确的获得人们想要的信息, 代替人的一些智能化的网络, 使得它更具人性化、智能化。
2 语义Web服务的技术描述
Web服务和语义网技术的结合应用, 使计算机更容易被理解, 但是, 服务的语义描述问题是现今面临的核心问题, 也就是如何更好的描述才能使服务具有更准确的语义性。语义Web服务运用描述逻辑以及逻辑推理, 实现语义Web服务的自动发现、自动组合、自动监视和自动恢复等功能。目前语义Web服务的描述语义有以下几种[7]:OWL-S[8]、WSMO[9]、SAWSDL[10]、SWSO[11]、DSD[12]和SWSF等。
OWL-S是Darpa推出的新一代基于OWL的语义Web服务描述标准, OWL-S是引领目前语义Web服务的潮流, 用描述逻辑来实现其推理。基于OWL-S的服务描述是为服务这几个问题的, 为用户提供怎样的功能、如何使用服务和如何与服务进行交互。其对应的三部分可以分别对应解决以上问题:Service Profile, Service Model和Service Grounding。WSMO最初是由欧洲研究组织DERI实验室和Oracle共同提出的, 是基于WSMF的一个用一阶逻辑表示的Web服务的概念模型, 并且对WSMF进行了扩充。WSMO提供了一个概念性框架和语义的形式语言来描述Web服务的相关方面, 为语义Web提供了本体论的核心因素。WSMO由Goals, Ontology, Web Services和Mediators这四部分的内容组成。另外, SAWSDL利用本体概念对已有的Web服务描述标准的基础上进行语义标注和关联。SAWSDL是基于最初的WSDL, 所以SAWSDL对WSDL的兼容性比较高, 而且易实现。
3 语义Web服务匹配方法
Web服务匹配的关键和前提任务是服务的发现, 主要是研究用户请求的服务和已经发布的服务之间的匹配程度, 更多的研究在于服务的相似度和精准度上。语义Web服务匹配还应该做到查询的精准度和全面性, 查询到的结果还应该做到灵活性, 以便服务之间融会贯通, 同时, 提高组合的成功率[13]。
基于语义信息的服务匹配中, 一般按照语义服务匹配的个数划分, 可以分为单服务匹配和多服务组合匹配, 单服务匹配又包括基于概念本体逻辑关系匹配和相似度的两种服务匹配。
对于概念本体获取其相似度的匹配, 在两个本体之间具有影响相似度因素的关系大小, 来判断服务匹配的相似度。而确定相似度度量函数以及如何判定此相似度度量函数的优劣是其实现的重点, 也是难点。它是根据概念本体之间的逻辑推理来实现其匹配关系, 并且利用服务逻辑描述树的方法, 来描述服务状态的变化, 也就是服务接口所需要的特定输入 (Input/I) 、产生的输出 (Output/O) 、在此之前可能需要的前置条件 (Precondition/P) 以及完成之后产生的效果 (Effect/E) , 简称IOPE[14], 来实现基于概念本体逻辑关系的服务匹配。
多服务的组合能够满足用户更广泛更复杂的需求, 利用服务的可重用性[15], 把多个web服务组合形成一个新的服务, 供用户灵活方便地使用。比较常见的一种分类方法是将服务组合分为top-down, bottom-up和混合式三种[16];另外, 也有一种将web服务分为静态和动态两种方式[17], 它是根据其实现手段进行分类的, 动态相对于静态来说, 比较难以实现, 它在执行时调用服务并且进行组合, 而静态是在执行之前就被指定了它可能用到的服务。当前使用的服务, 常使用混合式服务组合匹配[18], 它汲取了top-down, 和bottom-up的优点, 既能保证用户的需求, 另外又能充分发挥已发布的服务的应用。
4 结语
语义Web服务组合 篇4
1 基于语义Web服务匹配的相关概述
基于语义Web服务匹配在其中加入了服务本体概念, 所以基于语义Web服务匹配在描述信息是具有清晰、准确的语义。语义Web模型是提供服务本身内部的流程信息, 和执行与服务相关的控制结构和数据流, 这些流程会在Web服务组合和执行时用到, 这些工作能够帮助发现Web服务是否符合请求者的要求。也能更加深入的去分析Web服务的可实施性。
1.1 语义Web服务匹配的现状
语义Web服务匹配是将用户的服务请求和Web服务数据库中的信息进行比较, 找出符合服务请求的语义Web服务信息。针对如何找出匹配的语义Web服务信息, 现阶段主要依据利用本体自身概念的逻辑包含关系进行推理实现匹配关系, 以及根据本体概念的语义相似度量进行相似度的匹配方法。例如:卡内基梅隆大学的Massimo Paolucc等提出的弹性匹配算法;基于本体属性的相似度算法;基于本体两个概念的几何距离来提出的语义相似度算法等运算方法。
1.2 基于语义的Web服务匹配排序模型的设计思路
在构建语义的Web服务匹配模型前, 应该通过研究相关的研究工作资料, 找出现有的语义Web服务匹配排序机制算法中存在的问题和不足。语义Web服务匹配模型的基本构架由八个部分组成, 根据语义描述的服务请求描述模块, 用于注册服务的服务注册模块, 用于存储本体信息的信息库, 用于搜索提取待匹配信息的信息提取模块等阶段的构建。
2 基于语义距离度量模型的语义Web服务匹配结果排序机制
随着语义Web服务匹配的发展, 在服务时对搜索结果的排序操作要求也越来越高。通过对各个研究工作概括和整理相关研究工作的资料, 探讨出一种基于语义距离度量模型的语义Web服务匹配结果排序机制, 运用这种基于语义距离度量模型来对在进行语义Web服务搜索时的匹配结果进行自动的排序操作, 这样能更加便捷、快速的完成Web服务的搜索工作。下文主要简单的介绍语义距离度量模型的相关知识和如何进行运用语义距离度量模型来对搜索结果排序, 以及加权语义距离度量在语义Web服务匹配中的运用。
2.1 语义距离度量模型
语义距离度量模型 (Semantic Distance Metric Model, 简称为SDMM) 是一种与“语义”信息本身定义具有相关信息的定义对象间的各种相关关系之间形成的一种三维空间可计算模型。利用本体的定义、实例、属性之间的语义联系:等价、包含和关联定义, 这三个向量可对应轴Veql、Vsub、Vrel, 利用这三个向量轴就能构成语义距离度量模型。语义距离度量模型是利用度量本体的定义、实例、属性与语义距离关系之间的三维空间可以计算的模型, 表达式为:SDMM=
2.2 基于语义距离度量模型的匹配结果排序
在语义距离度量模型 (SDMM) 中, 对象转换运算符 (→) 为其运算符, (→) 表示从语义距离度量模型的任意一个本体对象向另一个本体对象之间的转换函数。例如:从Ci向Cx转换可以记作Ci→Cx, 这样转换后就得到了一个集合Sx。在对对象进行求值算子Vx时, assign是作为语义距离度量模型中的算子, assign表示的是从坐标原点Ci→Cx所得的集合Sx中任意取一个元素, 语义距离度量模型的转换可由图2表示。
基于语义距离度量模型的语义Web服务匹配结果排序主要是根据语义Web服务所关系的本体对象的语义对象距离, 也就是说是本体定义对象在语义距离度量模型中的相互转换的操作序列之间的度量, 例如:在语义距离度量模型中Cm→Cn, 在计算语义距离时可利用公式 (1-1) 进行计算。
(1-1) 公式分为三个部分, 分别表示Cm→Cn在等价语义关系轴Veql上的操作, Cm→Cn在包含语义关系轴Vsub上的操作, 以及Cm→Cn在关联语义关系轴Vrel上的操作, 因此从概念Cm到概念Cn的转换距离度量实际上就是转换操作序列的三元组的度量。在这个过程中, 只是根据本体自身的概念, 属性作为一切推理的依据, 将本体中的所有对象映射在唯一的坐标点上, 再根据公式计算。
2.3 加权语义距离度量
因为语义Web服务匹配具有不同的服务要求类型和语义Web服务匹配要与上下文联系起来, 所以对语义Web服务匹配结果距离度量要运用加权的方式进行处理。在基于语义距离度量模型的语义Web服务匹配排序机制中, 可以给基于语义距离度量模型中的各个坐标轴的方向量赋予不同的权重值, 依靠权重值得到不同的加权语义距离度量, 从而进行语义Web服务匹配的排序。例如:有两个语义Web服务匹配距离对象Cm和Cn, 经过赋予不同的权重值后, 加权语义距离度量的计算表达式可以如公式 (1-2) 所示。
也可以根据不同的语义Web服务匹配内容, 在语义距离度量模型的三个方向的向量的语义距离度量权重值的设置可以有不同的方法, 甚至在实际的运用实例中可以将其中一个向量的权重值设置为0, 这就只需要考虑剩下的两个向量对语义距离度量的影响。
3 总结
语义Web服务匹配结果的排序机制在随着语义Web服务的搜索研究工作的不断深入的过程中, 已经成为了一个不可或缺的研究专题, 也在不断的研究运用不同的相似度度量模型和计算方法。而由于语义Web服务匹配搜索具有海量的信息, 运用不同的运算方法和不同的度量模型就有可能出现不同的Web服务匹配结果, 这就有可能影响到语义Web服务匹配搜索的准确性。本文在这些的基础上提出一种较科学的基于语义距离度量模型的语义Web服务匹配排序机制, 并且还依据不同的Web服务匹配搜索提出了对语义距离度量模型的方向轴赋予加权值的方法。但是怎样将语义信息完全统一的放入语义空间模型中并且进行一个统一的度量, 以及语义距离度量模型是否对不同的语义Web服务匹配搜索都适用, 这些都是以后研究工作的重心以及最需要解决的问题。
摘要:随着社会科技的进步和发展, 现在人们也越来越重视信息共享, 而开放的Web环境也成为了人们获取海量信息的主要来源。人们的需求也就让人们对语义Web服务技术不断地深入研究, 所以现在网上语义Web服务的数量也就快速的增加。本文主要提出了基于语义距离度量模型的语义Web服务匹配排序机制, 根据这种排序机制, 依据语义Web服务的语义相似度量对语义Web服务匹配结果进行排序。
关键词:语义Web服务,语义Web服务匹配,语义距离度量模型,语义Web服务组合
参考文献
[1]马应龙, 金蓓弘, 冯玉琳.基于进化分布式本体语义Web服务动态发现[J].计算机学报, 2013, 8 (11) :603-614.
[2]汤杰.语义Web服务组合的研究与实现[J].燕山大学学报, 2013, 11 (11) :120-121+125.
[3]方欣.基于语义的Web服务匹配研究[J].达宁大学学报, 2013, 2 (3) :156-157+159.
[4]杨易超.基于语义的Web服务匹配模型的研究与实现[J].电子科技大学学报, 2013, 2 (20) :178+180+185.
语义Web服务组合 篇5
关键词:语义Web服务,重写技术,语义推理
0 引言
随着对Web服务的不断深入研究和应用,出于各种服务自动化任务的需要,语义Web服务逐渐成为学术界的研究热点。而语义Web服务的基础在于对Web服务提供了一个具有语义描述能力的服务描述语言。目前服务描述语言主要有两类:WSDL[1]和OWL-S[2]。WSDL描述了服务URL和命名空间、服务类型、有效函数、参数类型以及函数返回值和返回值类型等Web服务的通信和调用方法。由于WSDL的最初提出并不是基于语义的,虽然也有许多研究对WSDL进行了语义扩展,但在语义描述能力和扩展性上非常有限。而OWL-S是基于服务本体而提出的语义Web服务描述语言,主要提供了对服务IOPE的语义描述,以满足计算机进行推理。很多研究基于OWL-S进行了服务任务的自动化[3,4]。可以看出这些研究大都基于服务单个操作级别的语义进行推理,但对于操作之间的语义却很少研究,特别是当Web服务是以一系列相关的操作而组成的方式发布的情况下,建立这些操作的语义规则在服务替换,服务优化以及服务组合等自动化任务中显得尤为重要。同时在提供有限的语义规则下如何挖掘出更多的语义规则也是本文解决的问题之一,我们称这种应用为服务语义挖掘。
本文基于重写系统理论,建立Web服务模型,以重写规则来描述操作间的语义关系,以KB完备化算法作为推理机制,从而实现对Web服务的语义挖掘。
1 相关理论背景
重写系统是一种非常一般的理论计算模型[5]。重写系统可视为一种非确定性的程序语言,它具有非常简单的语法和语义,非常适合描述操作(函数)及操作组合的计算过程。并且可以基于等式方程,进行更进一步的推理。重写技术被广泛地用于公式处理和理论证明系统。
一个基于项集T的重写系统TRS是一个有限的重写规则的集合,可以形式化表示为(∑,R)[6]。
∑是由变量集合x1,x2,x3,…和函数符号集合f1,f2,f3,…构成的集合,其中每个函数符号f都有一个元数与其相关(在这里即参数列表大小)。
Ter(∑)是基于∑的项集,对它的定义如下:
1)变量x1,x2,x3,…∈Ter(∑)。
2)对于n元函数f,以及项t1,…,tn∈Ter(∑),若对于每个ti都满足f的参数类型,则f(t1,…,tn)∈Ter(∑)。
R是由项所组成的规则集,例如:,其中l、r是项集中包含变量的项。
重写系统的计算就是利用规则计算项,这个规则可以应用到项t中:如果t的子项s可以表示为,则可以将s替换为。而在规则集中选择哪条规则来进行替换则具有非确定性。现在定义tt'为项t'是项t经过单个的规则替换的结果,定义t+t'为项t'是项t经过至少一次规则替换的结果。定义t*t'为项t'是项t的范式,如果项t'无法再用R中的任意规则进行替换。可以看出项重写系统就是给定一个输入项,通过有限次规则替换直到得到一个无法再替换的范式,而项t'就是作为重写系统的输出。若重写系统满足终止性和合流性,则可保证经过有限次规则替换得到范式并且范式是唯一的。
本文之前假设了项重写系统的规则集足够的完全能将项t替换为范式。但是大多数情况下并不能提供足够完全的规则集,可能刚开始只有目标重写系统的部分规则以及一些领域知识。而完备化过程就是将这些初始规则集完备化,以生成足够完全的规则集。这个完备化过程非常适合解决上面所提到的建立Web服务各个操作之间语义的问题,尤其是在初始规则集有限的情况下,重写系统的完备化相当于推理出更多潜在的规则。
2 语义服务模型SRS
在Web服务领域中,每个服务wsi都由一系列相关并且独立的操作{op1,op2,…,opm}组成。事实上操作之间本身可存在着紧密的语义关系,例如等价性,可组合性。而借助这些语义关系将有助于实现服务优化、服务替换以及服务组合等自动化任务。本文通过引入语义规则来建立这些操作之间的语义关系,因此需要服务提供者为所提供的服务去建立语义规则集。
而项重写系统是一种具有非常简单的语法和语义的计算模型,非常适合描述这样一个基于操作的语义规则集,如果将输入参数i作为变量x,将操作op作为函数符号f,而操作之间的一系列语义规则集{r1,r2,…,rn}就可以视为重写规则集,那么每个服务wsi都可以看成是一个重写系统。下面给出服务重写系统形式化的定义。
2.1 服务重写系统
服务重写系统是一个三元组SRSWS=<OP,R,E>,其中OP={op1,op2,…,opm},表示ws的操作集合,R={r1,r2,…,rk}表示ws下的所有操作之间语义规则集。而E表示服务等式集,一般通过服务的背景知识生成。
假设在规则集R足够完全的时候,SRSWS=<OP,R,E>就可以看成是一个完备的服务重写系统。根据TRS定义,给定一个输入项t经过有限次归约(重写)直到一个无法再归约的范式t',而项t'就是作为重写系统的输出。同样在本文的服务重写系统当中,输入项t可以是由一系列操作组合而成计算任务项,经过重写系统计算后,同样输出项t'也是由一系列操作组合而成的计算任务项。
服务重写系统的方法模型如图1所示,主要分为两个模块:重写规约执行器和规则挖掘引擎。重写规约执行器是根据一定的规约策略利用计算规则集对服务项进行重写规约,其中规约策略不在本文讨论范围。
2.2 基于QoS的服务优化
一般来讲重写规则的引入都是遵循一个计算目标建立的,例如规则的变换是在等价基础上进行了化简,所以最后得到的范式也必定是最简计算。同时也可以基于Qo S而引入规则,例如在等价的基础上让右式的服务具有更好的服务质量,这样在最后得到的范式也必定是具有最优Qo S的服务,下面本文通过一个简单例子进行说明。
假设有一个提供三角函数运算的Web服务wstri,其中:
操作集:OP={sinx,cosx}
存在某个计算任务:f(x)=sinxcosxcos2xcos4x
f(x)通过调用该服务sinx,cosx来进行计算,在没有建立基于QoS的重写语义的情况下,f(x)需要调用四次wstri,现在引入重写规则sinxcosx→(sin2x)/2,然后对计算任务f(x)=sinxcosxcos2xcos4x进行有限次的重写规约,直到没有规则可以用于规约为止:
重写后的计算任务变为:
最后经过重写后的服务只需调用一次wstri,因此计算任务的Qo S得到了优化。在实际应用中,可以为服务Qo S设定一个阈值,当Qo S达到这一阈值时,就可以停止服务重写规约,这样在达到Qo S优化的前提下又有利于提高规约效率。关于服务Qo S的定义,文献[7]提出五维模型,该模型包括执行成本、执行时间、服务声誉、可靠性和可用性。在本文的服务规则中,可以基于这五维模型建立Qo S评价函数。甚至重写规则的方向可以是基于动态Qo S。
在目前的语义Web服务中,因为只是建立了单个操作的语义,而缺乏操作之间语义规则集,因而可以扩展OWL-S,对每个Web服务,提供一个操作之间语义规则集,并且这个规则集应该由了解Web服务各操作的服务提供者来提供,因为服务提供者最了解各操作的语义关系。一般情况下服务提供者所能提供的初始规则集并不能构成一个完备的服务重写系统,这就需要对规则集进行完备化。KB(Knuth-Bendix)完备化就是这样一个完备化算法。
2.3 利用KB完备化对服务进行语义挖掘
完备化过程最初由Knuth和Bendix提出,用于完备TRS重写规则,使得TRS是一个标准的完备重写系统。同样在服务重写系统SRSWS=<OP,R,E>中,在服务构建的时候可能只给出了有限的规则集R,为了得到更加完备的规则集R,可以利用完备化过程从等价集E中推导出更多的新的规则,其本质是一个基于等价的推理过程,因此可以将完备化视为一个规则挖掘引擎。具体的KB完备化过程在文献[5]有详细的介绍,现在再通过一个例子来说明KB完备化的挖掘能力。
假设在一个由操作集(f1,f2,g1,g2)组成的ws中,并且已经建立了重写规则1:f1(x,g1(y))→f2(x,y)。同时在ws的背景知识中存在等式方程:g1(y)=g2(2y)。根据KB完备化过程,先将等式方程以某个偏序方向加入到R中,作为重写规则2:g1(y)→g2(2y),规则2可以将f1(x,g1(y))重写为f1(x,g2(2y)),因此生成了关键对(f1(x,g2(y)),f2(x,y/2))。将关键对添加到等式集中,重复上述迭代过程,最后生成新的规则3:f1(x,g2(y))→f2(x,y/2)。
2.4 多个服务的融合挖掘
一般来说,在建立一个复杂计算任务的时候会涉及到多个相关Web服务的操作,而到现在为止本文讨论的Web服务的重写规则只包含了单个服务内操作集的项,服务与服务之间完全独立,对这种复杂计算任务的重写也仅限于单个服务内部的重写。因而有必要融合各个服务的重写规则,为相关服务集建立共同的重写规则。一种方法是手动的为每个可能的服务集去建立共同的重写规则,这样需要建立重写规则的人对各个服务都非常熟悉,考虑到各服务之间语义的独立性,并且不同的服务大多数情况下由不相关的服务提供者分别提供,因而为多个服务去建立重写规则是一件困难的事情。同时在Web服务库中存在海量服务的情况下,为每个可能的服务集去建立共同的重写规则是一件不可能的事情。
一种更为有效的方法是根据需求动态的生成服务集,并为该服务集建立重写规则,这个过程分为两个阶段:服务的融合和挖掘。服务的融合就是将多个服务重写系统融合成一个更大的服务重写系统。而挖掘就是对新的服务重写系统进行完备化以挖掘出更多潜在的重写规则。在这里本文主要解决如何将多个相互独立的Web服务融合成一个重写系统。
通过引入本体为各个独立的Web服务建立联系,在遵循同一个本体库的情况下,不同服务的操作在语义上得到了统一,同时可以借助领域知识,动态地生成等式集。例如服务ws1存在服务f(x),而服务ws2存在服务g(x),如果在本体中两个操作具有相同的语义,那么就可以将f(x)=g(x)加入到等式集E中。
假设存在两个Web服务ws1和ws2,在建模为服务重写系统后,分别表示为:
那么融合后可以看成是一个更大的服务重写系统:
其中E12是两个Web服务在基于共同本体下的领域知识所生成的等式集。接下来的挖掘阶段,就是利用KB完备化对新的服务重写系统进行推理挖掘。
3 实现重写模型
根据2.1节的方法模型,我们用Java实现了一个基于Web的原型系统,主要实现了规则挖掘引擎和重写规约执行两个主要模块,整个实现流程可分为以下几个步骤:
载入预先建立的语义规则集,分析处理相应的Ontology,抽取规则相关的背景知识(在这里通过等式集表示)。
启动规则挖掘引擎,利用KB完备化算法进行分析挖掘,将完备化过程中生成的关键对作为规则添加到语义规则集中。
重写规约的执行,利用生成的语义规则集对服务项进行规约,直到没有任何规则可以用于服务项为止,将重写后的服务项作为输出。
4 结论
本文通过对Web服务添加重写语义,将其建模为服务重写系统,以便于对服务进行分析挖掘。可以看出重写规则的引入,为我们解决Qo S驱动的动态服务优化提供了一个可行的计算模型。同时基于KB完备化的推理机制,我们可以分析挖掘出更多潜在的规则集,这使得我们所建立的服务重写系统具有更加灵活的扩展性和实用性。
在接下来的工作中,我们将在基于Qo S驱动的动态服务优化方面做更深一步的研究,同时在OWL-S的基础上引入规则语义,建立一个可行的服务重写架构,进而转化到实际应用中。
参考文献
[1]Chinici R,et al.Web Services Description Language(WSDL)Version2.0[EB/OL].http://www.w3.org/TR/wsdl20.
[2]Martin D,Burstein M,Hobbs J,et al.OWL-S:Semantic Markup forWeb Services[EB/OL].http://w3.org/Submission/OWL-S.
[3]Mcllraith S A,Son T C,Zeng H.Semantics Web services[J].IEEE In-tell.Syst.200,116(2):46-53.
[4]Medjahed B,Bouguettaya A,Elmagarmid A K.Composing Web serviceson Semantic Web[J].The VLDB Journal,2003,12(4).
[5]Nachum Dershowitz.Computing with Rewrite Systems[J].Informationand control 65:2-32-3,122-157.Academic Press,1985.
[6]Klop J W.Term Rewriting Systems[M]//S Abramsky,D Gabbay,TMaibaum.Handbook of Logic in Computer Science,Volume 2.Back-ground:Computational Structures.Oxford University Press,1992.
语义Web服务组合 篇6
面向服务体系结构(SOA)是网络环境下分布式应用系统的概念模型,在这个模型中松散耦合的系统组件在网络上被描述、发布和调用。实现SOA的主要方式是基于WSDL/UDDI的Web服务技术,Web服务的关键是服务的发现,基于语法级的服务描述语言和基于关键字的服务匹配算法导致了服务查准率低。语义Web服务综合了语义网技术和Web服务技术的优点,通过扩展UDDI,加入领域本体库,为每个注册服务添加语义信息等技术能够为Web服务的自动发现、执行、解释和自动组合提供有效支持。
本文首先介绍了基于推理的OWL-S/UDDI语义Web服务匹配算法,针对其同一级匹配结果间不能进一步区分的问题,提出了一种基于本体概念相似度计算的语义Web服务分级匹配算法。
2 相关技术概述
2.1 本体
目前较为公认的本体定义是Rudi Stuger于1998年提出的:“本体是共享概念的明确的、形式化的规范描述[1]”。通俗地讲,本体是为了让计算机对现实世界某一领域中的概念及概念间的关系有明确、一致的理解而进行的形式化、规范化的描述。本体的优点在于它能指导人们对某一领域的知识达到一致的认识和理解,并使用计算机进行描述和逻辑推理,从而达到语义Web的目标。
2.2 Web服务描述语言
实现语义Web服务的关键步骤是对Web服务进行语义描述。OWL-S是一种描述Web服务的本体语言,其前身是DAML-S,它为Web服务提供了核心的标记语言结构,用于精确描述Web服务的属性和能力,这些描述能被计算机无二义性的解释理解,从而实现服务的自动发现、执行和组合。这个描述至少包括三个方面语义:ServiceProfile提供服务的抽象描述,如服务实体、服务可以实现的功能,以及服务的性能参数等;ServiceModel描述Web服务如何执行,包括服务执行的先后顺序、过程流程等;ServiceGrounding描述了如何调用Web服务,描述具体的绑定信息,例如服务地址、通信协议及消息格式等。
2.3 OWL-S ServiceProfile
OWL-S Profile描述服务的三个基本方面:服务提供者的信息、服务的功能和服务的其他特征。ServiceProfile第一组属性描述Web服务提供实体,包括提供者名称(ServiceName)、描述文本(textDescription)和联系信息(ContactInformation)。ServiceProfile第二组属性描述服务功能,这是最本质的部分,表达了服务性能的两个方面:一是从信息流角度:输入信息Inputs和输出信息Outputs;二是从状态流角度:服务所需的前置条件Precondition以及服务执行后的结果Effect。ServiceProfile第三组属性描述服务的其他特征,包括服务分类ServiceCategory和服务等级QualityRating(提供服务质量信息)等。
本文将ServiceProfile作为广告发布在服务注册中心,并利用ServiceProfile的信息进行服务匹配。同时,服务请求也将ServiceProfile作为表达服务查询条件的语言,从而使服务匹配能够更加方便。
3 基于语义的Web服务匹配算法
3.1 基于推理的OWL-S/UDDI服务匹配算法
基于推理的服务匹配是利用本体概念间的包含关系来判断服务的请求方和发布方的匹配程度。Massimo Paolucci等于2002年首先提出了一种基于DAML-S的服务匹配算法[2],利用DAML-S的Service Profile对服务的输入、输出、前提、效果(IOPE)进行匹配。该方法定义了四种匹配程度(以输出匹配为例,设outR为请求者的一个输出,outA为服务发布者的一个输出):
1)Exact:当outR与outA相同或outR是outA的直接子类(subClassOf)时,结果为Exact。
2)Plug-In:如果outA包含outR,也就是说outA可能完全满足outR。
3)Subsume:如果outR包含outA,即outA能部分满足outR但不是完全满足。
4)Fail:在outR和outA之间没有任何包含关系,匹配失败。
随后,LeiLi等人对上述四种匹配类型进行了补充,在Subsume和Fail之间添加了Intersection,即outR与outA的交集是可满足的(outR∩outA≠Φ,但outR不包含outA),说明outA有可能满足outR的部分功能。从上述介绍可以看出,基于推理的OWL-S/UDDI服务匹配方法将服务间的匹配程度分为5个等级:Exact Plug-In Subsume Intersection Fail,但在同一等级内部无法进一步区分匹配度。
3.2 Web服务描述模型
在介绍匹配算法之前,先创建服务描述模型,将服务描述为:WS=.其中S是基本描述,是服务的公共属性,包括服务分类、服务名称,文本描述等。F是服务功能描述,即服务功能包括输入与输出,前提与结果等。NF是非功能的属性描述,如服务质量(QoS)。
3.3 Web服务匹配算法的分级匹配过程
算法的基本原理:服务请求者先提供一个OWL-S文档,对其所需服务进行描述。在预处理阶段,通过服务分类匹配(可通过属性ServiceCategory来判断)去掉不属于请求服务分类的注册服务,将分类符合的服务放入候选集中,首先进行基本描述匹配,经由基本描述匹配筛选的候选服务再参与功能匹配,合格的服务再进一步参与QoS非功能属性的匹配。下面详细介绍各部分的匹配过程。
3.3.1 基本描述的匹配
服务的名称和文本描述是已经在Web服务本体中的概念实体、概念属性以及概念间的关系,所以其计算的基础是概念间语义相似度。对于本体库中概念以及概念间上下位关系(subClassOf)形成的概念树,可用2个不同节点之间的距离来衡量节点概念间的相似度。因服务匹配的要求,定义概念树中节点的距离如下:
定义1概念树定义为一棵有向树,对于树中的每一条有向边
定义2对于概念树中的任意2个节点Vi,Vj的距离distance(Vi,Vj),定义为:
1)如果Vi与Vj为树中相同节点,则distance(Vi,Vj)=0
2)如果从节点Vi没有路径到达Vj,且从节点Vi也没有路径到达Vj,则distance(Vi,Vj)=∞
3)如果从节点Vi有路径到达Vj,则distance(Vi,Vj)为从Vi到达Vj的路径的长度。
4)如果从节点Vj反方向有路径到达Vi,则distance(Vi,Vj)为Vj从到达Vi的路径长度的负数。
定义3概念树中2个节点所表示的概念相似度函数定义如下,设结点Vi表示的概念为Cvi,结点Vj表示的概念为Cvj。
根据上式可算出广告服务与请求服务在服务名称(service name)和文本描述(text_description)两个方面的相似度。然后综合得到基本描述相似度如下:
其中AS是广告服务,RS是请求服务,Simsn(AS,RS)是服务名称的相似度,Simtd(AS,RS)是文本描述的相似度。SimBasic(AS,RS)的结果是0到1之间的实数值。其中wi是用户自定义的权值。
基本描述匹配算法描述:
3.3.2 服务功能的匹配
在这个阶段,使用基于WordNet和HowNet通过语义相似度的计算方法来计算请求服务与广告服务的匹配相似度。
WordNet是一个以同义词集合为单位来组织信息的语义词典,是基于英文的词汇语义网络系统。它为英语词语相似度的计算提供了便利。目前基于WordNet的相似度计算方法很多,如res、lin和jcn等方法使用WordNet中的上下位关系计算相似度;hso、lesk和vector等方法使用WordNet中包括上下位关系的所有关系计算相似度[3]。
为了在使用WordNet中所有信息关系的同时充分使用上下位关系,本文在计算英文信息的相似度时选择两个典型的方法:lin和lesk,其中对方法lin进行改进,再分别计算得到概念相似度Slin和Slesk,然后取Slin和Slesk的加权和作为英文概念最终的相似度值。
方法Lin是利用概率的方法计算两个概念的相似度。
在这里结合概念树中路径的方法,对Lin计算方法进行一些改进,得到下面公式。
在寻找词义Cvi和Cvj的共同上位词时,通过路径的方法,设定了一个系数αl/2。其中α是一个介于0和1之间的常数,用来调整随层次加深,相似度随之递减的程度,表示在某个同义词层次结构中,寻找词义Cvi和Cvj的共同上位词的最大路径。由于Cvi和Cvj两个词义,故乘以1/2。
HowNet是一个用以揭示概念与概念之间以及概念所具有属性之间的关系的常识知识库,是目前最完善的汉语语义知识词典。本文设汉语概念的语义相似度为Sch,使用刘群[4]等人提出的基于HowNet的语义相似度计算方法可得到汉语概念相似度值。最后对英文概念相似度值和汉语概念相似度值加权平均得到公式(4):
其中μi是用户自定义的权值。μ1+μ2+μ3=1,0≤μi≤1,i=1,2,3
设Ains表示广告服务输入参数的集合,Rins表示请求服务输入参数的集合,Aous表示广告服务输出参数的集合,Rous表示请求服务输出参数的集合,Aprs表示广告服务的前提条件参数的集合,Rprs表示请求服务前提条件参数的集合,Aes表示广告服务影响参数的集合,Res表示请求服务结果影响参数的集合。在这里需注意的是这四个参数都是本体中的概念而不是原子数据类型。基于公式(4),函数SimIOPE(AS,RS)可计算服务的功能性特征(IOPE)的匹配度,其参数是广告服务(AS)和请求服务(RS),其结果是0至1之间的实数值。
服务功能的相似度计算公式如下:
其中α1、α2、α3、α4分别是输入集、输出集、前提条件集、结果影响集的权值,
α1+α2+α3+α4=1,0≤αi≤1,i=1,2,3,4.权值可由用户决定,如果用户没有对权值的要求,则可采用默认的平均权值,即视这四个方面同等重要。
功能匹配算法描述:
由于PR和IO的匹配算法相似,在这里只对IO匹配加以说明。
3.3.3 非功能属性QoS的匹配
功能性的匹配只满足了请求服务方静态的常规要求,这些常规要求相对固定。而如果用户想要获得高质量的Web服务,还需要用一些非功能的属性来量化其服务功能,这就是Web服务的QoS(Quality of Service),文献[5]中Joge Cardoso给出了服务质量评价模型中应包括的因素,具体包括费用(cost)、时间(time)、可靠性(reliability)。这里再增加信誉度(Credit)因素。
函数SimQoS(AS,RS)计算广告服务AS和请求服务RS的QoS相似度。可通过分别计算AS和RS的QoS中各维相似度的几何距离来计算。函数返回一个0至1之间的实数,返回值越接近1,说明AS和RS越相似。
服务质量匹配算法描述:
4 算法性能分析
在评价服务匹配算法效率方面,通常用查准率和查全率来衡量一个Web服务匹配算法的好坏。查准率是指查询返回符合查询条件的Web服务数量与查询返回Web服务总数量的比率;查全率是指查询返回符合查询条件的Web服务数量与测试样本集中符合查询条件的Web服务数量的比率。查准率和查全率越高,服务匹配算法越好。为了验证本文匹配算法的有效性,设计了一个原型系统WSMS(服务匹配系统),本文选取医学诊断专家系统本体文件及100个可用于查询疾病诊疗方案的Web服务,对于本文算法和OWL-S/UDDI匹配算法进行仿真性能测试,测试结果如表1所示。
由此可见,本文算法综合考虑了服务的基本描述、服务功能和服务质量三个方面的相似度,具有较高的服务发现效率。
5 结束语
本文分析了基于推理的服务匹配算法的局限性,提出了一种基于本体概念相似度计算的服务匹配算法。实验结果表明该算法能过滤掉大多数不相关服务,缩小服务匹配范围,提高了服务匹配效率。下一步将完善算法和原型系统,考虑在语义网中存在多个异构本体情况下进一步改进服务匹配算法。
摘要:针对基于推理的OWL-S/UDDI匹配算法在同一级结果间不能进一步区分匹配度导致查全率和查准率不高的问题,提出了一种基于本体概念相似度计算的服务匹配算法,该算法分别按服务的基本描述、功能和非功能(QoS)三个层次进行匹配,提高了服务匹配效率。
关键词:语义,Web服务,OWL-S,服务匹配
参考文献
[1]Rudi Stuger,Richard Benjam ins V.Knowledge Engineering:Principles and Methods[J]..Data and Knowledge Engineering1998,25(2):161.
[2]Massimo Paolucci,Takahiro Kawamura,Terry R Payne.Semantic matching of Web services capabilities[C].In Proceedings of the First International Semantic Web Conference(ISWC).
[3]余晓峰.面向译文选择的双语语义词典自动构建研究[D].哈尔滨:哈尔滨工业大学,2005:30-42.
[4]刘群,李素建.基于《知网》的词汇语义相似度计算[J].Computational Linguistics and Chinese Language Processing,2002,7(2):59-76.
语义Web服务组合 篇7
近年来,随着Web服务相关标准的持续完善和支持Web服务开发的软件平台的不断成熟,Internet上的Web服务数量正在不断增长。Web服务发现的任务就是从Internet上数量庞大的服务群中找到满足用户需求的服务,其核心在于一个性能良好的服务匹配算法。目前的Web服务匹配算法主要分为语法级和语义级两类[1,2],语法级服务匹配利用基于关键字的精确匹配算法对服务请求和服务广告进行匹配,其查准率和查全率均无法达到令人满意的效果。对此,国内外学者展开了针对语义Web服务匹配算法的研究,文献[3]提出一种基于DAML-S (DARPA Agent Markup Language-Service)的经典服务匹配算法。该算法通过对本体中概念的包含关系的推理,给出服务请求和服务广告之间的匹配等级,通过返回不同匹配等级的服务提高了服务的查准率和查全率,但其最大的缺点在于不能反映出服务之间的精确匹配度。对此,文献[4,5]通过定义不同形式的语义距离来计算本体概念间的相似度,以一种量化的数值形式反映出相同或不同匹配等级之间概念的细化匹配程度,从而反映出服务之间的精确匹配程度。总体来说,这类方法的性能比语法级服务匹配算法有了较大提升,但它们只注重用于服务匹配的领域本体概念间的子类关系,忽略了概念间存在的其它多元关系,导致概念的语义不能被完整地反映出来,影响了算法的匹配性能。
本文利用本体概念间的多元关系(重点考虑了部分/整体关系、同义关系和子类关系)定义了一种语义距离,通过该语义距离计算出概念间的语义相似度,并在此基础上提出了基于语义相似度的Web服务匹配算法。最后,通过与文献[4]中算法的对比,并以实验验证了本文算法的可行性和有效性。
1Web服务本体语言OWL-S
语义描述是实现语义级服务匹配和语义Web服务发现的重要前提。目前,Web服务语义描述规范中最具有代表性的研究成果是OWL-S[6](Web Ontology Language for Services)。OWL-S是一种基于本体论思想构建的Web服务上层本体,如图1所示。从Service Profile、Service Model和Service Grounding三个方面对服务进行刻画。Service Profile描述一个服务能够做什么;Service Model描述一个服务是如何工作的;Service Grounding描述如何访问一个服务。
Service Profile主要通过其子类Profile来刻画一个服务的相关信息,包括服务的基本描述信息、功能描述信息和一组服务属性。其中,功能描述信息包括服务的输入参数集、输出参数集、前提集和结果集IOPEs(Inputs、Outputs、Preconditions、Effects)。Profile并未直接提供描述IOPEs实例的规范,所有的IOPEs实例都是在Service Model中创建,Profile只是通过hasInput、hasOutput、hasPrecondition和hasEffect属性指向IOPEs实例。
Service Model主要用来描述服务的内部流程。在Service Model中,Web服务被建模为一个过程。过程共分为三类:原子过程、简单过程和复合过程。所有的IOPEs实例都是在过程中创建。
Service Grounding描述了访问一个Web服务的具体细节,例如协议、消息格式、序列化、传输、寻址等。
2基于语义相似度的Web服务匹配
本文基于OWL-S规范描述Web服务,通过服务功能参数集的匹配实现Web服务匹配。
定义1 Web服务WS(Web Service)是一个四元组,WS=(SI, SO, SP, SE),SI、SO、SP、SE分别是Web服务的输入参数集、输出参数集、前提集和结果集。
定义2 服务请求WSR(Web Service Request)是一个四元组,WSR=(RI, RO, RP, RE),RI、RO、RP、RE分别是服务请求的输入参数集、输出参数集、前提集和结果集。
服务请求方和提供方通常都会采用领域本体来描述服务功能参数集中的参数[3,4,5],所以参数间的相似程度就可以直接通过本体概念间的相似程度来进行衡量。本文假设服务请求方与服务提供方采用共同的领域本体来描述服务功能参数集中的参数。本文的基本思想为:通过计算本体概念间的语义相似程度来反映出与概念相应的功能参数间的相似程度,进而计算出WS与WSR的匹配程度。
2.1本体概念间的语义相似度
领域本体描述了特定领域中的概念和概念与概念之间的关系。概念间存在着的关系复杂多样,除了子类关系外,还存在着其它多种关系,这使得在实际中本体概念的组织形式并不完全是一个树型结构,而是一个网络结构[7,8]。其中,子类关系构成网络中的主关联,体现了网络中概念的层次结构;其它关系则构成了网络中的辅关联。图2是一个本体的网络结构示意图,网络中的结点对应于概念,连接结点的边对应于某种关系,本文重点考虑了概念间的部分/整体(part of)关系、同义(equivalent class)关系和子类(sub class of)关系,对其余类型的关系不加区分。
本体概念间的语义相似度可以通过语义距离来衡量[4,5,9]。语义距离的定义并没有统一的标准,一般而言,两个概念间的语义距离越小,它们的语义相似度越高,反之则越低。
2.1.1 语义距离
本文利用本体概念间的多元关系来定义语义距离。从图2容易看出,任意两个概念间可能存在着多条路径(本文中提到的路径均指无环路径),每条路径又包含n(n>0)条边。本文首先给出一个关于边的权值计算式weight(edgei)。该式的计算与边所表达的关系类型和边在网络中所处的层次深度有关:
其中,edgei是某条路径所包含的第i条边,type(edgei)是边(关系)类型系数,H(edgei)是边在网络中所处的层次深度。
不同的边(关系)类型对weight(edgei)产生的影响不同,所以有:
定义3 边在网络中的层次深度H(edgei)等于它所连接的两个结点中层次较浅的那个结点在网络中所处的层次深度。
例如在图2中,连接结点C1和C5的边的层次深度等于C1的层次深度,即H(edge)=Min{H(C1), H(C5)}=1。
设:CS与CR是领域本体中任意两个概念,CS用于描述SI(SO/SP/SE)中的一个参数,CR用于描述RI(RO/RP/RE)中的一个参数。通过2.1节可知,子类关系构成了本体网络中的主关联,因此,任意两个概念CS与CR都可以通过一条全部由表达子类关系的边所构成的路径连接起来。
定义4 连接任意两个本体概念的路径中,全部由表达子类关系的边所构成的路径称为标准路径。
定义5 任意两个本体概念CS与CR之间的语义距离是连接它们的某条路径上所有边的权值总和:
(2)
显然,语义距离取标准路径时的权值满足:
本文在这里约定:
当CS与CR之间除标准路径外,其余路径的权值均≥2时,CS与CR的语义距离取标准路径的权值;
当CS与CR之间除标准路径外,还存在其它路径的权值<2时,CS与CR的语义距离取所有路径权值中的最小值;
综上所述,可以得出:CS与CR的语义距离distance(CS, CR)<2。
2.1.2 语义相似度
根据语义距离计算本体概念间的语义相似度:
其中,α>1,是一个可调节参数。
进一步研究发现,式(3)不能区分下列情况,例如在图2中,CS=C2和CR=C14的语义相似度与CS=C14和CR=C2的语义相似度相同。但主观上,当CS是CR的直接/间接父类、或H(CS)<H(CR)时,其相似度应该高于CS是CR的直接/间接子类、或H(CS)>H(CR)时的相似度。为体现这种区别,定义了一个系数β:
其中,H(*)是概念所处的层次深度。式(3)变为:
例:取α=2,对图2而言有,Sim(C2,C2)=1,Sim(C9, C10)=1,Sim(C2,C14)=0.83,Sim(C14,C2)=0.73,Sim(C14, C15)=0.90,Sim(C17,C18)=0.87,Sim(C14,C18) =0.55。
2.2基于语义相似度的Web服务匹配算法
根据定义1和2,将服务请求(WSR)和Web服务(WS)之间的相似度定义为:
通过式(5),WS与WSR的相似度计算转化为Sim(SI,RI)、Sim(SO,RO)、Sim(SR,RP)和Sim(SE,RE)的计算,分别表示WS与WSR的输入参数集、输出参数集、前提集和结果集之间的相似度。
Web服务匹配算法描述如下:
输入:服务请求(WSR)和Web服务(WS)库;
输出:满足请求的服务列表。
1) 设定匹配阈值threshold。
2) 如果服务库不空转步骤3),否则转步骤10)。
3) 从服务库中取出一个服务,将服务库中的服务个数减1。
4) 设:SI={Si1,…,Sin},RI={Ri1,…,Rim},Sij和Rii分别是SI和RI中的任一参数,1≤j≤n,1≤i≤m;构造相似度矩阵M:
其中,Sim(Sij,Rii)是SI中第j个参数与RI中第i个参数的语义相似度,通过式(4)计算。
5) 从M中选出一个最大值并将其记录在数组value [Min(n,m)]中,删除该值所在的行与列得到新的矩阵M’;重复此操作直到记录Min(n,m)个值为止;如果出现最大值相同的情况,以行号为先后顺序进行选择,行号越前优先权越高。
(注:SI与RI中的参数个数不一定相等,因此要对两个参数集中的参数进行两两配对,步骤4)~5)的目的在于实现参数的两两配对)。
6) Sim(SI,RI)
其中,value数组取自步骤5)。
7) 计算Sim(SO, RO)、Sim(SR, RP)和Sim(SE, RE),方法与Sim(SI, RI)相同。
8) 利用式(5)计算Sim(WS,WSR)。
9) 如果Sim(WS,WSR)≥threshold,将该服务记录在用户服务列表中,转步骤2)。
10) 如果服务列表不为空,返回给用户。
11) 结束。
3实验结果与分析
软硬件环境:P4 2.66 GHz CPU,768 M内存,Windows 2000,JDK 1.5 ,Eclipse 3.0。
测试服务集:OWL-S Service Retrieval Test Collection Version 2 (OWLS-TC V2)[10]。OWLS-TC V2是基于OWL-S规范构建的服务测试集,共包含576个Web服务。本文选取其中旅游领域包含的106个服务作为本次实验的测试服务集。
领域本体:利用本体编辑器Protégé 3.4.2,在OWLS-TC V2提供的与旅游相关的本体基础上补充了一些类和关系,构建起领域本体。领域本体中涉及到的关系包括子类关系、同义关系和部分/整体关系等。
文献[4]中提出的算法将经典算法[3]中的逻辑匹配巧妙地转换成了相似度匹配。算法中的匹配等级既保持了经典算法中匹配等级的合理性,又提供了精确的数值匹配度,因此本文选择与文献[4]的算法在性能上进行一些比较。
分别从地图、旅馆、天气和目的地几个方面对服务集进行了查询。实验中,本文算法的匹配阈值threshold分别取为0.2、0.4、0.6、0.8,文献[4]算法的匹配精度也分别取为0.2、0.4、0.6、0.8。实验结果如表1所示。
由于OWLS-TC V2中所有Web服务的功能信息中只包含了输入集/输出集的信息,不包含前提集/结果集的信息,所以在实验过程中,本文算法中的式(5)改为:
文献[4]算法和本文算法的平均查全率分别为73%和84%,平均查准率分别为81%和79%,两种算法的平均查准率相近,本文算法的平均查全率较高。分析得知,文献[4]的算法只注重用于服务匹配的领域本体概念间的子类关系,忽略了概念间的其它多元关系,导致概念的语义不能被完整地反映出来,从而影响了算法的查全率。本文算法在对服务进行匹配时利用了本体概念间的多元关系,因而在整体性能上较好。
4结语
服务匹配算法是Web服务发现的核心技术。本文提出的基于语义相似度的Web服务匹配算法,利用本体概念间的多元关系定义了一种语义距离,在此基础上,给出概念间的语义相似度计算方法,进而通过计算与服务功能参数集中参数相应的本体概念间的语义相似度实现了Web服务的匹配。实验的结果表明,与文献[4]中的算法相比,本文提出的算法具有较好的整体性能。本文主要针对服务的功能匹配进行了研究,但没有考虑到服务的QoS属性,所以下一步工作是研究服务的QoS匹配,以使服务匹配算法进一步完善。
参考文献
[1]廖祝华,刘建勋,刘毅志,等.Web服务发现技术研究综述[J].情报学报,2008,27(2):186-192.
[2]吕庆聪,周集良,杨帆,等.普适计算机服务匹配技术研究[J].计算机科学,2009,36(11):182-185.
[3]Paolucci M,Kawamura T,Payne T R,et al.Semantic Matching ofWeb Services Capabilities[C]//Proceedings of the First InternationalSemantic Web Conference(ISWC).Sardinia,Italia,2002:333-347.
[4]彭晖,史忠植,邱莉榕,等.基于本体概念相似度的语义Web服务匹配算法[J].计算机工程,2008,34(15):51-53.
[5]黄志成,李华.改进的语义Web服务匹配算法设计与实现[J].计算机工程,2009,35(20):88-90.
[6]Martin D,Burstein M,Hobbs J,et al.OWL-S:Semantic Markup forWeb Services[EB/OL].[2004-11-22].http//www.w3.org/Submission/OWL-S/.
[7]顾金睿,王芳.关于本体论的研究综述[J].情报科学,2007,25(6):949-956.
[8]刘汉兴,林旭东,田绪红.基于本体的自动答疑系统的研究与实现[J].计算机应用,2010,30(2):415-418.
[9]姜华.一种基于本体的概念语义相似度计算研究[J].计算机应用与软件,2009,26(7):143-145.