一种基于本体的Web服务功能相似性度量方法技术

技术编号:20389905 阅读:15 留言:0更新日期:2019-02-20 02:52
一种基于本体的Web服务功能相似性度量方法,所述服务功能相似性度量方法包括以下步骤:第一步、计算领域本体中两个概念A和B之间的语义相似度;第二步、结合第一步的概念相似度计算方法,给出服务S1与服务S2输入相似度Siminput的计算方法;第三步、结合第一步的概念相似度计算方法,给出服务S1与服务S2输出相似度Simoutput的计算方法;第四步、结合第二步与第三步求得的服务输入相似度Siminput与服务输出相似度SimOutput计算服务S1与服务S2的功能相似性FunctionalSim(S1,S2)。本发明专利技术能够合理地度量服务间的功能相似性,优化服务聚类效果。

【技术实现步骤摘要】
一种基于本体的Web服务功能相似性度量方法
本专利技术涉及Web服务演化领域,具体涉及一种基于本体的Web服务功能相似性度量方法。
技术介绍
Web服务是一种软件系统,旨在支持机器之间的跨网络交互。目前主要有两种类型的Web服务:一种是基于SOAP,另一种是基于REST。两者的区别是使用的接口不同,基于SOAP的Web服务使用SOAP接口传递消息,并且使用Web服务描述语言(WSDL)来描述Web服务,WSDL为Web服务提供者指定了使用协议和编码独立机制,它是一个XML词汇表,描述了网络上可访问的服务并将它们映射到具有消息传递功能的通信端点集合中。而使用REST接口的Web服务则使用通用的HTTP方法(GET、DELETE、POST和PUT)来描述、发布和使用相关资源。目前的研究工作旨在通过使用称为本体的概念化知识来提供Web服务的语义描述。本体是一个词汇表,用于描述一个领域内的一组概念(领域可被定义为特定的主题领域或知识领域)以及这些概念之间存在的关系。它被应用于领域内的属性推理,或是领域本身的定义。在Web服务的上下文中,本体作为提供Web服务语义描述的一种方式,发挥着重要的作用。Web服务描述的增强促进了语义Web服务的发展,以机器可理解的方式对Web服务进行语义描述将对诸如电子商务和应用程序集成等领域产生重大影响,因为它可以实现不同系统和组织之间动态、可扩展及高效性的协作。随着Web服务的不断发展,为了适应环境改变和用户需求的变更,互联网中的Web服务需要持续不断地进行演化。因此,Web服务演化成为服务计算领域重要的研究点之一。同时,Web服务作为构建软件服务的重要技术,如何使软件系统能够自适应运行并且支持服务动态演化具有重要的研究意义和应用价值。Web服务演化泛指服务在发布、运行之后,为适应环境变化、持续满足用户需求,而进行一系列变更的过程。由于Web服务动态、异构、自治的特点,并且服务的分布式特征使得系统所集成的服务大多来源于不同的组织,这造成了Web服务的演化相比传统软件演化将面临更多的挑战。在服务演化研究领域,已经有许多研究学者针对服务间语义相似性度量方法提出了不同的优化方案。美国印第安那大学信息学院计算机科学系的AnaGMaguitman将图论引入到语义相似性的计算之中,并给出了计算方法。加拿大曼尼托巴大学的DekangLin提出在计算语义相似性不但要考虑概念之间所共享的信息量,也要考虑概念之间差异信息量。曼彻斯特城市大学的YuhuaLi等人也提出了一个度量语义相似性的方法,他们考虑了概念密度因素对语义相似性的影响。
技术实现思路
Web服务的演化一般通过服务聚类操作来缩小服务样本的搜索空间,使服务匹配过程可以在一个特定的聚类中进行,而不是一个具有许多不相关服务的大型服务池。通常情况下,计算对象间的相似度是聚类算法的重要一步。本专利技术通过计算本体概念属性之间的相似度,并考虑了同种属性名称不同的情况,结合朴素贝叶斯模型的单词语义相似度度量方法来计算属性名称之间的相似性,通过参数数量差值与参数数量的比率来增强数量差对于服务输入相似度的影响,因此能够合理地度量服务间的功能相似性,优化服务聚类效果。为了解决上述技术问题本专利技术所采用的技术方案是:一种基于本体的Web服务功能相似性度量方法,所述服务功能相似性度量方法包括以下步骤:第一步、计算领域本体中两个概念A和B之间的语义相似度,过程如下:步骤(1.1)若概念A和B是相同的或者它们被声明为equivalentclasses,则概念A,B的相似度Simconcept为1,否则进行步骤(1.2);步骤(1.2)若概念A直接或间接为概念B的一个子类,则概念A,B的相似度Simconcept计算公式如下:其中prop(A)与prop(B)分别表示概念A与概念B的属性集合,Size(prop(B))与Size(prop(A))分别表示概念B和概念A的属性个数,否则进行步骤(1.3)步骤(1.3)若概念B直接或间接为概念A的一个子类,则概念A,B的相似度Simconcept计算公式如下:否则进行步骤(1.4);步骤(1.4)若概念A与概念B没有父子关系,但两个概念直接或间接有一个共同的父类概念C,则采用基于朴素贝叶斯模型的单词语义相似度度量方法,首先分别遍历概念A与概念B的各个属性,通过ComputeFeature函数对概念A与概念B的属性名称进行特征提取,然后采用样本训练后的条件概率分布列和调整因子,计算概念属性之间的相似度Simword,根据概念属性之间的相似度Simword与相似判定因子η的比较,判断两个属性是否为同一属性并进行统计,最后计算出概念A,B的相似度Simconcept;步骤(1.5)若概念A和概念B的关系在上述情况中均不符合,则概念A,B的相似度Simconcept设为0;第二步、结合第一步的概念相似度计算方法,给出服务S1与服务S2输入相似度Siminput的计算方法,过程如下:步骤(2.1)创建服务输入参数相似度最大匹配数组InSim并初始化,进行步骤(2.2);步骤(2.2)将服务S1的输入参数数量减去服务S2的输入参数数量得到参数数量差值d,进行步骤(2.3);步骤(2.3)若d小于或等于0,则将服务S1设为Sshort,服务S2设为Slong,否则将服务S2设为Sshort,服务S1设为Slong,进行步骤(2.4);步骤(2.4)遍历Slong中的输入参数,若遍历完成,则进行步骤(2.8),否则从Slong中取出下一个输入参数longi,进行步骤(2.5);步骤(2.5)遍历Sshort中的输入参数,若遍历完成,则返回步骤(2.4),否则从Sshort中取出下一个输入参数shortj,进行步骤(2.6);步骤(2.6)根据第一步的概念相似度计算方法计算参数longi与参数shortj的相似度Simij,进行步骤(2.7);步骤(2.7)将Simij与InSim[i]进行比较,若Simij大于InSim[i],则将InSim[i]的值设为Simij的值,否则InSim[i]值为原值,返回步骤(2.5);步骤(2.8)计算服务S1与服务S2输入相似度Siminput,计算公式如下:其中Size(Slong.Input)与Size(Sshort.Input)分别表示服务Slong的输入参数个数与服务Sshort的输入参数个数,|d|表示两个服务的输入参数数量差值,InSim为输入参数的相似度最大匹配数组;第三步、结合第一步的概念相似度计算方法,给出服务S1与服务S2输出相似度Simoutput的计算方法,过程如下:步骤(3.1)创建服务输出参数相似度最大匹配数组OutSim并初始化,进行步骤(3.2);步骤(3.2)将服务S1的输出参数数量减去服务S2的输出参数数量得到参数数量差值d,进行步骤(3.3);步骤(3.3)若d小于或等于0,则将服务S1设为Sshort,服务S2设为Slong,否则将服务S2设为Sshort,服务S1设为Slong,进行步骤(3.4);步骤(3.4)遍历Slong中的输出参数,若遍历完成,则进行步骤(3.8),否则从Slong中取出下一个输出参数longi,进行步骤(3.5);步骤(3.5)遍历本文档来自技高网
...

【技术保护点】
1.一种基于本体的Web服务功能相似性度量方法,其特征在于,所述服务功能相似性度量方法包括以下步骤:第一步、计算领域本体中两个概念A和B之间的语义相似度,过程如下:步骤(1.1)若概念A和B是相同的或者它们被声明为equivalent classes,则概念A,B的相似度Simconcept为1,否则进行步骤(1.2);步骤(1.2)若概念A直接或间接为概念B的一个子类,则概念A,B的相似度Simconcept计算公式如下:

【技术特征摘要】
1.一种基于本体的Web服务功能相似性度量方法,其特征在于,所述服务功能相似性度量方法包括以下步骤:第一步、计算领域本体中两个概念A和B之间的语义相似度,过程如下:步骤(1.1)若概念A和B是相同的或者它们被声明为equivalentclasses,则概念A,B的相似度Simconcept为1,否则进行步骤(1.2);步骤(1.2)若概念A直接或间接为概念B的一个子类,则概念A,B的相似度Simconcept计算公式如下:其中prop(A)与prop(B)分别表示概念A与概念B的属性集合,Size(prop(B))与Size(prop(A))分别表示概念B和概念A的属性个数,否则进行步骤(1.3)步骤(1.3)若概念B直接或间接为概念A的一个子类,则概念A,B的相似度Simconcept计算公式如下:否则进行步骤(1.4);步骤(1.4)若概念A与概念B没有父子关系,但两个概念直接或间接有一个共同的父类概念C,则采用基于朴素贝叶斯模型的单词语义相似度度量方法,首先分别遍历概念A与概念B的各个属性,通过ComputeFeature函数对概念A与概念B的属性名称进行特征提取,然后采用样本训练后的条件概率分布列和调整因子,计算概念属性之间的相似度Simword,根据概念属性之间的相似度Simword与相似判定因子η的比较,判断两个属性是否为同一属性并进行统计,最后计算出概念A,B的相似度Simconcept;步骤(1.5)若概念A和概念B的关系在上述情况中均不符合,则概念A,B的相似度Simconcept设为0;第二步、结合第一步的概念相似度计算方法,给出服务S1与服务S2输入相似度Siminput的计算方法,过程如下:步骤(2.1)创建服务输入参数相似度最大匹配数组InSim并初始化,进行步骤(2.2);步骤(2.2)将服务S1的输入参数数量减去服务S2的输入参数数量得到参数数量差值d,进行步骤(2.3);步骤(2.3)若d小于或等于0,则将服务S1设为Sshort,服务S2设为Slong,否则将服务S2设为Sshort,服务S1设为Slong,进行步骤(2.4);步骤(2.4)遍历Slong中的输入参数,若遍历完成,则进行步骤(2.8),否则从Slong中取出下一个输入参数longi,进行步骤(2.5);步骤(2.5)遍历Sshort中的输入参数,若遍历完成,则返回步骤(2.4),否则从Sshort中取出下一个输入参数shortj,进行步骤(2.6);步骤(2.6)根据第一步的概念相似度计算方法计算参数longi与参数shortj的相似度Simij,进行步骤(2.7);步骤(2.7)将Simij与InSim[i]进行比较,若Simij大于InSim[i],则将InSim[i]的值设为Simij的值,否则InSim[i]值为原值,返回步骤(2.5);步骤(2.8)计算服务S1与服务S2输入相似度Siminput,计算公式如下:其中Size(Slong.Input)与Size(Sshort.Input)分别表示服务Slong的输入参数个数与服务Sshort的输入参数个数,|d|表示两个服务的输入参数数量差值,InSim为输入参数的相似度最大匹配数组;第三步、结合第一步的概念相似度计算方法,给出服务S1与服务S2输出相似度Simoutput的计算方法,过程如下:步骤(3.1)创建服务输出参数相似度最大匹配数组OutSim并初始化,进行步骤(3.2);步骤(3.2)将服务S1的输出参数数量减去服务S2的输出参数数量得到参数数量差值d,进行步骤(3.3);步骤(3.3)若d小于或等于0,则将服务S1设为Sshort,服务S2设为Slong,否则将服务S2设为Sshort,服务S1设为Slong,进行步骤(3.4);步骤(3.4)遍历Slong中的输出参数,若遍历完成,则进行步骤(3.8),否则从Slong中取出下一个输出参数longi,进行步骤(3.5);步骤(3.5)遍历Sshort中的输出参数,若遍历完成,则返回步骤(3.4),否则从Sshort中取出下一个输出参数shortj,进行步骤(3.6);步骤(3.6)根据第一步的概念相似度计算方法计算参数longi与参数shortj的相似度Simij,进行步骤(3.7);步骤(3.7)将Simij与OutSim[i]进行比较,若Simij大于OutSim[i],则将OutSim[i]的值设为Simij的值,否则OutSim[i]值为原值,返回步骤(3.5...

【专利技术属性】
技术研发人员:陆佳炜卢成炳吴涵周焕徐俊肖刚
申请(专利权)人:浙江工业大学
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1