6.4.3 服务功能匹配
Web服务的功能属性主要包括服务的输入(Input)、输出(Output)、前置条件(Preconditions)和执行效果(Effects),即IOPE。其中,按照基于这些功能属性使用的服务匹配方式不同可以大致分为两部分:一部分是服务的输入输出属性,这两个属性是服务匹配的基本要求,即服务请求者的输入可以满足服务的输入条件,服务提供者的输出可以满足服务请求者的要求;另一部分是服务的约束条件,包括服务的前置条件和执行效果。目前基于服务输入输出属性进行服务匹配的研究思路大多源于M.Paolucci(2000)的语义服务匹配思想:服务请求者与服务提供者之间的功能属性匹配程度取决于功能属性描述采用概念之间的匹配程度,并把这种匹配程度详细分为四种:精确匹配(Exact Match)、插入匹配(Plug in Match)、包含匹配(Subsume Match)和失败匹配(Fail Match)。
本小节提出了一种针对服务输入输出功能属性的改进匹配方法,这种匹配方法与以往方法最大的不同,是在本体语义推理匹配的基础上,结合了概念间的语义相似性,从而增加了匹配过程中对于候选服务的分辨能力,提高了匹配的准确性。
1.功能属性匹配流程
本书提出的功能属性的匹配方法大致分为四个步骤,如图6-12中虚线框内的模块所示。首先服务请求信息和服务发布信息均采用相同的服务描述语言,通过服务描述解析器,从中分别解析出服务请求者和服务发布者的输入输出信息参数;然后针对这些输入输出参数,利用本体推理机进行概念间的语义逻辑推理;接着结合语义推理的结果,计算描述概念之间语义相似性,这里的相似性采用5.3节的语义距离的计算方法进行;所有对应的参数语义相似性计算完毕以后,综合考虑每个输入输出参数的语义距离,给出总体的服务匹配程度参考;最后按照匹配程度倒序排列,候选的服务进入下一个匹配层次。

图6-12 基于语义的地理信息服务功能性匹配(https://www.daowen.com)
2.本体语义推理流程
本体语义推理包括两个方面的内容:一个是考虑服务请求者的输入参数是否满足服务提供者的要求,另外一个就是考虑服务提供者的输出参数是否满足服务请求者的要求,如图6-13所示。
3.语义距离的计算
语义距离排在语义推理环节以后,可以根据推理的结果更精确地度量概念之间的语义相似程度,同时大幅减少了语义距离的计算量。这是因为语义推理可以筛选掉输入输出参数之间的相等(Equivalent)和不匹配(Fail)两种关系,留下来的只剩下包含关系(Subsume)。对于相等和不匹配两种关系,我们可以认为语义相似度为最高与最低,从而跳过语义距离的计算。而对于剩下一部分具有包含关系的概念,可以截出层次结构树的一部分,即包含两个概念的子树进行语义距离的计算,从而提高了匹配的效率。

图6-13 本体语义推理流程图