首页 | 最新栏目 | 关于我们 | 读者园地 | 联系我们
计算机与信息技术
  >>>你现在的位置是—最新栏目 

 

异构环境下语义Web服务发现研究

吴保磊  夏士雄
(中国矿业大学 计算机科学与技术学院,江苏 徐州 221116)
 
    摘  要 在语义Web服务组合涉及异构环境时,根据用户需求发现所需要的Web服务是一项关键的技术。本文以煤矿信息查询系统为应用背景,基于二分图最佳匹配算法提出了一种Web服务分级发现算法,通过计算异构环境中不同Web服务间的参数来完成不同服务的语义匹配,并讨论了分级发现算法的运行实例。
    关键词 异构环境;语义Web;服务发现
 

1 引言

    Web服务发现是Web服务系统架构中的一个重要组成部分[1],是Web服务发展的关键技术。所谓Web服务发现,指的是用户以某种方式在不同类型的Web服务中找到其需要的服务,以执行Web服务请求[2]。现有的Web服务发现方法分为句法级服务发现和语义级服务发现两大类[3]。句法级服务发现通过关键字匹配进行服务搜索。这种发现机制着重对服务的接口和实现细节进行定义,不支持对服务功能和行为的语义描述,因此实现起来较为简单,但查全率和查准率较低。语义级服务发现有效利用语义信息和领域本体,实现Web服务的自动语义匹配和搜索,具有查准率较高的特点。当前的语义Web服务研究大多基于单本体或单一数据环境。但在一个领域中,不同的领域专家对于同一事物可能采用不同的属于和方法,因此就会产生多个领域本体。另外就是当服务发现涉及到不同领域时,服务的请求和发布有可能采用不同的方式来描述的,此时就要考虑异构环境下语义信息的匹配问题。
    本文在国家自然科学基金项目《煤矿安全监测数据解析整合模型研究及应用》支持下,针对异构环境下的语义Web服务发现问题,在煤矿(矿山)信息查询系统中采用基于二分图匹配的分级发现策略,利用领域本体解决异构数据的综合利用与共享,并通过实验表明了本文方法的有效性。

2 基本概念与定义

2.1 领域本体

    本体是关于领域内概念的明确的共享形式化说明[4]。将本体定义为元组O=CARTRH,其中:
    (1)C 表示领域内的概念集合,c∈C 表示其中一个概念;每个领域本体具有一个根概念ROOT。
    (2)A表示概念属性集合,概念c∈C 的属性集合记为Ac={aci|i=1,…,|Ac|}|Ac| 表示概念属性数目。
    (3)H 表示概念层次集合,HC×C(ci,cj∈H表示ci cj 的子概念,H 为有向无环图。
    (4)RT 为语义关系类型集合,RT=RTd∪RTuRTd 为预定义关系类型集合,RTd={SameAs,Disjo int With,Equivalent}RTu 为用户定义关系类型集合。
    (5)R 表示概念之间的非层次关系集合,每个关系r∈R表示为r={ci,cj,rt},其中cicj∈Crt∈RT,表示概念ci、cj 之间存在rt 关系。

2.2 语义Web服务模型

    一个语义Web服务模型可定义为元组SWD=<SN,SD,IS,OS,QoS,Od>,其中:
    (1)SN为语义Web服务的名称。
    (2)SD={sd1,sd2,…,sdn}为语义Web服务的描述,sdn为概念的集合。
    (3)IS={is1,is2,…,isn}为语义Web服务的输入,isn代表服务的各输入参数。
    (4)OS=<os1,os2,…,osn>为语义Web服务的输出,osn代表服务的各输出参数。
    (5)QoS =<Time,Cost,Reliability>为服务质量的非功能描述,包括调用服务所需的时间、费用、可靠性等。
    (6)Od 为语义Web服务提供方的领域本体,语义Web服务模型中的概念均来源于该本体。
此外,定义语义Web服务请求为元组SWR=<RN,RD,IR,OR,RQoS,Or>,各变量含义与语义Web服务描述框架相似。

2.3 概念相关度[5]

    相关度指概念之间相关的程度。相关性与相似性相比较,相似意味着词汇所表达的概念在某些特征方面有重合,而相关性则表明概念间具有相似性,但概念所表达的一些特征不直接重合。因此,相似只是相关的一个特殊方面。例如提升机与钢丝绳相关但不相似,而提升机与罐笼绞车在功能上相似但不紧密相关。参考文献[5],本文采用一个在[0,1]区间取值的实数来表示度量的结果,该实数的取值0(1)表示两个概念完全不相关。具体方法采用Hirst-St-Onge语义相关度算法[6,7],其基本思想是:当两个词在WordNet同义词集(synset)中有一条较短的路径相连时,在语义上就具有较大的相关度。当此路径不存在时,RelHS(w1,w2)=0。计算公式为:
    RelHS(w1,w2)=c-len(w1,w2)-k*turns(w1,w2)                   
(1)
    其中,c和k是两个常参数,turns(w1,w2)代表在synset中的路径转向次数,len(w1,w2)是路径长度。

2.4 语义相似度

    语义相似度是指概念间自身语义的相似程度,即考虑概念的含义来计算相似度,语义相关度和语义相似度成正比关系。本文采用WordNet语义词典来计算概念的语义相似度。其基本思想是:两个单词通过上位关系连接的距离越近,他们的相似度就越大;反之他们的相似度越小。如果它们在有限上位层次中没有共同的父结点,则Simd(w1,w2)=0。参考文献[8],给出语义相似度计算公式为:
    Simd(s1,s2)=2*logP(s)/(logP(s1)+ logP(s2))                     
(2)
    其中,p(s)=count(s)/total表示在WordNet中词义结点s及其子结点所包含的单词个数在整个词典中所占的比例,total是WordNet的单词总数。另外w1∈s1,w2∈s2,表示单词w1和w2分别位于结点s1和s2中,结点s是s1和s2的公共祖先结点。令s(w1)={s1i|i=1,2,…,m}和s(w2) ={s1j|j=1,2,…,n}分别表示单词w1和w2的所有词义,则两个单词的相似度定义为它们之间语义相似度的最大值:
Simd(w1,w2)=max(Simd(s1i,s2j)),s1i∈s(w1),s2j∈s(w2)                                 (3)

3 异构环境下Web服务发现算法

3.1 分级发现算法

    分级发现算法的基本思想是:根据前面概念相关度的定义,利用式(1)对服务请求SWR中的RN与候选语义Web服务SWD中的SN进行概念相关度计算,筛选掉与服务请求无关的Web服务。如果相关度为0,则不再进行相似度的计算,否则利用式(3)对SWRSWD进行SD与RD的语义相似度计算,并采用基于二分图的输入输出参数匹配算法IOMatch来衡量SWRSWD的相似度;再利用QoS和RQoS对发现的结果进行排序,将最优结果排在最前。

3.2 基于二分图的输入输出参数匹配算法

    SWRSWD 的输入输出参数匹配的实质是:SWR SWD的orn与osm之间进行匹配计算;SWDSWR 的isn与irm(n≤m)之间进行匹配计算。从而保证SWD 能尽可能满足SWR的所有要求,而SWR 也能提供SWD 所需的输入。
    输入输出参数匹配问题可以转化为二分图的最佳匹配问题,即求一个集合X={x1,x2,…,xn}到集合Y={y1,y2,…,ym}(n≤m)的二分匹配,使得和式∑sim(x,y)取得最大值。sim(x,y)是任一属于X的本体概念x与任一属于Y的本体概念y之间的语义相似度,满足0≤sim(x,y)≤1。但因二分图的最佳匹配问题是针对|X|=|Y|(即n=m)的匹配,无法直接应用于n≤m的情况,因此需将二分图最佳匹配的定义进行扩充,即给定一个带权二分图G=(X,Y,E)和G的一个匹配M(本体概念集合X、Y表示图的点,E为∀x∈X、∀y∈Y亮点<x,y>所连的边集,并给该边一个权重Wxy=sim(x,y)),二分图满足条件|X|≤|Y|,M是G的一个最佳扩展匹配,当且仅当:①若|X|=|Y|,M是G的最佳匹配;②若|X|<|Y|,M是覆盖集合X中的所有节点,且权和最大的匹配。此定义可通过反证法证明,此处限于篇幅,证明略。
    Kuhn-Munkres(KM)算法[9]是一个经典的用于求解二分图的最佳匹配的高效算法,它通过求解二分图的等价子图的完备匹配来获得二分图的最佳匹配,其正确性源于定理:二分图的等价子图的完备匹配即为G的最佳匹配。基于KM算法,本文提出SWRSWD的输入输出参数匹配算法IOMatch。
    //算法名称:IOMatch
    输入:G=(X,Y,E) and |X|≤|Y|
    输出:G的最优扩展匹配
    (1) If(|X|=|Y|){
    (2) 调用KM算法计算G的最优匹配M;
    (3) }ELSE{
    (4) 利用如下计算将G(X,Y,E)变换到G’(X’,Y,E’):
    X’=X∪Z,Z={z1,z2,…,zk}(k=|Y|-|X|),
    E’=E∪{<zi,yj>|1≤i≤|Z|,1≤j≤|Y|,Wziyj=0};
    (5) 利用KM算法计算G’的最佳匹配M’;
    (6) 从M’中去除E’’={<zi,vj>|zi∈Z},将M’变换为M;}
    (7) RETURN M.
    在IOMatch算法基础上,本文给出分级发现算法GradeFinder如下:
    输入: SWRSWDn
    输出: 排过序的SWD1,SWD2,…,SWDn
    (1) for each SWDn do{
    (2) If{RelHS(RN,SNn)=c-len(RN,SNn)-k*turns(RN,SNn)}=0
    (3) return 0;
    (4) else{
    (5) 调用IOMatch算法计算二分图(OR,OS)的最大权匹配,并求出最大相似度和∑sim(OR,OS)i,i=1,2,…,n;
    (6) 调用IOMatch算法计算二分图(IS,IR)的最大权匹配,并求出最大相似度和∑sim(IS,IR)j,j=1,2,…,n;
    (7)根据(RelHS(RN,SN)* ∑sim(OR,OS)i +(1- RelHS(RN,SN))*∑sim(IS,IR)j)的值对SWDn进行大小排序;
    (8)对SWDn 按Qos的值进行大小排序;
    (9) return 按大小排过序的SWDn}}
    算法分析:第2-4行,计算SWRSWDn的名称概念相关度,如果不相关算法终止;第5-6行计算输出与输入参数的最大相似度和,计算方法相同匹配顺序相反;第7行,按第2行和第5-6行的结果对SWDn 进行与SWR的相似度排序;第8行,对SWDn 按Qos的综合开销值进行排序,最后将排过序的SWDn 按从大到小的顺序输出,算法结束。

4 实例验证与结果分析

    在应用中开发了一个煤矿(矿山)信息查询系统。在此系统中设定一个通过网络接收查询请求,并将满足请求的服务翻译成用户所请求的语言的服务功能。即接收一段文本,将其翻译成英文并通过SMS(Short Message Service,短消息服务)发送译文到一个指定手机号码。目标是一步组合完成,产生适应服务请求中非功能属性(如花销,反应时间等)要求的服务组合方案。本例中,为服务请求定义了两个主要的目标:GoalOnt#translateGoalOnt#sendSMS。表1列出了一组被发现的服务SWDn,具有单独的输入、输出和非功能属性语义类型和值,并按照非功能属性对候选服务进行了排序。

表1  查询系统发现的服务
Service
Input
Output
NF Properties
SWD1
LanguageOnt#Language
LanguageOnt#English
LanguageOnt#Text
LanguageOnt#EnglishText
NFPOnt#Cost 1
SWD3
TelecomOnt#PhoneNum
LanguageOnt#Text
TelecomOnt#AckSMS
NFPOnt#Cost 1
SWD5
TelecomOnt#AckSMS
TelecomOnt#SuccessProcess
NFPOnt#Cost 1
SWD4
TelecomOnt#PhoneNum
LanguageOnt#Text
TelecomOnt#AckSMS
NFPOnt#Cost 3
SWD2
LanguageOnt#French
LanguageOnt#English
LanguageOnt#Text
LanguageOnt#EnglishText
NFPOnt#Cost 4

    表2给出了系统组合后的服务列表。
表2  服务组合结果

5 结语

    在服务发现和服务组合涉及到异构数据环境时,需要考虑不同领域信息的匹配,这也是SOA(Service Oriented Architecture,面向服务的体系结构)和SOC(Service Oriented Computing,面向服务的计算)下一步发展必须要解决的问题。本文提出了一种分级匹配算法,并通过实验验证了算法的有效性。

参考文献

    [1] 岳昆,王晓玲,周傲英. Web服务核心支撑技术:研究综述[J]. 软件学报,2004,15(3):428-442
    [2] Garofalakis J,Panagis Y,Sakkopoulos,et al. Web Service Discovery Mechanisms: Looking for a Needle in a Haystack. http://www.ht04.org/workshops/WebEngineering /HT04WE- Garofalakis.pdf,2007
    [3] 张磊,夏士雄,周勇,牛强. 基于多本体的语义Web服务发现研究[J]. 计算机工程与应用,2009,45(11)165-171
    [5] 张忠平,田淑霞,刘洪强. 一种综合的本体相似度计算方法[J]. 计算机科学,2008(12):142-145,182
    [6] Budanitsky A,Hirst G.Evaluating WordNet-based Measures ofLexical Semantic Relatedness[C].Association for ComputationalLinguistics,2005
    [7] 张承立,陈剑波,齐开悦. 基于语义网的语义相似度算法改进[J].计算机工程与应用,2006(17):165-166,179
    [8] Pantel P,Lin D. Discovery word sense from text. [C]//Proceedings of the 2002 ACM SIGKDD Conference on Knowledge Discovery and Data Mining. Edmonton Alberta,Canada,2002:613-619
    [9] Lovasz L,Plummer M. Matching Theory[M]. Amsterdam: North-Holland,1986
    收稿日期:12 月 14 日   修改日期:1 月 18 日
    基金项目:国家自然科学基金项目:50674086;项目名称:煤矿安全监测数据解析整合模型研究及应用。
    作者简介:吴保磊(1980-),男,江苏徐州人,硕士研究生,主要研究方向为动态语义Web服务组合;夏士雄(1961-),男,博士生导师,教授,主要研究方向为数据处理、信息融合。

 

 

版权所有 © 2005 《计算机与信息技术》编辑部
地址: 合肥市金寨路155号黄金广场3幢605室 《计算机与信息技术》编辑部
互联网信息服务(ICP)备案编号: 皖ICP备10000534号 网络实名: 计算机与信息技术