CN101398852A - 语义Web服务匹配方法及系统 - Google Patents
语义Web服务匹配方法及系统 Download PDFInfo
- Publication number
- CN101398852A CN101398852A CNA2008102241172A CN200810224117A CN101398852A CN 101398852 A CN101398852 A CN 101398852A CN A2008102241172 A CNA2008102241172 A CN A2008102241172A CN 200810224117 A CN200810224117 A CN 200810224117A CN 101398852 A CN101398852 A CN 101398852A
- Authority
- CN
- China
- Prior art keywords
- similarity
- matching
- service
- notion
- output
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种语义WEB服务的匹配方法及系统。本发明基于请求和候选服务之间的相似度,综合考虑功能及非功能性的因素,并引入分阶段过滤机制。本发明采用的单概念语义匹配算法全面考虑了深度、继承关系和二元关系,使本体关系结构构成了图结构,而不是树形结构,在基于图计算语义距离时,处理了多继承问题和环的问题。本发明采用的多概念语义匹配算法引入了重复匹配的处理。在输入、输出匹配中,考虑了参数个数的问题,采用分三个等级计算相似度的方法,使得匹配更有效率,本发明还考虑了用户偏好及服务质量的因素,使得匹配的准确率和响应效率进一步提高。
Description
技术领域
本发明涉及语义Web服务(Semantic Web Service,SWS)领域,尤其涉及一种语义Web服务的匹配方法及系统。
背景技术
现有技术中,进行Web服务的语义匹配的方法主要有以下几种:
方法一:文献[1,2,3,4,5]根据请求与服务的输入输出匹配情况使用OWL-S(Ontology Web Language for Services)将服务匹配程度分为四种:精确匹配、插入匹配、包含匹配和不匹配。服务请求和待选的服务之间的匹配取决于它们所有的输出和输入之间的匹配。每个输出或者输入之间的匹配又取决于它们的概念之间的包含关系。该方法查准率和效率都很高,但同一等级内的服务匹配程度无法进行更细致的区分。
方法二:文献[6]将Web服务匹配问题转换为获取请求(概念的析取)的最佳覆盖(Best Cover)问题,即给定一个请求和知识库,要找到作为请求的最佳覆盖的服务集合,这个集合中的每个服务描述都包含与请求尽可能多的公有信息和尽可能少的多余信息。他们首先形式化定义了描述逻辑中的概念差异,并以此为基础定义了概念之间的相对的多余(Rest)和缺失(Miss),接着又指出概念的覆盖就是指知识库中任何与该概念共享一些公有信息的任意概念的析取的集合。从而概念的最佳覆盖就是相对于此概念具有最小多余和最小缺失的一个覆盖。最后提出了一个基于超图的算法来有效地计算最佳覆盖,并且通过计算超图横截的代价来量化相似度。该算法能有效地在服务描述和请求之间进行灵活匹配,但是由于最佳覆盖大多数情况下是一些服务的集合,因此很多时候得到的匹配服务是多个,也不能提供更精确的区分。
方法三:文献[7,8]提出了一种高精度的服务匹配算法,它使用过程模型来捕捉服务的语义,使用模式匹配算法来查找满足请求的服务。该方法认为提高服务匹配的精度的关键是能够捕捉服务和请求的足够的语义信息,而过程模型则能很好地提供了这种信息的描述,因此匹配的第一步是服务提供者必须把服务建模成过程模型,然后使用过程查询语言来进行检索。这种方法大大提高了服务匹配的精度,但是它严重地依赖于所建的过程模型,如果建模方式不同或者所建的过程模型不够准确,那么该方法的缺点是显而易见的。
方法四:文献[9]中提出一种基于逻辑推理和内容检索的混合服务匹配算法。但文献[13]中认为纯粹的基于对加注的语义信息进行逻辑推理是不够的,因为它不能有效利用隐藏的语义信息。
方法五:文献[10,11,12]中,把服务匹配分为两个阶段。第一阶段,先根据请求的服务的功能性需求(服务做什么、它的输入输出、前提及结果)进行匹配。这个阶段确保了返回的服务能够满足请求的基本需求。第二阶段,为当前请求任务确定最适合的服务,这基于非功能性需求,比如第一阶段返回的服务的QoS。第二阶段在过程联合和服务发现领域是一个重要的研究方向,因为动态绑定和调用是一种更加优越的方法。为了实现第二阶段,该方法定义了QoS本体。使用OWL-S描述和QoS本体描述进行服务匹配。该匹配方法综合考虑了服务的功能性和非功能性需求,但是仍然是基于四个匹配等级的区分,因此同样存在区分度不够精确的问题。
方法六:文献[13]的服务匹配算法比较灵活,提供了多种匹配策略,并考虑了服务质量与服务效率的平衡。采用了语义距离的机制来实现近似服务匹配。尽管使用WordNet等工具可以更方便地计算概念之间的语义距离(WordNet是一种基于认知语言学的英语词典),但因为语义距离仍然需要人工建立,工作量大、主观因素和不确定性因素很重,所以服务匹配算法的实用性和可靠性都有一定的局限性。
方法七:文献[14]提出了一种基于语义相似度的服务匹配方法。两个OWL对象的相似度使用它们共有的信息量来度量,这样,通过计算OWL-S Profile,Process Model和Grounding的相似度就可以匹配服务请求。这种方法的优点是匹配的精度高,但算法描述过于理想化,不易于实现,计算服务请求和候选服务的相似度时使用Process Model和Grounding也没有太大的意义,因为用户请求并不需要用Process Model和Grounding来匹配。
以下为参考文献列表:
[1]Massimo Paolucci and Katia Sycara."Autonomous Semantic Web Services,"IEEE Internet Computing,Vol.7,October20 03,pages34-41
[2]D.Martin,M.Paolucci and S.Mcllraith."Bring Semantics to Web Services:The OWL-S Approach,"InProc of the International Workshop on Semantic Web Services and Web Process Composition(SWSWPC2 004),July6-9,2004
[3]Massimo Paolucci,Takahiro Kawamura,Terry R.Payne,et al."Semantic Matching of Web ServicesCapabilities,"ISWC2002,2002
[4]Sheila A.Mcllraith and David L.Martin."Bringing Semantics to Web Services,"IEEE IntelligentSystems,January/February 2003
[5]Sivashanmugam K.,Verma K.,Sheth A.,et al."Adding Semantics to Web Services Standards,"TheInternational Conference on Web Services,2003.
[6]Boualem Benatallah,Mohand-Said Hacid,Alain Leger,et al."On Automating Web Service Discovery",The VLDB Journal,Vol.4,Issue 1(March2 005),pages84-96
[7]Mark Klein and Abraham Bemstern."Toward High-Precision Service Retrieval,"In Proceedings of theFirst International Semantic Web Conference on The Semantic Web,2002.
[8]Mark Klein and Abraham Bemstem."Searching for Services on the Semantic Web Using ProcessOntologies,”.www.ifi.unizh.ch/ddis/staf/goehring/btw/files/SWWSFinal.pdf
[9]Mathias Klusch,Benedikt Fries,Mahboob Khalid,et al."OWLS-MX:Hybrid OWL-S ServiceMatchmaking,"http://www.dfki.de/Eklusch/owls-mx/owismx-aaai.pdf
[10]ChenZhou,Liang-Tien Chia and Bu-Sung Lee."Semantics in Service Discovery and QoSMeasurement,"IT Professional,Vol.7,No.2.(2005),pages29-34
[11]ChenZhou,Liang-Tien Chia and Bu-Sung Lee."Service Discovery and Measurement based onDAM L-QoS Ontology,"http://citeseer.ist.psu.edu/730652.html
[12]ChenZhou,Liang-Tien Chia and Bu-Sung Lee."DAML-QoS Ontology for Web Services,"http://www.ntu.edu.sg/home5/pg04878518/Articles/icws04_235_Chen_Z.pdf
[13]Katia Sycara,WidofS,Klusch M,et al."LARKS:Dynamic Matchmaking among HeterogeneousSoftware Agents in Cyberspace,"Autonomous Agents and Multi-Agent Systems,Vol.5(2002),pp.173-203.
[14]Jefrey Hau,William Lee and John Darlington."A Semantic Similarity Measure for Semantic WebServices,".
http://www.ai.sri.com/WSS2005/final-versions/WSS2005-Hau-Final.pdf
[15]张钋,基于语义的网络服务匹配机制的研究与实现,清华大学,2005.12
[16]Prasanna Ganesan,Hector Garcia-Molina,and Jennifer Windom,“Exploiting HierarchicalDomain Structure to Compute Similarity”,ACM Transactions on Information Systems,Vol.21,No.1,January2003,pages64-93。
[17]薛春刚,双锴,基于多层次QoS模型的语义Web服务选择方法,中国科技论文在线,December2007。
发明内容
有鉴于此,本发明的目的之一是提供一种语义Web的服务匹配方法,解决现有技术中对同级内的服务匹配程度无法进行更细致区分,以及服务匹配的查准率和查全率不高等技术问题,为实现发明目的,本发明采用如下的技术方案:
一种语义Web服务匹配方法,包括如下步骤:
A、采用单概念语义匹配算法,对请求的服务类型和候选服务的服务类型进行匹配,从而获得服务类型相似度;
B、采用多概念语义匹配算法,对所述请求的输出集合和候选服务的输出集合进行匹配,从而获得输出相似度;
C、采用多概念语义匹配算法,对所述请求的输入集合和候选服务的输入集合进行匹配,从而获得输入相似度;
D、综合量化分析各步骤所得相似度,从而获得综合相似度;
E、按优先级顺序,依据排序规则对各候选服务进行排序,输出相似度最高的候选服务。
基于上述技术方案,更进一步地,所述单概念语义匹配算法包括如下步骤:
A1、为本体概念之间的关系分配权重;
A2、对本体图中的每一个概念节点,保存其到根节点的所有路径,以及每条路径上节点间的关系权重,生成节点路径表;
A3、根据所述节点路径表计算语义距离;
A4、构造相似度函数,基于所述语义距离计算概念节点间的相似度。
更进一步地,所述多概念语义匹配算法采用改进的平衡家谱策略算法,通过调用单概念语义匹配算法获取最优匹配顺序,以及通过调用单概念语义匹配算法计算概念集合间的相似度。
更进一步地,步骤B中,分三个等级对所述请求的输出集合及候选服务的输出集合进行匹配,方法如下:
B1、当请求的输出概念集合中的元素个数与候选服务的输出概念集合中的元素个数相等时,所述输出相似度值不变;
B2、当请求的输出概念集合中的元素个数大于候选服务的输出概念集合中的元素个数时,采用单个阀值参数对所述输出相似度进行调节;
B3、当请求的输出概念集合中的元素个数小于服务的输出概念集合中的元素个数时,采用两个阀值参数对所述输出相似度进行调节。
更进一步地,步骤C中,分三个等级对所述请求的输入集合及候选服务的输入集合进行匹配,方法如下:
B1、当请求的输入概念集合中的元素个数与候选服务的输入概念集合中的元素个数相等时,相似度值不变;
B2、当请求的输入概念集合中的元素个数小于候选服务的输入概念集合中的元素个数时,采用单个阀值参数对所述输入相似度进行调节;
B3、当请求的输入概念集合中的元素个数大于候选服务的输入概念集合中的元素个数时,采用两个阀值参数对所述输入相似度进行调节。
更进一步地,步骤D中,包括对功能角度的综合量化及对非功能角度的综合量化两个部分,功能角度的综合量化包括所述服务类型相似度、所述输出相似度、所述输入相似度;所述非功能角度的综合量化包括服务质量相似度、用户偏好相似度。
更进一步地,步骤D中,通过下式获得所述的综合相似度:
S综=(ωfSF+ωqosSqos)*Spre
其中ωf、ωqos为权值,ωf+ωqos=1,SF为对功能角度的综合量化结果,Sqos为所述服务质量相似度,Spre为所述用户偏好相似度,所述SF由下式获得:
SF=W0*S(SC1,SC2)+W1*S(OR,OA)+W2*S(IA,IR)
其中W0 W1、W2为权值,W0+W1+W2=1,S(SC1,SC2)为所述服务类型相似度,S(OR,OA)为所述输出相似度,S(IA,IR)为所述输入相似度。
更进一步地,步骤E中,依次依据所述综合相似度、所述服务类型相似度、所述输出相似度、所述输入相似度、所述候选服务的输出概念集合中的元素个数与所述请求的输出概念集合中的元素个数之间的差别大小、及所述候选服务的输入集合元素个数与所述请求的输入概念集合中的元素个数之间的差别大小的优先级顺序对候选服务的匹配程度进行排序,输出匹配程度最高的候选服务。
本发明的另一目的是提供一种语义Web的服务匹配系统,为实现发明目的,本发明采用如下的技术方案:
一种语义Web服务匹配系统,包括:
匹配流程控制逻辑模块:用于控制每个阶段的匹配顺序和过滤阈值;
服务类型匹配模块:用于进行请求和候选服务的服务类型匹配;
输出匹配模块:用于进行请求和候选服务的输出匹配;
输入匹配模块:用于进行请求和候选服务的输入匹配;
综合匹配模块:用于进行综合匹配;
排序器:用于对经过服务类型匹配、输出匹配、输入匹配、综合匹配四个匹配阶段筛选出来的服务按照相似度大小进行排序,输出相似度最高的候选服务。
基于上述技术方案,更进一步地,所述系统还包括:
服务质量匹配模块对请求的服务质量与候选服务所能提供的服务质量进行匹配,从而获得服务质量的相似度;
用户偏好匹配模块根据请求所提出的一些特殊需求在候选服务当中进行匹配,从而获得用户偏好的相似度;
所述综合匹配模块除对功能角度的匹配进行综合量化计算外还对所述服务质量的相似度及用户偏好的相似度进行综合量化,从而获得综合相似度。
本发明基于请求和候选服务之间的相似度,综合考虑功能及非功能性的因素,并引入分阶段过滤机制。在服务类型匹配、输入匹配、输出匹配中采用单概念语义匹配算法及多概念语义匹配算法,单概念语义匹配算法全面考虑了深度、继承关系和二元关系,使本体关系结构构成了图结构,而不是树形结构,在基于图计算语义距离时,处理了多继承问题和环的问题。多概念语义匹配算法引入了重复匹配的处理。在输入、输出匹配中,考虑了参数个数的问题,采用分三个等级计算相似度的方法,使得匹配更有效率。本发明匹配方法基于相似度进行严格排序,并引入了分阶段过滤机制,提高了系统的性能。此外,本发明还考虑了用户偏好及服务质量的因素,使得匹配的准确率和响应效率进一步提高。
附图说明
图1为本发明单概念匹配算法示意图;
图2为BGM算法示意图;
图3为本发明匹配系统的逻辑分层示意图;
图4为本发明排序器的处理流程图;
图5为本发明所述匹配系统的逻辑组成结构图;
图6为本发明所述匹配方法的执行流程图;
图7为本发明分阶段过滤Top-k查准率示意图;
图8为本发明分阶段过滤Top-k查全率示意图;
图9为本发明分阶段过滤响应时间示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合附图并举实施例对本发明进一步详细说明。
本发明所述匹配系统在框架层次上可以分为四层,从上至下分别是信息提取层,匹配排序层,基础算法层和本体数据层,如图3所示。
信息提取层的功能是对语义Web语言(Ontology Web Language,OWL)文件进行解析,通过OWL解析器将请求(Request Profile)和候选服务(Service Profile)中的服务类型(Service Category),输入(Input),输出(Output)提取出来,传给匹配层进行下一步处理。OWL解析器可以基于OWL-S API完成解析功能,OWL-S API的数据结构设计和OWL-S本体是一致的,它提供了一个Java编程接口,可以读取OWL-S服务描述。通过调用OWL-S API提供的基础接口,OWL解析器可以提供getServiceCategory();getInputs();getOutputs()等接口,分别返回OWL-S Profile中的服务类型及输入输出本体概念序列。此外,OWL解析器还负责提供本体概念关系的接口,如获取概念的子概念getSubClass(),获取概念属性getProperty()等,基础算法模块将利用这些接口完成相似度的计算。
匹配排序层是匹配系统的核心层,主要包括:服务类型(ServiceCategory)匹配模块、输出(Output)匹配模块、输入(Input)匹配模块、综合匹配模块及排序器五个模块,负责对请求和候选服务的服务类型,输入,输出分别进行相似度计算,并根据这三部分的相似度得出综合相似度,最后进行排序输出相似度最高的候选服务。此外,在考虑非功能匹配的情况下,还包括:Qos匹配模块、用户偏好匹配模块,且综合匹配模块还需对Qos匹配的匹配结果及用户偏好匹配的匹配结果进行综合量化分析。
服务类型匹配模块根据请求和候选服务的服务类型(Service Category),计算服务类型的相似度,输出具体的服务类型相似度值,取值区间为[0,1],该模块调用单概念语义匹配算法模块计算两个概念间的相似度。
输出匹配模块根据请求和服务的输出,计算输出概念集合的相似度,输出具体相似度值,取值区间为[0,1],该模块调用多概念语义匹配算法模块计算概念集合间的相似度。
输入匹配模块根据请求和候选服务的输入概念集合,计算请求的输入和候选服务的输入概念集合之间的相似度,输出具体相似度值,取值区间为[0,1],该模块调用多概念语义匹配算法模块计算概念集合间的相似度。
服务质量匹配模块对请求的服务质量与候选服务所能提供的服务质量进行匹配,从而获得服务质量的相似度。
用户偏好匹配模块根据请求所提出的一些特殊需求在候选服务当中进行匹配,从而获得用户偏好的相似度。
综合匹配模块根据服务类型匹配,输出匹配,输入匹配,服务质量(QoS)匹配、用户偏好匹配所得相似度进行综合量化分析计算后获得综合匹配相似度,取值区间为[0,1]。
排序器负责对经过四个匹配阶段筛选出来的服务按照相似度大小进行排序。首先按照综合相似度排序,如果综合相似度相等,则按照服务类型、输出、输入的优先级顺序对各部分的相似度大小排序,如果四个相似度都相等,则按照输出、输入集合里的元素个数差别大小进行排序,这样能保证输出的服务按相似度严格排序,其逻辑流程如图4所示。
基础算法层为匹配引擎的核心层提供各种基础算法及功能,单概念语义匹配算法模块基于本体间的关系计算两个本体概念的相似度,多概念语义匹配算法模块负责计算两个本体概念集合的相似度,这两个算法模块供上层的各个匹配模块根据待匹配的对象特点被调用。多概念语义匹配算法模块通过调用单概念语义匹配算法模块完成两个概念集合相似度的计算。
本体数据层是主要包括领域本体和分类本体,其中领域本体是指某个行业的专用本体,如旅游本体、医疗本体等;分类本体是对所有服务的类型建立的具有语义关系的分类。本体是语义描述和推理的基础,向OWL推理机提供本体,作为其推断本体概念间关系的依据。
在大量Web服务的网络环境下,如果每个候选服务和用户请求依次进行服务类型,输出,输入的相似度计算,再根据结果排序,则匹配引擎的性能会比较低。实际上很大一部分不符合用户要求,或者是因为候选服务类型和请求的服务类型相差较大,或者输入输出和请求相差较大,在这种情况下,不需要计算综合相似度就可以判断该服务不符合用户的要求。因此可以分阶段对各部分进行相似度计算,每个阶段设置过滤阈值,如果该阶段的相似度没有达到这个阈值,则不进行下一阶段的计算和比较,到综合匹配阶段后,对相似度大于某个值的候选服务再进行排序输出。图5为发明所述匹配系统的逻辑组成结构图,匹配流程控制逻辑模块用于控制每个阶段的匹配顺序和过滤阈值。由于满足服务类别是最基本的要求,且服务类别的匹配是基于单概念语义匹配算法的,其复杂度最低,因此首先进行服务类别(ServiceCategory)的匹配可以较容易地过滤所有类型不相关的候选服务;然后,对于输入输出的过滤顺序,可以认为输出的优先级更高,因为输出代表用户执行服务的目的,而输入是执行服务的数据前提,如果不能满足用户的目的,前提再符合也不匹配,故第二阶段是进行输出相似度的计算并过滤相差较大的服务;之后再对输入进行类似处理,最后计算综合相似度,符合综合相似度阈值的再置入排序器进行排序,输出给用户。
设M1、M2、M3、M4代表各个阶段的过滤阈值,取值范围为[0,1],分别可以取不同的值。M的取值决定了引擎在各个匹配阶段对服务的过滤粒度和性能提高的程度,如果都取1相当于只有完全匹配的服务才会经过四个阶段的相似度计算;如果都为0则相当于没有过滤功能,每个服务都经过了四个阶段的相似度计算,对性能无改善。M的取值越大,过滤的不符合要求的服务越多,参与最终匹配的不相关服务数就越少,越能提供系统效率;但另一方面也会降低查全率,因此可以由用户指定系统的过滤阈值,这样系统将完全按照用户的期望进行过滤。特别地,如果用户不要求精确匹配且不指定过滤值,则可以取大于0.5且小于0.8的数值比较合适,既能过滤很大一批不相关的候选服务,也能保证和用户请求具有一定相关性的候选服务能进入下一阶段的匹配。
图6为本发明所述Web服务匹配方法的流程图,包括以下步骤:
步骤A、进行服务类型匹配;
该步骤采用本发明的单概念语义匹配算法,对用户请求的服务类型和候选服务所能提供的服务类型进行匹配,从而获得服务类型相似度。
步骤B、进行输出匹配;
该步骤采用本发明的多概念语义匹配算法,对请求的输出概念集合及候选服务的输出概念集合进行相似度的计算。
步骤C、进行输入匹配;
该步骤采用本发明的多概念语义匹配算法,对请求的输入概念集合及候选服务的输入概念集合进行相似度的计算。
步骤D、此步骤对候选服务执行整体匹配,综合量化前述各匹配步骤所得匹配结果,从而获得综合相似度,若需进行非功能方面的匹配,则综合量化过程还需考虑非功能匹配所得匹配结果。
若考虑非功能匹配,则该步骤分为以下两个步骤:
步骤D1、进行非功能匹配;
从非功能的角度对候选服务进行进一步的匹配过滤,采用的匹配包括服务质量QoS匹配和用户偏好匹配。
步骤D2、进行服务整体匹配;
该步骤从功能角度及非功能角度综合量化且评价用户请求和各个候选服务之间的相似程度。
步骤E、对匹配的候选服务根据相似度大小进行排序输出。
以下,对上述步骤中所用到的匹配方法及算法进行详细描述,
(一)单概念语义匹配算法
单概念语义匹配算法是本发明的核心算法,此算法是基于带权重的图来计算两个概念(节点)之间的距离,并通过相似度函数计算语义相似度的,其中处理了图中可能出现的环的问题。
整个算法分为以下几个处理步骤:
(1)分配权重:为概念之间的关系分配权重。
(2)生成节点路径表:记录每一个节点到根节点的所有路径。
(3)计算语义距离:根据节点路径表计算语义距离。语义距离指的是基于继承关系和属性关系来计算概念的加权关系长度,有多条路径时取最小值。
(4)计算相似度:构造相似度函数,基于语义距离计算概念间的相似度。
为了表述清楚,本发明做如下约定:
(1)定义概念c1和c2之间的语义距离为distance(c1,c2)。
(2)两个概念c1和c2之间的继承关系用sub(c1,c2)表示,代表c1是c2的子概念;属性关系用prop(c1,c2)表示;代表c1具有属性c2。
(3)关系r包括继承关系sub和属性关系prop。
(4)节点路径表中的记录表示为path(c1,c2....cn),其中cn为根节点。
(5)如果在概念c1或者c2的路由表中两个概念相邻,则概念c1和c2存在直接路径关系。
(6)如果在概念c1或者c2的路由表中两个概念存在路径相连,且不相邻,则c1和c2存在间接路径关系。
1、权重分配
本体概念之间具有两种关系,其中继承关系指的是概念之间的父子关系,属性关系指概念A和B之间存在某种属性关联。两个本体概念通过继承关系和属性关系关联起来。
此算法是将权重分配在两个概念c1和c2之间的关系上,也即本体图中的“边”。权重分配原则满足概念之间的语义距离随着深度的增加而减小,且属性关系要比继承关系的语义距离小。
继承关系权重:
属性关系权重:
其中m是个调节系数,用于控制属性关系的权重值,暂取2。dep(c)表示概念的深度,规定根概念的深度为0,其它概念的深度等于它到根节点的路径长度,这个路径只考虑继承关系的路径。f(dep(c))是以dep(c)为自变量的增函数。采用不同函数得到的结果差别只在于相似度的数值,而对整体的相似度的趋势没有影响。实际应用在中具体使用哪个函数与本体图中节点的平均深度有关。在图1所示的本体图中,其平均深度为4,本算法以函数f(dep(c))取kdep(c)为例,取k=2,图1给出了在这种本体图中的权重分配值。
对于某个概念节点拥有多个父节点的多继承情况,由于该概念节点的深度有多个值,因此该概念节点和其子节点之间的继承关系将具有多个权重,如图1中的概念E。由于概念节点的深度取决于该节点所在继承关系位于的具体路径,因此权重不能只用继承关系两端的节点来唯一标识,而必须以该节点到根节点的整条路径来标识,这条路径称为权重路径。
2、生成节点路径表
对本体图的每一个节点,保存其到根节点的所有路径,以及每条路径上节点间的关系权重,可以直接计算并比较两个节点之间的路径长度以得出最短的语义距离,而不需要在每次计算前都对整个本体图进行遍历推理,可以提高算法性能。
每个节点的路径表由若干条路径记录组成,每条记录包括节点路径和权重两部分,其中节点路径是从该节点到根节点的路径,权重是该条路径上两两节点之间的权重,如图1所示。
3、计算语义距离
根据图1的节点路径表,对于任意两点之间的语义距离,可以通过字符串匹配并进行直接加和得到,如果有多条路径取最小值。
节点路径表由节点路径和权重两部分组成,节点路径是从该节点到根节点的路径,权重是该条路径上两两节点的权重(见图1)。该路由表的构建方法如下:从根节点起,自上而下,子节点的路由表的路径部分为其父节点的路径加上本节点构成,权重部分为其父节点的路径权重列表加上该节点和父节点之间的权重构成。
在图1中,以节点F为例,F的邻接节点有C、D和G,因此F到根节点A的路径表可以根据这三个节点分别的路径表生成。其中F,D和D,A之间都是继承关系,其权重分别为1.5和2,所以这条路径可以表示为{(F,D,A)(1.5,2)};而F,C之间是属性关系,C,A之间是继承关系,其权重分别为3和2,所以第二条路径可以表示为{(F,C,A)(3,2)}。由此可以得到F的记录分别是:{(F,C,A)(3,2)};{(F,D,A)(1.5,2)};{(F,G,A)(3,2)}。由于C的其它两条路径是经过F的,所以为冗余路径,可以不加入F的路径表。在此基础上计算每条路径的加权关系链长度时,只需取出路径中两点之间的权重加起来即可。如(F,D,A)的关系链长度为1.5+2=3.5。
对于多继承的情况,由于具有多条权重路径和多个权重值,需要将节点路径和权重路径进行前缀匹配,取和节点路径最为匹配的权重路径对应的权重值。以H节点为例,其W[sub(H,E)]的权重路径为:(H,E,C,A),对应的权重1.25;(H,E,F,D,A),对应的权重为1.125。因此对于路径(H,E,C,F,D,A),通过前缀匹配(H,E,C,A)更加匹配,所以取W[sub(H,E)]=1.25,从而路径(H,E,C,F,D,A)的权重部分应该是(1.25,1.5.3.1.5,2)。同样可以得到,路径(H,E,F,C,A)的权重部分应该是(1.125,1.25,3,2)。
c1,c2之间的语义距离Dis(c1,c2)的计算方法如下:
步骤1、查看c1和c2是否是同一个概念。
如果是,则Dis(c1,c2)=0;
如果否,转入步骤2。
步骤2、查看c1和c2之间是否存在直接路由关系。
如果是,在c1/c2的路由表中它们应该是相邻的,则:
Dis(c1,c2)=min{W[r(c1,c2)],W[r(c2,c1]};
如果否,转入步骤3。
步骤3、查看c1和c2之间是否存在间接的路由关系。
如果是,在c1/c2的路由表中它们应该同时出现在某些路径path(c1,cm...,cm+i,c2)中,记:
Dis1(c1,c2)=sum{W[r(c1,cm)]+...+W[r(cm+i,c2)]},
如果c1,c2之间有多条路径,则取权值和最小的路径对:
Dis(c1,c2)=min{Dis1(c1,c2),Dis2(c1,c2)};
如果否,转入步骤4。
步骤4、c1和c2之间不存在间接的路由关系,语义距离等于概念c1和c2分别到根节点的最短路径,也即:
Dis(c1,c2)=min{Dis(c1,cn)}+min{Dis(c2,cn)}。
例1:计算节点H和D之间的语义距离distance(H,D)
满足算法的第三种情况,H到D存在两条间接的路径关系{(H,E,C,F,D,A)(1.25,1.5,2.5,1.5,2)};{(H,E,F,D,A)(1.125,1.25,1.5,2)},因此有:
Dis1(H,D)=sum(1.25+1.5+2.5+1.5)=6.75;
Dis2(H,D)=sum(1.125+1.25+1.5)=3.875;
故Dis(H,D)=min{Dis1,Dis2}=Dis1=3.875;
例2:计算节点B和E之间的语义距离Dis(B,E)
满足第四种情况,
Dis(B,E)=min{Dis(B,A)}+min{Dis(E,A)}=2+(2+1.5)=5.5
4、计算相似度
得到两个概念之间的语义距离之后,需要构造合理的相似度函数,将语义距离转化成相似度。考虑下降速率的要求,本发明构造的相似度函数采用公式:
SF=1/(factor*distance+1)(factor<1)
此公式满足了相似度函数需要满足的几个特性:
当语义距离为0时相似度为1,即当两个概念相同时相似度为1;
此函数随语义距离的增加而减小,即语义距离大的概念间的相似度小于语义距离小的概念间的相似度;
函数的输出必须保证在[0,1]区间内。
其中factor的取值决定了语义距离影响相似度取值的大小,factor的取值越大,同样距离下得出的相似度就越小。合理的factor取值需要保证在语义距离为1时(即非常相近的两个概念如具有父子关系的概念),相似度在0.5以上。
(二)多概念语义匹配算法
语义Web服务的输入输出有可能是一个集合而不是单个的概念,因此概念集合之间的匹配算法也是研究服务匹配问题的基础。前述参考文献[16]中,在信息检索领域对概念集合之间的匹配算法进行了分析和比较,本文将主要在其基础上进行研究,并针对Web服务领域的特点选取一个较合理的算法进行改进,使其可以直接被应用于Web服务输入输出的匹配。
通过对信息领域的各算法的分析和比较,综合语义Web服务匹配的上述特点,并在考虑了改进的单概念算法之后,多概念的语义匹配算法采取BGM(Balance Genealogy Measure,平衡家谱策略)的改进算法。
BGM算法主要思想是:如果第一棵树中存在多于一个叶子节点和第二棵树中的某个节点是最佳匹配,那么就降低重复匹配的相似度。BGM的参数β取值区间为[0,1],用于控制重复匹配的相似度下降速度。
如图2所示,T1的节点13和T2的匹配值是1,因为T2中有13这个节点;然后,T1的节点14和T2中的13最大匹配,此时T2中节点13第二次匹配,故降低其相似度至0.75β;再次,T1的节点15和T2中的13最大匹配,此时节点13第三次重复匹配,故降低相似度至0.75β2。
可以看出,最终的匹配值和匹配顺序有关,比如匹配顺序如果是14,13,15的话,则匹配值将分别变成0.75,β,0.75β2,比上面的结果要小。为了使得最后得到的是最优匹配值,BGM对T1中的节点采用如下匹配顺序能取到最大相似度,这个顺序称为“最优顺序”:
(1)寻找绝对匹配的叶子节点对。
(2)寻找具有共同父节点的匹配叶子节点对。
(3)寻找具有共同祖父节点的匹配叶子节点对。
如果要计算两个集合C1和C2的相似度,假设它们分别对应的树T1和T2,则BGM算法步骤具体如下:
对于T1中的每个叶子l1,用最优顺序进行访问。
找到l1在T2中的最佳匹配节点l2。如果T2中有多个叶子和l1是最佳匹配,
那么挑选一个被匹配过次数最少的节点作为最佳匹配节点,然后将该节点的匹配次数值增量加1,即count(l2)++;
循环执行上述步骤,直到T1中的每个叶子都被匹配过为止。
定义LCAT1,T2(l1)表示T1中任意元素l1和T2中相似度最高的那个元素的共同最低祖先。depth代表深度,且定义根节点的深度为0,则:
则集合C1和C2的相似度为:
在语义Web服务中,输入输出也是概念的集合,因此可以采用类BGM算法来计算相似度,但是需要进行如下改进:
“最优顺序”的获取,不需要通过推理获得,而是通过调用单概念语义算法一一算得概念间的相似度,按照相似度大小排序再依次取相似的概念;并且公式中的直接采用单概念语义算法计算出来的相似度,而不需要通过共同最低祖先的深度来计算,这样也在多概念算法中引入了属性关系、继承关系甚至是多继承关系对相似度的影响,将概念从叶子节点扩充到整个本体概念树,因为本体图中每个节点都可能参与匹配。
(三)服务类型匹配
记用户请求的服务类型(Service Category)为SCR,服务的服务类型(ServiceCategory)为SCA,记它们之间的相似度为S(SCR,SCA)。按照如下步骤计算相似度。
(1)首先对分类本体的每一个关系分配权重。
继承关系权重为W[sub(c1,c2)]=1/f(dep(c2))
属性关系权重为W[prop(c1,c2)]=m*[1+1/f(dep(c2))]
(2)生成节点路径表。
(3)在路径表的基础上计算语义距离distance(SCR,SCA)。
(4)相似度S(SCR,SCA)=1/[factor*distance(SCR,SCA)+1]。
分配权重和生成节点路径表只需要进行一次,之后可以基于节点路径表计算任意两个分类本体概念之间的距离和相似度。
(四)输出匹配
记请求的输出概念集合为OR,大小为|OR|,服务的输出概念集合为OA,大小为|OA|。服务的输出应该要满足请求的输出,此时匹配是具有方向性的,因此需要计算(OR,OA)的相似度,记为S(OR,OA)。根据类BGM算法计算OR和OA之间的相似度有如下公式:
其中,l2是OR中与l1相似度最高且匹配次数最少的元素;matchcount(l2)记录OR中的元素l2被OA中元素最佳匹配过的次数;S(l1,l2)是l1与l2之间的相似度,采用单概念语义匹配算法计算,β是(0,1)之间的数,用来降低重复匹配的相似度;是OA中的输入概念l1与OR匹配的相似度。
S(OA,OR)的计算考虑到了重复匹配的影响,输出匹配算法还考虑到了用户请求和候选服务中输出参数个数的问题,如果请求的输出参数远小于候选服务输出的参数,认为这个候选服务的输出信息有冗余,但是毕竟满足了用户的需求;而如果请求的输出参数远大于候选服务要求的参数的情况下,认为候选服务无法满足用户的所有需求。因此数目差别对匹配的结果也有一定的影响,所以输出匹配算法采用分三个等级匹配的算法:
(1)当请求的输出概念集合OR中概念个数|OR|与候选服务的输出概念集合OA中的概念个数|OΛ|相等时,即|OR|=|OA|时,输出匹配相似度为:S(OR,OA)
(2)|OR|<|OA|,输出匹配相似度为:β1*S(OR,OA)(0<β1<1)
(3)|OR|>|OA|,输出匹配相似度为:β1*β2*S(OR,OA)(0<β1<β2<1)
β1、β2为用于调节匹配结果的阀值参数一及参数二,由实验情况取经验值。
(五)输入匹配
记请求的输入概念集合为IR,大小为|IR|,候选服务的输入概念集合为IA,大小为|IA|。请求的输入应该要满足候选服务的输入,此时匹配是具有方向性的,因此需要计算(IA,IR)的相似度,记为S(IA,IR)。
根据类BGM算法计算IA和IR之间的相似度有如下公式:
其中,l2是IR中与l1相似度最高且匹配次数最少的元素;matchcount(l2)记录IR中的元素l2被IA中元素最佳匹配过的次数;S(l1,l2)是l1与l2之间的相似度,采用单概念语义匹配算法计算;β是(0,1)之间的数,用来降低重复匹配的相似度;是IA中的输入概念l1与IR匹配的相似度。
S(IA,IR)的计算考虑到了重复匹配的影响,输入匹配算法也考虑到了用户请求和候选服务中输入参数个数的问题,如果请求的输入参数远大于候选服务要求的参数,认为这个候选服务不能很好地反映用户的需求(比如用户输入起始时间,起始机场,返回时间,返回机场,但是某个服务的输入只有时间,另外一个服务输入时间和机场,显然这两个服务对用户的要求满足得不一样);而如果请求的输入参数远小于候选服务要求的参数的情况下,候选服务都不能执行。因此数目差别对匹配的结果也有一定的影响。
因此输入匹配算法采用了分三个等级匹配的算法:
(1)当请求的输入概念集合IR中概念个数|IR|与候选服务的输入概念集合IA中的概念个数|IA|相等时,即|IR|=|IA|时,输入匹配相似度为:S(IA,IR)
(2)当|IR|>|IA|时,输入匹配相似度为:β1*S(IA,IR)(0<β1<1)
(3)当|IR|<|IA|时,输入匹配相似度为:β1*β2*S(IA,IR)(0<β1<β2<1)
β1、β2为用于调节匹配结果的阀值参数一及参数二,由实验情况取经验值。
(六)非功能匹配
(1)服务质量匹配
服务质量(Quality of Service,Qos)匹配采用前述参考文献[17]中的匹配方法,本发明一具体实施例中采用基于多层次QoS计算模型的服务选择方法。多层次QoS计算模型将服务的QoS分为信誉层、通用层和领域层,把信誉层作为服务QoS的基础,强调信誉层属性在服务总体QoS计算中的特殊地位。基于该模型的QoS总体评价方法先利用单个QoS评价方法得出服务各QoS的评价值,然后依据用户、领域的特殊需求对通用QoS和领域QoS以及两层的具体QoS属性区别对待,最后利用信誉层的可信度参数作因子对结果进行调节,计算出服务的总体QoS值,以此为依据进行选择。
(2)用户偏好匹配
用户偏好是指用户提出的一些特殊要求,例如针对服务提供者的某些属性(比如名字,地址等),或针对用户关心的产品的某些属性(比如产品颜色,产品型号等)。本发明一具体实施例中采用采用字符串精确匹配方式,匹配结果为1或者0。
(七)服务整体匹配
从功能角度和非功能角度(包括服务匹配和用户偏好匹配)综合量化且评价用户请求和各个候选服务之间的相似程度。
功能匹配相似度用SF表示,它利用服务类型匹配、输入匹配、输出匹配的匹配结果来综合衡量用户请求和候选服务之间的相似度。
SF=W0*S(SC1,SC2)+W1*S(OR,OA)+W2*S(IA,IR)
其中W0、W1、W2为权值,W0+W1+W2=1,不同的权值代表这三个部分对最后功能相似度的数值的影响程度大小,具体的取值可以根据需要定义,甚至由用户确定。
QoS匹配结果为:Sqos(由外部QoS模块得到)
用户偏好匹配结果:Spre(0或者1)
则综合匹配的匹配结果为:
S综=(ωfSF+ωqosSqos)*Spre
其中ωf、ωqos为权值,ωf+ωqos=1,不同的权值代表这两个部分对最后服务整体相似度的数值的影响程度大小,具体的取值可以根据需要定义。
(八)排序器排序算法流程
当存在多个满足阀值的候选服务时,依次根据用户请求与各候选服务之间的综合相似度、服务类型相似度、输出相似度、输入相似度、用户请求的输出概念集合中元素个数与候选服务的输出概念集合中的元素个数的差别大小、及用户请求的输入概念集合中元素个数与候选服务的输入概念集合中的元素个数的差别大小的优先级顺序对候选服务的匹配程度进行排序,输出匹配程度最高的候选服务。
如图4示例了排序器对两个候选服务进行相似度排序的流程图。对于两个候选服务Profile1和Profile2,依次比较其由上述步骤得到的与用户请求的综合相似度大小、服务类型相似度大小、输出相似度大小、输入相似度大小、输出概念集合元素个数与用户请求的输出概念集合元素个数差别的大小、输入概念集合元素个数与用户请求的输入概念集合元素个数差别的大小。某一步的比较大者表示此候选服务与用户请求的匹配程度较高,然后输出排序结果并跳出排序器,若相等则进入下一步继续比较。当有两个以上的候选服务时,可以采用冒泡排序、快速排序的方法,但排序的基础是对两个候选服务之间的比较。
以下结合具体的实际测试数据来说明本发明的有益效果,
①、单概念算法的优势
本算法与其它基于语义距离的相似度算法相比具有明显的优势,以图1所示的本体为基础,对于概念C和其它概念之间的相似度,与ERD算法(EqualRelation Distance,是指关系链可以包括继承关系以及二元关系,并且认为这两种关系平等,即不考虑权重的语义距离)和GCSM算法(GeneralizedCosine-Similarity Measure,即通用余弦相似度度量)。比较结果如表1所示。
表1 基于语义距离的单概念语义匹配算法比较
由于不存在精确的尺度来衡量两个概念之间绝对的相似度,一方面只能通过领域专家来判断计算结果是否正确,但这种人工对于相似度的判断也只能是模糊的基于经验和直觉的;另一方面计算相似度的目的是为了得出其它概念和某个概念之间的匹配顺序以取得最佳匹配,因此可以结合这两个特点,通过算法得出的匹配顺序和领域专家给出的匹配顺序的差异来考察相似度算法的合理性。
对表1中各算法的相似度进行排序,并与领域专家给出的匹配顺序进行比较,得到表2。
表2 各算法得出的匹配顺序
以领域专家的匹配顺序为参考,如果某个概念集合在参考顺序和算法得出的顺序不同,则记录顺序相差的大小,累加后除以集合数目的两倍,便可以得到算法得出的匹配顺序与参考顺序的差异,有Dist(GCSM)=0.75;Dist(ERD)=0.6875;Dist(本论文算法)=0.1875,可以看出本论文提出的算法精确度最高。
②、多概念算法的优势
以图1所示的本体为基础,对于待匹配概念集合{C,D,G},任意选取几个其它的概念集合如{C,D,G},{E,F,G},{C,E,G},{B,H},{C,D},{E,H},{C,D,G,H}。通过传统算法中的Dice Coefft’s算法、第一代算法中的OGM算法、以及本论文提出的改进BGM算法(β=0.9)得出的相似度值如表3所示,与领域专家给出的匹配顺序进行比较得到表4。
表3 {C,D,G}与其它集合的相似度
表4 各算法得出的匹配顺序
以领域专家的匹配顺序为参考,可以得到Dist(Dice Coefft’s)=0.416;Dist(OGM)=0.167;Dist(改进BGM)=0.083,从差异来看显然改进的BGM算法精确度最高。
③、分阶段过滤机制的优势
根据旅游领域的特点,制订出分类本体,包括17个分类。旅游领域本体,包括110个本体概念,以及概念间复杂的继承关系及属性关系。
根据分类本体构建了共242个OWL-S Profile作为待匹配的服务描述。
在领域本体和分类本体的基础上,4个用户分别输入要求的服务类型、输入、输出对应的本体概念或概念集合,在备选的242个OWL-S Profile中查找和用户请求最为匹配的服务/服务序列。按照如下方案进行测试:
方案A:根据服务类型、输入、输出计算服务的综合相似度,并只按综合相似度进行排序,考察按顺序输出最匹配的三个服务时的性能指标。
方案B:根据服务类型、输入、输出进行阶段相似度计算及过滤(M都取0.6),并进行严格排序,考察按顺序输出最匹配的三个服务时的性能指标。
方案C:根据服务类型、输入、输出进行阶段相似度计算及过滤(M都取0.8),并进行严格排序,考察按顺序输出最匹配的三个服务时的性能指标。
从三个方面进行评估Web服务匹配系统的性能,包括系统响应时间、查全率和Top-k查准率(将分别考察Top-1,Top-2,Top-3查准率)。系统响应时间指从用户提交请求到系统返回匹配的服务序列的时间;查全率是指系统查找出来的相关服务占领域专家给出的结果的比例;Top-k查准率指系统查找出的前k个匹配结果和领域专家给出的前k个结果的重合度。
根据领域专家对候选服务严格排序的结果,三个方案的Top-k查准率如图7所示。方案A在k=1时,其查准率为75%,而方案B和方案C的查准率为100%;在k=2和k=3时,方案A,B,C的查准率都为100%。
虽然方案B和C的过滤机制导致最后参与排序的服务数小于k,但是这两个方案所过滤掉的服务正是不太相关的服务,因此在用户没有强制要求输出匹配服务个数的前提下,可以认为方案B和C的查全率为100%;如果用户强制要求输出匹配服务个数为3,此时方案A的查全率为100%,方案B和C的查全率分别为91.7%和83.3%,如图8所示。
三个方案对用户请求分别的响应时间如图9所示。其中方案A需要最多的响应时间,因为对于每一个备选的Web服务都需要进行服务类型、输入、输出、综合相似度的计算,复杂度最高;对于方案B和方案C,由于都采用了阶段过滤策略,对于不相关的服务不需要计算每个阶段的相似度,因此性能得到了很大的提高。
综合上述测试结果及分析,可以看出,类似于方案B和方案C的基于相似度进行严格排序并分阶段过滤的Web服务匹配机制在提高查准率、降低Web服务匹配的响应时间方面都具有优秀的性能。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (10)
1、一种语义Web服务匹配方法,其特征在于,包括如下步骤:
A、采用单概念语义匹配算法,对请求的服务类型和候选服务的服务类型进行匹配,从而获得服务类型相似度;
B、采用多概念语义匹配算法,对所述请求的输出集合和候选服务的输出集合进行匹配,从而获得输出相似度;
C、采用多概念语义匹配算法,对所述请求的输入集合和候选服务的输入集合进行匹配,从而获得输入相似度;
D、综合量化分析各步骤所得相似度,从而获得综合相似度;
E、按优先级顺序,依据排序规则对各候选服务进行排序,输出相似度最高的候选服务。
2、根据权利要求1所述方法,其特征在于,所述单概念语义匹配算法包括如下步骤:
A1、为本体概念之间的关系分配权重;
A2、对本体图中的每一个概念节点,保存其到根节点的所有路径,以及每条路径上节点间的关系权重,生成节点路径表;
A3、根据所述节点路径表计算语义距离;
A4、构造相似度函数,基于所述语义距离计算概念节点间的相似度。
3、根据权利要求1所述方法,其特征在于,所述多概念语义匹配算法采用改进的平衡家谱策略算法,通过调用单概念语义匹配算法获取最优匹配顺序,以及通过调用单概念语义匹配算法计算概念集合间的相似度。
4、根据权利要求1所述方法,其特征在于,步骤B中,分三个等级对所述请求的输出集合及候选服务的输出集合进行匹配,方法如下:
B1、当请求的输出概念集合中的元素个数与候选服务的输出概念集合中的元素个数相等时,所述输出相似度值不变;
B2、当请求的输出概念集合中的元素个数大于候选服务的输出概念集合中的元素个数时,采用单个阀值参数对所述输出相似度进行调节;
B3、当请求的输出概念集合中的元素个数小于服务的输出概念集合中的元素个数时,采用两个阀值参数对所述输出相似度进行调节。
5、根据权利要求1所述方法,其特征在于,步骤C中,分三个等级对所述请求的输入集合及候选服务的输入集合进行匹配,方法如下:
B1、当请求的输入概念集合中的元素个数与候选服务的输入概念集合中的元素个数相等时,相似度值不变;
B2、当请求的输入概念集合中的元素个数小于候选服务的输入概念集合中的元素个数时,采用单个阀值参数对所述输入相似度进行调节;
B3、当请求的输入概念集合中的元素个数大于候选服务的输入概念集合中的元素个数时,采用两个阀值参数对所述输入相似度进行调节。
6、根据权利要求1所述方法,其特征在于,步骤D中,包括对功能角度的综合量化及对非功能角度的综合量化两个部分,功能角度的综合量化包括所述服务类型相似度、所述输出相似度、所述输入相似度;所述非功能角度的综合量化包括服务质量相似度、用户偏好相似度。
7、根据权利要求6所述方法,其特征在于,步骤D中,通过下式获得所述的综合相似度:
S综=(ωfSF+ωqosSqos)*Spre
其中ωf、ωqos为权值,ωf+ωqos=1,SF为对功能角度的综合量化结果,Sqos为所述服务质量相似度,Spre为所述用户偏好相似度,所述SF由下式获得:
SF=W0*S(SC1,SC2)+W1*S(OR,OA)+W2*S(IA,IR)
其中W0 W1、W2为权值,W0+W1+W2=1,S(SC1,SC2)为所述服务类型相似度,S(OR,OA)为所述输出相似度,S(IA,IR)为所述输入相似度。
8、根据权利要求1所述方法,其特征在于,步骤E中,依次依据所述综合相似度、所述服务类型相似度、所述输出相似度、所述输入相似度、所述候选服务的输出概念集合中的元素个数与所述请求的输出概念集合中的元素个数之间的差别大小、及所述候选服务的输入集合元素个数与所述请求的输入概念集合中的元素个数之间的差别大小的优先级顺序对候选服务的匹配程度进行排序,输出匹配程度最高的候选服务。
9、一种语义Web服务匹配系统,其特征在于,包括:
匹配流程控制逻辑模块:用于控制每个阶段的匹配顺序和过滤阈值;
服务类型匹配模块:用于进行请求和候选服务的服务类型匹配;
输出匹配模块:用于进行请求和候选服务的输出匹配;
输入匹配模块:用于进行请求和候选服务的输入匹配;
综合匹配模块:用于进行综合匹配;
排序器:用于对经过服务类型匹配、输出匹配、输入匹配、综合匹配四个匹配阶段筛选出来的服务按照相似度大小进行排序,输出相似度最高的候选服务。
10、根据权利要求9所述系统,其特征在于,还包括:
服务质量匹配模块对请求的服务质量与候选服务所能提供的服务质量进行匹配,从而获得服务质量的相似度;
用户偏好匹配模块根据请求所提出的一些特殊需求在候选服务当中进行匹配,从而获得用户偏好的相似度;
所述综合匹配模块除对功能角度的匹配进行综合量化计算外还对所述服务质量的相似度及用户偏好的相似度进行综合量化,从而获得综合相似度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102241172A CN101398852B (zh) | 2008-10-16 | 2008-10-16 | 语义Web服务匹配方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102241172A CN101398852B (zh) | 2008-10-16 | 2008-10-16 | 语义Web服务匹配方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101398852A true CN101398852A (zh) | 2009-04-01 |
CN101398852B CN101398852B (zh) | 2010-12-01 |
Family
ID=40517404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102241172A Expired - Fee Related CN101398852B (zh) | 2008-10-16 | 2008-10-16 | 语义Web服务匹配方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101398852B (zh) |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867893A (zh) * | 2010-06-29 | 2010-10-20 | 中兴通讯股份有限公司 | 一种进行增值业务指令处理的方法和业务管理平台设备 |
CN101699444B (zh) * | 2009-10-20 | 2011-08-24 | 武汉大学 | 基于形式概念分析的遥感信息处理服务分类本体构建方法 |
CN102571752A (zh) * | 2011-12-03 | 2012-07-11 | 山东大学 | 基于服务关联索引图的QoS感知Top-k服务组合系统 |
WO2013013379A1 (en) * | 2011-07-25 | 2013-01-31 | Technicolor (China) Technology Co., Ltd. | An enhanced method and apparatus for service description, matching and ranking |
CN103077177A (zh) * | 2012-08-28 | 2013-05-01 | 华南理工大学 | 一种融合专家意见和用户偏好的Web服务模糊QoS选择方法 |
CN103149840A (zh) * | 2013-02-01 | 2013-06-12 | 西北工业大学 | 一种基于动态规划的语义服务组合方法 |
CN103188141A (zh) * | 2011-12-30 | 2013-07-03 | 曾海剑 | 基于位置区域范围的消息接收与传播的方法与系统 |
CN104011765A (zh) * | 2012-04-19 | 2014-08-27 | 株式会社东芝 | 医疗信息检索支援装置以及医疗信息检索支援系统 |
CN104239546A (zh) * | 2014-09-23 | 2014-12-24 | 北京理工大学 | 一种基于场论的本体中概念相似度计算方法 |
CN104732100A (zh) * | 2015-04-03 | 2015-06-24 | 北京航空航天大学 | 一种单向链形式的服务可排序精确属性的匹配度计算方法 |
CN104765763A (zh) * | 2015-02-02 | 2015-07-08 | 中国测绘科学研究院 | 一种基于概念格的异构空间信息服务分类的语义匹配方法 |
CN104809141A (zh) * | 2014-01-29 | 2015-07-29 | 携程计算机技术(上海)有限公司 | 酒店数据的匹配系统及方法 |
CN105119961A (zh) * | 2015-07-14 | 2015-12-02 | 中国传媒大学 | 基于本体的语义Web服务自动组合方法 |
US9576017B2 (en) | 2014-02-03 | 2017-02-21 | Software Ag | Systems and methods for managing graphical model consistency |
US9858043B2 (en) | 2010-12-22 | 2018-01-02 | Software Ag | Service-oriented process configuration systems and/or methods |
CN109063171A (zh) * | 2018-08-20 | 2018-12-21 | 同济大学 | 基于语义的资源匹配方法 |
CN109255124A (zh) * | 2018-08-17 | 2019-01-22 | 浙江工业大学 | 一种基于OWL-S的Web服务综合评分计算方法 |
CN109857846A (zh) * | 2019-01-07 | 2019-06-07 | 阿里巴巴集团控股有限公司 | 用户问句与知识点的匹配方法和装置 |
CN110351335A (zh) * | 2019-06-06 | 2019-10-18 | 国网浙江省电力有限公司衢州供电公司 | 一种云计算用通信效率与服务平衡方法 |
CN110555113A (zh) * | 2019-09-02 | 2019-12-10 | 西北工业大学 | 一种基于描述文本的云服务本体构建方法 |
CN110751404A (zh) * | 2019-10-24 | 2020-02-04 | 云南大学 | 一种支持结构与行为融合的过程模型索引构建与检索方法 |
CN111629053A (zh) * | 2020-05-27 | 2020-09-04 | 深圳市规划国土房产信息中心(深圳市空间地理信息中心) | 一种可信的地理信息服务自适应组合方法及系统 |
CN113469284A (zh) * | 2021-07-26 | 2021-10-01 | 浙江大华技术股份有限公司 | 一种数据分析的方法、装置及存储介质 |
CN114565429A (zh) * | 2022-02-22 | 2022-05-31 | 哈尔滨工程大学 | 一种基于语义图模型的智能供应商匹配方法 |
CN117151431A (zh) * | 2023-10-30 | 2023-12-01 | 四川省致链数字科技有限公司 | 一种木质家具订单任务的自动分发方法及系统 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473695B (zh) * | 2013-09-01 | 2017-06-30 | 山东师范大学 | 一种基于语义网的Web服务发现方法及系统 |
CN106686147A (zh) * | 2017-03-16 | 2017-05-17 | 重庆邮电大学 | 一种基于用户偏好的语义Web服务发现架构及方法 |
-
2008
- 2008-10-16 CN CN2008102241172A patent/CN101398852B/zh not_active Expired - Fee Related
Cited By (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101699444B (zh) * | 2009-10-20 | 2011-08-24 | 武汉大学 | 基于形式概念分析的遥感信息处理服务分类本体构建方法 |
WO2012000393A1 (zh) * | 2010-06-29 | 2012-01-05 | 中兴通讯股份有限公司 | 一种进行增值业务指令处理的方法和业务管理平台设备 |
CN101867893A (zh) * | 2010-06-29 | 2010-10-20 | 中兴通讯股份有限公司 | 一种进行增值业务指令处理的方法和业务管理平台设备 |
CN101867893B (zh) * | 2010-06-29 | 2014-09-10 | 中兴通讯股份有限公司 | 一种进行增值业务指令处理的方法和业务管理平台设备 |
US9858043B2 (en) | 2010-12-22 | 2018-01-02 | Software Ag | Service-oriented process configuration systems and/or methods |
WO2013013379A1 (en) * | 2011-07-25 | 2013-01-31 | Technicolor (China) Technology Co., Ltd. | An enhanced method and apparatus for service description, matching and ranking |
CN102571752A (zh) * | 2011-12-03 | 2012-07-11 | 山东大学 | 基于服务关联索引图的QoS感知Top-k服务组合系统 |
CN103188141A (zh) * | 2011-12-30 | 2013-07-03 | 曾海剑 | 基于位置区域范围的消息接收与传播的方法与系统 |
US10636515B2 (en) | 2012-04-19 | 2020-04-28 | Canon Medical Systems Corporation | Medical or health information search support apparatus and medical or health information search support system |
CN104011765A (zh) * | 2012-04-19 | 2014-08-27 | 株式会社东芝 | 医疗信息检索支援装置以及医疗信息检索支援系统 |
CN103077177A (zh) * | 2012-08-28 | 2013-05-01 | 华南理工大学 | 一种融合专家意见和用户偏好的Web服务模糊QoS选择方法 |
CN103077177B (zh) * | 2012-08-28 | 2016-01-20 | 华南理工大学 | 一种融合专家意见和用户偏好的Web服务模糊QoS选择方法 |
CN103149840B (zh) * | 2013-02-01 | 2015-03-04 | 西北工业大学 | 一种基于动态规划的语义服务组合方法 |
CN103149840A (zh) * | 2013-02-01 | 2013-06-12 | 西北工业大学 | 一种基于动态规划的语义服务组合方法 |
CN104809141A (zh) * | 2014-01-29 | 2015-07-29 | 携程计算机技术(上海)有限公司 | 酒店数据的匹配系统及方法 |
US9576017B2 (en) | 2014-02-03 | 2017-02-21 | Software Ag | Systems and methods for managing graphical model consistency |
CN104239546B (zh) * | 2014-09-23 | 2021-11-23 | 北京理工大学 | 一种基于场论的本体中概念相似度计算方法 |
CN104239546A (zh) * | 2014-09-23 | 2014-12-24 | 北京理工大学 | 一种基于场论的本体中概念相似度计算方法 |
CN104765763A (zh) * | 2015-02-02 | 2015-07-08 | 中国测绘科学研究院 | 一种基于概念格的异构空间信息服务分类的语义匹配方法 |
CN104765763B (zh) * | 2015-02-02 | 2017-12-19 | 中国测绘科学研究院 | 一种基于概念格的异构空间信息服务分类的语义匹配方法 |
CN104732100B (zh) * | 2015-04-03 | 2018-01-23 | 北京航空航天大学 | 一种单向链形式的服务可排序精确属性的匹配度计算方法 |
CN104732100A (zh) * | 2015-04-03 | 2015-06-24 | 北京航空航天大学 | 一种单向链形式的服务可排序精确属性的匹配度计算方法 |
CN105119961B (zh) * | 2015-07-14 | 2019-01-15 | 中国传媒大学 | 基于本体的语义Web服务自动组合方法 |
CN105119961B9 (zh) * | 2015-07-14 | 2019-03-12 | 中国传媒大学 | 基于本体的语义Web服务自动组合方法 |
CN105119961A (zh) * | 2015-07-14 | 2015-12-02 | 中国传媒大学 | 基于本体的语义Web服务自动组合方法 |
CN109255124A (zh) * | 2018-08-17 | 2019-01-22 | 浙江工业大学 | 一种基于OWL-S的Web服务综合评分计算方法 |
CN109255124B (zh) * | 2018-08-17 | 2023-11-17 | 深圳市车主云科技有限责任公司 | 一种基于OWL-S的Web服务综合评分计算方法 |
CN109063171A (zh) * | 2018-08-20 | 2018-12-21 | 同济大学 | 基于语义的资源匹配方法 |
CN109857846A (zh) * | 2019-01-07 | 2019-06-07 | 阿里巴巴集团控股有限公司 | 用户问句与知识点的匹配方法和装置 |
CN109857846B (zh) * | 2019-01-07 | 2023-06-20 | 创新先进技术有限公司 | 用户问句与知识点的匹配方法和装置 |
CN110351335A (zh) * | 2019-06-06 | 2019-10-18 | 国网浙江省电力有限公司衢州供电公司 | 一种云计算用通信效率与服务平衡方法 |
CN110351335B (zh) * | 2019-06-06 | 2021-11-16 | 国网浙江省电力有限公司衢州供电公司 | 一种云计算用通信效率与服务平衡方法 |
CN110555113B (zh) * | 2019-09-02 | 2023-03-24 | 西北工业大学 | 一种基于描述文本的云服务本体构建方法 |
CN110555113A (zh) * | 2019-09-02 | 2019-12-10 | 西北工业大学 | 一种基于描述文本的云服务本体构建方法 |
CN110751404A (zh) * | 2019-10-24 | 2020-02-04 | 云南大学 | 一种支持结构与行为融合的过程模型索引构建与检索方法 |
CN111629053A (zh) * | 2020-05-27 | 2020-09-04 | 深圳市规划国土房产信息中心(深圳市空间地理信息中心) | 一种可信的地理信息服务自适应组合方法及系统 |
CN111629053B (zh) * | 2020-05-27 | 2023-10-20 | 深圳市规划国土房产信息中心(深圳市空间地理信息中心) | 一种可信的地理信息服务自适应组合方法及系统 |
CN113469284A (zh) * | 2021-07-26 | 2021-10-01 | 浙江大华技术股份有限公司 | 一种数据分析的方法、装置及存储介质 |
CN114565429A (zh) * | 2022-02-22 | 2022-05-31 | 哈尔滨工程大学 | 一种基于语义图模型的智能供应商匹配方法 |
CN117151431A (zh) * | 2023-10-30 | 2023-12-01 | 四川省致链数字科技有限公司 | 一种木质家具订单任务的自动分发方法及系统 |
CN117151431B (zh) * | 2023-10-30 | 2024-01-26 | 四川省致链数字科技有限公司 | 一种木质家具订单任务的自动分发方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101398852B (zh) | 2010-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101398852B (zh) | 语义Web服务匹配方法及系统 | |
Ruiz et al. | Hierarchical neural networks for text categorization | |
CN104199822B (zh) | 一种识别搜索对应的需求分类的方法和系统 | |
Mostafa et al. | Automatic classification using supervised learning in a medical document filtering application | |
CN104092744B (zh) | 基于记忆化服务簇映射目录的Web服务发现方法 | |
CN109784722A (zh) | 基于用户偏好的Web服务选择方法及系统 | |
CN109241278A (zh) | 科研知识管理方法及系统 | |
Wang | An extensive study on automated Dewey Decimal Classification | |
Castano et al. | Classifying and reusing conceptual schemas | |
CN109948150A (zh) | 一种多域环境中基于知识图谱的高性能服务语境发现方法 | |
Hass et al. | Business applications for current developments in big data clustering: an overview | |
CN113468291A (zh) | 基于专利网络表示学习的专利自动分类方法 | |
CN105488195A (zh) | 一种基于层次结构子话题的搜索结果多样化排序方法 | |
CN103186650A (zh) | 一种搜索方法和装置 | |
Marinilli et al. | A case-based approach to adaptive information filtering for the WWW | |
Wen et al. | Online transfer learning with multiple decision trees | |
Ashihara et al. | Legal information as a complex network: Improving topic modeling through homophily | |
Wang et al. | Reconstructing DDC for interactive classification | |
Kumar et al. | An approach for documents clustering using K-means algorithm | |
Jo | The implementation of dynamic document organization using the integration of text clustering and text categorization | |
Damiani et al. | Knowledge extraction from an XML data flow: building a taxonomy based on clustering technique | |
Al-Ghanim et al. | Automating XML schema matching: A composite approach | |
Endres et al. | Lifting preferences to the semantic web: PreferenceSPARQL | |
Sorana et al. | Application and evaluation of sentence embedding and clustering methods in the context of concept hierarchy construction | |
Tian et al. | Study on web classification mining method based on fuzzy neural network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101201 Termination date: 20141016 |
|
EXPY | Termination of patent right or utility model |