CN109255124B - 一种基于OWL-S的Web服务综合评分计算方法 - Google Patents

一种基于OWL-S的Web服务综合评分计算方法 Download PDF

Info

Publication number
CN109255124B
CN109255124B CN201810939278.3A CN201810939278A CN109255124B CN 109255124 B CN109255124 B CN 109255124B CN 201810939278 A CN201810939278 A CN 201810939278A CN 109255124 B CN109255124 B CN 109255124B
Authority
CN
China
Prior art keywords
service
prop
concept
attribute
similarity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810939278.3A
Other languages
English (en)
Other versions
CN109255124A (zh
Inventor
陆佳炜
吴涵
卢成炳
赵伟
周焕
徐俊
肖刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Car Owner Cloud Technology Co ltd
Wuhan Pengzhou Technology Co ltd
Original Assignee
Shenzhen Car Owner Cloud Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Car Owner Cloud Technology Co ltd filed Critical Shenzhen Car Owner Cloud Technology Co ltd
Priority to CN201810939278.3A priority Critical patent/CN109255124B/zh
Publication of CN109255124A publication Critical patent/CN109255124A/zh
Application granted granted Critical
Publication of CN109255124B publication Critical patent/CN109255124B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/29Graphical models, e.g. Bayesian networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Evolutionary Biology (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Optimization (AREA)
  • Probability & Statistics with Applications (AREA)
  • Operations Research (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Algebra (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种基于OWL‑S的Web服务综合评分计算方法,包括以下步骤:第一步、计算领域本体中两个概念A和B之间的语义相似度;第二步、给出服务S1与服务S2输入相似度Siminput的计算方法;第三步、给出服务S1与服务S2输出相似度Simoutput的计算方法;第四步、计算服务S1与服务S2的功能相似性FunctionalSim(S1,S2);第五步、对用户设定的QoS属性进行权重计算;第六步、根据第五步构建的成对比较矩阵A和第五步所得的权重向量W验证用户判断的一致性;第七步、通过QoS评分与功能相似度加权计算得出服务的综合评分结果。本发明考虑角度更为全面、有效性较好。

Description

一种基于OWL-S的Web服务综合评分计算方法
技术领域
本发明涉及Web服务匹配领域,具体涉及一种基于OWL-S的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服务的演化相比传统软件演化将面临更多的挑战。
Web服务匹配是服务演化的一个重要环节,而Web服务匹配的关键步骤在于如何选择最满足用户需求的服务。因此许多研究学者对此问题做出大量的研究,浙江大学的邝砾等人针对语义本体相似度计算速度慢及服务发现问题单一性等问题,提出了基于倒排索引优化的语义服务发现机制,该机制对服务库中的候选服务参数进行标注建树,从而快速、准确、高效地发现目标服务。中国科学院软件研究所的邱田等人将Web服务匹配过程看作是描述服务不同属性间的细粒度匹配过程。安徽师范大学的张佩云等人采用遗传算法的方法将服务发现应用于已有任务流程不同阶段的服务选择上,其本质是一种与供应链问题类似的粗粒度匹配。
发明内容
为了克服现有Web服务评价方式的考虑角度不全面、有效性较差的问题,本发明提出一种考虑角度更为全面、有效性较好的基于OWL-S的Web服务综合评分计算方法,采用一种基于本体的OWL-S扩展,将非功能性描述(QoS)添加到Web服务描述中,使得服务的考虑角度更为全面。此外,为方便服务使用者根据自身偏好确定QoS权重,方法引入了一种基于层次分析法(AHP)的机制,可以用来解决复杂的决策问题。最后,方法通过QoS评分与功能相似度加权计算得出服务的综合评分。综合评分最高的服务可作为满足当前节点需求的最佳服务。
为了解决上述技术问题本发明所采用的技术方案是:
一种基于OWL-S的Web服务综合评分计算方法,所述Web服务综合评分计算方法包括以下步骤:
第一步、计算领域本体中两个概念A和B之间的语义相似度;
第二步、结合第一步的概念相似度计算方法,给出服务S1与服务S2输入相似度Siminput的计算方法;
第三步、结合第一步的概念相似度计算方法,给出服务S1与服务S2输出相似度Simoutput的计算方法;
第四步、结合第二步与第三步求得的服务输入相似度Siminput与服务输出相似度SimOutput计算服务S1与服务S2的功能相似性FunctionalSim(S1,S2),计算公式如下:
FunctionalSim(S1,S2)=w1×Siminput+w2×SimOutput,其中权重w1和w2是0和1之间的实数值并且总和为1,它们表示服务消费者对输入相似性和输出相似性认定的重要性;
第五步、对用户设定的QoS属性进行权重计算,这里结合层次分析法AHP的机制,构建一个成对比较的判断矩阵,其中每个元素通过预定义分数对其他每个元素进行评分,所述分数从1到9,表示它们的相对重要性,该1-9的标度方法符合人们进行判断时的心理习惯,表1给出了相应的绝对数标度;
表1
QoS属性权重计算的步骤如下:
步骤(5.1)确定AHP方法要使用的指标,进行步骤(5.2);
步骤(5.2)建立基于用户偏好的n阶成对比较矩阵A[n][n],进行步骤(5.3);
步骤(5.3)基于成对比较矩阵A计算每个QoS属性的重要性权重;
第六步、根据第五步构建的成对比较矩阵A和第五步所得的权重向量W验证用户判断的一致性,在AHP方法中,如果相应的一致性比率CR小于0.1,则认为用户判断具有满意的一致性,否则需要主观进行修正,直到满足一致性要求;
第七步、通过QoS评分与功能相似度加权计算得出服务的综合评分结果。
进一步,所述第七步中,基于Web服务描述语言OWL-S,采用四元组来表示语义服务描述:WS=<N,D,I,O>,其中:
N代表服务的名称,D代表服务的文本描述,两者构成服务的基本属性;
服务的功能属性包括I和O,分别表示服务WS的输入和输出接口参数的属性,每个接口都是一组参数集合,I={i1,…,im},元素i1,…,im代表领域本体中服务WS的输入参数所对应的语义概念;O是服务的输出集合,O={o1,…,on},元素o1,…,on代表领域本体中服务WS的输出参数所对应的语义概念;
使用一组服务参数(ServiceParameter),包含名称(serviceParameterName)和参数值(sParameter);将OWL-S和QoS本体连接后,QoSProperty成为OWL-S ServiceParameter的子类,qosPropertyName和qProperty分别为OWL-S serviceParameterName和sParameter属性的子属性;
每个QoS属性(QoSProperty)是由字符串形式的名称(qosPropertyName)和一组特征(QoSCharacterisitic)来定义的,描述如下:
Value:代表QoS属性的值,对于服务提供者,它代表所提供服务的一种QoS属性;但对于服务消费者,它表示QoS属性的阈值;
Type:该特征用于区分两种类型的QoS:
收益型benefit,在这种情况下,用户指定的QoS属性值表示要考虑的最小值。
成本型cost,在这种情况下,用户指定的QoS属性值表示要考虑的最大值。
Unit:QoS属性的度量单位;
Weight:QoS权重,用于指定QoS属性的重要性;
Confidence:表示用户对其偏好的置信度;
服务综合评分的计算方法的步骤如下:
步骤(7.1)结合第五步与第六步的计算方法对用户确定的QoS权重进行一致性验证,若所得的一致性比率CR小于0.1,则进行步骤(7.2),否则反馈QoS权重需用户重新修订的结果,计算结束;
步骤(7.2)建立服务综合得分的向量compScore[Services.size],QoS分数向量qosScore[Services.size]以及记录标准化QoS值的QoSMtx矩阵,其中Services.size表示服务集合的服务数量,QoSMtx中的行表示候选Web服务,列表示QoS属性,进行步骤(7.3);
步骤(7.3)遍历服务集合Services,若遍历完成,则计算结束,否则取出服务集合Services的下一个服务Si,进行步骤(7.4);
步骤(7.4)遍历服务Si的中的QoS属性集合Si.qosProperties,若遍历完成,则进行步骤(7.7),否则从Si.qosProperties中取出下一个属性Si.Pj,进行步骤(7.5);
步骤(7.5)由于每个QoS属性值的度量区间各不相同,需要将QoS值归一化,使得取值范围在0到1之间,以确保每个QoS属性采用相同的跨度来评估。因此需要计算QoS属性Si.Pj的归一化值nv(pij),并将此值赋给QoSMtx[i][j];
步骤(7.6)若属性Si.Pj满足用户定义的QoS约束QoSConstraints,则计算属性Si.Pj的QoS得分,qosScore[i]再对QoS得分进行累加记录,整个过程的计算公式如下所示:
qosScore[i]+=(QoSMtx[i][j]×QoSConstraint[j].Weight)
其中,QoSConstraint[j].Weight表示用户对属性Si.Pj定义的权重,返回步骤(7.4),否则直接返回步骤(7.4);
步骤(7.7)结合第四步的功能相似性计算方法求出当前服务需求Sneed与服务Si的功能相似性FunctionalSim(Si,Sneed),再结合步骤(7.6)所得的QoS得分qosScore[i]对服务Si综合得分进行加权计算,并把最后结果赋给compScore[i],计算公式如下:
compScore[i]=w1*FunctionalSim(Si,Sneed)+w2*qosScore[i]
其中w1,w2并分别表示功能相似度权重与QoS评分权重,返回步骤(7.3)。
再进一步,所述步骤(7.5)中,计算步骤如下:
步骤(7.5.1)若属性Si.Pj为收益型属性时,进行步骤(7.5.2),若属性Si.Pj为成本型属性时,则进行步骤(7.5.3);
步骤(7.5.2)nv(pij)的计算公式如下:
其中,v(pij)表示服务Si在属性Si.Pj的原始取值,v(pj)max表示服务集合Services每个服务中与Si.Pj属于同一属性的最大值,v(pj)min表示服务集合Services每个服务中与Si.Pj属于同一属性的最小值,进行步骤(7.6);
步骤(7.5.3)nv(pij)的计算公式如下:
进行步骤(7.6)。
更进一步,所述第一步中,计算领域本体中两个概念A和B之间的语义相似度的过程如下:
步骤(1.1)若概念A和B是相同的或者它们被声明为equivalent classes,则概念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。
所述步骤(1.4)的步骤如下:
步骤(1.4.1)设变量i表示概念A与概念B中属性相同的个数并置初始值为0,进行步骤(1.4.2);
步骤(1.4.2)若概念A的属性集合prop(A)遍历完成,则进行步骤(1.4.7),否则从prop(A)取出下一个prop(A)j并将其从prop(A)中移除,进行步骤(1.4.3);
步骤(1.4.3)若概念B的属性集合prop(B)遍历完成,则返回步骤(1.4.2),否则从prop(B)取出下一个prop(B)k并将其从prop(B)中移除,进行步骤(1.4.4);
步骤(1.4.4)基于朴素贝叶斯模型,结合WorkNet英语词典,通过ComputeFeature函数对prop(A)j与prop(B)k的属性名称进行特征提取进而得出L(prop(A)j,prop(B)k)和D(prop(A)j,prop(B)k),其过程如下:
计算每个属性名称的单词语义,由于每个单词对应一个或多个语义,那么每一单词对也就对应一个或多个语义对,将与单词对相应的所有语义对中距离最短的语义节点距离定义为该单词对距离L(prop(A)j,prop(B)k),并将语义节点距离最短的语义对深度定义为单词对深度D(prop(A)j,prop(B)k),已知属性名称prop(A)j存在于语义节点vj1,vj2,…,vjn的同义词组中,属性名称prop(B)k存在于语义节点vk1,vk2,…vkm的同义词组中,那么prop(A)j与prop(B)k的距离计算公式与深度计算公式如下:
其中L(vja,vkb)表示语义节点vja与语义节点vkb的距离,D(vja,vkb)表示语义对(vja,vkb)的深度;
进一步,依据朴素贝叶斯模型的训练集生成均值函数LW(i)和DW(o),再利用均值函数LW(i)和DW(o)计算条件概率分布列P(L(prop(A)j,prop(B)k)|C)和P(D(prop(A)j,prop(B)k)|C),其中C为单词类别分类,其值域为{U,N},其中U代表“一致”,N代表“不一致”,最后计算调整因子α和β,计算公式如下:
之后转入步骤(1.4.5);
步骤(1.4.5)基于朴素贝叶斯模型,将本体概念属性的特征L(prop(A)j,prop(B)k)和D(prop(A)j,prop(B)k)注入到步骤(1.4.4)所得的条件概率分布列中,并依次提取条件概率V1=P(L(prop(A)j,prop(B)k)=i|C=U),V2=P(D(prop(A)j,prop(B)k)=o|C=U),V3=P(L(prop(A)j,prop(B)k)=i|C=N)与V4=P(D(prop(A)j,prop(B)k)=o|C=N),最后结合步骤(1.4.4)中的调整因子α和β来计算prop(A)j与prop(B)k之间的相似度Simword,计算公式如下:
Simword(prop(A)j,prop(B)k)=(αV1×V2)/(αV1×V2+βV3×V4),进行步骤(1.4.6);
步骤(1.4.6)若Simword大于或等于相似判定因子η,则prop(A)j与prop(B)k为同一属性并将变量i加1,返回步骤(1.4.2),否则返回步骤(1.4.3);
步骤(1.4.7)计算概念A,B的相似度Simconcept,计算公式如下:
其中i表示概念A与概念B中属性相同的个数,prop(A)与prop(B)分别表示概念A与概念B的属性集合,Size(prop(B))与Size(prop(A))分别表示概念B和概念A的属性个数,进行步骤(1.5)。
所述第二步中,服务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);
步骤(3.8)计算服务S1与服务S2输出相似度SimOutput,计算公式如下:
其中Size(Slong.Output)与Size(Sshort.Output)分别表示服务Slong的输出参数个数与服务Sshort的输出参数个数,|d|表示两个服务的输出参数数量差值,OutSim为输出参数的相似度最大匹配数组。
本发明的有益效果是,通过采用一种基于本体的OWL-S扩展,将非功能性描述(QoS)添加到Web服务描述中,使得服务的考虑角度更为全面。此外,本发明通过QoS评分与功能相似度加权计算得出服务的综合评分。服务器程序可以由此选出综合评分最高的服务作为满足当前节点需求的最佳服务。
附图说明
图1示出了支持QoS的OWL-S扩展图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1,一种基于OWL-S的Web服务综合评分计算方法,服务综合评分计算需要通过QoS评分与功能相似度(功能相似性度量的结果)加权计算得出,其中功能相似性度量考虑服务间输入和输出的领域本体概念,输入(输出)之间的匹配主要指与输入(输出)相关的概念的匹配。为了计算两个概念A和B的相似性,需要考虑领域本体中两个概念之间的关系。
领域本体是描述指定领域知识的一种专门本体,这里的“领域”是根据本体构建者的需求来确立的,它可以是一个学科领域,可以是某几个领域的一种结合,也可以是一个领域中的一个小范围。若领域本体中两个概念具有不同的名字但拥有相同的个体集合,则它们被称为等价类(equivalent classes)。
所述Web服务综合评分计算方法包括以下步骤:
第一步、计算领域本体中两个概念A和B之间的语义相似度,具体过程如下:
步骤(1.1)若概念A和B是相同的或者它们被声明为equivalent classes,则概念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.4.1)设变量i表示概念A与概念B中属性相同的个数并置初始值为0,进行步骤(1.4.2);
步骤(1.4.2)若概念A的属性集合prop(A)遍历完成,则进行步骤(1.4.7),否则从prop(A)取出下一个prop(A)j并将其从prop(A)中移除,进行步骤(1.4.3);
步骤(1.4.3)若概念B的属性集合prop(B)遍历完成,则返回步骤(1.4.2),否则从prop(B)取出下一个prop(B)k并将其从prop(B)中移除,进行步骤(1.4.4);
步骤(1.4.4)基于朴素贝叶斯模型,结合WorkNet英语词典,通过ComputeFeature函数对prop(A)j与prop(B)k的属性名称进行特征提取进而得出L(prop(A)j,prop(B)k)和D(prop(A)j,prop(B)k)。其中朴素贝叶斯模型是最为广泛的两种分类模型之一,WorkNet是由普林斯顿大学认识科学实验室在心理学教授米勒的指导下建立和维护的英语词典。具体计算过程如下:
计算每个属性名称的单词语义,由于每个单词对应一个或多个语义,那么每一单词对也就对应一个或多个语义对。将与单词对相应的所有语义对中距离最短的语义节点距离定义为该单词对距离L(prop(A)j,prop(B)k),并将语义节点距离最短的语义对深度定义为单词对深度D(prop(A)j,prop(B)k),已知属性名称prop(A)j存在于语义节点vj1,vj2,…,vjn的同义词组中,属性名称prop(B)k存在于语义节点vk1,vk2,…vkm的同义词组中,那么prop(A)j与prop(B)k的距离计算公式与深度计算公式如下:
其中L(vja,vkb)表示语义节点vja与语义节点vkb的距离,D(vja,vkb)表示语义对(vja,vkb)的深度。
进一步,依据朴素贝叶斯模型的训练集生成均值函数LW(i)和DW(o),再利用均值函数LW(i)和DW(o)计算条件概率分布列P(L(prop(A)j,prop(B)k)|C)和P(D(prop(A)j,prop(B)k)|C),其中C为单词类别分类,其值域为{U,N},其中U代表“一致”,N代表“不一致”。最后计算调整因子α和β,计算公式如下:
之后转入步骤(1.4.5);
步骤(1.4.5)基于朴素贝叶斯模型,将本体概念属性的特征L(prop(A)j,prop(B)k)和D(prop(A)j,prop(B)k)注入到步骤(1.4.4)所得的条件概率分布列中,并依次提取条件概率V1=P(L(prop(A)j,prop(B)k)=i|C=U),V2=P(D(prop(A)j,prop(B)k)=o|C=U),V3=P(L(prop(A)j,prop(B)k)=i|C=N)与V4=P(D(prop(A)j,prop(B)k)=o|C=N)。最后结合步骤(1.4.4)中的调整因子α和β来计算prop(A)j与prop(B)k之间的相似度Simword,计算公式如下:
Simword(prop(A)j,prop(B)k)=(αV1×V2)/(αV1×V2+βV3×V4),进行步骤(1.4.6);
步骤(1.4.6)若Simword大于或等于相似判定因子η,则prop(A)j与prop(B)k为同一属性并将变量i加1,返回步骤(1.4.2),否则返回步骤(1.4.3);
步骤(1.4.7)计算概念A,B的相似度Simconcept,计算公式如下:
其中i表示概念A与概念B中属性相同的个数,prop(A)与prop(B)分别表示概念A与概念B的属性集合,Size(prop(B))与Size(prop(A))分别表示概念B和概念A的属性个数,进行步骤(1.5);
步骤(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);
步骤(3.8)计算服务S1与服务S2输出相似度SimOutput,计算公式如下:
其中Size(Slong.Output)与Size(Sshort.Output)分别表示服务Slong的输出参数个数与服务Sshort的输出参数个数,|d|表示两个服务的输出参数数量差值,OutSim为输出参数的相似度最大匹配数组;
第四步、结合第二步与第三步求得的服务输入相似度Siminput与服务输出相似度SimOutput计算服务S1与服务S2的功能相似性FunctionalSim(S1,S2),计算公式如下:
FunctionalSim(S1,S2)=w1×Siminput+w2×SimOutput,其中权重w1和w2是0和1之间的实数值并且总和为1。它们表示服务消费者对输入相似性和输出相似性认定的重要性。默认情况下,w1和w2均设置为0.5。
第五步、对用户设定的QoS属性进行权重计算,这里结合层次分析法(AHP)的机制,层次分析法是将与决策总是有关的元素分解成目标、准则、方案等层次,在此基础之上进行定性和定量分析的决策方法。构建一个成对比较的判断矩阵,其中每个元素通过预定义分数对其他每个元素进行评分,所述分数从1到9,表示它们的相对重要性。该1-9的标度方法符合人们进行判断时的心理习惯,表1给出了相应的绝对数标度。
表1
QoS属性权重计算的具体步骤如下:
步骤(5.1)确定AHP方法要使用的指标(由用户指定),进行步骤(5.2);
步骤(5.2)建立基于用户偏好的n阶成对比较矩阵A[n][n],进行步骤(5.3);
步骤(5.3)基于成对比较矩阵A计算每个QoS属性的重要性权重,具体计算步骤如下:
步骤(5.3.1)建立记录每个QoS属性的重要性权重的向量W[n]和临时向量M[n]与临时矩阵P[n][n],进行步骤(5.3.2);
步骤(5.3.2)设立临时变量j,并设初始值0,进行步骤(5.3.3);
步骤(5.3.3)若j小于n进行步骤(5.3.4),否则进行步骤(5.3.5);
步骤(5.3.4)将矩阵A第j列之和并赋给M[j],再将j加1的值赋给j,返回步骤(5.3.3);
步骤(5.3.5)设立临时变量k,l,并设初始值0,进行步骤(5.3.6);
步骤(5.3.6)若k小于n,则进行步骤(5.3.7),否则进行步骤(5.3.9);
步骤(5.3.7)若l小于n,则进行步骤(5.3.8),否则将k加1的值赋给k,返回步骤(5.3.6);
步骤(5.3.8)将A[l][k]除以M[k]所得的值赋给P[l][k],再将l加1的值赋给l,返回步骤(5.3.7);
步骤(5.3.9)设立临时变量m,并设初始值0,进行步骤(5.3.10);
步骤(5.3.10)若m小于n,则进行步骤(5.3.11),否则进行步骤(5.3.12);
步骤(5.3.11)将矩阵P的第m行之和赋给W[m],再将m加1的值赋给m,返回步骤(5.3.10);
步骤(5.3.12)设立临时变量i,并设初始值0,进行步骤(5.3.13);
步骤(5.3.13)若i小于n,则进行步骤(5.3.14),否则计算结束;
步骤(5.3.14)将W[i]除以n所得的值再重新赋给W[i],再将i加1的值赋给i,返回步骤(5.3.13);
第六步、根据第五步构建的成对比较矩阵A和第五步所得的权重向量W验证用户判断的一致性。在AHP方法中,如果相应的一致性比率CR小于0.1,则认为用户判断具有满意的一致性,否则需要主观进行修正,直到满足一致性要求。CR需将CI值除以平均随机一致性指标RI来获得,具体计算步骤如下:
步骤(6.1)建立临时向量M[n]与临时矩阵P[n][n],设立变量CI表示一致性指数,λmax表示向量M中值最大的元素,进行步骤(6.2);
步骤(6.2)设立临时变量i,j,并设初始值0,进行步骤(6.3);
步骤(6.3)若j小于n,则进行步骤(6.4),否则进行步骤(6.6);
步骤(6.4)若i小于n,则进行步骤(6.5),否则将i加1的值赋给i,再返回步骤(6.3);
步骤(6.5)将A[i][j]乘以W[j]所得的值赋给P[i][j],再将j加1的值赋给j,返回步骤(6.4);
步骤(6.6)设立临时变量k,并设初始值0,进行步骤(6.7);
步骤(6.7)若k小于n,则进行步骤(6.8),否则进行步骤(6.9);
步骤(6.8)将矩阵P的第k行之和赋给M[k],再将k加1的值赋给k,返回步骤(6.7);
步骤(6.9)设立临时变量l,并设初始值0,进行步骤(6.10);
步骤(6.10)若l小于n,则进行步骤(6.11),否则进行步骤(6.12);
步骤(6.11)将M[l]除以W[l]所得的值赋给M[l],再将l加1的值赋给l,返回步骤(6.10);
步骤(6.12)将向量M中值最大的元素赋给λmax,进行步骤(6.13);
步骤(6.13)根据公式CI=(λmax-n)/(n-1)计算出一致性指标,进行步骤(6.14);
步骤(6.14)将CI值除以相应的平均随机一致性指标RI来获得一致性比率CR,若CR小于0.1,则认为用户判断具有满意的一致性,否则认为用户判断不具有满意的一致性;
为进一步理解第五步与第六步的步骤,这里结合实例对第五步与第六步的主要步骤进行描述,描述内容如下:
(1)确定该方法要使用的指标。作为示例,本发明选择四个QoS属性作为指标,即:响应时间、执行价格、可靠性和可用性。
(2)建立基于用户偏好的成对比较矩阵。由于示例中有四个QoS属性,因此矩阵将包含16个元素,表2所描述的矩阵代表了用户在两两成对比较中的相应判断。
表2
(3)结合第五步的计算步骤,计算每个QoS属性权重。不同n值对应的RI取值由表3给出,n为QoS属性的个数。
表3
在本例中n=4,所以按照第五步的计算步骤可以得出每个QoS属性权重(如表4)。
表4
(4)最后结合第六步的计算步骤,验证用户判断的一致性。计算得出以下结果:λmax=4.203,CI=0.068,CR=0.075。CR值小于0.1,因此权重被接受,用户判断具有满意的一致性。
第七步、通过QoS评分与功能相似度加权计算得出服务的综合评分结果。
在介绍服务综合评分计算方法之前,这里先介绍本发明提出的基于本体的OWL-S扩展,即将非功能性描述(QoS)添加到Web服务描述中。
OWL-S(原DAML-S)全称为Ontology Web Language for Services,它是基于OWL(Web Ontology Language)的Web服务本体描述语言,使用一整套描述机制来对Web服务进行语义描述,并且生成的描述文件能够被计算机理解并处理。
OWL-S包括三个基本组件:
(1)Service Profile描述服务做什么,基本属性包括服务名称(serviceName)、文本描述(textDescription)等;功能属性则包括输入信息(hasInput)、输出信息(hasOutput)、前提条件(hasPrecondition)和预期效果(hasEffect)四个部分。
(2)Service Model描述服务如何工作,OWL-S把每一个服务看作一个过程(Process),并将其分为三类:原子过程(Atomic Process)、简单过程(Simple Process)和组合过程(Composite Process)。原子过程没有子过程,可以直接调用;简单过程不能直接调用,也没有对应的Service Grounding说明文件;组合过程由多个子过程通过一定的控制结构组合而成,在OWL-S中,每一个过程本体,均可通过IOPE来进行语义描述。
(3)Service Grounding描述服务的调用信息,OWL-S利用WSDL作为ServiceGrounding机制的基础,定义特定的消息格式,将输入信息、输出信息、服务地址等封装起来。
基于Web服务描述语言OWL-S,本发明构造如下所示的语义服务描述模型。
本发明采用四元组来表示语义服务描述:WS=<N,D,I,O>,其中:
N代表服务的名称(Name),D代表服务的文本描述(Description),两者构成服务的基本属性;
服务的功能属性包括I和O,分别表示服务WS的输入(Input)和输出(Output)接口参数的属性,每个接口都是一组参数集合,I={i1,…,im},元素i1,…,im代表领域本体中服务WS的输入参数所对应的语义概念;O是服务的输出集合,O={o1,…,on},元素o1,…,on代表领域本体中服务WS的输出参数所对应的语义概念。
图1展示了新的Service Profile模型。图中虚线箭头(subClassOf)表示子类与父类的继承关系,实线箭头(hasProperty)表示属性的隶属关系,在OWL-S Service Profile中,本发明使用了一组服务参数(ServiceParameter),包含名称(serviceParameterName)和参数值(sParameter),其中,Thing表示参数值(sParameter)的具体内容,&xsd;#string表示类型为字符串类型的属性,&process;#Input和&process;#Output分别表示服务的输入信息内容与输出信息内容。将OWL-S和QoS本体连接后,QoSProperty成为OWL-SServiceParameter的子类,qosPropertyName和qProperty分别为OWL-SserviceParameterName和sParameter属性的子属性。
每个QoS属性(QoSProperty)是由字符串形式的名称(qosPropertyName)和一组特征(QoSCharacterisitic)来定义的,描述如下:
Value:代表QoS属性的值。对于服务提供者,它代表所提供服务的一种QoS属性;但对于服务消费者,它表示QoS属性的阈值。
Type:该特征用于区分两种类型的QoS:
收益型benefit(例如:可靠性,质量随着属性值的增加而提高)。在这种情况下,用户指定的QoS属性值表示要考虑的最小值。
成本型cost(例如:响应时间,质量随着属性值的增加而降低)。在这种情况下,用户指定的QoS属性值表示要考虑的最大值。
Unit:QoS属性的度量单位(例如:元,秒)。
Weight:QoS权重,用于指定QoS属性的重要性。
Confidence:表示用户对其偏好的置信度。
其中Weight与Confidence是QoSCharacterisitic子类RequesterQoS的两个属性,RequesterQoS表示服务请求方的QoS设置,而QoSCharacterisitic另一个子类ProviderQoS表示服务提供方的QoS设置。
接下来将介绍服务综合评分的计算方法,具体步骤如下:
步骤(7.1)结合第五步与第六步的计算方法对用户确定的QoS权重进行一致性验证,若所得的一致性比率CR小于0.1,则进行步骤(7.2),否则反馈QoS权重需用户重新修订的结果,计算结束;
步骤(7.2)建立服务综合得分的向量compScore[Services.size],QoS分数向量qosScore[Services.size]以及记录标准化QoS值的QoSMtx矩阵,其中Services.size表示服务集合的服务数量,QoSMtx中的行表示候选Web服务,列表示QoS属性,进行步骤(7.3)。
步骤(7.3)遍历服务集合Services,若遍历完成,则计算结束,否则取出服务集合Services的下一个服务Si,进行步骤(7.4);
步骤(7.4)遍历服务Si的中的QoS属性集合Si.qosProperties,若遍历完成,则进行步骤(7.7),否则从Si.qosProperties中取出下一个属性Si.Pj,进行步骤(7.5);
步骤(7.5)由于每个QoS属性值的度量区间各不相同,需要将QoS值归一化,使得取值范围在0到1之间,以确保每个QoS属性采用相同的跨度来评估。因此需要计算QoS属性Si.Pj的归一化值nv(pij),并将此值赋给QoSMtx[i][j],具体计算步骤如下:
步骤(7.5.1)若属性Si.Pj为收益型属性时,进行步骤(7.5.2),若属性Si.Pj为成本型属性时,则进行步骤(7.5.3);
步骤(7.5.2)nv(pij)的计算公式如下:
其中,v(pij)表示服务Si在属性Si.Pj的原始取值,v(pj)max表示服务集合Services每个服务中与Si.Pj属于同一属性的最大值,v(pj)min表示服务集合Services每个服务中与Si.Pj属于同一属性的最小值,进行步骤(7.6);
步骤(7.5.3)nv(pij)的计算公式如下:
进行步骤(7.6);
步骤(7.6)若属性Si.Pj满足用户定义的QoS约束QoSConstraints,则计算属性Si.Pj的QoS得分,qosScore[i]再对QoS得分进行累加记录,整个过程的计算公式如下所示:
qosScore[i]+=(QoSMtx[i][j]×QoSConstraint[j].Weight)
其中,QoSConstraint[j].Weight表示用户对属性Si.Pj定义的权重,返回步骤(7.4),否则直接返回步骤(7.4);
步骤(7.7)结合第四步的功能相似性计算方法求出当前服务需求Sneed与服务Si的功能相似性FunctionalSim(Si,Sneed),再结合步骤(7.6)所得的QoS得分qosScore[i]对服务Si综合得分进行加权计算,并把最后结果赋给compScore[i],计算公式如下:
compScore[i]=w1*FunctionalSim(Si,Sneed)+w2*qosScore[i]
其中w1,w2并分别表示功能相似度权重与QoS评分权重,返回步骤(7.3)。

Claims (6)

1.一种基于OWL-S的Web服务综合评分计算方法,其特征在于,所述Web服务综合评分计算方法包括以下步骤:
第一步、计算领域本体中两个概念A和B之间的语义相似度;
第二步、结合第一步的概念相似度计算方法,给出服务S1与服务S2输入相似度Siminput的计算方法;
第三步、结合第一步的概念相似度计算方法,给出服务S1与服务S2输出相似度Simoutput的计算方法;
第四步、结合第二步与第三步求得的服务输入相似度Siminput与服务输出相似度Simoutput计算服务S1与服务S2的功能相似性FunctionalSim(S1,S2),计算公式如下:
FunctionalSim(S1,S2)=w1×Siminput+w2×Simoutput,其中权重w1和w2是0和1之间的实数值并且总和为1,它们表示服务消费者对输入相似性和输出相似性认定的重要性;
第五步、对用户设定的QoS属性进行权重计算,这里结合层次分析法AHP的机制,构建一个成对比较的判断矩阵,其中每个元素通过预定义分数对其他每个元素进行评分,所述分数从1到9,表示它们的相对重要性,该1-9的标度方法符合人们进行判断时的心理习惯,表1给出了相应的绝对数标度;
表1
QoS属性权重计算的步骤如下:
步骤(5.1)确定AHP方法要使用的指标,进行步骤(5.2);
步骤(5.2)建立基于用户偏好的n阶成对比较矩阵A[n][n],进行步骤(5.3);
步骤(5.3)基于成对比较矩阵A计算每个QoS属性的重要性权重;
第六步、根据第五步构建的成对比较矩阵A和第五步所得的权重向量W验证用户判断的一致性,在AHP方法中,如果相应的一致性比率CR小于0.1,则认为用户判断具有满意的一致性,否则需要主观进行修正,直到满足一致性要求;
第七步、通过QoS评分与功能相似度加权计算得出服务的综合评分结果;
所述第七步中,基于Web服务描述语言OWL-S,采用四元组来表示语义服务描述:WS=<N,D,I,O>,其中:
N代表服务的名称,D代表服务的文本描述,两者构成服务的基本属性;
服务的功能属性包括I和O,分别表示服务WS的输入和输出接口参数的属性,每个接口都是一组参数集合,I={i1,…,im},元素i1,…,im代表领域本体中服务WS的输入参数所对应的语义概念;O是服务的输出集合,O={o1,…,on},元素o1,…,on代表领域本体中服务WS的输出参数所对应的语义概念;
使用一组服务参数,包含名称和参数值;将OWL-S和QoS本体连接后,QoSProperty成为OWL-S ServiceParameter的子类,qosPropertyName和qProperty分别为OWL-SserviceParameterName和sParameter属性的子属性;
每个QoS属性是由字符串形式的名称和一组特征来定义的,描述如下:
Value:代表QoS属性的值,对于服务提供者,它代表所提供服务的一种QoS属性;但对于服务消费者,它表示QoS属性的阈值;
Type:该特征用于区分两种类型的QoS:
收益型benefit,在这种情况下,用户指定的QoS属性值表示要考虑的最小值;
成本型cost,在这种情况下,用户指定的QoS属性值表示要考虑的最大值;Unit:QoS属性的度量单位;
Weight:QoS权重,用于指定QoS属性的重要性;
Confidence:表示用户对其偏好的置信度;
服务综合评分的计算方法的步骤如下:
步骤(7.1)结合第五步与第六步的计算方法对用户确定的QoS权重进行一致性验证,若所得的一致性比率CR小于0.1,则进行步骤(7.2),否则反馈QoS权重需用户重新修订的结果,计算结束;
步骤(7.2)建立服务综合得分的向量compScore[Services.size],QoS分数向量qosScore[Services.size]以及记录标准化QoS值的QoSMtx矩阵,其中Services.size表示服务集合的服务数量,QoSMtx中的行表示候选Web服务,列表示QoS属性,进行步骤(7.3);
步骤(7.3)遍历服务集合Services,若遍历完成,则计算结束,否则取出服务集合Services的下一个服务Si,进行步骤(7.4);
步骤(7.4)遍历服务Si的中的QoS属性集合Si.qosProperties,若遍历完成,则进行步骤(7.7),否则从Si.qosProperties中取出下一个属性Si.Pj,进行步骤(7.5);
步骤(7.5)由于每个QoS属性值的度量区间各不相同,需要将QoS值归一化,使得取值范围在0到1之间,以确保每个QoS属性采用相同的跨度来评估;因此需要计算QoS属性Si.Pj的归一化值nv(pij),并将此值赋给QoSMtx[i][j];
步骤(7.6)若属性Si.Pj满足用户定义的QoS约束QoSConstraints,则计算属性Si.Pj的QoS得分,qosScore[i]再对QoS得分进行累加记录,整个过程的计算公式如下所示:
qosScore[i]+=(QoSMtx[i][j]×QoSConstraint[j].Weight)
其中,QoSConstraint[j].Weight表示用户对属性Si.Pj定义的权重,返回步骤(7.4),否则直接返回步骤(7.4);
步骤(7.7)结合第四步的功能相似性计算方法求出当前服务需求Sneed与服务Si的功能相似性FunctionalSim(Si,Sneed),再结合步骤(7.6)所得的QoS得分qosScore[i]对服务Si综合得分进行加权计算,并把最后结果赋给compScore[i],计算公式如下:
compScore[i]=w1*FunctionalSim(Si,Sneed)+w2*qosScore[i]
其中w1,w2并分别表示功能相似度权重与QoS评分权重,返回步骤(7.3)。
2.如权利要求1所述的基于OWL-S的Web服务综合评分计算方法,其特征在于,所述步骤(7.5)中,计算步骤如下:
步骤(7.5.1)若属性Si.Pj为收益型属性时,进行步骤(7.5.2),若属性Si.Pj为成本型属性时,则进行步骤(7.5.3);
步骤(7.5.2)nv(pij)的计算公式如下:
其中,v(pij)表示服务Si在属性Si.Pj的原始取值,vmax(pj)表示服务集合Services每个服务中与Si.Pj属于同一属性的最大值,vmin(pj)表示服务集合Services每个服务中与Si.Pj属于同一属性的最小值,进行步骤(7.6);
步骤(7.5.3)nv(pij)的计算公式如下:
进行步骤(7.6)。
3.如权利要求1或2所述的基于OWL-S的Web服务综合评分计算方法,其特征在于,所述第一步中,计算领域本体中两个概念A和B之间的语义相似度的过程如下:
步骤(1.1)若概念A和B是相同的或者它们被声明为equivalent classes,则概念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。
4.如权利要求3所述的基于OWL-S的Web服务综合评分计算方法,其特征在于,所述步骤(1.4)的步骤如下:
步骤(1.4.1)设变量i表示概念A与概念B中属性相同的个数并置初始值为0,进行步骤(1.4.2);
步骤(1.4.2)若概念A的属性集合prop(A)遍历完成,则进行步骤(1.4.7),否则从prop(A)取出下一个prop(A)j并将其从prop(A)中移除,进行步骤(1.4.3);
步骤(1.4.3)若概念B的属性集合prop(B)遍历完成,则返回步骤(1.4.2),否则从prop(B)取出下一个prop(B)k并将其从prop(B)中移除,进行步骤(1.4.4);
步骤(1.4.4)基于朴素贝叶斯模型,结合WorkNet英语词典,通过ComputeFeature函数对prop(A)j与prop(B)k的属性名称进行特征提取进而得出L(prop(A)j,prop(B)k)和D(prop(A)j,prop(B)k),其过程如下:
计算每个属性名称的单词语义,由于每个单词对应一个或多个语义,那么每一单词对也就对应一个或多个语义对,将与单词对相应的所有语义对中距离最短的语义节点距离定义为该单词对距离L(prop(A)j,prop(B)k),并将语义节点距离最短的语义对深度定义为单词对深度D(prop(A)j,prop(B)k),已知属性名称prop(A)j存在于语义节点vj1,vj2,…,vjn的同义词组中,属性名称prop(B)k存在于语义节点vk1,vk2,…vkm的同义词组中,那么prop(A)j与prop(B)k的距离计算公式与深度计算公式如下:
其中L(vja,vkb)表示语义节点vja与语义节点vkb的距离,D(vja,vkb)表示语义对(vja,vkb)的深度;
进一步,依据朴素贝叶斯模型的训练集生成均值函数LW(i)和DW(o),再利用均值函数LW(i)和DW(o)计算条件概率分布列P(L(prop(A)j,prop(B)k)|C)和P(D(prop(A)j,prop(B)k)|C),其中C为单词类别分类,其值域为{U,N},其中U代表“一致”,N代表“不一致”,最后计算调整因子α和β,计算公式如下:
之后转入步骤(1.4.5);
步骤(1.4.5)基于朴素贝叶斯模型,将本体概念属性的特征L(prop(A)j,prop(B)k)和D(prop(A)j,prop(B)k)注入到步骤(1.4.4)所得的条件概率分布列中,并依次提取条件概率V1=P(L(prop(A)j,prop(B)k)=i|C=U),V2=P(D(prop(A)j,prop(B)k)=o|C=U),V3=P(L(prop(A)j,prop(B)k)=i|C=N)与V4=P(D(prop(A)j,prop(B)k)=o|C=N),最后结合步骤(1.4.4)中的调整因子α和β来计算prop(A)j与prop(B)k之间的相似度Simword,计算公式如下:
Simword(prop(A)j,prop(B)k)=(αV1×V2)/(αV1×V2+βV3×V4),进行步骤(1.4.6);
步骤(1.4.6)若Simword大于或等于相似判定因子η,则prop(A)j与prop(B)k为同一属性并将变量i加1,返回步骤(1.4.2),否则返回步骤(1.4.3);
步骤(1.4.7)计算概念A,B的相似度Simconcept,计算公式如下:
其中i表示概念A与概念B中属性相同的个数,prop(A)与prop(B)分别表示概念A与概念B的属性集合,Size(prop(B))与Size(prop(A))分别表示概念B和概念A的属性个数,进行步骤(1.5)。
5.如权利要求1或2所述的基于OWL-S的Web服务综合评分计算方法,其特征在于,所述第二步中,服务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为输入参数的相似度最大匹配数组。
6.如权利要求1或2所述的基于OWL-S的Web服务综合评分计算方法,其特征在于,所述第三步中,服务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);
步骤(3.8)计算服务S1与服务S2输出相似度Simoutput,计算公式如下:
其中Size(Slong.Output)与Size(Sshort.Output)分别表示服务Slong的输出参数个数与服务Sshort的输出参数个数,|d|表示两个服务的输出参数数量差值,OutSim为输出参数的相似度最大匹配数组。
CN201810939278.3A 2018-08-17 2018-08-17 一种基于OWL-S的Web服务综合评分计算方法 Active CN109255124B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810939278.3A CN109255124B (zh) 2018-08-17 2018-08-17 一种基于OWL-S的Web服务综合评分计算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810939278.3A CN109255124B (zh) 2018-08-17 2018-08-17 一种基于OWL-S的Web服务综合评分计算方法

Publications (2)

Publication Number Publication Date
CN109255124A CN109255124A (zh) 2019-01-22
CN109255124B true CN109255124B (zh) 2023-11-17

Family

ID=65049933

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810939278.3A Active CN109255124B (zh) 2018-08-17 2018-08-17 一种基于OWL-S的Web服务综合评分计算方法

Country Status (1)

Country Link
CN (1) CN109255124B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112329877A (zh) * 2020-11-16 2021-02-05 山西三友和智慧信息技术股份有限公司 一种基于投票机制的web服务分类方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101398852A (zh) * 2008-10-16 2009-04-01 北京邮电大学 语义Web服务匹配方法及系统
CN103955461A (zh) * 2014-03-06 2014-07-30 苏州鸿然信息科技有限公司 一种基于本体集合概念相似度的语义匹配方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101398852A (zh) * 2008-10-16 2009-04-01 北京邮电大学 语义Web服务匹配方法及系统
CN103955461A (zh) * 2014-03-06 2014-07-30 苏州鸿然信息科技有限公司 一种基于本体集合概念相似度的语义匹配方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于本体的QoS及业务应用研究;李红;《中国优秀硕士学会论文数据库》;20110515;第35-49页 *

Also Published As

Publication number Publication date
CN109255124A (zh) 2019-01-22

Similar Documents

Publication Publication Date Title
Qi et al. Finding all you need: web APIs recommendation in web of things through keywords search
US11481456B2 (en) Model and pattern structure online unital learning: mapsoul
Yan et al. Building task-oriented dialogue systems for online shopping
CN109284086B (zh) 面向需求自适应的Web服务动态演化方法
CN110704743B (zh) 一种基于知识图谱的语义搜索方法及装置
CN108717408B (zh) 一种敏感词实时监控方法、电子设备、存储介质及系统
JP5921536B2 (ja) コンピュータ化エージェントのシステムとユーザ指図セマンティックネットワーキング
WO2021135562A1 (zh) 特征有效性评估方法、装置、电子设备及存储介质
CN109255125B (zh) 一种基于改进DBSCAN算法的Web服务聚类方法
CN107808278A (zh) 一种基于稀疏自编码器的Github开源项目推荐方法
Kang et al. Neural and attentional factorization machine-based web api recommendation for mashup development
CN110245310B (zh) 一种对象的行为分析方法、装置及存储介质
Zou et al. Deepwsc: Clustering web services via integrating service composability into deep semantic features
JP2023530370A (ja) 注意メカニズムを融合したパーソナライズド検索方法及び検索システム
CN110717090A (zh) 一种旅游景点网络口碑评价方法、系统及电子设备
CN112215629B (zh) 基于构造对抗样本的多目标广告生成系统及其方法
CN115114409A (zh) 一种基于软参数共享的民航不安全事件联合抽取方法
CN109255124B (zh) 一种基于OWL-S的Web服务综合评分计算方法
CN116823410B (zh) 数据处理方法、对象处理方法、推荐方法及计算设备
Zhao et al. Online distance learning precision service technology based on big data analysis
CN116956183A (zh) 多媒体资源推荐方法、模型训练方法、装置及存储介质
CN116957128A (zh) 业务指标预测方法、装置、设备和存储介质
CN116956931A (zh) 语义识别模型的训练方法和装置、存储介质及电子设备
Lu et al. A service composition evolution method that combines deep clustering and a service requirement context model
CN109359289B (zh) 一种基于本体的Web服务功能相似性度量方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20231023

Address after: 518000 Satellite Building 1001, No. 61 Gaoxin South 9th Road, Gaoxin Community, Gaoxin District, Yuehai Street, Nanshan District, Shenzhen, Guangdong Province

Applicant after: Shenzhen Car Owner Cloud Technology Co.,Ltd.

Address before: No. B3-29, Fenghuo Hardware Building Materials and Plumbing Market, Baishazhou Avenue, Hongshan District, Wuhan City, Hubei Province, 430000

Applicant before: Wuhan Pengzhou Technology Co.,Ltd.

Effective date of registration: 20231023

Address after: No. B3-29, Fenghuo Hardware Building Materials and Plumbing Market, Baishazhou Avenue, Hongshan District, Wuhan City, Hubei Province, 430000

Applicant after: Wuhan Pengzhou Technology Co.,Ltd.

Address before: The city Zhaohui six districts Chao Wang Road Hangzhou City, Zhejiang province 310014 18

Applicant before: JIANG University OF TECHNOLOGY

GR01 Patent grant
GR01 Patent grant