CN111475609B - 一种围绕主题建模的改进型K-means服务聚类方法 - Google Patents

一种围绕主题建模的改进型K-means服务聚类方法 Download PDF

Info

Publication number
CN111475609B
CN111475609B CN202010127367.5A CN202010127367A CN111475609B CN 111475609 B CN111475609 B CN 111475609B CN 202010127367 A CN202010127367 A CN 202010127367A CN 111475609 B CN111475609 B CN 111475609B
Authority
CN
China
Prior art keywords
mashup
service
vector
clustering
topic
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
Application number
CN202010127367.5A
Other languages
English (en)
Other versions
CN111475609A (zh
Inventor
陆佳炜
马超治
吴涵
程振波
徐俊
肖刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University of Technology ZJUT
Original Assignee
Zhejiang University of Technology ZJUT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN202010127367.5A priority Critical patent/CN111475609B/zh
Publication of CN111475609A publication Critical patent/CN111475609A/zh
Application granted granted Critical
Publication of CN111475609B publication Critical patent/CN111475609B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3335Syntactic pre-processing, e.g. stopword elimination, stemming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种围绕主题建模的改进型K‑means服务聚类方法,包括以下步骤:第一步、对所有需要特征表示的Mashup服务数据进行预处理;第二步、基于预处理后的Mashup服务数据,进行功能名词提取操作;第三步、对于每条Mashup服务的功能名词集合FS,利用主题模型进行Mashup特征向量的表示;第四步、对于所有参与聚类的Mashup特征向量,进行密度信息的计算;第五步、基于第五步计算的密度信息,从所有Mashup特征向量中,筛选出聚类中心的候选点;第六步、对第五步所得的聚类中心候选点,进一步筛选出最为合适的K个初始聚类中心,进行K‑means聚类。本发明改善Mahsup服务聚类的最终效果。

Description

一种围绕主题建模的改进型K-means服务聚类方法
技术领域
本发明涉及Web环境中的Mashup服务数据聚类领域,具体涉及一种围绕主题建模的改进型K-means聚类方法。
背景技术
Mashup技术作为Web 2.0时代的核心技术之一,可以通过组合多种不同功能的WebAPI服务,实现异构资源的整合。这一便捷高效的开发技术一经问世,便受到了广大软件开发人员的青睐,许多的组织机构也纷纷将自己开发的Mashup服务、数据资源发布到互联网上供用户调用。然而,随着互联网上的Mashup服务资源的不断增长,如何帮助用户快速定位满足自身需求的Mashup服务成为一个亟待解决的问题。此外,由于目前大多数Mashup服务缺乏规范性的WSDL文档以及相关服务属性说明,这也在一定程度上增加了对服务功能信息提取的难度。
为了能够解决上述问题,许多的研究开始基于LDA模型(主题模型)对Mashup服务进行面向功能主题的聚类,或者利用TF-IDF、Word2Vec等模型对服务描述文本构造特征向量完成聚类,例如,Liu等人设计了一种基于监督LDA的集成聚类模型用于改进聚类效果。Shi等人结合Word2Vec和LDA,设计出一种增强LDA模型,用于生成高质量的词向量模型,从而优化Mashup服务聚类性能。Gao等人将每个Mashup服务描述文本转化为TF-IDF向量进行表示,再通过K-means算法对这些TF-IDF向量进行聚类。然而,因为大多数Mashup服务的描述文本都存在内容简短、功能特征模糊等问题,所以对于LDA及其改进模型而言,提升聚类精度的最大局限在于缺乏优质的训练语料。但如果仅从TF-IDF技术入手解决服务功能特征表示的问题,又会忽略服务描述中的语义信息。此外,现有的大多数研究工作都是将K-means算法或其改进算法作为Mashup服务聚类的实现,但是这类聚类方案还未对K-means初始聚类中心选择问题提出一种成熟有效的解决方法。
2014年Rodriguez等人提出了一种密度峰值聚类(DPC)算法,为聚类中心的选择问题提供了解决思路,其核心思想在于通过统计每个数据点在截断距离dc范围内的数据点个数来求得局部密度ρ,进而结合数据点与较高密度点的最近距离δ这个属性来绘制出决策图,最后使用决策图快速的确定聚类中心。DPC算法的思想虽然简明高效,但是在实际应用中还是存在一些问题:(1)聚类效果十分依赖于截断距离的选取;(2)数据量大时,可能无法轻易的从决策图中挑出合适的聚类中心点。因此,若能对此类问题进行改进,并应用于Mashup服务聚类场景中,也将有助于提升聚类的整体性能。
发明内容
为了能够有效表示Mashup服务的功能特征,增强Mashup服务的聚类性能。本发明提出了一种围绕主题建模的改进型Kmeans服务聚类方法。该方法首先将Mashup数据进行预处理,在此基础上,结合主题模型构造出能够体现Mashup服务的特征向量;在得到每个Mashup服务的特征向量后,使用了一种改进型K-means聚类方法。方法对传统DPC算法中局部密度的计算方式进行了重新定义,使得密度分布更加合理。进一步,方法对每个聚类单元的密度信息进行了综合评估计算,选出最为合适的K个初始聚类中心,作为K-means算法输入,实现聚类。
为了解决上述技术问题本发明所采用的技术方案是:
一种围绕主题建模的改进型K-means服务聚类方法,包括以下步骤:
第一步、对所有需要特征表示的Mashup服务数据进行预处理,过程如下:
步骤(1.1)遍历每条Mashup服务信息,针对性的提取出服务名称、服务描述、WebAPI组合信息、类别信息以及标签信息进行整理,进行步骤(1.2);
步骤(1.2)如果遇到缺失服务描述或描述内容过于简短的情况,则直接将该服务剔除,进行步骤(1.3);
步骤(1.3)如果遇到缺失服务名称的情况,则将设置特定的递增序列号作为默认的服务名称,进行步骤(1.4);
步骤(1.4)对于每条服务的描述内容,将具有特殊语义的符号进行转义,例如将“$”改写为“dollar”,同时剔除“▲”、“#”这样不包含任何语义信息的字符,以便于在后一阶段提升功能词汇检索的运行效率。进行步骤(1.5);
步骤(1.5)检查服务描述中的单词完整性,若有字母缺失的情况,先尽可能进行补全复原,而对于实在无法补全的单词,则将其剔除,进行步骤(1.6);
步骤(1.6)根据每条Mashup服务的Web API组合属性,获取相应的Web API服务信息,进而利用这些Web API的标签对相应的Mashup服务标签进行扩充,使得扩充后的Mashup服务标签更能全面体现服务的功能特点,进行步骤(1.7);
步骤(1.7)判断Mashup服务信息是否遍历完成,若否,则返回步骤(1.1),否则,结束;
第二步、基于预处理后的Mashup服务数据,进行功能名词提取操作,过程如下:
步骤(2.1)遍历Mashup服务数据,对每条服务描述内容进行词性标注。进行步骤(2.2);
步骤(2.2)基于步骤(2.1)的词性标注结果,过滤掉副词、形容词、量词这些没有实际语义的停用词,进行步骤(2.3);
步骤(2.3)在剩余的名词中进行词形还原,去重后放入临时名词集合中,进行步骤(2.4);
步骤(2.4)检查临时名词集合中是否掺杂了类似Mashup服务名称这样无功能语义的名词成分,若有,则剔除,而保留下来的其他名词则作为最终的功能名词集合FS。否则,将临时名词集合直接作为功能名词集合FS,进行步骤(2.5);
步骤(2.5)判断Mashup服务是否遍历完成,若否,则返回步骤(2.1),否则,结束;
第三步、对于每条Mashup服务的功能名词集合FS,利用主题模型进行Mashup特征向量的表示,过程如下:
通过以Mashup服务信息为语料库构建LDA模型,得到每条Mashup服务信息的主题分布,并以此进行Mashup服务的特征向量的表示,其中,LDA模型将Mashpup文档集中每篇文档的主题以概率分布的形式给出,文本中主题的概率分布通过转换处理,化简为空间向量,向量的数值受到Mashup服务中心思想的影响,越接近中心思想的主题其概率越高;
步骤(3.1)遍历各Mashup服务信息,包括对应的功能名词集合FS,给定包含k个主题的主题集合T,Set(FS)为存放所有功能名词集合FS的集合,对当前FS对应的k个主题的概率向量θf随机赋值,其中,θf为<pt1,pt2,...,ptk-1,ptk>,pti表示当前功能名词集合FS对应第i个主题的概率,计算公式如下:
Figure BDA0002394800000000031
其中,len(FS)表示FS中单词的数量,ti表示主题集合T中的第i个主题,len(FS∩ti)表示FS和主题ti共同存在的单词的数量,进行步骤(3.2);
步骤(3.2)遍历主题集合T,对每个主题t生成所有单词的概率向量Φt随机赋值,Φt为<pw1,pw2,...,pwm-1,pwm>,其中,m为Set(FS)包含的单词总数,pwi表示当前主题t生成第i个单词的概率,计算公式如下:
Figure BDA0002394800000000041
其中,len(t)表示主题t中单词的数量,wi表示Set(FS)中第i个单词,∑(t∩wi)表示主题t中对应到Set(FS)中第i个单词出现的次数,进行步骤(3.3);
步骤(3.3)遍历集合Set(FS),其中,FSn为Set(FS)中第n个集合,进行步骤(3.4);
步骤(3.4)遍历集合FSn中的单词,其中,wp为FSn中第p个单词,进行步骤(3.5);
步骤(3.5)遍历主题集合T中的主题,其中,tq为T中第q个主题,进行步骤(3.6);
步骤(3.6)对于当前单词wp,当前主题tq,计算当前功能名词集合FSn中的单词wp属于主题tq的概率Pq(wp|FSn),其计算公式为:
Pq(wp|FSn)=P(wp|tq)*P(tq|FSn),进行步骤(3.7);
步骤(3.7)选取Pq(wp|FSn)值最大的主题tq作为单词wp的主题,判断集合T是否遍历完成,若否,进行步骤(3.6),否则,进行步骤(3.8);
步骤(3.8),判断集合FSn中的单词是否遍历完毕,若否,进行步骤(3.5),否则,进行步骤(3.9);
步骤(3.9)判断集合Set(FS)是否遍历完成,若否,则返回步骤(3.4),否则,进行步骤(3.10);
步骤(3.10)设定常量N,重复步骤(3.3)至步骤(3.7)N次,N为经验值,根据机器性能与文档数量决定,得到收敛后的概率向量θ和Φ,其中,θ是每个FS的主题概率向量θf的集合,Φ是每个主题t生成所有单词的概率向量Φt的集合,进行步骤(3.11);
步骤(3.11)遍历每条Mashup服务信息,包括对应的功能名词集合FS以及对应的主题概率向量θf,进行步骤(3.12);
步骤(3.12)初始化Mashup语义特征向量DVecy,进行步骤(3.13);
步骤(3.13)将概率向量θ各维度的值赋值给对应的DVecy,进行步骤(3.14)
步骤(3.14)判断Mashup服务信息是否遍历完毕,若否,进行步骤(3.13),否则,结束;
第四步、对于所有参与聚类的Mashup特征向量,进行密度信息的计算,密度信息包括局部密度、向量间距离和较高密度最近距离,过程如下:
步骤(4.1)遍历每个Mashup特征向量,计算当前向量的局部密度ρy,计算公式如下所示:
Figure BDA0002394800000000051
其中,DVecy表示Mashup特征向量,而DVecy的局部密度ρy就是由离其最近的k个特征向量DVecz的余弦相似度cos(DVecy,DVecz)累加而成,这样的计算方式不仅避免了人工设定截断距离所带来的干扰问题,并且可以让每个向量获得较为合理的局部密度值,进行步骤(4.2);
步骤(4.2)计算当前向量的向量间距离dyz,计算公式如下所示:
dyz=1-cos(DVecy,DVecz),进行步骤(4.3);
步骤(4.3)基于属性ρy与属性dyz,定义当前向量的较高密度最近距离δy,定义公式如下:
Figure BDA0002394800000000052
其中,定义式中y表示当前向量,z表示其他向量,min函数表示选取最小值,max函数表示选取最大值,进行步骤(4.4);
步骤(4.4)判断Mashup特征向量是否遍历完成,若否,则返回步骤(4.1),否则,结束;
第五步、基于第五步计算的密度信息,从所有Mashup特征向量中,筛选出聚类中心的候选点,过程如下:
步骤(5.1)计算限定值bound。其计算公式如下所示:
bound=(max(δy)+min(δy))/2,其中,max(δy)表示δy的最大值,而min(δy)表示δy的最小值,进行步骤(5.2);
步骤(5.2)将δy值低于bound的Mashup特征向量提取出来,并将它们的密度信息对应放入集合S,进行步骤(5.3);
步骤(5.3)计算步长单元au,并设置初始值为0,其中,au主要用于确定聚类中心候选点的δy值范围,进行步骤(5.4);
步骤(5.4)遍历集合S,取出δy,进行步骤(5.5);
步骤(5.5)遍历集合S,取出δz,其中,δz与δy不相等,进行步骤(5.6);
步骤(5.6)对au进行累加计算,计算公式如下:
au=au+|δyz|,其中,|δyz|表示取δz与δy之差的绝对值。记录当前循环次数count,进行步骤(5.7);
步骤(5.7)判断集合S是否遍历完成,若否,则返回步骤(5.5),否则,进行步骤(5.8);
步骤(5.8)判断集合S是否遍历完成,若否,则返回步骤(4.4),否则,进行步骤(5.9);
步骤(5.9)设au=au/count,进行步骤(5.10);
步骤(5.10)设置判定半径r,并赋默认值为bound,其中判定半径主要用于进一步确定聚类中心候选点的范围,进行步骤(5.11);
步骤(5.11)针对所有Mashup特征向量,判断在连续的bound/au个区域中,向量δy属性的数量是否保持递增,并将初始遍历区域设为[l1=0,l2=au],进行步骤(5.12);
步骤(5.12)若δy属性的数量递增,则将l1与l2的值分别累加一个步长au,进行更新,否则,进行步骤(5.13);
步骤(5.13)将判定半径r设为l1的值,进行步骤(5.14);
步骤(5.14)从所有Mashup特征向量中,筛选出半径r内包含其它向量,并且δy值大于r的向量作为聚类中心候选点集合;
第六步、对第五步所得的聚类中心候选点,进一步筛选出最为合适的K个初始聚类中心,进行K-means聚类,过程如下:
步骤(6.1)在聚类中心候选点集合中,筛选出ρy与δy乘积最高的向量,并将其在半径r内包含的向量个数m统计出来,其中半径r即为第六步计算出的判定半径,进行步骤(6.2);
步骤(6.2)遍历聚类中心候选点集合,计算当前候选点的波动值SDy,计算公式如下所示:
Figure BDA0002394800000000071
其中,U(y)表示距离y最近的m个向量,γz表示ρy与δy的乘积,avgz则表示这m个向量γz的均值,进行步骤(6.3);
步骤(6.3)判断候选点集合是否遍历完成,若否,则返回步骤(6.2),否则,进行步骤(6.4);
步骤(6.4)对候选点集合中的每个向量,进行加权评估计算,计算公式如下所示:
Figure BDA0002394800000000072
其中,a为介于0与1之间的权值,默认为0.5,进行步骤(6.5);
步骤(6.5)对步骤步骤(6.4)计算所得的score进行降序排序,选取前K个向量作为K-means算法的输入,进行K-means聚类。
本发明的有益效果是,可以基于规范化处理后的Mashup服务描述信息,并构建出能够反映Mashup服务真实功能特征的Mashup特征向量。在此基础上,从Mashup特征向量中,自适应确定最优的初始聚类中心,作为K-means算法输入,从而改善Mahsup服务聚类的最终效果。
附图说明
图1为一种围绕主题建模的改进型K-means服务聚类方法的框架图。
图2为功能名词提取过程图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1和图2,一种围绕主题建模的改进型K-means服务聚类方法,其特征在于,所述方法包括以下步骤:
第一步、对所有需要特征表示的Mashup服务数据进行预处理;
第二步、基于预处理后的Mashup服务数据,进行功能名词提取操作;
第三步、对于每条Mashup服务的功能名词集合FS,利用主题模型进行Mashup特征向量的表示,过程如下:
通过以Mashup服务信息为语料库构建LDA模型,得到每条Mashup服务信息的主题分布,并以此进行Mashup服务的特征向量的表示,其中,LDA模型将Mashpup文档集中每篇文档的主题以概率分布的形式给出,文本中主题的概率分布通过转换处理,化简为空间向量,向量的数值受到Mashup服务中心思想的影响,越接近中心思想的主题其概率越高;
第四步、对于所有参与聚类的Mashup特征向量,进行密度信息的计算,密度信息包括局部密度、向量间距离和较高密度最近距离;
第五步、基于第五步计算的密度信息,从所有Mashup特征向量中,筛选出聚类中心的候选点;
第六步、对第五步所得的聚类中心候选点,进一步筛选出最为合适的K个初始聚类中心,进行K-means聚类。
首先结合图1,对本发明所提方法的整体过程进行描述,描述内容如下:
在初始阶段,方法先对所有Mashup服务数据进行预处理,主要包括以下三个步骤:
服务元信息提取:提取出各Mashup服务的服务名称、服务描述、Web API组合信息、类别信息以及标签信息进行整理。其中,如果遇到缺失服务描述或描述内容过于简短的情况,则直接将该服务剔除;如果遇到缺失服务名称的情况,则将设置特定的递增序列号作为默认的服务名称,保证后续操作对于该服务的可操作性。
服务描述整理:对于每条服务的描述内容,首先将具有特殊语义的符号进行转义,例如将“$”改写为“dollar”。其次,剔除“▲”、“#”这样不包含任何语义信息的字符,以便于在后一阶段提升功能词汇检索的运行效率。最后,检查每个单词的完整性,若有字母缺失的情况,先尽可能进行补全复原,而对于实在无法补全的单词,则将其剔除。
服务标签扩充:根据每条服务的Web API组合属性,爬取相应的Web API服务信息,再利用这些Web API的标签对相应的Mashup服务标签进行扩充,使得扩充后的Mashup服务标签更能全面体现服务的功能特点。
基于预处理后的Mashup服务数据,方法先通过功能名词提取步骤来精准定位每条服务描述中的功能名词。进一步,利用LDA模型获得Mashup服务的主题分布,通过计算转换,构造出Mashup特征向量。基于Mashup特征向量,进行密度信息计算,及综合评估计算,筛选出最优的K个向量,作为K-means算法的初始输入,进行聚类。
下面对本发明所述的聚类方法做具体介绍,具体步骤如下:
第一步、对所有需要特征表示的Mashup服务数据进行预处理,过程如下:
步骤(1.1)遍历每条Mashup服务信息,针对性的提取出服务名称、服务描述、WebAPI组合信息、类别信息以及标签信息进行整理,进行步骤(1.2);
步骤(1.2)如果遇到缺失服务描述或描述内容过于简短的情况,则直接将该服务剔除,进行步骤(1.3);
步骤(1.3)如果遇到缺失服务名称的情况,则将设置特定的递增序列号作为默认的服务名称,进行步骤(1.4);
步骤(1.4)对于每条服务的描述内容,将具有特殊语义的符号进行转义,例如将“$”改写为“dollar”。同时剔除“▲”、“#”这样不包含任何语义信息的字符,以便于在后一阶段提升功能词汇检索的运行效率。进行步骤(1.5);
步骤(1.5)检查服务描述中的单词完整性,若有字母缺失的情况,先尽可能进行补全复原,而对于实在无法补全的单词,则将其剔除,进行步骤(1.6);
步骤(1.6)根据每条Mashup服务的Web API组合属性,获取相应的Web API服务信息,进而利用这些Web API的标签对相应的Mashup服务标签进行扩充,使得扩充后的Mashup服务标签更能全面体现服务的功能特点,进行步骤(1.7);
步骤(1.7)判断Mashup服务信息是否遍历完成,若否,则返回步骤(1.1),否则,结束。
第二步、基于预处理后的Mashup服务数据,进行功能名词提取操作,过程如下:
步骤(2.1)遍历Mashup服务数据,对每条服务描述内容进行词性标注。进行步骤(2.2);
步骤(2.2)基于步骤(2.1)的词性标注结果,过滤掉副词、形容词、量词这些没有实际语义的停用词,进行步骤(2.3);
步骤(2.3)在剩余的名词中进行词形还原,去重后放入临时名词集合中,进行步骤(2.4);
步骤(2.4)检查临时名词集合中是否掺杂了类似Mashup服务名称这样无功能语义的名词成分,若有,则剔除,而保留下来的其他名词则作为最终的功能名词集合FS。否则,将临时名词集合直接作为功能名词集合FS,进行步骤(2.5);
步骤(2.5)判断Mashup服务是否遍历完成,若否,则返回步骤(2.1),否则,结束。
第三步、对于每条Mashup服务的功能名词集合FS,利用主题模型进行Mashup特征向量的表示,过程如下:
本发明通过以Mashup服务信息为语料库构建LDA模型,得到每条Mashup服务信息的主题分布,并以此进行Mashup服务的特征向量的表示,其中模型将Mashup文档集中每篇文档的主题以概率分布的形式给出,文本中主题的概率分布通过转换处理,化简为空间向量,向量的数值受到Mashup服务中心思想的影响,越接近中心思想的主题其概率越高;
步骤(3.1)遍历各Mashup服务信息,包括对应的功能名词集合FS,给定包含k个主题的集合T,Set(FS)为存放所有功能名词集合FS的集合,对当前FS对应的k个主题的概率向量θf随机赋值,其中,θf为<pt1,pt2,...,ptk-1,ptk>,pti表示当前功能名词集合FS对应第i个主题的概率,计算公式如下:
Figure BDA0002394800000000101
其中,len(FS)表示FS中单词的数量,ti表示主题集合T中的第i个主题,len(FS∩ti)表示FS和主题ti共同存在的单词的数量,进行步骤(3.2);
步骤(3.2)遍历主题集合T,对每个主题t生成所有单词的概率向量Φt随机赋值,Φt为<pw1,pw2,...,pwm-1,pwm>,其中,m为Set(FS)包含的单词总数,pwi表示当前主题t生成第i个单词的概率,计算公式如下:
Figure BDA0002394800000000102
其中,len(t)表示主题t中单词的数量,wi表示Set(FS)中第i个单词,∑(t∩wi)表示主题t中对应到Set(FS)中第i个单词出现的次数,进行步骤(3.3);
步骤(3.3)遍历集合Set(FS),其中,FSn为Set(FS)中第n个集合,进行步骤(3.4);
步骤(3.4)遍历集合FSn中的单词,其中,wp为FSn中第p个单词,进行步骤(3.5);
步骤(3.5)遍历主题集合T中的主题,其中,tq为T中第q个主题,进行步骤(3.6);
步骤(3.6)对于当前单词wp,当前主题tq,计算当前功能名词集合FSn中的单词wp属于主题tq的概率Pq(wp|FSn),其计算公式为:
Pq(wp|FSn)=P(wp|tq)*P(tq|FSn),进行步骤(3.7);
步骤(3.7)选取Pq(wp|FSn)值最大的主题tq作为单词wp的主题,判断集合T是否遍历完成,若否,进行步骤(3.6),否则,进行步骤(3.8);
步骤(3.8),判断集合FSn中的单词是否遍历完毕,若否,进行步骤(3.5),否则,进行步骤(3.9);
步骤(3.9)判断集合Set(FS)是否遍历完成,若否,则返回步骤(3.4),否则,进行步骤(3.10);
步骤(3.10)设定常量N,重复步骤(3.3)至步骤(3.7)N次,N为经验值,根据机器性能与文档数量决定。得到收敛后的概率向量θ和Φ,其中,θ是每个FS的主题概率向量θf的集合,Φ是每个主题t生成所有单词的概率向量Φt的集合,进行步骤(3.11);
步骤(3.11)遍历每条Mashup服务信息,包括对应的功能名词集合FS以及对应的主题概率向量θf,进行步骤(3.12);
步骤(3.12)初始化Mashup语义特征向量DVecy,进行步骤(3.13);
步骤(3.13)将概率向量θ各维度的值赋值给对应的DVecy,进行步骤(3.14)
步骤(3.14)判断Mashup服务信息是否遍历完毕,若否,进行步骤(3.13),否则,结束;
第四步、对于所有参与聚类的Mashup特征向量,进行密度信息的计算,密度信息包括局部密度、向量间距离和较高密度最近距离,过程如下:
步骤(4.1)遍历每个Mashup特征向量,计算当前向量的局部密度ρy,计算公式如下所示:
Figure BDA0002394800000000111
其中,DVecy表示Mashup特征向量,而DVecy的局部密度ρy就是由离其最近的k个特征向量DVecz的余弦相似度cos(DVecy,DVecz)累加而成,这样的计算方式不仅避免了人工设定截断距离所带来的干扰问题,并且可以让每个向量获得较为合理的局部密度值。进行步骤(4.2);
步骤(4.2)计算当前向量的向量间距离dyz,计算公式如下所示:
dyz=1-cos(DVecy,DVecz),进行步骤(4.3);
步骤(4.3)基于属性ρy与属性dyz,定义当前向量的较高密度最近距离δy,定义公式如下:
Figure BDA0002394800000000121
其中,定义式中y表示当前向量,z表示其他向量,min函数表示选取最小值,max函数表示选取最大值,进行步骤(4.4);
步骤(4.4)判断Mashup特征向量是否遍历完成,若否,则返回步骤(4.1),否则,结束;
第五步、基于第五步计算的密度信息,从所有Mashup特征向量中,筛选出聚类中心的候选点,过程如下:
步骤(5.1)计算限定值bound。其计算公式如下所示:
bound=(max(δy)+min(δy))/2,其中,max(δy)表示δy的最大值,而min(δy)表示δy的最小值,进行步骤(5.2);
步骤(5.2)将δy值低于bound的Mashup特征向量提取出来,并将它们的密度信息对应放入集合S,进行步骤(5.3);
步骤(5.3)计算步长单元au,并设置初始值为0,其中,au主要用于确定聚类中心候选点的δy值范围,进行步骤(5.4);
步骤(5.4)遍历集合S,取出δy,进行步骤(5.5);
步骤(5.5)遍历集合S,取出δz,其中,δz与δy不相等,进行步骤(5.6);
步骤(5.6)对au进行累加计算,计算公式如下:
au=au+|δyz|,其中,|δyz|表示取δz与δy之差的绝对值。记录当前循环次数count,进行步骤(5.7);
步骤(5.7)判断集合S是否遍历完成,若否,则返回步骤(5.5),否则,进行步骤(5.8);
步骤(5.8)判断集合S是否遍历完成,若否,则返回步骤(4.4),否则,进行步骤(5.9);
步骤(5.9)设au=au/count,进行步骤(5.10);
步骤(5.10)设置判定半径r,并赋默认值为bound,其中判定半径主要用于进一步确定聚类中心候选点的范围,进行步骤(5.11);
步骤(5.11)针对所有Mashup特征向量,判断在连续的bound/au个区域中,向量δy属性的数量是否保持递增,并将初始遍历区域设为[l1=0,l2=au],进行步骤(5.12);
步骤(5.12)若δy属性的数量递增,则将l1与l2的值分别累加一个步长au,进行更新,否则,进行步骤(5.13);
步骤(5.13)将判定半径r设为l1的值,进行步骤(5.14);
步骤(5.14)从所有Mashup特征向量中,筛选出半径r内包含其它向量,并且δy值大于r的向量作为聚类中心候选点集合。
第六步、对第五步所得的聚类中心候选点,进一步筛选出最为合适的K个初始聚类中心,进行K-means聚类,过程如下:
步骤(6.1)在聚类中心候选点集合中,筛选出ρy与δy乘积最高的向量,并将其在半径r内包含的向量个数m统计出来,其中半径r即为第六步计算出的判定半径,进行步骤(6.2);
步骤(6.2)遍历聚类中心候选点集合,计算当前候选点的波动值SDy,计算公式如下所示:
Figure BDA0002394800000000131
其中,U(y)表示距离y最近的m个向量,γz表示ρy与δy的乘积,avgz则表示这m个向量γz的均值,进行步骤(6.3);
步骤(6.3)判断候选点集合是否遍历完成,若否,则返回步骤(6.2),否则,进行步骤(6.4);
步骤(6.4)对候选点集合中的每个向量,进行加权评估计算,计算公式如下所示:
Figure BDA0002394800000000132
其中,a为介于0与1之间的权值,默认为0.5,进行步骤(6.5);
步骤(6.5)对步骤步骤(6.4)计算所得的score进行降序排序,选取前K个向量作为K-means算法的输入,进行K-means聚类。
其中,K-means聚类算法是由MacQueen等人提出的一种迭代求解的聚类分析算法。算法的主要思想是通过随机选取K个对象作为初始的聚类中心,然后计算剩余对象与各个初始聚类中心之间的距离,进行就近划分,形成一次聚类。之后,聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。本发明中的终止条件即为聚类中心不再发生变化。

Claims (6)

1.一种围绕主题建模的改进型K-means服务聚类方法,其特征在于,所述方法包括以下步骤:
第一步、对所有需要特征表示的Mashup服务数据进行预处理;
第二步、基于预处理后的Mashup服务数据,进行功能名词提取操作;
第三步、对于每条Mashup服务的功能名词集合FS,利用主题模型进行Mashup特征向量的表示,过程如下:
通过以Mashup服务信息为语料库构建LDA模型,得到每条Mashup服务信息的主题分布,并以此进行Mashup服务的特征向量的表示,其中,LDA模型将Mashpup文档集中每篇文档的主题以概率分布的形式给出,文本中主题的概率分布通过转换处理,化简为空间向量,向量的数值受到Mashup服务中心思想的影响,越接近中心思想的主题其概率越高;
第四步、对于所有参与聚类的Mashup特征向量,进行密度信息的计算,密度信息包括局部密度、向量间距离和较高密度最近距离;
第五步、基于第五步计算的密度信息,从所有Mashup特征向量中,筛选出聚类中心的候选点;
第六步、对第五步所得的聚类中心候选点,进一步筛选出最为合适的K个初始聚类中心,进行K-means聚类;
所述的第三步的过程如下:
步骤(3.1)遍历各Mashup服务信息,包括对应的功能名词集合FS,给定包含k个主题的主题集合T,Set(FS)为存放所有功能名词集合FS的集合,对当前FS对应的k个主题的概率向量θf随机赋值,其中,θf为<pt1,pt2,...,ptk-1,ptk>,pti表示当前功能名词集合FS对应第i个主题的概率,计算公式如下:
Figure FDA0003398674630000011
其中,len(FS)表示FS中单词的数量,ti表示主题集合T中的第i个主题,len(FS∩ti)表示FS和主题ti共同存在的单词的数量,进行步骤(3.2);
步骤(3.2)遍历主题集合T,对每个主题t生成所有单词的概率向量Φt随机赋值,Φt为<pw1,pw2,...,pwm-1,pwm>,其中,m为Set(FS)包含的单词总数,pwi表示当前主题t生成第i个单词的概率,计算公式如下:
Figure FDA0003398674630000012
其中,len(t)表示主题t中单词的数量,wi表示Set(FS)中第i个单词,∑(t∩wi)表示主题t中对应到Set(FS)中第i个单词出现的次数,进行步骤(3.3);
步骤(3.3)遍历集合Set(FS),其中,FSn为Set(FS)中第n个集合,进行步骤(3.4);
步骤(3.4)遍历集合FSn中的单词,其中,wp为FSn中第p个单词,进行步骤(3.5);
步骤(3.5)遍历主题集合T中的主题,其中,tq为T中第q个主题,进行步骤(3.6);
步骤(3.6)对于当前单词wp,当前主题tq,计算当前功能名词集合FSn中的单词wp属于主题tq的概率Pq(wp|FSn),其计算公式为:
Pq(wp|FSn)=P(wp|tq)*P(tq|FSn),进行步骤(3.7);
步骤(3.7)选取Pq(wp|FSn)值最大的主题tq作为单词wp的主题,判断集合T是否遍历完成,若否,进行步骤(3.6),否则,进行步骤(3.8);
步骤(3.8),判断集合FSn中的单词是否遍历完毕,若否,进行步骤(3.5),否则,进行步骤(3.9);
步骤(3.9)判断集合Set(FS)是否遍历完成,若否,则返回步骤(3.4),否则,进行步骤(3.10);
步骤(3.10)设定常量N,重复步骤(3.3)至步骤(3.7)N次,N为经验值,根据机器性能与文档数量决定,得到收敛后的概率向量θ和Φ,其中,θ是每个FS的主题概率向量θf的集合,Φ是每个主题t生成所有单词的概率向量Φt的集合,进行步骤(3.11);
步骤(3.11)遍历每条Mashup服务信息,包括对应的功能名词集合FS以及对应的主题概率向量θf,进行步骤(3.12);
步骤(3.12)初始化Mashup语义特征向量DVecy,进行步骤(3.13);
步骤(3.13)将概率向量θ各维度的值赋值给对应的DVecy,进行步骤(3.14)
步骤(3.14)判断Mashup服务信息是否遍历完毕,若否,进行步骤(3.13),否则,结束。
2.如权利要求1所述的一种围绕主题建模的改进型K-means服务聚类方法,其特征在于,所述第一步的过程如下:
步骤(1.1)遍历每条Mashup服务信息,针对性的提取出服务名称、服务描述、Web API组合信息、类别信息以及标签信息进行整理,进行步骤(1.2);
步骤(1.2)如果遇到缺失服务描述或描述内容过于简短的情况,则直接将该服务剔除,进行步骤(1.3);
步骤(1.3)如果遇到缺失服务名称的情况,则将设置特定的递增序列号作为默认的服务名称,进行步骤(1.4);
步骤(1.4)对于每条服务的描述内容,将具有特殊语义的符号进行转义,同时剔除“▲”、“#”这样不包含任何语义信息的字符,以便于在后一阶段提升功能词汇检索的运行效率,进行步骤(1.5);
步骤(1.5)检查服务描述中的单词完整性,若有字母缺失的情况,先尽可能进行补全复原,而对于实在无法补全的单词,则将其剔除,进行步骤(1.6);
步骤(1.6)根据每条Mashup服务的Web API组合属性,获取相应的Web API服务信息,进而利用这些Web API的标签对相应的Mashup服务标签进行扩充,使得扩充后的Mashup服务标签更能全面体现服务的功能特点,进行步骤(1.7);
步骤(1.7)判断Mashup服务信息是否遍历完成,若否,则返回步骤(1.1),否则,结束。
3.如权利要求1或2所述的一种围绕主题建模的改进型K-means服务聚类方法,其特征在于,所述的第二步的过程如下:
步骤(2.1)遍历Mashup服务数据,对每条服务描述内容进行词性标注,进行步骤(2.2);
步骤(2.2)基于步骤(2.1)的词性标注结果,过滤掉副词、形容词、量词这些没有实际语义的停用词,进行步骤(2.3);
步骤(2.3)在剩余的名词中进行词形还原,去重后放入临时名词集合中,进行步骤(2.4);
步骤(2.4)检查临时名词集合中是否掺杂了类似Mashup服务名称这样无功能语义的名词成分,若有,则剔除,而保留下来的其他名词则作为最终的功能名词集合FS,否则,将临时名词集合直接作为功能名词集合FS,进行步骤(2.5);
步骤(2.5)判断Mashup服务是否遍历完成,若否,则返回步骤(2.1),否则,结束。
4.如权利要求1或2所述的一种围绕主题建模的改进型K-means服务聚类方法,其特征在于,所述第四步的过程如下:
步骤(4.1)遍历每个Mashup特征向量,计算当前向量的局部密度ρy,计算公式如下所示:
Figure FDA0003398674630000031
其中,DVecy表示Mashup特征向量,而DVecy的局部密度ρy就是由离其最近的k个特征向量DVecz的余弦相似度cos(DVecy,DVecz)累加而成,这样的计算方式不仅避免了人工设定截断距离所带来的干扰问题,并且可以让每个向量获得较为合理的局部密度值,进行步骤(4.2);
步骤(4.2)计算当前向量的向量间距离dyz,计算公式如下所示:
dyz=1-cos(DVecy,DVecz),进行步骤(4.3);
步骤(4.3)基于属性ρy与属性dyz,定义当前向量的较高密度最近距离δy,定义公式如下:
Figure FDA0003398674630000032
其中,定义式中y表示当前向量,z表示其他向量,min函数表示选取最小值,max函数表示选取最大值,进行步骤(4.4);
步骤(4.4)判断Mashup特征向量是否遍历完成,若否,则返回步骤(4.1),否则,结束。
5.如权利要求1或2所述的一种围绕主题建模的改进型K-means服务聚类方法,其特征在于,所述第五步的过程如下:
步骤(5.1)计算限定值bound,其计算公式如下所示:
bound=(max(δy)+min(δy))/2,其中,max(δy)表示δy的最大值,而min(δy)表示δy的最小值,进行步骤(5.2);
步骤(5.2)将δy值低于bound的Mashup特征向量提取出来,并将它们的密度信息对应放入集合S,进行步骤(5.3);
步骤(5.3)计算步长单元au,并设置初始值为0,其中,au主要用于确定聚类中心候选点的δy值范围,进行步骤(5.4);
步骤(5.4)遍历集合S,取出δy,进行步骤(5.5);
步骤(5.5)遍历集合S,取出δz,其中,δz与δy不相等,进行步骤(5.6);
步骤(5.6)对au进行累加计算,计算公式如下:
au=au+|δyz|,其中,|δyz|表示取δz与δy之差的绝对值,记录当前循环次数count,进行步骤(5.7);
步骤(5.7)判断集合S是否遍历完成,若否,则返回步骤(5.5),否则,进行步骤(5.8);
步骤(5.8)判断集合S是否遍历完成,若否,则返回步骤(4.4),否则,进行步骤(5.9);
步骤(5.9)设au=au/count,进行步骤(5.10);
步骤(5.10)设置判定半径r,并赋默认值为bound,其中判定半径主要用于进一步确定聚类中心候选点的范围,进行步骤(5.11);
步骤(5.11)针对所有Mashup特征向量,判断在连续的bound/au个区域中,向量δy属性的数量是否保持递增,并将初始遍历区域设为[l1=0,l2=au],进行步骤(5.12);
步骤(5.12)若δy属性的数量递增,则将l1与l2的值分别累加一个步长au,进行更新,否则,进行步骤(5.13);
步骤(5.13)将判定半径r设为l1的值,进行步骤(5.14);
步骤(5.14)从所有Mashup特征向量中,筛选出半径r内包含其它向量,并且δy值大于r的向量作为聚类中心候选点集合。
6.如权利要求1或2所述的一种围绕主题建模的改进型K-means服务聚类方法,其特征在于,所述第六步的过程如下:
步骤(6.1)在聚类中心候选点集合中,筛选出ρy与δy乘积最高的向量,并将其在半径r内包含的向量个数m统计出来,其中半径r即为第六步计算出的判定半径,进行步骤(6.2);
步骤(6.2)遍历聚类中心候选点集合,计算当前候选点的波动值SDy,计算公式如下所示:
Figure FDA0003398674630000041
其中,U(y)表示距离y最近的m个向量,γz表示ρy与δy的乘积,avgz则表示这m个向量γz的均值,进行步骤(6.3);
步骤(6.3)判断候选点集合是否遍历完成,若否,则返回步骤(6.2),否则,进行步骤(6.4);
步骤(6.4)对候选点集合中的每个向量,进行加权评估计算,计算公式如下所示:
Figure FDA0003398674630000051
其中,a为介于0与1之间的权值,默认为0.5,进行步骤(6.5);
步骤(6.5)对步骤(6.4)计算所得的score进行降序排序,选取前K个向量作为K-means算法的输入,进行K-means聚类。
CN202010127367.5A 2020-02-28 2020-02-28 一种围绕主题建模的改进型K-means服务聚类方法 Active CN111475609B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010127367.5A CN111475609B (zh) 2020-02-28 2020-02-28 一种围绕主题建模的改进型K-means服务聚类方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010127367.5A CN111475609B (zh) 2020-02-28 2020-02-28 一种围绕主题建模的改进型K-means服务聚类方法

Publications (2)

Publication Number Publication Date
CN111475609A CN111475609A (zh) 2020-07-31
CN111475609B true CN111475609B (zh) 2022-04-05

Family

ID=71748016

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010127367.5A Active CN111475609B (zh) 2020-02-28 2020-02-28 一种围绕主题建模的改进型K-means服务聚类方法

Country Status (1)

Country Link
CN (1) CN111475609B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112749281B (zh) * 2021-01-19 2023-04-07 青岛科技大学 一种融合服务协作关系的Restful类型Web服务聚类方法
CN112836491B (zh) * 2021-01-25 2024-05-07 浙江工业大学 面向NLP基于GSDPMM和主题模型的Mashup服务谱聚类方法
CN112836488B (zh) * 2021-01-25 2024-02-20 浙江工业大学 基于TWE-NMF模型的Web服务描述文档语义挖掘方法
CN113361270B (zh) * 2021-05-25 2024-05-10 浙江工业大学 一种面向服务数据聚类的短文本优化主题模型方法
CN113378558B (zh) * 2021-05-25 2024-04-16 浙江工业大学 基于代表词对的RESTful API文档主题分布提取方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106021366A (zh) * 2016-05-10 2016-10-12 浙江大学 一种基于异构信息的api标签推荐方法
CN108712466A (zh) * 2018-04-18 2018-10-26 山东科技大学 一种基于Gaussian ATM和词嵌入的语义稀疏Web服务发现方法
CN110647626A (zh) * 2019-07-30 2020-01-03 浙江工业大学 基于互联网服务域的rest数据服务聚类方法
CN110659363A (zh) * 2019-07-30 2020-01-07 浙江工业大学 基于膜计算的Web服务混合进化聚类方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106021366A (zh) * 2016-05-10 2016-10-12 浙江大学 一种基于异构信息的api标签推荐方法
CN108712466A (zh) * 2018-04-18 2018-10-26 山东科技大学 一种基于Gaussian ATM和词嵌入的语义稀疏Web服务发现方法
CN110647626A (zh) * 2019-07-30 2020-01-03 浙江工业大学 基于互联网服务域的rest数据服务聚类方法
CN110659363A (zh) * 2019-07-30 2020-01-07 浙江工业大学 基于膜计算的Web服务混合进化聚类方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
融合SOM功能聚类与DeepFM质量预测的API服务推荐方法;曹步清等;《计算机学报》;20190318(第06期);全文 *

Also Published As

Publication number Publication date
CN111475609A (zh) 2020-07-31

Similar Documents

Publication Publication Date Title
CN111475609B (zh) 一种围绕主题建模的改进型K-means服务聚类方法
US6470307B1 (en) Method and apparatus for automatically identifying keywords within a document
CN112800170A (zh) 问题的匹配方法及装置、问题的回复方法及装置
CN110297988A (zh) 基于加权LDA和改进Single-Pass聚类算法的热点话题检测方法
WO2021068683A1 (zh) 正则表达式生成方法、装置、服务器及计算机可读存储介质
EP1323078A1 (en) A document categorisation system
CN109902289B (zh) 一种面向模糊文本挖掘的新闻视频主题分割方法
CN109299271A (zh) 训练样本生成、文本数据、舆情事件分类方法及相关设备
CN109344298A (zh) 一种将非结构化数据转化为结构化数据的方法及装置
CN111382276A (zh) 一种事件发展脉络图生成方法
CN109325122A (zh) 词表生成方法、文本分类方法、装置、设备及存储介质
CN111475608B (zh) 一种基于功能语义关联计算的Mashup服务特征表示方法
CN111475607B (zh) 一种基于Mashup服务功能特征表示与密度峰值检测的Web数据聚类方法
KR102376489B1 (ko) 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 장치 및 그 방법
CN115017903A (zh) 文档层次结构联合全局局部信息抽取关键短语方法及系统
CN114462392A (zh) 一种基于主题关联度与关键词联想的短文本特征扩展方法
CN115757743A (zh) 文档的检索词匹配方法及电子设备
CN113486143A (zh) 一种基于多层级文本表示及模型融合的用户画像生成方法
CN112632229A (zh) 文本聚类方法及装置
CN109684442B (zh) 一种文本检索方法、装置、设备及程序产品
CN113536772A (zh) 一种文本处理方法、装置、设备及存储介质
CN111079448A (zh) 一种意图识别方法及装置
WO2021042234A1 (zh) 应用程序的介绍方法、移动终端及服务器
CN111339287A (zh) 摘要生成方法及装置
CN116150379B (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