基于描述语境特征词与改进GSDMM 模型的服务聚类方法

2021-08-28 10:08胡强沈嘉吉荆广辉杜军威
通信学报 2021年8期
关键词:特征词文档聚类

胡强,沈嘉吉,荆广辉,杜军威

(青岛科技大学信息科学技术学院,山东 青岛 266061)

1 引言

随着云计算、大数据以及物联网、移动互联网等新一代信息技术的快速发展,面向服务架构(SOA,service-oriented architecture)的业务系统开发和部署得到广泛应用和推广[1]。企业将自身业务功能或产品封装为服务,通过互联网进行发布;用户可以通过云平台查找和调用所需服务,并与已有业务系统集成,快速构建各类复杂的增值应用系统,弥补自身业务能力的不足,进而可降低企业运营成本,提高竞争力[2]。

作为SOA 架构下主流服务实现方式,Web 服务是一种采用规范化协议封装的Web API,分为SOAP 和RESTful。截至2021 年3 月,在Programmable Web 注册的服务已经超过23 000 条,其中,绝大多数为RESTful 型Web API。不同于SOAP 类型的服务采用Web 服务描述语言(WSDL,Web services description language)结构化文档进行服务信息描述,RESTful 类型Web 服务通常采用非结构化的自然语言描述服务功能或使用方法,从而使服务查找与发现难度增大。此外,随着SOA 架构应用的普及,大量企业不断推出新的Web 服务,使服务数量飞速增加,进一步增大了服务发现难度[3]。

聚类可以将功能相似的服务划分为一个簇,有效地缩减服务查找空间,提高发现效率[4]。采用WSDL 文档描述服务信息的Web 服务中,WSDL文档显式地设置了多种标签,易于提取服务描述的各类特征信息。此类服务在聚类时通常提取若干能够表示服务功能的关键词,按照标签类别分别计算这些关键词的语义或词频相似度即可实现服务功能相似性的度量[5]。近年来,随着RESTful 类型Web 服务数量的增加,越来越多的Web 服务采用短文本自然语言进行服务描述,因此,如何为此类服务实现高质量的聚类成为新的研究热点[6]。

然而,采用自然语言刻画的Web 服务描述信息中文本较短,特别是缺乏显式标签对服务描述文本进行语义信息的标识,使服务的各类特征信息提取难度增大。为了有效地从服务描述信息文本中提取可以表达服务功能的关键特征信息,研究者将主题模型应用于服务描述信息的建模和抽取[7]。

主题模型是一类以非监督学习的方式对文本的隐含语义结构进行聚类的统计模型,以概率分布形式生成文本对应的主题向量。利用主题模型可以为服务功能描述生成主题向量,该主题向量表达了服务在若干功能主题上的概率分布。通过计算不同服务表征向量之间的相似度可以实现服务功能相似度的判定。本文将采用主题模型为Web 服务生成的主题向量称为服务表征向量。

目前,常于生成服务表征向量的主题模型有LSA(latent Semantic analysis)[8-9]、LDA(latent Dirichlet alloation)[10-11]、BTM(biterm topic model)[12-13]、HDP(hierarchical Dirichlet process)[14]、GSDMM(Gibbs sampling for the Dirichlet multinomial mixture)[15-16]等,其中,LDA 模型应用最广泛。服务描述文本较短,且功能、操作以及QoS 描述词语混合在一起[17],导致采用主题模型生成的服务表征向量中通常主题松散和稀疏。文献[15]利用实验进行多项指标对比验证后指出,相比其他主题模型,GSDMM 为服务描述生成主题向量的质量最高。然而,GSDMM 生成主题向量时强化关键主题概率,弱化次要主题概率,这种情形虽有利于短文本分类、提高生成向量的主题区分度,但在一定程度上影响主题语义分布的均衡性。

针对上述问题,为进一步提升服务表征向量的生成质量,改进服务聚类效果,本文提出了一种基于描述语境特征词与改进GSDMM 的服务聚类方法,主要工作和贡献如下。

1) 提出了一种基于语境权重的服务描述特征词提取方法。该方法将服务描述文本中词语的词频与语境相似度相结合,建立词语的语境权重,筛选出一定数量可以代表服务描述功能的特征词,去除噪声词语,有效缓解服务描述文本中的主题松散问题。

2) 构建了一种基于带有主题分布概率修正因子GSDMM 服务表征向量生成模型。该模型将通过修正GSDMM 模型生成的主题向量中非关键主题的概率分布,改善生成服务表征向量主题分布的语义均衡性,提高了服务表征向量的质量。

3) 构建了面向服务表征向量与K-means++算法的服务聚类方法。以Programmable Web 上的真实数据开展多轮次聚类实验,验证了所提出的服务描述特征词提取方法、改进的GSDMM 的服务表征向量生成模型以及聚类算法的有效性与先进性。

2 相关工作

如何从WSDL 结构化文档中抽取Web 服务描述信息,并进行服务相似度计算与聚类是早期服务聚类领域开展的主要工作。例如,Liang 等[18]提出一种名为WCCluster 的聚类方法,该方法以二分图划分的形式同时对WSDL 文档及抽取出的关键词进行聚类。Wu 等[19]基于标签共现、挖掘和语义相关性度量进行服务标签推荐,进而构建了一种基于混合Web 服务标签的服务聚类方法,相比其他WSDL 聚类方法,该方法将聚类精度提升约14%。Agarwal 等[6]提出一种基于长度特征权重的方法LFW(length feature weight)对WSDL 文档向量化,并使用K-means 聚类算法完成聚类,其效果优于使用TF-IDF(term frequency-inverse document frequency)方法生成WSDL表示向量的方法。上述方法通常是从WSDL 文档中提取各类标签描述的特征词,然后通过计算特征词的语义或者借助于词频转化为向量,进而计算服务相似度并实现聚类。

随着采用短文本自然语言进行功能描述的Web服务数量的增加,已有从结构化文档中提取服务特征信息的方法不再适用于此类服务[20]。研究者通常采用主题模型或者神经网络模型对服务描述进行特征向量提取,通过计算特征向量的相似度完成服务发现或聚类。

Cao 等[21]利用Mashup 服务之间的关系构建了Mashup 服务网,使用二级主题模型来挖掘潜在主题,并设计了一种基于协同过滤(CF,collaborative filtering)的Web API 推荐算法。文献[11]提出了一种利用高斯LDA 模型处理文本词嵌入的方法,在此基础上。Lizarralde 等[22]将服务描述加入高斯LDA模型中以获取服务描述表示,再通过用户查询与服务描述表示之间的相关性对服务进行排名。Zhang等[23]使用LDA 主题模型将服务进行分组聚类,然后基于服务集群进行服务发现,设计了推荐语义相关服务的机制帮助用户优化初始查询。刘建勋等[24]提出一种基于主题模型的Mashup 标签推荐方法,通过联合使用LDA 与RTM(relation topic model),使推荐精度显著提高。石敏等[25]考虑多重Web 服务关系的概率构建主题模型MR-LDA(multi-relational-LDA),对Web 服务之间的组合关系以及Web 服务之间共享标签的关系进行建模,利用这些关系对主题分布矩阵进行修正,并对其进行高效服务聚类。

Baskara 等[13]将Web 服务结构建模为加权有向无环图(WDAG,weighted directed acyclic graph),然后使用BTM 主题模型在已建模的WDAG 上挖掘主题,并通过计算主题相似度进行服务发现。为了解决描述特征稀疏的问题,Shi 等[26]提出了一种基于概率主题模型的句子扩展方法以及基于深度学习LSTM 模型的服务推荐方法,效果优于基础LSTM 方法。Ye 等[27]提出一种WSC-GCN(Web services classification based on graph neural network)模型,将单词-文档关系与单词-单词关系作为边、单词与文档作为点构建出一张无向图,并使用TF-IDF 值作为边的权重,放入GCN 中获得文档向量进行聚类。

相比以LDA 为代表的上述主题模型,Yin 等[16]提出的GSDMM 更适合为短文本进行主题建模。虽然GSDMM 模型生成的服务表征向量质量优于其他主题模型,但在生成服务表征向量的概率分布完备性和均衡性层面还有一定的提升空间。此外,在服务表征向量生成时,通过对服务描述信息中的特征词进行筛选,可以进一步提高服务表征向量的质量。基于上述考虑,本文开展了基于描述语境特征词与改进GSDMM 模型的服务表征向量生成与聚类研究,本文的研究流程如图1 所示。

图1 研究流程

3 基于语境权重的服务描述特征词提取

本文中参与聚类的服务是采用短文本自然语言进行功能描述的 Web 服务。该类服务以Programmable Web 上的Web API 为典型代表,图2给出一个具体的Web API 服务描述。

图2 Programmable Web 服务示例

服务标签是该服务提供功能所隶属的类别标志,服务描述文本则是以短文本自然语言的形式给出的有关服务功能、使用以及质量评价方面的文字说明。这两类文本中的词语是服务聚类时进行功能相似度度量的主要依据。为了后文描述方便,首先给出服务的形式化定义。

定义1服务

服务定义为一个四元组,s=(Id,n,l,d),其中,Id 为服务的标识ID 号,n为服务的名称,l为服务标签集合,d为服务描述信息。

定义2词语的语义相似度

wi和wj为文本T中的2 个单词,分别为词语wi和wj对应的词向量,则wi和wj的语义相似度为

定义3词语的语境相似度

Tim为一段包含m个词语的文本,wij为文本Tim中的一个词语,wij在文本Tim中的语境相似度为

定义4词语的TF-IDF

d为文档集合D中的一个文档,wi是d中的一个词语。wi在d中的TF-IDF 定义为

定义5词语的语境权重

Tim为语料库T_Corpus 中一段包含m个词语的文本,wij为文本Tim中的一个词语,wij在文本Tim中的语境权重定义为

由定义2 可知,词语的语义相似度为词语所对应词向量之间的余弦夹角值,语境相似度是该词语与其所在文本中的其他词语的语义相似度的平均值。词语的语境权重则需要基于词语所在的文本以及语料库计算出该词语相对于所在文本的TF-IDF词频,再乘以该词语的语境相似度。因此,语境权重综合考虑了词频以及词语之间的语义相似度,更好地反映了词语的重要性。

现有采用主题模型进行服务聚类的方法中,通常是将服务描述删除虚词后的全部词语均作为服务表征向量生成的语料,这种做法存在主题稀疏和分散的问题。也有研究工作仅从服务描述中提取若干个关键词,通过Word2Vec 等工具将这些词语转化为向量,用加权的方式生成表征服务的最终向量,这类方法存在关键词提取难度大的问题,而且容易因加权操作造成语义信息丢失。

为此,本文提出一种基于语境权重的服务描述特征词提取方法。该方法按照语境权重排名筛选出一定数量的词语作为服务描述的特征词。这种特征词筛选的方式有效降低了噪声词语的数量,提高了服务表征向量生成文本的质量。对于服务s,令S={si},1≤i≤n为待聚类服务构成的服务集合,算法1 给出了基于语境权重的服务描述特征词提取方法。

算法1FeatureWord_Extract

算法1第1)~2)行初始化2个空集合,Corpus_w为语料库集合,用于存储服务集合S中所有服务的服务描述文本;FW_S为服务特征词集合,存储经算法1 处理后得到的集合S中所有服务的特征词。第3)~6)行将S中包含的所有服务的服务描述文本加入语料库Corpus_w,然后利用Word2Vec 为语料库中的每个词语w训练一个向量V(w)。

在生成服务s的特征词集合时,针对服务描述s.d中的每个词w,算法1 第9)~11)行计算w在s.d中对应的语境权重;第12)行构建了服务特征词集合s.fw。服务标签是平台服务分类、存储和查找的重要类别依据,文献[24]指出不同服务共享标签的数量越多,它们同属一个类别的可能性越大,当服务之间共享3 个以上标签时,隶属于同一个类别的概率上升至50%,因此,服务标签是聚类所需考虑的重要因素。在构建s.fw 时,首先将服务标签集合s.l中的所有单词加入s.fw;然后对服务描述中词语依照服务描述语境权重ContextWeight(w)进行排序,分别取占比为前α的词语加入s.fw。通过实验验证,当α为75%~90%时,所提取的特征词生成服务表征向量质量最佳。循环处理可得服务集合S中所有服务的特征词集合FW_S。

4 基于带有主题分布概率修正因子GSDMM 模型的服务表征向量生成

本文提出一种面向主题分布概率修正的GSDMM 模型,引入概率分布修正因子,修正服务表征向量中主题对应的概率分布值,提高服务表征向量对服务功能刻画的完备性与均衡性。

GSDMM 模型是一种概率生成式无监督模型,基于狄利克雷混合(DMM,Dirichlet multinomial mixtures)模型生成文档,然后使用吉布斯采样算法近似求解模型。在DMM 模型中,由主题k得到文档d的概率为

为获得描述中的单词-主题分布,依据文献[16],假设主题在单词上是多项式分布,则有

其中,Φ为单词-主题分布矩阵,刻画了单词w属于第k个主题的概率;φk,w为单词w在主题k上的概率分布,同一篇文档中所有单词的主题分布之和为1,即。

同样地,每个主题的概率服从式(3)所示的多项式分布

其中,Θ为文档-主题分布矩阵,刻画了文档d在主题k上的概率分布;θk,d为文档d在主题k上的概率分布,在一篇文档描述中遵循。

吉布斯采样算法在所有主题上不断采样,最终得到文档-主题矩阵Θ和单词-主题矩阵Φ。吉布斯采样中描述属于某个主题的概率计算式为其中,K为初始主题个数,α、β为狄利克雷先验参数,D为语料库中文档总数,为文档的主题标签,为语料库中的文档,mz为主题z下的文档数,为主题z下的单词数,为主题z下的单词w出现的次数,为去除当前文档,V为词语表中的词语数量,Nd为文档d中的单词数量,为文档d中单词w出现的次数。

本文将服务表征向量中具有最大分布概率值的主题称为关键主题,其他主题称为次要(非关键)主题。在GSDMM 中引入主题分布概率修正因子δ,通过δ修正生成服务表征向量中的各个次要主题分布概率,有效地提高服务表征向量的完备性,改进的GSDMM 模型如图3 所示。

图3 带有主题概率分布修正因子的GSDMM 模型

修正因子为

其中,max(φk,w)为单词w在所有主题k下的最大概率分布值,ContextWeight (w,d)为单词w在文档d中的语境权重,λ为调节修正因子影响力的超参数。算法2 给出面向主题概率分布修正GSDMM 的服务表征向量生成方法。

算法2SRV_RGSDMM

算法2 中,第1)行调用算法1,为服务s的服务描述文本中的每一个词语w计算语境权重ContextWeight(w,s),并筛选出服务特征词集合s_fw;第2)~5)行将服务集合中所有服务的特征词集合依次输入GSDMM 模型中,进行10 轮训练后得到主题-词语矩阵Φ和服务-主题矩阵Θ,以及每个服务s对应的初始服务表征向量srv(s)。

算法2 第6)~14)行实现修正因子的计算,并完成对初始服务表征向量srv(s)的概率修正。首先,针对服务s的特征词集合s_fw 中的每一个单词w,在单词-主题矩阵Φ找到w对应的分布概率值最大的主题k-max-w。将单词w的最大主题分布概率值max(φk,w)与其对应的语境权重ContextWeight(w,s.d)相乘,并乘以超参数修正率λ=0.1,得到服务s表征主题中该单词w对应的修正因子δ(w,s.d)。算法2第10)~13)行判定单词w对应的最大概率分布主题k-max-w是否为服务s表征向量中的次要主题,如果是次要主题,则将修正因子δ(w,s.d)与表征向量中该主题已有分布概率值相乘,完成基于单词w的主题概率分布修正。将服务s的所有特征词集合中的单词均完成修正后即可得到最终的服务表征向量。算法2 第17)行返回服务表征向量集合SRV。

5 基于K-means++的服务聚类算法

本节基于K-means++与生成的服务表征向量,构建服务聚类算法,以算法2 生成的服务表征向量作为聚类数据,如算法3 所示。

算法3ServiceCluster_KM

算法3 首先随机选择一个服务表征向量作为初始聚类中心点cp1。第2)~9)行确定k个初始化聚类中心点,其方法是计算每个服务表征向量与已经产生的聚类中心点之间的欧氏距离ED(srv,cp),将服务表征向量srv 与已产生中心点的最近距离定义为D(srv);然后通过第7)行中的P(srv)计算srv被选中为下一个聚类中心点的概率;最后,通过轮盘法选出下一个聚类中心点。

算法3 第10)~16)行实现服务聚类。在聚类过程中,通过计算待聚类服务表征向量与聚类中心点之间的欧氏距离,将待聚类服务划归到具有最短欧氏距离的聚类中心点所在的簇。完成一轮次聚类后,重新计算每个服务簇的中心点,实现新一轮次的聚类,直至各个服务簇的聚类中心点不再变动,最终聚类完成,输出k个服务簇。

6 实验与分析

6.1 评价指标

聚类质量评价指标可分为外部和内部评价指标两类。外部评价指标使用样本标签来评价聚类是否合理。内部评价指标是通过刻画聚类质量的参数对聚类效果进行评价。本文选取以下常用指标对聚类质量进行。

6.1.1 内部评价指标

1) 轮廓系数(SC,silhouette coefficient)

对于单个样本x,设a是与它同类别中其他样本的平均距离,b是与它距离最近不同类别中样本的平均距离,其轮廓系数为

SC 分数的取值范围是[-1,1],分数越高代表聚类效果越好。

2) 戴维森堡丁指数(DBI,Davies-Bouldin index)

DBI 表示为任意2 个类别的类内平均距离之和除以2 个聚类中心距离求最大值。该指标计算式为

其中,xi和xj为2 个聚类,n为聚类的类别个数,ic为第i个类别中心,σi为i类中所有的点到中心点的平均距离,d(ci,cj)为2 个聚类中心点ci与cj之间的距离。类内距离越小、类间距离越大,则DBI 越小,分类效果越好。

6.1.2 外部评价指标

1) 标准化互信息(NMI,normalized mutual information)

NMI 是互信息(MI)分数的归一化,其计算式为

其中,X={x1,x2,…,xK}为聚类后的样本划分,Y={y1,y2,…,yK}为真实类别划分,MI 可计算出X与Y的相关程度,H(X)与H(Y)分别为X与Y的熵,F为归一化函数,本文选取算术平均的方法。NMI分数区间为[0,1],值越大代表聚类效果越好。

3) 调整互信息(AMI,adjusted mutual information)

AMI 在MI 基础上对其进行调整,已知聚类标签与真实标签,MI 能够度量两者之间的相关性,并忽略标签的排序。该指标的计算式为其中,E 为互信息 MI (X,Y)的期望。AMI 取值范围是[-1,1],值越大代表聚类结果与真实情况越吻合。

3) 调整兰德系数(ARI,adjusted Rand index)

ARI 计算式为

RI 的作用是确定正确决策的占比,其计算式为

ARI 取值范围是[-1,1],反映了真实标签与聚类结果之间的吻合程度,ARI 越大表示聚类结果与真实情况吻合度越高。

6.2 实验数据集

爬取Programmable Web 网站上的Web API 服务作为实验对象。删除描述文本过短、重复注册的服务,保留18 439 条有效服务,利用Python 工具包对实验数据进行以下处理。

1) 文本分词,将服务描述中单词按空格分开。

2) 大小写转化,将服务描述中存在的大写字母单词全部转化为小写字母单词。3) 去停用词,删除a、an、the、of 等无效词语。4) 词性还原,服务描述中单词存在时态、语态的变化,还原为最初的词态。

为了更好地进行聚类效果的内部评价指标和外部评价指标的对比,本文划分了6 个数据集,即DS1~DS6。其中,DS1~DS3用于内部评价指标的对比,采取增量式构建,包含的服务类别如表1 所示。DS4~DS6用于外部评价指标对比,采取无交叉式构建,包含的服务类别如表2 所示。

表1 内部评价数据集

表2 外部评价数据集

6.3 实验对比验证

实验机器配置为 i7-8750h,16 GB 内存,Windows10 操作系统,采用Python3.6+Java 编写程序。外部指标对比时,簇粒度分别设置为40、60、80、100、200、400,内部指标评价则采用服务标签作为聚类的类别标记,DS4、DS5、DS6的聚类数目分别设置为10、10、14。服务表征向量主题个数依次设置为20、40、60、80、100、150 和200。所有实验数据均为不同主题、簇粒度数目下的数据均值。

6.3.1 服务表征向量生成质量验证实验

实验采用聚类算法为K-means++,将本文所提出的带有主题分布概率修正因子的GSDMM 模型命名为R_GSDMM。服务表征向量生成质量实验对比数据如表3~表6 所示。

1) 内部评价指标比对

数据集DS1~DS3对应的内部指标评价数据如表3 所示。表3 中,行数据表示不同主题模型在各数据集中生成的服务表征向量所构建服务聚类对应的SC 和DBI。表3 中每一列SC 和DBI 均由两部分值组成,其中SC1和SC2分别表示未采用与采用本文基于描述语境权重特征词提取的情况下生成服务表征向量聚类得到的SC 指标值。DBI列各数据值的含义与SCl 列设置情况类似。

表3 服务表征向量质量验证实验数据

从SC1与SC2以及DBI1与DBI2的对比值可以看出,参与实验的7 种主题模型中,除了HDP 模型外,其他 6 种模型均满足 SC2>SC1和DBI2

从表3 中各个模型的SC 与DBI 对比数据可知,GSDMM 模型的指标值优于 LDA、LSA、LDA_W2V、BTM、HDP 等模型,而本文所提R_GSDMM 模型的指标值优于GSDMM 模型。这说明在相同服务表征向量生成语料情况下,R_GSDMM 模型生成服务表征向量质量最高,即本文所提带有主题概率分布修正因子的GSDMM 模型有效提升了服务表征向量的生成质量。

通过 3 个数据集的平均值数据项,计算R_GSDMM 对比GSDMM 模型的性能提升,结果如图4 所示。在图4 中,SC_WM、DBI_WM 分别表示采用本文方法以及带有主题概率分布修正因子的GSDMM 模型的性能提升值。相比传统GSDMM 模型,在3 个数据集上,本文方法将SC和DBI 指标平均提升了约6.9%和30.6%。

图4 本文方法对SC 与DBI 指标提升对比

2) 外部评价指标对比

数据集DS4~DS6中进行的外部指标评价对比数据如表4~表6 所示。其中,AMI1、NMI1、ARI1和AMI2、NMI2、ARI2分别表示未采用和采用本文所提基于语境权重特征词提取方法的聚类质量评价数据。

表4 服务表征向量质量验证DS4 实验数据

表5 服务表征向量质量验证DS5 实验数据

从表4~表6 可知,7 个主题模型生成的服务表征向量所构建的服务聚类,均满足AMI2>AMI1、NMI2>NMI1和ARI2>ARI1。这表明,采用本文所提方法构建的服务聚类质量比未采用此方法显著提高。因此,证明本文的特征词提取方法是有效的。此外,所有的模型在采用本文方法后,外部评价指标AMI、NIMI 和ARI 均得到提高,因此从外部评价指标看,本文的特征词提取方法适用于主题模型范围非常广泛。

表6 服务表征向量质量验证DS6 实验数据

纵向对比表4~表6 中各个主题模型的AMI、NMI 以及ARI 数据可以看出,不论是否采用本文所提特征词提取方法,R_GSDMM 模型所对应的服务聚类指标均优于GSDMM 以及其他主题模型。综合数据集DS4~DS6中的指标数据,采用GSDMM 模型、引入本文特征词提取后的GSDMM 模型(用GSDMM_W 表示)、同时引入本文特征词提取方法与带有主题概率分布修正因子的GSDMM 模型(用R_GSDMM_W 表示)所对应的AMI、NMI 以及ARI 指标平均值如图5 所示。相比传统GSDMM 模型,在同一服务描述文本语料前提下,本文方法将生成聚类的AMI、NMI 以及ARI 平均值分别提升21.7%、21.1%以及23.9%。

图5 不同模型外部评价指标平均值对比

6.3.2 聚类算法效果对比实验

实验选取K-means++、AGNES、BIRCH 以及GMM 这4 种常用算法,采用本文方法构建的服务表征向量,各聚类算法生成的聚类质量评价指标如表7~表9 所示。

1) 内部评价指标对比

数据集DS1~DS3中,K-means++、AGNES、BIRCH 以及GMM 这4 种聚类算法的SC 与DBI得分平均值如表7 所示。从表7 可知,K-means++算法生成的服务聚类质量在SC 与DBI 评价指标的占优数量上显著高于其他算法。

表7 聚类效果质量验证实验数据

数据集DS1~DS3对应不同聚类算法的SC 和DBI 得分平均值如图6 所示。从图6 可以看出,K-means++算法的SC 得分平均值略优于其他算法,DBI 得分平均值则显著优于其他算法。

图6 不同聚类算法内部评价指标平均值对比

综上,在SC 和DBI 平均值占优数量和平均值大小2 个层面,K-means++算法均优于其他算法。

2) 外部评价指标对比

数据集DS4~DS6中,K-means++、AGNES、BIRCH 以及GMM 这4 种聚类算法的AMI、NMI 与ARI 评分值如表8 所示。从表8 可以看出,K-means++在数据集DS5和DS6上的评分具有领先优势。

表8 聚类效果质量验证实验数据

4 种算法在数据集DS4~DS6中外部指标AMI、NMI 与ARI 评分平均值如图7 所示,K-means++在3项外部指标的平均得分中均领先于其他3种算法。因此,不论是从外部指标AMI、NMI 与ARI 评分平均值的领先数量还是平均值大小,K-means++算法均优于其他算法。

图7 不同聚类算法外部评价指标平均值对比

本节实验中,内部指标与外部指标最优值次数进行了分类汇总如表9 所示。在共计39 轮次的指标统计中,K-means++获得30 次最优值,其中包含一次K-means++与AGNES 并列最优值。因此,本文选用K-means++算法作为最终的服务聚类算法是合理和有效的。

表9 聚类算法最优指标值统计结果

相比传统GSDMM 生成服务表征向量,本文方法因引入Word2Vec 生成词向量而略增加耗时。由于Word2Vec 词向量生成耗时显著低于GSDMM 词向量生成,且在提取特征词后,语料词语数量减少和词频相对集中进一步降低GSDMM 生成向量的时间,因此,本文方法总体计算复杂度未明显升高。

7 结束语

为了提高采用短文本自然语言进行服务功能描述的Web 服务聚类效果,本文构建了一种高质量的服务表征向量生成以及聚类方法,采用适于短文本聚类的GSDMM 模型作为生成服务表征向量的主题模型,从词汇语料和主题概率分布2 个维度对服务表征质量生成方法进行了改进;建立的特征词提取算法有效去除服务描述信息中的噪声,构建的概率修正因子平衡了GSDMM 模型生成服务表征向量时的关键主题与次要主题之间的概率;构建了基于K-means++的服务聚类算法。采用5 种评价指标对本文提出的聚类方法效果进行评估,多轮次实验结果显示本文所提方法提高了服务表征向量的生成质量和服务聚类效果。

未来工作将进一步优化服务描述文本中词语的语境权重计算方法以及GSDMM 模型的主题概率分布修正因子,提升服务表征向量的质量。此外,将对服务之间的协作关系进行建模、量化,并融入服务聚类过程中,以期进一步提高聚类效果。

猜你喜欢
特征词文档聚类
浅谈Matlab与Word文档的应用接口
基于类信息的TF-IDF权重分析与改进①
有人一声不吭向你扔了个文档
一种面向财务文本分类的TF-IDF改进算法
面向WSN的聚类头选举与维护协议的研究综述
基于改进TFIDF算法的邮件分类技术
OPEN:一个基于评论的商品特征抽取及情感分析框架
Word文档 高效分合有高招
基于高斯混合聚类的阵列干涉SAR三维成像
基于Spark平台的K-means聚类算法改进及并行化实现