CN112749281B - 一种融合服务协作关系的Restful类型Web服务聚类方法 - Google Patents
一种融合服务协作关系的Restful类型Web服务聚类方法 Download PDFInfo
- Publication number
- CN112749281B CN112749281B CN202110069758.0A CN202110069758A CN112749281B CN 112749281 B CN112749281 B CN 112749281B CN 202110069758 A CN202110069758 A CN 202110069758A CN 112749281 B CN112749281 B CN 112749281B
- Authority
- CN
- China
- Prior art keywords
- service
- similarity
- cooperation
- word
- clustering
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/355—Class or cluster creation or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Databases & Information Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Animal Behavior & Ethology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种融合服务协作关系的Restful类型Web服务聚类方法,其首先对需要进行聚类的服务中的服务描述信息进行预处理,并获取预处理后的服务描述信息文本,构建语料库;其次,利用基于语境权重的服务描述特征词提取算法,从语料库中抽取一定比例的与服务特征最相关的特征词构建服务特征词集合;再次,构建带有主题概率分布修正因子的改进GSDMM模型,将每个服务的特征词转换为服务表征向量,并通过欧式距离公式计算得出不同服务之间的功能相似度;再构建服务协作图谱,基于该图谱得到不同服务之间的协作相似度;最终,根据得到的功能相似度和协作相似度,得到用于聚类的服务综合相似度,并通过k‑means++算法进行聚类即可完成服务聚类。
Description
技术领域
本发明具体涉及一种融合服务协作关系的Restful类型Web服务聚类方法。
背景技术
服务聚类可以将功能相似的服务划分为不同的服务簇,从而使得在服务查找、服务替换以及服务组合过程中有效地缩减目标服务的查找空间,提高服务发现效率。作为SOA架构下主流服务实现方式,Web服务是一种采用规范化协议封装的Web API程序,可以划分为SOAP和Restful两种类型。截止到2021年1月,ProgrammableWeb站点注册的服务数目已经超过27000,其中绝大多数为Restful型Web API服务。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之间的协作相似度计算公式为:
其中,m为服务协作向量的维数。
进一步地,步骤6的具体操作步骤为:
步骤61:根据得到的服务表征向量array_srv以及服务协作向量array_cs、功能相似度与协作相似度二者权重比例超参数λ,初始化簇中心点,选出距离尽可能远的初始中心点;
步骤62:根据设定的聚类目标个数k,计算服务s与簇中心点的距离,找到与之距离最近的中心点,进行分类;
步骤63:计算各个簇的平均服务描述向量与平均服务协作向量,作为新的中心点;
步骤64:判断中心点是否发生改变,若发生改变则使用新的中心点,重复执行步骤62-63,进行新一轮聚类;
步骤65:当中心点不发生改变或迭代次数到达设定的迭代最大次数max-iter,结束计算,并输出最终的聚类结果。
本方法与现有技术相比,具有以下有益效果:
第一,本发明提出基于语境权重的服务描述特征词提取算法,能够将描述文本中词语的词频与上下文语义相似度进行融合,通过语境权重对词语进行排序,将服务描述中存在的一些与服务功能相关度并不高的词进行筛除,按照语境权重排名筛选出的词将有效降低噪声数据的数量,提高了服务表征向量生成文本的质量;
第二,本发明在传统的GSDMM模型基础上提出一种面向主题分布概率修正的GSDMM模型,该改进的模型引入了概率分布修正因子,通过修正生成服务表征向量中非关键主题对应的分布概率,能够有效提高生成服务表征向量的信息描述完备性,从而提高了服务聚类精度;
第三,本发明考虑到在同一功能相似度情况下,两个具备较多相同或者相似协作关系的服务应该优先划分到同一个服务聚类中,因此提出了服务协作相似度的概念,利用协作相似度的大小衡量两个服务在相似组合服务流程上下文环境中出现的概率大小,从而准确地度量了不同服务之间具备类似的服务协作关系,提高了Web服务聚类的合理性;
综上所述,本发明提出的方法能够改进服务表征向量的生成质量,从而使得聚类时服务功能相似度显著提高,此外,考虑了服务之间的协作关系,将协作相似度作为聚类的另外一个参考条件,通过技术调参,获得二者之间最优权重占比λ,从而大幅度提高了服务聚类效果以及Web服务聚类的合理性。
附图说明
图1为传统GSDMM的示意图;
图2为本发明提出的带有修正因子的改进GSDMM示意图;
图3为本发明所提出的服务协作关系建模方法所得到的服务协作图谱(部分)示例;
图4为本发明实施例中采用不同模型和方法进行聚类时SC指标的对比图;
图5为本发明实施例中采用不同模型和方法进行聚类时DBI指标的对比图;
图6为本发明实施例中采用不同模型和方法进行聚类时AMI指标的对比图;
图7为本发明实施例中采用不同模型和方法进行聚类时NMI指标的对比图;
图8为本发明实施例中采用不同模型和方法进行聚类时ARI指标的对比图;
图9为本发明中融合协作关系后的聚类效果与未融合协作关系的聚类效果的对比图;
具体实施方式
为了使本领域的普通技术人员能更好的理解本发明的技术方案,下面结合附图和实施例对本发明的技术方案做进一步的描述。
本发明提出的一种融合服务协作关系的Restful类型Web服务聚类方法,其操作步骤包括:
1、对需要聚类的每一个服务的服务描述信息中的词语使用NLTK工具包进行分词、虚词去除、词干还原,针对每个服务s,获取有效的服务描述s.d,并利用所有词汇构建语料库集合Corpus_w。
2、提出一种基于语境权重的服务描述特征词提取方法,该方法可以从服务描述中抽取一定比例与服务特征最相关特征词构建服务特征词集合s.fw。利用这些“去噪”后的特征词去生成服务表征向量,会使得服务表征向量更精准。
3、提出了一种带有主题概率分布修正因子的改进GSDMM模型。通过引进修正因子,改进了传统GSDMM模型在生成主题向量时过于强化关键主题概率,弱化次要主题概率的不足。使得生成的服务表征向量在服务特征描述时更加完备、主题分布更加均衡。
4、通过以上两步的改进,可以使得生成的服务表征向量在描述服务特征时更加完备和精准,利用生成的服务表征向量srv(s),通过欧式距离公式即可算出不同服务之间的功能相似度fs(srv(si),srv(sj))。
5、构建服务协作图谱用以表达服务之间的协作关系。协作图谱是一个无向图,图中的点为有过服务协作关系的服务,边表示二者之间的协作关系。利用node2vec为每服务结点计算服务协作向量cv(s),通过余弦夹角公式即可算出不同服务之间的协作相似度cs(cv(si),cv(sj))。
6、通过技术调参,设置功能相似度fs和协作相似度cs比值,得到用于聚类的服务综合相似度zs=fs-λ.cs。然后通过k-mean++算法进行聚类即可。
下面进行具体说明:
1、基于语境权重的服务特征词提取
定义1服务
服务定义为一个四元组,s=(Id,n,l,d),其中ID为服务的标识id号,n为服务的名称,l为服务标签集合,d为服务描述信息。
定义2语境权重
TS为由文本Ti组成的文本语料库,wij为文本Ti中的一个单词,则单词wij在文本Ti中的语境权重为wij的IF-TDI词频与wij与其他词语的语义相似度均值的乘积。
本发明将描述文本中词语的词频与上下文语义相似度相融合,构建词语在服务描述中的语境权重,通过语境权重对词语进行排序,按照语境权重排名筛选出一定数量的词语作为服务描述的特征词。
在服务描述中存在一些与服务功能相关度并不高的词,这些若被提取并用于生成服务特征向量,将会为服务特征向量的生成带来噪声数据,进而降低服务特征向量质量。按照语境权重排名筛选出的词将有效降低噪声数据的数量,提高了服务表征向量生成文本的质量。对于服务s,令S={si},1≤i≤n为待聚类的所有服务构成的服务集合,算法1给出基于语境权重的服务描述特征词提取方法。
算法1 Algorithm1 FeatureWord_Extract
从以上的算法代码片段可以看出,算法的第1、2行初始化两个空集合,一个是用于存储所有服务描述文本的语料库集合Corpus_w,一个是待聚类的服务集合S中所包含服务的特征词集合FW_S。算法的第3行将S中包含的所有服务的服务描述文本均加入语料库Corpus_w,然后利用Word2Vec为语料库中的每个词语w训练一个向量V(w)。
在生成服务s的特征词集合时,针对每个词w,算法第6行至8行分别计算w在服务s中对应的TF-IDF词频TI(w,s)、服务描述语境相似度Con_SemSim(w,s)。TF-IDF词频计算时由两部分组成:TF和IDF。其中,TF(Term Frequency)是词频,计算文本中每个词的出现频率;IDF是逆向文件频率(Inverse Document Frequency),由总文件数目除以包含该词语之文件的数目,再将得到的商取对数。IDF反映了词条对文档区分能力。TF、IDF和TF-IDF的计算公式分别参见公式(1)、(2)和(3)。
TF-DF=TF*IDF (3)
TF-ID的值与一个词在文档中的出现次数成正比,与该词在整个语言库中出现次数成反比,适合用于评价一个单词在整篇语料库中的重要程度。文中服务s的服务描述中的单词w的词频记为TI(w,s),即TI(w,s)=TF-IDF(s.d,Corpus_w)。
服务描述语境相似度是指位于服务描述中的单词与其他单词之间的平均语义相似度。在算法1中,单词之间的语义相似度采用向量的余弦夹角公式进行计算,公式为:
Con_SemSim(w,s)为单词w与s.d-{w}中所有单词的语义相似度的平均值(参见算法1第8行)
在利用Word2Vec生成单词的向量时可以通过Python语言genism包中的工具实现,在对单词w完成Con_SemSim(w,s)和TF-IDF(w,s)之后,将词频TF-IDF(w,s)与Con_SemSim(w,s)相乘后即可得到单词w在服务s的描述文本s.d中的语境权重ContextWeight(w,s)。因此,语境权重的计算融合了词频和词语之间的语义相似度。
算法第10行生成服务特征词集合s.fw。服务标签是平台服务存储和用户服务查找的主要类别依据,是服务聚类所有考虑的关键要素,因此在构建s.fw时,首先将服务标签集合s.l中的所有单词加入到s.fw,然后对服务描述中的词语,依照服务描述语境权重ContextWeight(w)进行排序,分别取位于前α比例的词语加入到s.fw。实验验证,α设置为60%时,所提取的特征词生成服务表征向量效果最佳。通过循环处理,可以求得整个待聚类服务集合S的所有服务特征词集合FW_S。
2、基于带有主题分布概率修正因子GSDMM的服务表征向量生成
通过算法1提取得到每个服务的服务表达特征词集合,为了能够计算两个服务之间的相似度,采用主题模型将每个服务的特征词转化为服务表征向量,通过服务表征向量之间的相似度可以判定两个服务的相似度。
为了提高服务表征向量对服务功能刻画的完备性,本文在GSDMM模型基础上提出一种面向主题分布概率修正的GSDMM模型,该模型引入概率分布修正因子,通过修正生成服务表征向量中非关键主题对应的分布概率,提高生成服务表征向量的信息描述完备性。
GSDMM是一种概率生成式无监督模型,基于狄利克雷混合模型(DMM)生成文档,然后使用吉布斯采样(Gibbs Sampling)算法近似求解模型。相比其他主题模型,GSDMM更适用于短文本中主题特征提取。
狄利克雷混合模型(DMM)如图所示,由主题得k到文档d的概率为:
为了获得描述中的单词-主题分布,假设主题在单词上是多项式分布,则有:
p(w|z=k)=p(w|z=k,Φ)=φk,w
同样,每个主题的概率也服从多项式分布:
p(d|z=k)=p(d|z=k,Θ)=θk,d
吉布斯采样过程为使用一个单词在所有主题上不断地采样,最终得到这个单词的主题分布矩阵,从而得到文档-主题矩阵Θ=d×z以及单词-主题矩阵Φ=w×z。吉布斯采样中一篇描述属于某个主题的概率计算公式如下:
本发明采用GSDMM生成的服务表征向量中具有最大分布概率值的主题称为服务表征向量的关键主题,其他的主题为次要主题。在GSDMM中引入主题分布概率修正因子δ,通过δ修正生成服务表征向量中的各个次要主题分布概率,可以有效地提高服务表征向量的区分度。修正因子δ(w,s)=argmax(φk,w)*Conte xtWeight(w,s),其中,argmax(φk,w)为单词w在所有主题K下的最大概率分布值,此处k为w的对应最大概率分布的主题。ContextWeight(w,s)为单词w在s的服务描述中的语境权重。下面给出面向主题概率分布修正GSDMM的服务表征向量求解方法。
算法2 Algorithm2SRV_RGSDMM
算法2第1-3行首先调用算法1,为每个服务s的服务描述文本中的词语w计算语境权重ContextWeight(w,s),并筛选出服务特征词集合s_fw。算法第4-8行,首先将服务集合中所有服务的特征词集合依次输入到GSDMM模型中,再进行10个轮次的训练后得到主题-词语矩阵Φ,服务-主题矩阵Θ,以及每个服务s对应的初始服务表征向量srv(s)。
算法第9-10行针对服务s的特征词集合s_fw中的每一个单词w,在单词-主题矩阵Φ找到w对应的分布概率值最大的主题k,将单词w的最大主题分布概率值argmax(φk,w)与其对应的语境权重ContextWeight(w,s)相乘,得到服务s表征主题中该单词w对应的修正因子δ(w,s)。算法第12-13行判定单词w对应的最大概率分布的主题k是否为服务s表征向量中的次要主题,如果是次要主题,则将修正因子δ(w,s)与表征向量中的主题k已有分布概率值相乘,完成基于单词w的主题概率分布修正。将服务s的所有特征词集合中的单词均完成修正后即可得到最终的服务表征向量。
假设生成的服务表征向量为k维,即srv(s)=(v1,v2,…vk),任意两个服务si和sj之间的功能相似度定义为
3、服务协作关系的度量
在同一功能相似度情况下,两个具备较多相同或者相似协作关系的服务应该优先划分到同一个服务聚类中。为了度量服务之间是否具备类似的服务协作关系,提出服务协作相似度的概念,利用协作相似度的大小衡量两个服务在相似组合服务流程上下文环境中出现的概率大小。两个服务协作相似度的大小取决于以下两个要素:服务共现率和流程距离。两个服务在相似的服务流程中出现的次数越多,二者协作相似度越大;两个服务与同一个服务的流程距离越近,二者协作相似度越大。
为了计算两个服务之间的协作相似度,本文构建了服务协作图谱。服务协作图谱为一个加权无向图,图谱的结点表示服务,边表示两个结点服务之间具备协作关系。在各类云平台上均积累了大量的服务流程模型,通过遍历服务流程模型,将流程模型中的服务抽象为服务协作图中的结点,服务转移依赖关系映射为协作图谱的边即可完成服务协作图谱的构建。
定义3协作依赖
在一个流程模型sp中,若服务si为服务sj的前驱服务,则称服务sj协作依赖于服务si,记为si→sj。
定义4服务协作图谱
服务协作图谱定义为一个无向图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。
对于构建好的服务协作图谱,通过node2vec可以为服务图谱中的每个服务生成一个协作向量,服务s的协作向量定义为cf(s)。假设生成的服务协作向量为m维,即cs(s)=(v1,v2,…vm),任意两个服务si和sj之间的协作相似度定义为其中,m为服务协作向量的维数,优选地,m的值设置为128。
4、融合功能语义与协作性相似度的服务聚类算法
1.和2.中计算服务间距离的方法如下:
Distance(si,sj)=fs(si,sj)-λ*cs(si,sj);
该算法的步骤如下:
1.GetCenters函数根据distance选出距离尽可能远的初始中心点;
2.GetClusters函数加载新数据时使用distance找到与之距离最近的中心点并聚类;
3.Get_new_centers函数计算各个簇的平均服务描述向量以及平均服务协作向量作为新的中心点;
4.判断中心点是否改变,若发生改变则使用新的中心点作为聚类中心循环2-3步;
5.当中心点向量不发生改变或者达到迭代上限时,算法结束,输出聚类结果。
实施例
1、实验数据
本发明采用ProgrammableWeb网站上的真实WebAPI服务作为聚类对象,共计爬取23000个服务,将无效服务删除后,剩余21307个服务。
2、评价指标
服务聚类的评价指标通常分为外部评价指标和内部评价指标两类。外部评价指标使用样本标签信息来评价聚类是否合理。内部评价指标是通过刻画聚类质量的参数对聚类效果进行评价。
为了对本发明提出的聚类方法的有效性进行评价,采用常用的内部评价指标SC、DBI和外部评价指标NMI、AMI、ARI作为评价标准。下面是各个指标的简要说明:
(1)轮廓系数SC(Silhouette Coefficient),分数越高代表聚类效果越好;
(2))戴维森堡丁指数DBI(davies-bouldin-score),类内距离越小、类间距离越大,则DBI指数越小,分类效果越好;
(3)归一化互信息NMI(Normalized Mutual Information),NMI分数越大代表聚类效果越好;
(4)调整互信息AMI(Adjusted Mutual Information),AMI越大代表聚类结果与真实情况越吻合;
(5)调整兰德系数ARI(Adjusted Rand index),ARI反映了真实标签与聚类结果之间的重叠程度,分数越高重叠程度越大。
3、仿真实验
参照技术方案中的步骤1-6进行实验,当执行到步骤4时,能够得到不同之间的功能相似度,此时进行实验1,按照语境权重排名筛选出的词将有效降低噪声数据的数量,提高了服务表征向量生成文本的质量,并且通过修正的GSDMM模型有效提高生成服务表征向量的信息描述完备性,从而提高了服务聚类精度。
实验1:
附图4和附图5中所示的数据为针对21307个服务采取不同模型和方法进行聚类时的对比指标,图中的R_GSDMM为本发明中的方法,从对比数据可以看出,我们的方法明显优于其他模型或方法;
对于外部指标来说,采用服务类别作为聚类选用了三个带有标签的子服务集进行验证,具体服务信息如表1所示,其得到的平均结果如附图6-8所示。从图6-8的柱形图可以看出,我们提出的方法在各类外部指标评价中均好于其他模型或方法。
表1
接着通过执行步骤5计算出协作相似度,并在步骤6中将协作关系融入,此时进行实验2,对比融入协作关系前后得出的聚类效果指标,能够利用协作相似度的大小衡量两个服务在相似组合服务流程上下文环境中出现的概率大小,从而准确地度量了不同服务之间具备类似的服务协作关系,提高了Web服务聚类的合理性。
实验2:
将参与到ProgrammableWeb网站中的mashup服务的服务抽取出,构建了服务协作图谱。附图3为建立的图谱的一部分。在该图谱的基础上,利用node2vec生成服务协作向量,并计算协作相似度。(步骤5)然后,通过第6步,将第4步计算的功能相似度和第5步生成的协作相似度进行融合后的相似度,采取k-mean++进行聚类,此时的聚类效果明显优于不考虑服务协作关系的传统聚类方法。
附图9中R_GSDMM_K是未融合写作关系的聚类指标,R_GSDMM_K_C是融合协作关系后的聚类指标,从图中可以看出,融合协作关系后,聚类效果明显提升。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。尽管参照前述实施例对本发明专利进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种融合服务协作关系的Restful类型Web服务聚类方法,其特征在于,包括以下步骤:
步骤1:收集Restful类型的web服务,对需要进行聚类的每个web服务中的服务描述信息进行分词、虚词去除和词干还原预处理,针对每个服务,获取其预处理后的服务描述文本,并基于所述服务描述文本构建语料库集合;
步骤2:利用基于语境权重的服务描述文本特征词提取算法,从所述语料库集合中通过服务描述,抽取一定比例的与服务特征最相关的特征词构建服务特征词集合;
步骤3:引进修正因子,构建带有主题概率分布修正因子的改进GSDMM模型,基于该模型将服务特征词集合中每个服务的特征词转换为服务表征向量;
步骤4:根据得到的服务表征向量,通过欧式距离公式计算得出不同服务之间的功能相似度;
步骤5:构建服务协作图谱,基于该服务协作图谱描述不同服务之间的协作关系,生成服务协作向量,进一步计算得到不同服务之间的协作相似度;
步骤6:根据得到的功能相似度和协作相似度,通过技术调参,得到用于聚类的服务综合相似度,所述服务综合相似度为由功能相似度和协作相似度计算所得,即设置功能相似度和协作相似度比值λ,得到用于聚类的服务综合相似度=功能相似度-λ*协作相似度比值;再根据服务综合相似度通过k-means++算法进行聚类即可完成服务聚类;
其中,步骤2所述的基于语境权重的服务描述特征词提取算法的具体操作步骤包括:
步骤21:将服务定义为一个四元组s=(Id,n,l,d),其中Id为服务的标识,n为服务名称,l为服务标签集合,d为服务描述文本;
步骤22:定义并初始化存储所有服务描述文本的语料库集合Corpus_w,以及待聚类的服务集合S中所包含服务的特征词集合s.fw为空;
步骤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-IDF=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中所述的带有概率分布修正因子的改进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)
其中,argmax(φk,w)为单词w在所有主题K下的最大概率分布值,此处k为w的对应最大概率分布的主题;
步骤34:将具有最大分布概率值的主题作为服务表征向量的关键主题,将其余的主题作为次要主题,接着判定单词w对应的最大概率分布的主题k是否为服务s表征向量中的次要主题,若是次要主题,则将修正因子与1的和1+δ(w,s)与表征向量中的主题k已有分布概率值相乘,完成基于单词w的主题概率分布修正;
步骤35:将服务s的所有特征词集合中的单词都依据步骤34完成概率修正,即可得到最终的服务表征向量;
步骤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之间的协作相似度计算公式为:
其中,m为服务协作向量的维数;
步骤6的具体操作步骤为:
步骤61:根据得到的服务表征向量以及服务协作向量、功能相似度与协作相似度二者权重比例超参数λ,初始化簇中心点,选出距离尽可能远的初始中心点;
步骤62:根据设定的聚类目标个数k,计算服务s与簇中心点的距离,找到与之距离最近的中心点,进行分类;
步骤63:计算各个簇的平均服务描述向量与平均服务协作向量,作为新的中心点;
步骤64:判断中心点是否发生改变,若发生改变则使用新的中心点,重复执行步骤62-63,进行新一轮聚类;
步骤65:当中心点不发生改变或迭代次数到达设定的迭代最大次数max-iter,结束计算,并输出最终的聚类结果。
2.根据权利要求1所述的一种融合服务协作关系的Restful类型Web服务聚类方法,其特征在于,步骤26所述的α取值为60%。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110069758.0A CN112749281B (zh) | 2021-01-19 | 2021-01-19 | 一种融合服务协作关系的Restful类型Web服务聚类方法 |
PCT/CN2021/130789 WO2022156328A1 (zh) | 2021-01-19 | 2021-11-16 | 一种融合服务协作关系的Restful类型Web服务聚类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110069758.0A CN112749281B (zh) | 2021-01-19 | 2021-01-19 | 一种融合服务协作关系的Restful类型Web服务聚类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112749281A CN112749281A (zh) | 2021-05-04 |
CN112749281B true CN112749281B (zh) | 2023-04-07 |
Family
ID=75652508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110069758.0A Active CN112749281B (zh) | 2021-01-19 | 2021-01-19 | 一种融合服务协作关系的Restful类型Web服务聚类方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112749281B (zh) |
WO (1) | WO2022156328A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112749281B (zh) * | 2021-01-19 | 2023-04-07 | 青岛科技大学 | 一种融合服务协作关系的Restful类型Web服务聚类方法 |
CN113191147A (zh) * | 2021-05-27 | 2021-07-30 | 中国人民解放军军事科学院评估论证研究中心 | 无监督的自动术语抽取方法、装置、设备和介质 |
CN116339799B (zh) * | 2023-04-06 | 2023-11-28 | 山景智能(北京)科技有限公司 | 一种智能化数据接口管理的方法、系统、终端设备及存储介质 |
CN116258470A (zh) * | 2023-05-15 | 2023-06-13 | 北京尽微致广信息技术有限公司 | 一种数据处理方法、系统、存储介质及电子设备 |
CN116860951B (zh) * | 2023-09-04 | 2023-11-14 | 贵州中昂科技有限公司 | 一种基于人工智能的信息咨询服务管理方法及管理系统 |
CN116881463B (zh) * | 2023-09-05 | 2024-01-26 | 南京艺术学院 | 基于数据的艺术多模态语料库构建系统 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102129479B (zh) * | 2011-04-29 | 2013-01-02 | 南京邮电大学 | 一种基于概率潜在语义分析模型的万维网服务发现方法 |
CN103778191B (zh) * | 2014-01-03 | 2017-02-15 | 南京师范大学 | 一种顾及空间邻近关系的矢量等高线数据划分方法 |
US10482118B2 (en) * | 2017-06-14 | 2019-11-19 | Sap Se | Document representation for machine-learning document classification |
CN108255809B (zh) * | 2018-01-10 | 2021-10-08 | 北京海存志合科技股份有限公司 | 考虑词语相似度的计算文档所对应的主题的方法 |
CN108491970B (zh) * | 2018-03-19 | 2021-09-10 | 东北大学 | 一种基于rbf神经网络的大气污染物浓度预测方法 |
CN108712466A (zh) * | 2018-04-18 | 2018-10-26 | 山东科技大学 | 一种基于Gaussian ATM和词嵌入的语义稀疏Web服务发现方法 |
CN109255125B (zh) * | 2018-08-17 | 2023-07-14 | 浙江工业大学 | 一种基于改进DBSCAN算法的Web服务聚类方法 |
CN110209809B (zh) * | 2018-08-27 | 2023-10-24 | 腾讯科技(深圳)有限公司 | 文本聚类方法和装置、存储介质及电子装置 |
CN110263153B (zh) * | 2019-05-15 | 2021-04-30 | 北京邮电大学 | 面向多源信息的混合文本话题发现方法 |
CN110378124A (zh) * | 2019-07-19 | 2019-10-25 | 杉树岭网络科技有限公司 | 一种基于lda机器学习的网络安全威胁分析方法及系统 |
CN110533072B (zh) * | 2019-07-30 | 2022-09-23 | 浙江工业大学 | Web环境下基于Bigraph结构的SOAP服务相似度计算与聚类方法 |
CN110659363B (zh) * | 2019-07-30 | 2021-11-23 | 浙江工业大学 | 基于膜计算的Web服务混合进化聚类方法 |
CN110661875B (zh) * | 2019-09-29 | 2022-02-25 | 青岛科技大学 | 一种基于Word2Vec的云制造服务协作相似度计算方法 |
CN111475609B (zh) * | 2020-02-28 | 2022-04-05 | 浙江工业大学 | 一种围绕主题建模的改进型K-means服务聚类方法 |
CN111724273B (zh) * | 2020-05-09 | 2023-04-14 | 中国大唐集团科学技术研究院有限公司火力发电技术研究院 | 采用大容量风电机组的海上风电场自动规划集电线路方法 |
CN111813955B (zh) * | 2020-07-01 | 2021-10-19 | 浙江工商大学 | 一种基于知识图谱表示学习的服务聚类方法 |
CN111832289B (zh) * | 2020-07-13 | 2023-08-11 | 重庆大学 | 一种基于聚类和高斯lda的服务发现方法 |
CN112749281B (zh) * | 2021-01-19 | 2023-04-07 | 青岛科技大学 | 一种融合服务协作关系的Restful类型Web服务聚类方法 |
-
2021
- 2021-01-19 CN CN202110069758.0A patent/CN112749281B/zh active Active
- 2021-11-16 WO PCT/CN2021/130789 patent/WO2022156328A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CN112749281A (zh) | 2021-05-04 |
WO2022156328A1 (zh) | 2022-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112749281B (zh) | 一种融合服务协作关系的Restful类型Web服务聚类方法 | |
RU2628431C1 (ru) | Подбор параметров текстового классификатора на основе семантических признаков | |
CN108846422B (zh) | 跨社交网络的账号关联方法及系统 | |
CN106021364B (zh) | 图片搜索相关性预测模型的建立、图片搜索方法和装置 | |
CN111061962B (zh) | 一种基于用户评分分析的推荐方法 | |
CN108132927B (zh) | 一种融合图结构与节点关联的关键词提取方法 | |
US20020078044A1 (en) | System for automatically classifying documents by category learning using a genetic algorithm and a term cluster and method thereof | |
CN110647626B (zh) | 基于互联网服务域的rest数据服务聚类方法 | |
CN105843799B (zh) | 一种基于多源异构信息图模型的学术论文标签推荐方法 | |
CN103838857B (zh) | 一种基于语义的自动服务组合系统及方法 | |
CN113742492B (zh) | 保险方案生成方法、装置、电子设备及存储介质 | |
WO2022121163A1 (zh) | 用户行为倾向识别方法、装置、设备及存储介质 | |
KR20190128246A (ko) | 검색 방법 및 장치 및 비-일시적 컴퓨터-판독가능 저장 매체 | |
CN111538846A (zh) | 基于混合协同过滤的第三方库推荐方法 | |
CN108874990A (zh) | 一种基于电力技术杂志论文非结构化数据提取的方法及系统 | |
Vandic et al. | A Framework for Product Description Classification in E-commerce. | |
Bhutada et al. | Semantic latent dirichlet allocation for automatic topic extraction | |
CN112632984A (zh) | 基于描述文本词频的图模型移动应用分类方法 | |
Gourru et al. | Gaussian embedding of linked documents from a pretrained semantic space | |
Chen et al. | Time-aware collaborative poisson factorization for service recommendation | |
CN112989053A (zh) | 一种期刊推荐方法及装置 | |
CN113326432A (zh) | 一种基于决策树与推荐方法的模型优选方法 | |
CN110727842B (zh) | 基于辅助性知识的Web服务开发者按需推荐方法及系统 | |
CN115827990B (zh) | 搜索方法及装置 | |
CN111859898A (zh) | 一种基于隐藏关联网络的多领域文本隐式特征抽取方法及计算机存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |