本发明属于服务计算领域,具体涉及一种融合语义增强与异质关联的web服务聚类方法。
背景技术:
1、web服务是当前网络服务中主流的组织形式,其是一种采用标准化协议和接口封装的具有特定业务功能的web应用程序,具有跨平台、跨语言,易于调用和集成等特点。借助于已有的web服务,软件开发者不仅可以实现网构软件系统的敏捷开发,也可以实现软件产品的快速迭代。各类服务注册平台中发布的数量众多的web服务为用户在业务系统构建时提供了丰富的选择机会,同时,如何从大量相似的web服务中快速发现满足需求的服务也成为一个难题。服务聚类将功能相似的web服务聚合在一起,划分为不同的服务簇,能够有效地缩减服务查找空间,是一种常用的提升服务发现效率的方法。
2、当前web服务主要采用非结构化的自然语言描述服务功能,主流的服务聚类方法通常采取主题模型或神经网络模型,为服务功能描述生成特征向量(常称为服务功能向量),通过计算这些功能向量的相似度来实现服务聚类。近年来,服务之间的协作关系在服务聚类中引起研究者关注。依据共同参与的业务场景或组合mashup服务,研究者可以构建服务协作网络,通过一些游走策略或图神经网络模型实现协作网络中结点的向量化,进而可以计算服务结点之间的协作相似度,并将协作相似度融入到服务聚类中。相关研究成果表明,充分挖掘和利用服务之间形成的协作关系可以提高服务聚类的质量。
3、现有的考虑协作关联的服务聚类方法中,在聚类时存在以下两个影响服务聚类质量的技术难题:
4、(1)现有方法生成服务功能向量的特征密度稀疏,服务功能向量的质量难以提升,进而影响了服务聚类的质量。
5、现有方法多采用bert或基于bert的改进神经网络模型生成服务功能向量。然而,be rt生成的向量空间具有各向异性,且由于服务的功能描述文本短小,语义杂糅,生成的服务功能向量特征稀疏。有些方法通过增强名词在服务描述中的语义特征强度来提升服务功能向量的语义密度,然而,名词在描述文本中虽然占有较高的比例,但是描述文本中重复词语比例很低,从而造成生成的功能向量中的特征密度和区分度提升非常有限,难以提高服务功能向量的质量。
6、(2)现有方法将协作关联与功能关联互斥对待,缺乏一种统一的技术手段将二者融合表示,无法定量的评价二者形成的服务关联强度,影响了服务聚类的质量。
7、现有方法认为协作关联和功能关联是互斥的,具有协作关联的服务,在功能上是互补的,不应该划分为一类,因此仅能通过计算服务的协作相似度来提升服务聚类质量,对聚类质量的提升非常有限。
8、然而,在以programmableweb中的mashup服务的组成服务构建的服务协作网络中,存在协作关系的web服务共计1018个,其中579个服务同时存在着共同类别标签,即存在功能关联。上述数据显示,web服务的功能已呈现显著的多元化,在聚类时需要全面考虑web服务之间功能兼容性与互补性,因此,将服务的功能关联与协作关联有机融合,将会进一步提升服务聚类质量。但目前缺乏一种统一的技术手段将二者融合表示,无法定量的评价二者形成的服务关联强度,从而难以从服务关联角度促进聚类的合理性,提高聚类的质量。
技术实现思路
1、本发明针对现有技术中服务功能向量特征稀疏、质量不高,且当前服务聚类方法中未能将功能关联和协作关联融合处理等问题,提出一种融合语义增强与异质关联的web服务聚类方法,将服务的功能关联与协作关联有机融合,进一步提升服务聚类质量。
2、本发明是采用以下的技术方案实现的:一种融合语义增强与异质关联的web服务聚类方法,包括以下步骤:
3、步骤a、构建适用于服务聚类的数据集;
4、步骤b、构建面向语义增强与对比学习的服务功能向量:
5、步骤b1、为服务描述中的动词采用同义词替换的方式构建孪生服务描述样本;
6、步骤b2、在simcse框架下,采用对比学习技术为原服务描述与孪生服务描述分别生成功能向量,将两种功能向量的均值作为原服务描述的语义增强服务功能向量;
7、步骤c、生成服务关联向量:
8、步骤c1、根据服务之间的标签共享和协作关系,构建融合功能关联和协作关联的服务异质关联图,建模web服务之间的功能关联和协作关联;
9、步骤c2、从功能关联强度和协作关联强度两个角度设计融合服务关联强度的随机游走策略,优先将关联度高的结点采样的路径序列中;
10、步骤c3、基于改进的gatne模型为服务异质关联图实现结点嵌入,生成服务关联向量;
11、步骤d、将服务功能向量和服务关联向量融合为服务表征向量,实现服务聚类。
12、进一步的,所述步骤b1中,将动词采取同义词替换的方式构建服务描述的孪生样本,令d={d1,d2,…,dn}为服务描述文本集合,di={w1,w2,…,wn}为一个web服务的描述文本,首先对di中的组成词语进行词性标注,对于词性为动词的词语wj,获取其同义词wj′,将di中所有动词替换为其近义词后生成的服务描述为d′i,经过动词替换后的服务描述文本集合记为d′。
13、进一步的,所述步骤b2具体通过以下方式实现:
14、(1)利用simcse框架,分别为d和d′中的服务描述文本生成功能向量:
15、令hi1=simcse(di,d),hi2=simcse(d′i,d′),最终为di生成的语义增强的服务功能向量表示为hi,即se-simcse(si)=hi对应的功能向量:
16、
17、(2)为每一个参与聚类的web服务s生成服务功能向量sfv(s),所有服务的功能向量集合为srv={sfv(s)}:
18、sfv(s)=se-simcse(s)。
19、进一步的,所述步骤c1具体包括以下步骤:
20、定义功能关联:若存在标签l,使得l∈si.l∩sj.l,则称服务si与服务sj存在功能关联,记作:si~sj;
21、定义协作关联:存在mashup服务m,使得si∈m.s∧sj.∈m.s,则称服务si与服务sj存在协作关联,记作:
22、定义服务异质关联图:服务异质关联图为一个无向加权图hcg=(v,e,w),其中:v={v1,v2,…,vn}为服务结点集合,结点vi表示web服务si;e={ef,ec},ef和ec分别为功能关联边集合与协作关联边集合;e=(vi,vj)∈ef中的结点vi与vj所对应的服务si和sj满足si~sj;e=(vi,vj)∈ec中的结点vi与vj所对应的服务si和sj满足w={wij}为边的权值集合,对
23、wij=nl(si,sj);wij=nm(si,sj);
24、服务异质关联图中包含两类边,一类是服务的功能关联边,如果两个服务si与sj存在相同的标签,则在hcg中的结点vi和vj之间建立一条功能关联边,功能关联边的权重为服务si与sj共同标签的数量,记作nl(si,sj);另外一类为协作关联边,如果两个服务si与sj共存于同一个mashup服务的组成服务集合中,则在hcg中的结点vi和vj之间建立一条协作关联边,协作关联边的权重为服务si与sj共同参与mashup服务的数量,记作nm(si,sj)。
25、进一步的,所述步骤c1中,若服务si与sj共同参与到同一个服务组合流程,则按照存在协作关联处理。
26、进一步的,所述步骤c2具体包括:
27、(1)计算服务功能关联强度:
28、
29、(2)设定在元路径模式t=v1→v2→...vt→vt+1→vl中,每步游走的边类型均与上一步边类型r不同,若第t-1步游走边类型为r,则第t步从vi到vj的转移概率为softmax函数归一化后的服务关联强度:
30、
31、其中,nt+1(vi,r)表示vi不同于边类型r的关联结点集,对于长度为l的随机游走路径p=(vp1,…,vpl),vpt的上下文为c={vpk|vpk∈p,|k-t|≤c,t≠k},k为常数,1≤k≤l,其中c为窗口大小的半径。
32、进一步的,所述步骤c3中,所述改进gatne模型是指:
33、根据wij∈w为每个结点计算归一化服务关联权重,融入到边的嵌入表征生成过程中,具体边权融合方式具体如下:
34、
35、
36、其中,ne_f(vi)与ne_c(vi)分别表示结点vi所连接的功能关联边与协作关联边的数量,wi,j与wi,k分别为结点vi与当前边所连结点vj与vk的边权。归一化服务关联权重为zv,与分别代表平均边权中的最大值与最小值。由此,结点vi对于r类型的边的整体表征表示改进后如下:
37、
38、以上公式中,bi为结点vi的结点基础表征,ar是超参数,为不同类型边分配的注意力系数,ai,r为自注意力机制系数,为可训练的转移矩阵,ui为结点vi的边嵌入表征。
39、进一步的,所述步骤c3中:
40、将设计的随机游走策略与改进的gatne模型相结合,生成适用于服务异质关联图的结点嵌入表示模型gat-hcg,将参与聚类的服务集合s和异质关联图g作为输入,生成服务关联向量集合scv=gat-hcg(s,g),其中,集合s中的服务s对应的服务关联向量表示为sc v(s)。
41、进一步的,所述步骤d中,将每个服务的功能向量与关联向量进行拼接,生成服务表征向量,即所有服务表征向量的集合记为srv;采用k-means++作为聚类算法,生成服务聚类集合sc=k-means++(srv,sn),sn为需要生成的聚类的数量。
42、与现有技术相比,本发明的优点和积极效果在于:
43、本方案提出的基于k-means++融合语义增强与异质关联的web服务聚类方法,利用服务功能向量和服务关联向量拼接为web服务表征向量,利用k-means++实现服务聚类,从服务的描述文本和不同关联形式两个角度挖掘web服务表征,提高web服务聚类精度;
44、其中,所提出的服务功能向量生成方法,采取动词的近义词替换的方式构建服务描述的孪生样本,强化表示服务业务操作的动词语义特征信息,在simcse框架下基于对比学习模式生成高质量的服务功能向量,增加了服务功能向量的特征密度,有效缓解了bert向量空间的各向异性,提高了服务功能向量的生成质量;基于改进gatne的web服务关联向量生成方法,解决gatne模型无法处理异质边的边权,只能将每个结点所有邻域结点按照等权重处理的问题,使得结点的边嵌入表征生成更为合理;
45、另外,所构建的服务异质关联图,将服务的功能关联边和协作关联边建模在一张图中,并且在功能关联边和协作关联边上赋予了权值,相比已有的单一的功能关联图或协作关联图,该种异质关联图便于将功能关联和协作关联有机融合,并且利用边权方便计算关联强度。并且,提出一种带有关联强度修正的服务异质关联图游走策略,不但能够高效的捕获服务结点间在不同关联类型产生的语义关联强度,而且可以最大化结点序列中的服务功能相似性,确保将服务关联强度大的结点优先采样到路径序列中,提高了语料采样质量。