一种融合服务协作关系的Restful类型Web服务聚类方法技术

技术编号:28321015 阅读:30 留言:0更新日期:2021-05-04 13:01
本发明专利技术公开了一种融合服务协作关系的Restful类型Web服务聚类方法,其首先对需要进行聚类的服务中的服务描述信息进行预处理,并获取预处理后的服务描述信息文本,构建语料库;其次,利用基于语境权重的服务描述特征词提取算法,从语料库中抽取一定比例的与服务特征最相关的特征词构建服务特征词集合;再次,构建带有主题概率分布修正因子的改进GSDMM模型,将每个服务的特征词转换为服务表征向量,并通过欧式距离公式计算得出不同服务之间的功能相似度;再构建服务协作图谱,基于该图谱得到不同服务之间的协作相似度;最终,根据得到的功能相似度和协作相似度,得到用于聚类的服务综合相似度,并通过k‑means++算法进行聚类即可完成服务聚类。

【技术实现步骤摘要】
一种融合服务协作关系的Restful类型Web服务聚类方法
本专利技术具体涉及一种融合服务协作关系的Restful类型Web服务聚类方法。
技术介绍
服务聚类可以将功能相似的服务划分为不同的服务簇,从而使得在服务查找、服务替换以及服务组合过程中有效地缩减目标服务的查找空间,提高服务发现效率。作为SOA架构下主流服务实现方式,Web服务是一种采用规范化协议封装的WebAPI程序,可以划分为SOAP和Restful两种类型。截止到2021年1月,ProgrammableWeb站点注册的服务数目已经超过27000,其中绝大多数为Restful型WebAPI服务。SOAP类型服务采用了结构化的WSDL文档描述服务信息,在WSDL文档中显式的设置了多种标签,易于提取有关服务描述的各类特征信息。此类服务在聚类时通常是提取少量能够代表服务功能特征的关键词,按照标签类别分别计算这些关键词的语义相似度即可实现服务功能相似性的度量,因此易于实现服务聚类。不同于SOAP类型的服务多采用WSDL等结构化文档进行服务信息的描述,Restful类型的Web服务通常采用非结构化的自然语言进行信息描述,在服务描述信息中没有标签,难以抽取其中的有效语义信息,并且描述文本比较短,有关服务的功能、操作和评价性词语杂糅在一起。为了有效地提取服务描述信息,现有聚类技术大多是采用主题模型生成服务表征向量,通过计算服务表征向量的相似度来实现Restful类型的Web服务聚类。现有的方法仅从功能相似角度实现服务聚类,而且现有主题模型在生成服务表征向量时普遍存在质量不高,不能全面表达服务特征信息的问题。并且现有的聚类方法仅考虑了Web服务的功能相似问题,没有考虑服务之间的协作关系,因此,如何从技术上改进服务表征向量的生成质量是影响服务聚类效果的一个关键问题。
技术实现思路
针对上述存在的问题,本专利技术提供一种融合服务协作关系的Restful类型Web服务聚类方法。实现本专利技术目的的技术解决方案为:一种融合服务协作关系的Restful类型Web服务聚类方法,其特征在于,包括以下步骤:步骤1:收集Restful类型的web服务,对需要进行聚类的每个web服务中的服务描述信息进行分词、虚词去除和词干还原预处理,针对每个服务,获取其预处理后的有效服务描述信息文本,并基于有效服务描述信息文本构建语料库;步骤2:利用基于语境权重的服务描述特征词提取算法,从所述语料库中通过服务描述,抽取一定比例的与服务特征最相关的特征词构建服务特征词集合;步骤3:引进修正因子,构建带有主题概率分布修正因子的改进GSDMM模型,基于该模型将服务特征词集合中每个服务的特征词转换为服务表征向量;步骤4:根据得到的服务表征向量,通过欧式距离公式计算得出不同服务之间的功能相似度;步骤5:构建服务协作图谱,基于该服务协作图谱描述不同服务之间的协作关系,生成服务协作向量,进一步计算不同服务之间的协作相似度;步骤6:根据得到的功能相似度和协作相似度,通过技术调参,得到用于聚类的服务综合相似度,并通过k-means++算法进行聚类即可完成服务聚类。进一步地,步骤2所述的基于语境权重的服务描述特征词提取算法的具体操作步骤包括:步骤21:将服务定义定义为一个四元组s=(Id,n,l,d),其中ID为服务的标识id,n为服务名称,l为服务标签集合,d为服务描述信息;步骤22:定义并初始化存储所有服务描述信息文本的语料库集合Corpus_w,以及待聚类的服务集合S中所包含服务的特征词集合FW_S为空;步骤23:将所有服务s的服务描述文本s.d加入到语料库集合Corpus_w中,并利用word2Vec对Corpus_w中的每个词语w训练一个向量V(w);步骤24:针对每个词语w,分别计算w在服务s中对应的TF-IDF值TF-IDF(w,s)以及服务描述的语境相似度Con_SemSim(w,s);其中TF-IDF计算包括TF和IDF,其计算公式为:TF-DF=TF*IDF(3),其中,tfi,j为词频,idfi为逆向文件频率,dj为第j个服务描述文本,ti为dj中的第i个词语;nij是ti在dj中出现的次数;∑knk,j是在dj中所有字词出现的次数之和;|D|为语料库中的服务描述文档的总数;|{j:ti∈dj}|为包含ti的文档数目;所述语境相似度Con_SemSim(w,s)计算为位于服务描述中的单词w与其他单词之间的平均语义相似度,其采用向量的余弦夹角公式进行计算:步骤25:将TF-IDF(w,s)与语境相似度Con_SemSim(w,s)相乘后得到该单词w在服务s的描述文本s.d中的语境权重ContextWeight(w,s);步骤26:将服务描述文本s.d的语境权重ContextWeight(w,s)进行排序,取前α比例的词语加入到s.fw,最终生成服务特征词集合s.fw。优选地,步骤26所述的α取值为60%。进一步地,建立所述带有概率分布修正因子的改进GSDMM模型的步骤包括:步骤31:将服务集合中的所有服务的服务特征词集合s_fw依次输入到GSDMM模型中;步骤32:进行10轮训练后得到主题-词语矩阵Φ,服务-主题矩阵Θ,以及每个服务s对应的初始服务表征向量srv(s);步骤33:针对s_fw中的每个单词w在主题-词语矩阵Φ中查找,并找到w对应的分布概率值最大的主题k,将单词w的最大主题概率值argmax(φk,w)与其对应的语境权重ContextWeight(w,s)相乘,得到s表征主题中该单词w对应的修正因子δ(w,s),即:δ(w,s)=argmax(φk,w)*ContextWeight(w,s);步骤34:判定单词w对应的最大概率分布的主题k是否为服务s表征向量中的次要主题,若是次要主题,则将修正因子1+δ(w,s)的和与表征向量中的主题k已有分布概率值相乘,完成基于单词w的主题概率分布修正;步骤35:将服务s的所有特征词集合中的单词都依据步骤24完成概率修正,即可得到最终的服务表征向量。进一步地,步骤5的具体操作步骤包括:步骤51:在云平台中遍历服务流程模型sp,将sp中的每一个服务定义为一个服务节点;如果服务si为服务sj的前驱服务,则服务sj协作依赖于服务si,记为si→sj;步骤52:定义一个无向图G=(V,E),V={v1,v2,v3,…vn}为服务结点集合,其中结点vi表示一个服务;E={e=(vi,vj)|1≤i,j≤n}为协作边集合,且e=(vi,vj)表示服务结点vi与vj所对应的服务si和sj满足si→sj或sj→si;构建出的G即为服务协作图谱;步骤53:根据构建好的服务协作图谱G,利用node2vec为G中的每个服务生成一个协作向量,服务s的协作向量记为cf(s),则任意两个服务si和sj之间的协作相似度计算公式为:本文档来自技高网
...

【技术保护点】
1.一种融合服务协作关系的Restful类型Web服务聚类方法,其特征在于,包括以下步骤:/n步骤1:收集Restful类型的web服务,对需要进行聚类的每个web服务中的服务描述信息进行分词、虚词去除和词干还原预处理,针对每个服务,获取其预处理后的有效服务描述信息文本,并基于有效服务描述信息文本构建语料库;/n步骤2:利用基于语境权重的服务描述特征词提取算法,从所述语料库中通过服务描述,抽取一定比例的与服务特征最相关的特征词构建服务特征词集合;/n步骤3:引进修正因子,构建带有主题概率分布修正因子的改进GSDMM模型,基于该模型将服务特征词集合中每个服务的特征词转换为服务表征向量;/n步骤4:根据得到的服务表征向量,通过欧式距离公式计算得出不同服务之间的功能相似度;/n步骤5:构建服务协作图谱,基于该服务协作图谱描述不同服务之间的协作关系,生成服务协作向量,进一步计算得到不同服务之间的协作相似度;/n步骤6:根据得到的功能相似度和协作相似度,通过技术调参,得到用于聚类的服务综合相似度,并通过k-means++算法进行聚类即可完成服务聚类。/n

【技术特征摘要】
1.一种融合服务协作关系的Restful类型Web服务聚类方法,其特征在于,包括以下步骤:
步骤1:收集Restful类型的web服务,对需要进行聚类的每个web服务中的服务描述信息进行分词、虚词去除和词干还原预处理,针对每个服务,获取其预处理后的有效服务描述信息文本,并基于有效服务描述信息文本构建语料库;
步骤2:利用基于语境权重的服务描述特征词提取算法,从所述语料库中通过服务描述,抽取一定比例的与服务特征最相关的特征词构建服务特征词集合;
步骤3:引进修正因子,构建带有主题概率分布修正因子的改进GSDMM模型,基于该模型将服务特征词集合中每个服务的特征词转换为服务表征向量;
步骤4:根据得到的服务表征向量,通过欧式距离公式计算得出不同服务之间的功能相似度;
步骤5:构建服务协作图谱,基于该服务协作图谱描述不同服务之间的协作关系,生成服务协作向量,进一步计算得到不同服务之间的协作相似度;
步骤6:根据得到的功能相似度和协作相似度,通过技术调参,得到用于聚类的服务综合相似度,并通过k-means++算法进行聚类即可完成服务聚类。


2.根据权利要求1所述的一种融合服务协作关系的Restful类型Web服务聚类方法,其特征在于,步骤2所述的基于语境权重的服务描述特征词提取算法的具体操作步骤包括:
步骤21:将服务定义为一个四元组s=(Id,n,l,d),其中ID为服务的标识id,n为服务名称,l为服务标签集合,d为服务描述信息;
步骤22:定义并初始化存储所有服务描述信息文本的语料库集合Corpus_w,以及待聚类的服务集合S中所包含服务的特征词集合FW_S为空;
步骤23:将所有服务s的服务描述文本s.d加入到语料库集合Corpus_w中,并利用word2Vec对Corpus_w中的每个词语w训练一个向量V(w);
步骤24:针对每个词语w,分别计算w在服务s中对应的TF-IDF值TF-IDF(w,s)以及服务描述的语境相似度Con_SemSim(w,s);其中TF-IDF计算包括TF和IDF,其计算公式为:






TF-DF=TF*IDF(3),
其中,tfi,j为词频,idfi为逆向文件频率,dj为第j个服务描述文本,ti为dj中的第i个词语;nij是ti在dj中出现的次数;∑knk,j是在dj中所有字词出现的次数之和;|D|为语料库中的服务描述文档的总数;|{j:ti∈dj}|为包含ti的文档数目;
所述语境相似度Con_SemSim(w,s)计算为位于服务描述中的单词w与其他单词之间的平均语义相似度,其采用向量的余弦夹角公式进行计算:



步骤25:将TF-IDF(w,s)与语境相似度Con_SemSim(w,s)相乘后得到该单词w在服务s的描述文本s.d中的语境权重ContextWeight(w,s);
步骤26:将服务描述文本s.d的语境权重ContextWeight(w,s)进行排序,取前α比例的词语加入到s.fw,最终生成服务特征词集合s.fw。


3.根据权利要求2所述的一种融合服务协作关系的Res...

【专利技术属性】
技术研发人员:胡强沈嘉吉荆广辉杜军威
申请(专利权)人:青岛科技大学
类型:发明
国别省市:山东;37

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

1