语义匹配

2024-10-13

语义匹配(共5篇)

语义匹配 篇1

语义Web服务是指语义Web技术和Web服务技术的结合体, 在Web服务上添加上语义的标注。语义Web能够让数据被计算机自动化的处理以及理解, 能让计算机在因特网的大量的信息中找到指定的信息。随着社会科技的进步和发展, 现在人们也越来越重视信息共享, 而开放的Web环境也成为了人们获取海量信息的主要来源, 而随着对语义Web服务的研究工作的深入, 逐渐发现在语义Web服务的环节中有一个不可缺少的环节——语义Web服务匹配结果的排序机制。本文主要提出了基于语义距离度量模型的语义Web服务匹配排序机制, 根据这种排序机制, 依据语义Web服务的语义相似度量对语义Web服务匹配结果进行排序。

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=。在这之中Veql是指等价语义关系轴, Vsub是指包含语义关系轴, Vrel是指关联语义关系轴。利用本体定义对象Ci为坐标原点, 在向各个方向延长每个向量, 在语义距离度量模型中向量的坐标是可以随意转换的, 并没有固定的方向, 图1就为一个典型的语义距离度量模型 (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.

[5]曾志浩, 应时, 陈锐, 倪友聪, 赵楷.基于语义距离度量模型的语义Web服务匹配排序机制[J].计算机工程与科学, 2010, 5 (13) :138-139.

语义匹配 篇2

面向服务体系结构(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概念树定义为一棵有向树,对于树中的每一条有向边,如果Vi是Vj的父节点,Vj是Vi的子节点,则Vi包含Vj。

定义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.

语义匹配 篇3

近年来随着Web服务相关标准的不断完善和支持Web服务开发的软件平台的逐渐成熟, Internet上的Web服务数量正在不断增长。Web服务发现是Web服务体系架构的重要部分, Web服务发现的任务就是从Internet上数量庞大的服务器中找到满足用户需求的服务, 其核心在于一个性能良好的服务匹配算法[1]。目前的Web服务匹配算法主要分为语法级和语义级两类。语义Web服务技术的核心是利用本体对Web服务进行本体化描述, 使其语义更加明确。语义Web服务技术发现准确率较高, 但本体推理的时间复杂性太高;并且, 准确地标注大量Web服务是一项工作量极大的事情。因此, 在当前互联网上Web服务数量与日俱增并且语义Web服务技术尚不成熟的情况下, 如何进一步提高Web服务发现的效果成为现在急需解决的问题。

1 SAWSDL

SAWSDL (Semantic Annotation for WSDL) 是在WSDL的基础上改进的W3C推荐标准, 其最初版本是Georgia大学LSDIS实验室Meteor-S小组提出的WSDL-S语言[2]。SAWSDL是通过使用本体标注方法对WSDL的元素进行扩充以表示Web服务的语义信息。通过采用外部语义模型, 服务提供者可以选择自己的领域本体以标注服务接口参数。SAWSDL文档既具有WSDL文档的结构特征, 又有语义Web服务的语义描述特征。具体表现为:

(1) 消息的结构化特征。SAWSDL服务描述中, 操作消息的类型默认为XMLSchema定义的数据类型, 消息的类型可以为XML Schema的基本类型, 也可以为XML Schema中定义的简单类型和复杂类型, 而消息类型的多样性使得消息的匹配变得比较复杂。

(2) 语义标注的不确定性。SAWSDL规范中的扩展属性model Reference可以对多种元素进行语义标注, 而且标注是可选的。这导致不同的语义Web服务发布人员或者标注人员对相同语义Web服务的标注可能不一致, 存在多样性。

(3) Model Reference属性标注复杂数据类型存在两种方式:自底向上和顶层标注, 且两种标注方法相互独立, 也可以同时存在。自底向上标注规定只标注复杂类型定义中的元素和属性, 而顶层标注的方式则只标注复杂类型本身, 复杂类型中的元素不标注。这种情形给复杂类型的比较带来了挑战。

(4) Model Reference属性标注的传媒特征。SAWSDL规范定义数据类型的model Reference属性值传播到参引该数据类型的元素上, 即元素声明的model Reference属性值应该包含其所参引的数据类型定义组件中的model Reference属性值。

2 细粒度数据参数产生

2.1 细粒度数据参数定义

定义1 (参数类型) :一个WSDL文档中的类型系统中的参数类型可以由一个五元组来表示, 即e Type=〈t Name, t Annotation, t Type, SE, base Type〉, 其中, t Name为数据类型的名称;t Annotation为数据类型的语义标注;t Type∈{bt, st, ct}表示该数据类型的种类;SE={se1, se2, …, sek}表示类型系统中定义的数据类型中的子元素, 若该数据类型不是复杂数据类型, 则该集合为空, 即SE=Φ;base Type是该数据类型的基本数据类型。

Web服务的数据语义由其输入输出的语义来表示。由此, 给出Web操作的数据语义及细粒度函数的形式化定义。

定义2 (细粒度参数) :一个细粒度参数表示成一个五元组fp=〈p Name, p Doc, p Annotation, p Type, SC〉, 其中, p Name表示参数的唯一名称, p Doc表示参数的描述文本, p Annotation表示该参数的语义标注, p Type表示该参数的数据类型定义, 且满足p Type.type=bt, p Type.SE=Φ, SC表示该参数的语义上下文, 主要由语义标注的集合组成。

从上述定义可以看出, 每一个操作参数的数据类型定义结构树中的叶子元素都可以叫做细粒度参数, 它是操作接收和产生数据的基本单位。如果叶子元素的父亲节点具有一个语义标注, 那么根据model Reference属性值的传播特性, 该元素的语义上下文包含该语义标注的概念。若SAWSDL服务中的复杂类型采用顶层标注方式, 语义上下文信息的保存有利于丰富叶子元素的语义, 并减少由细粒度数据参数的产生可能带来的信息丢失。

定义3 (细粒度数据参数转换) :一个参数p∈P到细粒度参数集合的转换可定义为一个函数τ:P→P (FP) , 其中, FP表示细粒度参数的集合。

定义4 (细粒度数据定义) :一个操作op的细粒度数据语义可以由一个二元组表示FGDS (op) =〈∪pi∈op.In{∪fpi∈τ (pi) {fpi, p Annotation}}, ∪po∈op.Out{∪fpo∈τ (po) {fpo, p Annotation}}〉。

2.2 细粒度数据参数产生

细粒度的数据语义是指每个操作参数都为原子的数据操作单元, 即具有内建基本数据类型的元素。操作数据语义的细粒度转换就是指尽量把不是内建基本数据类型的元素进行分解转化, 使得每一个接口参数的类型都为XML Scheme的内建数据类型, 即对具有简单数据类型和复杂数据类型的操作元素进行转换。通过转换, Web服务的操作参数皆为具有XML Scheme的内建基本数据类型的元素的集合, 并且每个元素表示Web输入或者输出的一个基本数据单元。

利用上述细粒度数据语义转换的思想, 将操作消息级的元素e=〈e Name, e Doc, e Annotation, e Type〉转化为细粒度元素的集合E′={e′—e′=〈p Name p Doc, p Annotation, p Type, SC}, 以利于匹配。其中, E′为实位元素e的所有叶子元素的个数。值得注意的是, 细粒度元素中增加了一个新的属性SC, 用来记录新的叶子元素的上下文信息。为了不丢失复杂数据类型的语义, 该转换算法将保存产生细粒度元素的语义路径信息作为细粒度元素的上下文信息, 即复杂数据类型的分解路径。

2.3 数据语义分解转换算法

基于操作消息级元素的转换算法 (Element Translation算法) 如下。

算法1:Element Translation (τ (p) ) :Transformation of Fine-Grained Parameter

该算法把消息级参数转化为细粒度数据的集合, 根据参数可能的类型, 该算法处理了三种不同数据类型参数的转换:内建基本数据类型转换、简单数据类型转换和复杂数据类型转换。

3 基于细粒度参数的操作匹配

算法1对SAWSDL服务的操作参数进行转换, 得到细粒度的参数元素集合, 且每个元素的类型为XML Schema的内建数据类型。提出了相似度函数data Type Sim用来比较两个基本数据类型的相似程度, 但是该相似度度量只考虑了一部分基本数据类型。两个细粒度参数pγ与ps之间的相似度定义为:

该公式表明两个细粒度参数的相似度由名称相似度、文本相似度、语义标注相似度、类型相似度和语义上下文相似度五部分组成, 且xi (i∈{1, 2, 3, 4, 5}) 为各个组成部分的权重。

最后, 操作相似度计算公式1中两个参数集合之间的相似度就可以定义为:

即对每个请求参数, 从待匹配参数集合中找出一个与之匹配程度最大的参数, 且匹配值为该请求参数的匹配度。最终, 所有请求参数的匹配值的平均值作为请求擦拭集合与待匹配参数集合的相似度值。

4 实验评价

本文实验采用的基准匹配器为SAWSDL-MX的各种变种, 包括SAWSDL-WA、SAWSDL-M0、

S AW S D L-M 0+WA、S AW S D L-M 1。其中SAWSDL-WA利用SAWSDL-Analyzer的方法, 通过递归计算请求与服务之间结构相似度来对候选服务进行排序, 节点的相似度计算涉及元素名称、数据类型、结构属性、数据实例特征等结构信息的匹配比较。SAWSDL-M0为基于SAWSDL操作参数语义标注的纯逻辑匹配器, 其逻辑匹配分为Exact、Plugin、Subsume、Subsumed-by和Fail等五个等级。候选服务将按照匹配程度Exact>Plug-in>Subsumes>Subsumed-by>Fail进行降序排列, 且语义匹配程度相同的服务将随机进行排序。

表3归纳了各匹配器在测试数据集上的平均准确率 (MAP) 与平均查询响应时间 (AQRT) 。结果表明, 完全基于语法结构的匹配器SAWSDL-WA平均准确率相对较低, 且执行时间最长。FGDSM具有0.68的较高平均准确率, 比基于机器学习的匹配器SAWSDL-MX1还好一些, 且由于避免了结构比较带来的计算代价, 平均响应时间最短。

5 小结

本文针对当前SAWSDL服务操作参数匹配方法存在的不足, 提出了一种基于细粒度数据语义的SAWSDL服务匹配方法, 并设计了细粒度参数的匹配方法。相比基于结构的匹配方法, 本方法的计算复杂度大大降低, 并保持了SAWSDL服务的基本数据语义, 使得语义Web服务的匹配方法不依赖于具体的标注方法。实验结果表明, 本方法具有较低的计算代价和较好的检索性能。

参考文献

[1]张慧明, 唐慧佳.语义web服务匹配策略研究[J].计算机应用, 2010, 30 (4) :1083-1085.

[2]王树义, 杨昊霖.基于推理和相似度计算的语义Web服务匹配策略[J].计算机应用与软件, 2008, 25 (8) :130-132.

[3]陈曦.基于语义的Web服务组合框架及关键技术研究[D].北京:清华大学, 2007.

[4]Li L, Horrocks I.A software framework for matchmaking based on semantic web technology[C]//Proceedings of the Twelfth International Conference on the World Wide Web (WWW2003) , 2003:331-339.

语义匹配 篇4

近年来,随着云计算、物联网等技术的成熟,一种面向服务的网络化制造新模式—云制造应运而生。云制造技术能够实现各类制造资源智能化管理和经营,为制造业由生产型向服务型转变,提供了一种新的思路[1]。在云制造模式下,用户能够根据需求,随时随地、动态、敏捷地使用云端制造资源池中的制造资源,充分体现了“分散资源集中使用,集中资源分散服务”的制造理念[2,3]。

云制造服务资源匹配是实现云制造的核心技术之一,它是指在云制造环境下,将用户个性化的需求与功能多样、种类繁多的云制造服务进行匹配[4],以寻求最能满足需求的制造服务。国内外许多学者对服务资源匹配进行了大量的研究。文献[5]利用本体概念之间的包含关系,确定输入输出语句的匹配度,从而确定服务请求和服务资源的匹配等级(共四个等级)。此方法时效性强,但对于同一等级的服务匹配不能细致区分。文献[6运用语义描述语言来定义语义距离,以实现近似服务匹配。因人工建立的语义距离会增大不确定性因素和工作量,所以此方法可靠性和实用性比较差。文献[7]使用过程本体进行查询请求和Web服务的描述,提出一种基于过程本体的服务发现方法。此方法极度依赖所建立的过程模型,方法实现的难度较大。文献[8]建立了制造工艺约束信息模型和匹配资源能力信息模型,提出一种制造资源能力对于制造工艺要求的匹配程度评价和计算方法,用以解决虚拟企业联盟中制造资源和制造工艺的匹配问题。文献[9]采用Web本体语言对网络化协同产品开发资源进行描述,利用扩展UDDI的方法进行资源的语义级别匹配。

综合上述,当前大多数的匹配研究都是从技术的整体角度出发,虽然能够实现全局的资源匹配,在资源匹配的模型、定性描述等方面研究得较为深入,但在具体的资源匹配过程、量化的匹配算法方面的研究还不够充分,并且大部分研究方法的时效性、实用性、实现难易度都不能令人满意。因此本文从产品研发过程中设计人员发出的设计需求入手,首先分析云制造服务资源的分类,并引入本体对云制造服务资源进行语义描述。在此基础上,建立云制造环境下需求和服务的匹配模型,从基本信息、功能属性、服务质量三个层次对设计需求和服务资源的匹配进行定量研究。

1 云制造环境下设计需求和服务资源的匹配模型

1.1 云制造需求的分类

云制造服务资源与客户的需求任务密切相关,按照客户在使用平台时的任务种类,将云制造需求分为三类,包括:云设计需求,云制造需求和云购买需求[10]。云制造需求是客户通过给平台提供制造加工所需的信息(工艺过程,工艺参数等),平台返回零件或产品。云购买需求是指客户通过提供产品信息(价格、材料等),直接在平台上购买产品。云设计需求是指客户通过提供一系列需求和指标,如应用环境,工作压力,大小,使用寿命等,要求平台提供设计说明书、3d模型或者包括参数,工艺过程等可直接制造加工的文件包。这类客户群不需要对相关机械、产品研发知识很了解,仅仅需要知道满足的工况条件以及工作任务或者外观需求等。此类需求与服务资源的匹配度是本文研究的对象。

1.2 云制造服务资源的分类

借鉴以往对制造资源分类的研究成果,如文献[8,11],以及产品设计对资源的需求,本文将面向产品研发的云制造资源分为三大类,分别为:软件资源、知识资源和人力资源。其中,软件资源是指在产品设计中用到的软件。知识资源包含产品研发过程中用到的所有的非物质技术资源。

1.3 基于本体的需求和服务匹配框架

面向产品研发的云制造服务匹配过程主要包含三个参与角色,需求方、服务提供方和云制造平台,需求方和服务方分别通过云制造平台发布自己的需求和服务,云制造平台对用户需求和服务资源进行语义匹配,返回给需求方最合适的资源。面向产品研发的云制造服务语义匹配框架如图1所示。该框架由两大模块组成,分别为产品研发云制造服务本体库和云制造服务语义匹配模块,具体分析如下:

1)产品研发云制造服务本体库

针对云制造平台上的服务功能各异、种类繁多,缺乏统一的定义和描述方法的现状,构建产品研发云制造服务本体库,通过本体库提供领域内的共享概念知识,使需求和服务间的概念能够在语义层次上进行匹配。产品研发云制造服务本体使用OWL语言描述,能够规范地描述领域概念、概念的实例、概念的属性等。其中,属性是包含同义词、性能参数、作用等。如图2所示为面向汽车零部件研发的云制造服务的顶层本体片段(因篇幅所限,只列出部分概念)。

2)云制造服务语义匹配模块

语义匹配模块根据本体库提供的概念语义信息,将需求描述和服务描述中对应的信息进行语义匹配,确定信息间的语义匹配程度。该模块包括三个部分,服务和需求描述、语义匹配引擎、匹配结果排序。其中,语义匹配引擎是产品研发云制造服务语义匹配的核心部分,该引擎所执行的语义匹配方法及具体算法将在下一节中详细研究。

需求和服务描述需参照图3,规范化描述的需求单元和服务单元是语义匹配的基础。基本信息为需求或服务的名称和同义词;功能属性包含需求或服务的输入、输出,以及条件和效果。输入/输出属性主要描述服务实现其功能所需要哪些输入并将产生哪些输出,而条件/效果属性描述服务能够被执行的前提条件是什么,执行后将产生什么样的效果。服务质量包含了时间、成本和诚信度。

2 设计需求和资源服务的语义匹配实现流程

云制造服务语义匹配方法包含基本信息匹配、功能属性匹配和服务质量匹配三个阶段。每层设定由用户根据需求设定合适的阈值,并计算每层的相似度,与设置的阈值对比。相似度小于阈值的服务资源被过滤掉,并且不能进入到下一层次的匹配。最后按照三个阶段所占权重对各匹配度加权求和,获取需求与服务的综合匹配程度。

若产品研发云制造需求为Q=<QB a s i c,QI O P E,QQos>,产品研发云制造服务为P=<PBasic,PIOPE, PQos>,则设计需求与服务资源的匹配度形式化表示如下:

w1,w2,w3分别为三阶段相似度的权重。满足:

2.1 基本信息匹配

云制造服务名称和同义词都引用自领域本体中的概念,因此基本信息的匹配度可通过本体概念间相似度来度量。根据语义距离和语义相似性存在反向度量关系,可通过计算C1,C2间的语义距离来获取概念C1,C2的相似度,如式(3)所示。

领域本体可被看作一个is-a类型的层次概念树,即只存在所谓的上位/下位关系。则C1,C2间的语义距离表示为连接它们最短路径上的m条边的权值w的总和(每一条边的两端都为父子关系),如式(4)所示:

从信息量的角度来阐述,本体概念所处层次越深,其所含的信息量越多,本文借鉴文献[12],利用父子本体概念间没有共享的信息量来衡量父子概念间的语义距离,即:

n为父概念的直接子概念的数量,I(cip)和I(ci)分别为概念层次结构树中父概念cip和其子概念ci的语义信息量。而语义信息量的计算公式为:

其中p(c)为任一实例属于本体概念c的概率。p(c)的计算本文借鉴文献[13]的研究,利用领域本体本身作为统计源,根据其层次结构来计算各概念节点的出现概率值。并约定:

概念root为本体根节点。最后对上述公式进行代入和约简可得,概念Ci及父概念Cip的语义距离为:

概念C1,C2间的语义相似度为:

2.2 功能属性匹配

产品研发云制造服务平台的功能属性包含输入、输出、条件和效果。需求P和资源Q的功能属性综合匹配度为各属性匹配度的加权和(η1、η2、η3、η4为各属性权重,如未特别强调,本文中的所有加权和的权重都相等),如式(10)所示。

输入/输出属性引用自领域本体中的概念,如“设计参数”、“设计说明书”,同样采用基于本体概念的相似度的计算方法(参考式(9))。而条件/效果属性中的参数是约束条件表达式,不是本体中的概念,无法使用语义相似度来衡量其匹配程度。此类约束语句主要由个体词和谓词组成,如:最高车速为130~150(km/h)中,个体词为“最高车速”和“130~150(km/h)”,而“为”是谓词。在进行匹配运算之前,首先要对约束语句进行拆解,约束条件可如下表述:

云制造需求( 或服务) P / E属性约束条件={Object,Predicate,Paremeter}

第一个个体词(Object)和谓词(Predicate)来自于产品研发的云制造本体中的类、属性、实例等,可以采用基于本体的语义相似度算法来计算匹配度(参考公式(9))。第二个个体词(Paremeter)为数值型约束条件,采用数值区间相似度算法。具体计算方法见公式(11),式中使用缩写Pa代替Paremeter。

Pa1为需求的数值区间约束,Pa2为服务资源的数值区间约束。当且仅当Object匹配度超过给定阈值,且Predicate精准匹配时,才对Paremeter进行相似度计算,三者加权求和作为整条语句的匹配度。需求P和资源Q的P/E属性约束条件相似度可参考式(12)。

2.3 服务质量匹配

服务质量匹配是云制造服务资源中的重要评价指标,参数包括服务的时间、成本、诚信度。这类指标主要是数值参量,计算参考数值匹配算法,如式(13)所示。

如,当服务的时间和成本低于需求所要求的时间和成本,则匹配度为1,反之为0。同样的,需求P和资源Q的服务质量的综合匹配度为各指标匹配度的加权和。

3 实例验证

结合汽车零部件产品研发云制造服务平台,对以上方法的可行性和有效性,进行实验验证。下表分别列出了设计需求A和服务资源B、服务资源C的具体描述。并设定各层次的匹配阈值分别为0.75,0.7,0.65,权重分别为0.2,0.6,0.2。

采用本文的匹配方法,对上述需求和资源进行匹配。以A、B为例。

第一阶段是基本信息匹配。同义词统一为无,因此只需要对名称进行匹配,采用基于本体的概念相似度的匹配方法。如图4所示为变速器领域的本体片段,(用来运算的本体模型一般为4~5层,以待匹配的两个概念中的较深层次作为最底层)。图中本体概念旁边的分数为实例属于该概念的概率,或者是该概念出现的概率,父子概念连线上的数据表示权重或者是两个概念间的语义距离(具体算法参考式(8),其中“传动系”为根节点,它的出现概率为1,语义信息量为0。以此类推。

由式(9)可得:

第二阶段是功能属性匹配。输入输出均来自于本体概念,采用基于本体的概念相似度的匹配方法,结果为完全匹配,均为1。条件效果匹配首先对约束语句进行分解,得到{Object,Predicate,Paremeter}。其中对象和谓词精准匹配,对Paremeter采用数值区间相似度算法,以此加权求和获得整个约束语句的匹配度。仅以条件1为例,可得:

对所有的功能属性(输入、输出、条件、效果),加权求和可得:

第三阶段,服务质量匹配度为:

最后,加权求和,A、B综合匹配度为:

根据描述信息,结合各层次的匹配方法,计算A、C各层次的匹配度。结果如表2所示,服务资源B匹配度大于服务资源C,并得出了具体的匹配度,验证了该方法的有效性和可行性。

4 结论

基于云制造设计任务和资源服务的匹配需求,提出云制造服务多层次匹配算法。在分析云制造服务类型的基础上,利用本体描述语言对云制造服务进行语义描述,建立了云制造需求与资源服务的匹配模型。并将模型的匹配过程分为基本信息匹配、功能属性匹配和服务质量匹配三个阶段,给出了每一层的具体匹配内容和相似度算法。试验结果表明该方法能够有效区分不同云制造服务资源与需求的匹配程度。下一步研究主要集中在对用自然语言描述的需求和服务描述的解析,以及匹配算法的优化等方面。

语义匹配 篇5

在异构环境中,传统的中间件技术(例如 CORBA,COM或EJB)实现了一种通用的分布式计算方法,然而这些技术并没有得到完全的应用。一方面,这些技术基于面向对象架构的,并要求在使用中技术必须统一,同时要求硬件底层必须创建连接。目前因特网的不断发展为中间件的发展提供了一个良好的平台,其中主要还是由于在异构分布式环境中web服务技术为应用程序的整合提供了一种解决方法,这些Web服务可能提供各种计算服务,他们之间在进行通信和数据交换时通常使用标准的因特网协议和数据格式,例如Http协议和XML技术。但是,没有一个标准的程序能够让这些服务很好的协调工作。为了这些Web服务更好的协同,必须考虑互联网两个方面的问题,首先从技术方面来看,通过Http协议进行通信通常是同步的,但是在分布式环境中异步并发计算依然需要。其次如何处理因特网的真实行为:如何保证互联网通信的可靠性和安全性。

在本文中,提出了一种基于Web服务来解决分布式异构环境中存在的Web服务协同问题。我们的目标是采用互联网作为分布式计算平台,考虑到不同语言开发的应用系统中语义协同,甚至不同编程方式。我们主要通过一种协调处理模型,这种模型扮演一种“信息收集者”的角色,将每个分散的组件信息集中到一起。目前应用比较广泛的Linda模型[1],他由两种抽象元素组成:元组和元组空间,元组空间中进行模式匹配处理后得到元组,我们提出的方法也是基于这种处理方式的基础上,如果将Linda模型中简单的匹配策略换成复杂的策略,那么一般情况下各种组件协同都可以实现。为了实现这个目标,我们将Linda模型中的元组采用键值对描述的方式,类似于XML文件中的数据定义。我们将通过在Linda模型中使用这种XML上下文,实现网络中组件的协同、通信和合作的功能。

在Linda模型中,使用XML实现结构化和语义匹配功能,目前已经可以处理Web服务的协同,我们主要采用JavaSpace技术,方便我们重写元组和使用元组空间。在JavaSpace的基础上,我们开发了一种基于Web的协同处理服务,主要实现以下几个目标:

(1)协同操作主要通过HTTP服务接口,使用XML数据格式描述交换消息;

(2)采用统一方法处理复杂模式匹配(包括语义模式和结构化模式);

(3)使用pushlet技术,实现一种基于事件的异步通信处理方式;

(4)通过创建内部的代理来代替外部的Web服务,并实现他们之间的协同。

2 Web服务协同处理模型

Web服务是一种独立的,模块化的应用程序,他可以被描述、发布和发现,并可以通过网络进行调用[2]。基于Web服务的协同处理模型必须包括以下几个必要元素:

(1)组件接口必须是基于Web的,并提供了信息收集的接口,该组件可以发布到网络中并可以被其他程序调用;

(2)必须提供一个统一的中间件用来处理数据交换,并保证互操作性;

(3)协同服务模型充当了信息收集的角色,将不同的组件信息收集起来。由于分布式应用程序环境的特殊性,必然需要创建一个服务来获取不同应用程序提供服务组件的相关信息。

在分布式计算环境中,每个Web服务可以看作一个独立的实体,他需要与其他Web服务进行通信和同步,或者通过互联网收集用户的请求信息[3]。许多Web服务使用不同的程序语言创建,并且运行在不用的环境中。但是,我们提出的基于Web服务的协同处理模型必须要面对这样的运行环境。

3 基于Web的协同服务模型(WCS)

我们采用一个基于Web的协同服务来实现Web服务的协同。基于Web的协同服务是一个基于互联网访问的应用软件,他提供一系列服务用来实现异构环境中Web服务之间的通信和同步,并提供了低耦合的Web服务个体或者一组通信服务。每个分布式应用程序,不管服务运行的硬件平台还是运行的操作系统、不同编程语言使用的编码方式还是中间件自身,必须保证在他们中间能够协同访问这些服务。我们采用互联网通用协议HTTP协议,并使用标准的数据传输格式XML文件。

基于Web协同服务主要分由3部分组成,如图1所示,它们分别担任的角色如下:

XML处理空间:这个组件基于JavaSpace技术开发,并封装在收集许多处理XML文档方法的交互空间中,通过提供的接口这个组件可以协同处理XML文档。除此之外,这些XML文档可以在执行时定义,我们扩展了Linda架构中结构化元组概念,将XML文档中创建一系列的键值对。这些XML文档作为一个Java对象存储在交互空间中。XML处理空间提供了比JavaSpace更灵活的处理方法。

Java协同组件:这个组件是基于Web的协同服务的核心,他提供了许多协同操作,他被分成两个不同接口:基础协同接口和高级协同接口。基础协同接口提供一系列简单的通信和同步操作,在阻塞调用的操作时必须等到操作完成或者同步环境已经实现。对于高级协同接口可以创建一些特定类型的事件,可以将这些事件发布出去并接受特定类型事件。

HTTP协同组件:这个组件充当了Web访问接口的角色,并分成两类不同的接口,HTTP基本协同接口和HTTP高级接口,与Java协同组件一样收集协同操作信息。这些描述协同操作的接口都是基于Web访问协议和通用数据格式来实现的。

4 模式匹配和语义消歧

根据Linda模型,执行in(X?)操作时,试图在元组空间内匹配元组X?,如果匹配成功,元组将从元组空间中分离出来,否则直到合适的元组出现[4]。对于in()操作的参数可以是一个带通配符的查询元组,像in[“zhang”, ??]。我们在这种方法基础上,如果将简单的匹配策略替换成一种复杂匹配,那么一般情况下各种协同处理都可以实现。为了实现这个目标,我们将Linda模型中的元组采用键值对的方式来描述,如[(author,”zhangsan”),(year,2007)]。尽管这里没有具体的类型设置,但是如果在不同约定下调用in()操作,有的“author”项并没有使用,使用了“creator”,如果在各个实体间提供合适的映射,那么请求[(creator, ??),(year,2007)]仍然可以成功调用。我们通过互联网和XML技术实现了语义匹配功能。

为了实现语义模式匹配,我们必须解决语境中的歧义,这可能是词汇中自然语言处理面临最大的问题,并可以应用于信息检索、机器翻译、语言组织和模式匹配。消除歧义问题的关键在于引起歧义单词在特殊环境下所处的语境,语境的变化取决于环境的变化。

目前有一些可用的解决方法主要依靠提供的歧义词汇,每个歧义词汇都会根据它所处的上下文环境提供了相应的注解。在此基础上,建立一个分类器能够正确的对词汇进行分类。另外,对于无监督多义词的方法,主要依赖于词汇资源或电子词典。

我们消除歧义的方法采用基于WordNet分层结构下无监督的消除歧义方法,WordNet根据词条的意义将它们分组,每一个具有相同意义的字条组称为一个同义词组,类似于投票系统,我们将采用从词库中取词,这些词汇按照树形节点组织,并保持了和其词义相近的词汇之间的关系,并在当前分支中确定一个和当前上下文中语境最接近的词汇。

基于XML的空间组件采用了JavaSpace技术,它提供了保存这些XML元组的控件,不需要重新开发一个新的XML元组空间[5]。然而,JavaSpaces匹配的规则不能采用这种结构化的对象,只是对象完全匹配,并不能匹配对象内具体的信息。这主要是由于对象序列化存储到空间,在进行比较时只是对对象值进行了相等运算。如果存在结构化的字段,那么它的值就是序列化后的对象。一般情况下,java对象被编码为使用XML元组节点来存储XML元组的结构字段,这个通用对象有两个结构化的字段来存储XML元组的键值。

因此,有必要增加JavaSpace的规则,允许匹配带结构字段的内容。为了解决规则的限制,将操作分成两个步骤:首先在使用原始模板时,将模板复制一份,并将复制的模板中元素对应的值设为空值,当JavaSpace接口使用这个模板执行一个读操作时,返回一个具有相同XML模式的XML元组对象作为模板,因为只通过标签名称字段进行匹配。其次,JavaSpace 接口调用一个特定的匹配方法检索对象,使用原始模板作为一个实参,这个方法检查模板中每个非空组件的值字段是否和返回对象中的值字段具有相同的值。如果相同,返回对象将匹配使用XML元组匹配规则的模板,检索的对象使用具有相同的XMLSchema 为模板,但它不匹配通过第二个匹配规则的XML 元组的模板。然后,再由第一步,直到通过XML的元组匹配规则检索到匹配对象。

如果标签名称字段或者标签值字段已经从词库中提取出来,将在第二个步骤中执行匹配操作,充分使用词汇和语义资源,如图2所示。像WordNet和我们提出的消除歧义方法,我们可以通过语义模式匹配丰富XML空间组件,重新检索基于结构化和语义相近的XML文档。

5 实例研究

我们将采用基于Web的协同服务来解决一些经典问题。我们将采用并行计算来解决经典的哲学家问题,如图3所示。

在我们的方法中,多个分布式的哲学家采用不同的编程语言,通过Http和XML技术在互联网上实现协同工作。当一个哲学家A加入时,此时进行请求的操作如:

http://.../CoordinationServlet?Request=

< xmlversion="1.0" > <CoordinationService>

<function>out</function>

<tuple>

<examplePhilosopher>

<chopstick>A</chopstick>

</examplePhilosopher>

</tuple>

</CoordinationService>

同时,将介绍他左边和右边对应的一些关系,当加入新的哲学家时他们都将使用新的关系代替原来的邻里关系,这个操作使用元组[(Left, ??),(Right, ??)]来实现。例如,关系[(Left,E),(Right,B)]。在恢复关系时,使用元组来描述,A在 E的左边,在E的右边,通过这些工具很容易描述整个过程。

此外,WCS的模式已经为解决现实问题提供了概念基础,基于位置的服务(LBS)的框架,其功能可以通过互联网被整合到任何终端中使用,像ERP和CRM。LBS框架需要整合地理信息服务,定位服务和通讯服务。要求服务必须符合Web的服务方式,并提供标准的规定和公开的接口,以确保互操作性[6]。

6 结束语

本文中我们提出了一种基于Web的协同服务,运行在创新通信模型的基础上的分布式环境中,并使用了Java技术和互联网技术,像HTTP和XML,并可以在独立的分布式中间件和面向服务架构的模型中。服务协同功能保证了时间和空间的低耦合,并实现了实体间的语义匹配。

参考文献

[1]N.Busi,R.Gorrieri,G.Zavattaro.Proccess Calculi for Coordination:Frame Linda to JavaSpaces[J].Lectures Notes in ComputerScience 1816(2000)198-212

[2]江红.XML在Web服务中的应用[D].武汉:武汉理工大学.2006

[3]汪维华,汪维富.基于Web服务的分布式计算模型研究[J].计算机工程与设计,20081,7

[4]E.MataJ,.A.BanaresJ,.Guti'errez,P.R.Muro-MedranoJ,.Rubio.Semantic disambiguation of thesaurus as a mechanism to fa-cilitate multilingual and thematic interoperability of geographical information catalogues[J.]in Proceedings 5th AGILE Conferenceon Geographic Information Science,Universitat Illes Balears(2002)61-66

[5]朱文华,王茜.基于JavaSpaces的分布式计算技术研究[J].2005-02

上一篇:英语课堂教学商务英语下一篇:ERP教学软件