CN111475607A - 一种基于Mashup服务功能特征表示与密度峰值检测的Web数据聚类方法 - Google Patents
一种基于Mashup服务功能特征表示与密度峰值检测的Web数据聚类方法 Download PDFInfo
- Publication number
- CN111475607A CN111475607A CN202010127323.2A CN202010127323A CN111475607A CN 111475607 A CN111475607 A CN 111475607A CN 202010127323 A CN202010127323 A CN 202010127323A CN 111475607 A CN111475607 A CN 111475607A
- Authority
- CN
- China
- Prior art keywords
- mashup
- service
- semantic
- noun
- weight
- 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.)
- Granted
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/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3335—Syntactic pre-processing, e.g. stopword elimination, stemming
-
- 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/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- 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
-
- 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
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)
- Artificial Intelligence (AREA)
- Computational Linguistics (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)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于Mashup服务功能特征表示与密度峰值检测的聚类方法,包括以下步骤:第一步、对所有需要特征表示的Mashup服务数据进行预处理;第二步、进行功能名词提取操作;第三步、对每个功能名词的语义权重进行语义关联计算;第四步、结合TF‑IDF算法与Word2Vec模型,进行Mashup语义特征向量的表示;第五步、对于所有参与聚类的Mashup语义特征向量,进行密度信息的计算;第六步、从所有Mashup语义特征向量中,筛选出聚类中心的候选点;第七步、进一步筛选出最为合适的K个初始聚类中心,进行K‑means聚类。本发明能够有效表示Mashup服务的功能特征,增强Mashup服务的聚类性能。
Description
技术领域
本发明涉及Web环境中的Mashup服务数据聚类领域,具体涉及一种基于Mashup服务功能特征表示与密度峰值检测的聚类方法。
背景技术
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服务的聚类性能。本发明提出了一种基于Mashup服务功能特征表示与密度峰值检测的聚类方法。该方法首先将Mashup数据进行预处理,接着,对服务描述中的功能名词进行精准定位以及语义关联计算。在此基础上,结合TF-IDF以及Word2Vec模型构造出能够体现Mashup服务功能特征的语义特征向量;在得到每个Mashup服务的语义特征向量后,方法又对传统DPC算法中,局部密度的计算方式进行了重新定义,使得密度分布更加合理。进一步,方法对每个聚类单元的密度信息进行了综合评估计算,选出最为合适的K个初始聚类中心,作为K-means算法输入,实现聚类。
为了解决上述技术问题本发明所采用的技术方案是:
一种基于Mashup服务功能特征表示与密度峰值检测的聚类方法,包括以下步骤:
第一步、对所有需要特征表示的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,对每个功能名词的语义权重进行语义关联计算,过程如下:
步骤(3.1)计算所有功能名词集合FS的平均长度LAvg,计算公式如下:
步骤(3.2)遍历各Mashup服务信息,包括对应的功能名词集合FS,计算名词间语义关联权重对最终语义权重的影响因子w,若当前FS的集合长度len(FS)不等于LAvg,那么影响因子w公式如下所示:
步骤(3.3)遍历当前FS中的名词,计算第i个功能名词与其他名词之间的语义关联权重FSimi,计算公式如下:
步骤(3.4)在当前服务的服务标签中,计算出与功能名词ni语义相似性最大的值,作为ni的语义权重校正量TSimi,其中,语义相似性同样采用WordNet函数计算,进行步骤(3.5);
步骤(3.5)计算出功能名词ni的最终语义权重SWi,并存于当前服务功能语义权重字典SimDic中,其中,SWi计算公式如下:
SWi=w×Simi+(1-w)×TSimi,w即为步骤(3.2)计算的影响因子,进行步骤(3.6);
步骤(3.6)只将语义权重较高的前LAvg个单词存放于当前字典SimDic中,剔除其他单词,进行步骤(3.7);
步骤(3.7)判断当前FS中的名词是否遍历完成,若否,则返回步骤(3.3),否则,进行步骤(3.8);
步骤(3.8)判断Mashup服务是否遍历完成,若否,则返回步骤(3.2),否则,结束;
第四步、基于第三步的语义权重计算结果,结合TF-IDF算法与Word2Vec模型,进行Mashup语义特征向量的表示,过程如下:
传统的TF-IDF算法常被用于评估某个单词对于文档集合中的某一份文档的重要程度,其中,词频TF表示某个单词在指定文档中出现的频度,而逆文档频率IDF则用于表示单词区分文档的能力,TF-IDF的最终计算结果就是由TF值与IDF值相乘而得。
虽然TF-IDF值的计算方式比较快捷方便,但是仅以TF-IDF权重来衡量单词对于文档的重要性,仍然还是不够全面的,因此,对于每条Mashup服务,本发明基于第三步的语义权重计算结果,将字典SimDic中存放的单词进行最终的权重计算,将字典中每个单词x的语义权重SWx嵌入到TF-IDF算法中。这样不仅去除了无实际语义单词对计算结果的干扰,而且使权重计算敏感于文档的语义关联变化。最终的单词权重TSx计算公式如下所示:
其中,TF-IDFxy表示单词x在服务描述文本y中的TF-IDF权重。在此基础上,本发明借助由谷歌新闻作为语料训练好的Word2Vec模型,将字典SimDic中的单词向量化,并结合TS计算公式进行Mashup语义特征向量的表示。其中,Word2Vec模型由Mikolov等人于2013年提出,该模型将文本中的内容词汇通过转换处理,化简为空间向量,词向量的数值受上下文的影响,蕴含了词与词之间相互的关联性;
步骤(4.1)遍历每条Mashup服务信息,包括对应的功能语义权重字典SimDic,进行步骤(4.2);
步骤(4.2)初始化Mashup语义特征向量DVecy,进行步骤(4.3);
步骤(4.3)遍历当前字典SimDic中的单词x,并利用训练好的Word2Vec模型将其转化为词向量WVecx,进行步骤(4.4);
步骤(4.4)从当前字典SimDic中提取单词x的语义权重SWx,并计算出单词x的TF-IDF权重TF-IDFxy,进行步骤(4.5);
步骤(4.5)结合TS计算公式,计算出单词x的TS权重TSx,进行步骤(4.6);
步骤(4.6)判断是否当前SimDic存在多个单词,并且语义权重SWx为0,若是,则将将TSx置为0,否则,直接进行步骤(4.7);
步骤(4.7)对Mashup语义特征向量DVecy进行累加计算,计算公式如下:
DVecy+=WVecx×TSx,进行步骤(4.8);
步骤(4.8)判断当前字典SimDic中的单词是否遍历完成,若否,则返回步骤(4.3),否则,进行步骤(4.9);
步骤(4.9)判断Mashup服务信息是否遍历完成,若否,则返回步骤(4.1),否则,结束;
第五步、对于所有参与聚类的Mashup语义特征向量,进行密度信息的计算,密度信息包括局部密度、向量间距离和较高密度最近距离,过程如下:
步骤(5.1)遍历每个Mashup语义特征向量,计算当前向量的局部密度ρy,计算公式如下所示:
其中,DVecy表示Mashup语义特征向量,而DVecy的局部密度ρy就是由离其最近的k个特征向量DVecz的余弦相似度cos(DVecy,DVecz)累加而成,这样的计算方式不仅避免了人工设定截断距离所带来的干扰问题,并且可以让每个向量获得较为合理的局部密度值。进行步骤(5.2);
步骤(5.2)计算当前向量的向量间距离dyz,计算公式如下所示:
dyz=1-cos(DVecy,DVecz),进行步骤(5.3);
步骤(5.3)基于属性ρy与属性dyz,定义当前向量的较高密度最近距离δy,定义公式如下:
步骤(5.4)判断Mashup语义特征向量是否遍历完成,若否,则返回步骤(5.1),否则,结束;
第六步、基于第五步计算的密度信息,从所有Mashup语义特征向量中,筛选出聚类中心的候选点,过程如下:
步骤(6.1)计算限定值bound。其计算公式如下所示:
bound=(max(δy)+min(δy))/2,其中,max(δy)表示δy的最大值,而min(δy)表示δy的最小值,进行步骤(6.2);
步骤(6.2)将δy值低于bound的Mashup语义特征向量提取出来,并将它们的密度信息对应放入集合S,进行步骤(6.3);
步骤(6.3)计算步长单元au,并设置初始值为0,其中,au主要用于确定聚类中心候选点的δy值范围,进行步骤(6.4);
步骤(6.4)遍历集合S,取出δy,进行步骤(6.5);
步骤(6.5)遍历集合S,取出δz,其中,δz与δy不相等,进行步骤(6.6);
步骤(6.6)对au进行累加计算,计算公式如下:
au=au+|δy-δz|,其中,|δy-δz|表示取δz与δy之差的绝对值。记录当前循环次数count,进行步骤(6.7);
步骤(6.7)判断集合S是否遍历完成,若否,则返回步骤(6.5),否则,进行步骤(6.8);
步骤(6.8)判断集合S是否遍历完成,若否,则返回步骤(6.4),否则,进行步骤(6.9);
步骤(6.9)设au=au/count,进行步骤(6.10);
步骤(6.10)设置判定半径r,并赋默认值为bound,其中判定半径主要用于进一步确定聚类中心候选点的范围,进行步骤(6.11);
步骤(6.11)针对所有Mashup语义特征向量,判断在连续的bound/au个区域中,向量δy属性的数量是否保持递增,并将初始遍历区域设为[l1=0,l2=au],进行步骤(6.12);
步骤(6.12)若δy属性的数量递增,则将l1与l2的值分别累加一个步长au,进行更新,否则,进行步骤(6.13);
步骤(6.13)将判定半径r设为l1的值,进行步骤(6.14);
步骤(6.14)从所有Mashup语义特征向量中,筛选出半径r内包含其它向量,并且δy值大于r的向量作为聚类中心候选点集合;
第七步、对第六步所得的聚类中心候选点,进一步筛选出最为合适的K个初始聚类中心,进行K-means聚类,过程如下:
步骤(7.1)在聚类中心候选点集合中,筛选出ρy与δy乘积最高的向量,并将其在半径r内包含的向量个数m统计出来,其中半径r即为第六步计算出的判定半径,进行步骤(7.2);
步骤(7.2)遍历聚类中心候选点集合,计算当前候选点的波动值SDy,计算公式如下所示:
步骤(7.3)判断候选点集合是否遍历完成,若否,则返回步骤(7.2),否则,进行步骤(7.4);
步骤(7.4)对候选点集合中的每个向量,进行加权评估计算,计算公式如下所示:
步骤(7.5)对步骤步骤(7.4)计算所得的score进行降序排序,选取前K个向量作为K-means算法的输入,进行K-means聚类。
本发明的有益效果是,可以基于规范化处理后的Mashup服务描述信息,与标签信息,高效的进行功能语义的关联计算,进而提取出服务中功能语义信息,并构建出能够反映Mashup服务真实功能特征的Mashup语义特征向量。在此基础上,从Mashup语义特征向量中,自适应确定最优的初始聚类中心,作为K-means算法输入,从而改善Mahsup服务聚类的最终效果。
附图说明
图1为一种基于Mashup服务功能特征表示与密度峰值检测的聚类方法框架。
图2为功能名词提取过程。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1和图2,一种基于Mashup服务功能特征表示与密度峰值检测的聚类方法,包括以下步骤:
包括以下步骤:
第一步、对所有需要特征表示的Mashup服务数据进行预处理;
第二步、基于预处理后的Mashup服务数据,进行功能名词提取操作;
第三步、对于每条Mashup服务的功能名词集合FS,对每个功能名词的语义权重进行语义关联计算;
第四步、基于第三步的语义权重计算结果,结合TF-IDF算法与Word2Vec模型,进行Mashup语义特征向量的表示;
第五步、对于所有参与聚类的Mashup语义特征向量,进行密度信息的计算,密度信息包括局部密度、向量间距离和较高密度最近距离;
第六步、基于第五步计算的密度信息,从所有Mashup语义特征向量中,筛选出聚类中心的候选点;
第七步、对第六步所得的聚类中心候选点,进一步筛选出最为合适的K个初始聚类中心,进行K-means聚类。
首先结合图1,对本发明所提方法的整体过程进行描述,描述内容如下:
在初始阶段,方法先对所有Mashup服务数据进行预处理,主要包括以下三个步骤:
服务元信息提取:提取出各Mashup服务的服务名称、服务描述、Web API组合信息、类别信息以及标签信息进行整理。其中,如果遇到缺失服务描述或描述内容过于简短的情况,则直接将该服务剔除;如果遇到缺失服务名称的情况,则将设置特定的递增序列号作为默认的服务名称,保证后续操作对于该服务的可操作性。
服务描述整理:对于每条服务的描述内容,首先将具有特殊语义的符号进行转义,例如将“$”改写为“dollar”。其次,剔除“▲”、“#”这样不包含任何语义信息的字符,以便于在后一阶段提升功能词汇检索的运行效率。最后,检查每个单词的完整性,若有字母缺失的情况,先尽可能进行补全复原,而对于实在无法补全的单词,则将其剔除。
服务标签扩充:根据每条服务的Web API组合属性,爬取相应的Web API服务信息,再利用这些Web API的标签对相应的Mashup服务标签进行扩充,使得扩充后的Mashup服务标签更能全面体现服务的功能特点。
基于预处理后的Mashup服务数据,方法先通过功能名词提取步骤来精准定位每条服务描述中的功能名词。进一步,利用语义关联计算步骤,来对上一步提取出的功能名词进行语义权重计算,并且在计算过程中充分考虑了服务标签与功能名词之间的关联性,确保语义权重的真实性与正确性。最后,方法将语义权重作为语义制约因子嵌入TF-IDF权重公式,并与Word2Vec词向量结合计算,构造出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流程,进行功能名词提取操作,过程如下:
步骤(2.1)遍历Mashup服务数据,使用Python NLTK工具对每条服务描述内容进行词性标注。其中,Python NLTK是一种自然语言处理工具包,主要功能包括形还原、词干化、词性分类。进行步骤(2.2);
步骤(2.2)基于步骤(2.1)的词性标注结果,过滤掉副词、形容词、量词这些没有实际语义的停用词,进行步骤(2.3);
步骤(2.3)在剩余的名词中进行词形还原,去重后放入如图2中部所示的临时名词集合中。进行步骤(2.4);
步骤(2.4)检查临时名词集合中是否存在无功能语义的名词成分,例如,图2临时名词集合中pricemachine、mashup这类没有实际功能语义的词汇。若有,那么需要将这些名词成分剔除,而保留下来的其他名词则作为最终的功能名词集合FS。否则,将临时名词集合直接作为功能名词集合FS,进行步骤(2.5);
步骤(2.5)判断Mashup服务是否遍历完成,若否,则返回步骤(2.1),否则,结束。
第三步、对于每条Mashup服务的功能名词集合FS,结合WordNet工具来对每个功能名词的语义权重进行语义关联计算,过程如下:
步骤(3.1)计算所有功能名词集合FS的平均长度LAvg,计算公式如下:
步骤(3.2)遍历各Mashup服务信息,包括对应的功能名词集合FS,计算名词间语义关联权重对最终语义权重的影响因子w,若当前FS的集合长度len(FS)不等于LAvg,那么影响因子w公式如下所示:
步骤(3.3)遍历当前FS中的名词,计算第i个功能名词与其他名词之间的语义关联权重FSimi,计算公式如下:
其中,WordNet(ni,nj)表示第i个功能名词与第j个功能名词之间的语义相似度,|FS|表示功能名词集合FS中所包含的名词个数。WordNet是由普林斯顿大学认识科学实验室在心理学教授米勒的指导下建立和维护的英语词典,主要用于分析计算单词之间的语义关系。进行步骤(3.4);
步骤(3.4)在当前服务的服务标签中,计算出与功能名词ni语义相似性最大的值,作为ni的语义权重校正量TSimi,其中,语义相似性同样采用WordNet函数计算,进行步骤(3.5);
步骤(3.5)计算出功能名词ni的最终语义权重SWi,并存于当前服务功能语义权重字典SimDic中,其中,SWi计算公式如下:
SWi=w×Simi+(1-w)×TSimi,w即为步骤(3.2)计算的影响因子,进行步骤(3.6);
步骤(3.6)只将语义权重较高的前LAvg个单词存放于当前字典SimDic中,剔除其他单词,进行步骤(3.7);
步骤(3.7)判断当前FS中的名词是否遍历完成,若否,则返回步骤(3.3),否则,进行步骤(3.8);
步骤(3.8)判断Mashup服务是否遍历完成,若否,则返回步骤(3.2),否则,结束。
第四步、基于第三步的语义权重计算结果,结合TF-IDF算法与Word2Vec模型,进行Mashup语义特征向量的表示,过程如下:
传统的TF-IDF算法常被用于评估某个单词对于文档集合中的某一份文档的重要程度,其中,词频TF表示某个单词在指定文档中出现的频度,而逆文档频率IDF则用于表示单词区分文档的能力。TF-IDF的最终计算结果就是由TF值与IDF值相乘而得;
虽然TF-IDF值的计算方式比较快捷方便,但是仅以TF-IDF权重来衡量单词对于文档的重要性,仍然还是不够全面的,例如,在Mashup服务描述中,一些词频较高的特殊名词、专属形容词往往也可以获得较高的TF-IDF权重值,但是这些单词却不具备太多的功能语义,无法反映出服务的实际功能特征。因此,对于每条Mashup服务,本发明基于第三步的语义权重计算结果,将字典SimDic中存放的单词进行最终的权重计算,将字典中每个单词x的语义权重SWx嵌入到TF-IDF算法中。这样不仅去除了无实际语义单词对计算结果的干扰,而且使权重计算敏感于文档的语义关联变化,最终的单词权重TSx计算公式如下所示:
其中,TF-IDFxy表示单词x在服务描述文本y中的TF-IDF权重。在此基础上,本发明借助由谷歌新闻作为语料训练好的Word2Vec模型,将字典SimDic中的单词向量化,并结合TS计算公式进行Mashup语义特征向量的表示,其中,Word2Vec模型由Mikolov等人于2013年提出,该模型将文本中的内容词汇通过转换处理,化简为空间向量,词向量的数值受上下文的影响,蕴含了词与词之间相互的关联性;
步骤(4.1)遍历每条Mashup服务信息,包括对应的功能语义权重字典SimDic,进行步骤(4.2);
步骤(4.2)初始化Mashup语义特征向量DVecy,进行步骤(4.3);
步骤(4.3)遍历当前字典SimDic中的单词x,并利用训练好的Word2Vec模型将其转化为词向量WVecx,进行步骤(4.4);
步骤(4.4)从当前字典SimDic中提取单词x的语义权重SWx,并计算出单词x的TF-IDF权重TF-IDFxy,进行步骤(4.5);
步骤(4.5)结合TS计算公式,计算出单词x的TS权重TSx,进行步骤(4.6);
步骤(4.6)判断是否当前SimDic存在多个单词,并且语义权重SWx为0,若是,则将将TSx置为0,否则,直接进行步骤(4.7);
步骤(4.7)对Mashup语义特征向量DVecy进行累加计算,计算公式如下:
DVecy+=WVecx×TSx,进行步骤(4.8);
步骤(4.8)判断当前字典SimDic中的单词是否遍历完成,若否,则返回步骤(4.3),否则,进行步骤(4.9);
步骤(4.9)判断Mashup服务信息是否遍历完成,若否,则返回步骤(4.1),否则,结束。
第五步、对于所有参与聚类的Mashup语义特征向量,进行密度信息的计算,密度信息包括局部密度、向量间距离和较高密度最近距离,过程如下:
步骤(5.1)遍历每个Mashup语义特征向量,计算当前向量的局部密度ρy,计算公式如下所示:
其中,DVecy表示Mashup语义特征向量,而DVecy的局部密度ρy就是由离其最近的k个特征向量DVecz的余弦相似度cos(DVecy,DVecz)累加而成,这样的计算方式不仅避免了人工设定截断距离所带来的干扰问题,并且可以让每个向量获得较为合理的局部密度值。进行步骤(5.2);
步骤(5.2)计算当前向量的向量间距离dyz,计算公式如下所示:
dyz=1-cos(DVecy,DVecz),进行步骤(5.3);
步骤(5.3)基于属性ρy与属性dyz,定义当前向量的较高密度最近距离δy,定义公式如下:
步骤(5.4)判断Mashup语义特征向量是否遍历完成,若否,则返回步骤(5.1),否则,结束。
第六步、基于第五步计算的密度信息,从所有Mashup语义特征向量中,筛选出聚类中心的候选点,过程如下:
步骤(6.1)计算限定值bound。其计算公式如下所示:
bound=(max(δy)+min(δy))/2,其中,max(δy)表示δy的最大值,而min(δy)表示δy的最小值,进行步骤(6.2);
步骤(6.2)将δy值低于bound的Mashup语义特征向量提取出来,并将它们的密度信息对应放入集合S,进行步骤(6.3);
步骤(6.3)计算步长单元au,并设置初始值为0,其中,au主要用于确定聚类中心候选点的δy值范围,进行步骤(6.4);
步骤(6.4)遍历集合S,取出δy,进行步骤(6.5);
步骤(6.5)遍历集合S,取出δz,其中,δz与δy不相等,进行步骤(6.6);
步骤(6.6)对au进行累加计算,计算公式如下:
au=au+|δy-δz|,其中,|δy-δz|表示取δz与δy之差的绝对值。记录当前循环次数count,进行步骤(6.7);
步骤(6.7)判断集合S是否遍历完成,若否,则返回步骤(6.5),否则,进行步骤(6.8);
步骤(6.8)判断集合S是否遍历完成,若否,则返回步骤(6.4),否则,进行步骤(6.9);
步骤(6.9)设au=au/count,进行步骤(6.10);
步骤(6.10)设置判定半径r,并赋默认值为bound,其中判定半径主要用于进一步确定聚类中心候选点的范围,进行步骤(6.11);
步骤(6.11)针对所有Mashup语义特征向量,判断在连续的bound/au个区域中,向量δy属性的数量是否保持递增,并将初始遍历区域设为[l1=0,l2=au],进行步骤(6.12);
步骤(6.12)若δy属性的数量递增,则将l1与l2的值分别累加一个步长au,进行更新,否则,进行步骤(6.13);
步骤(6.13)将判定半径r设为l1的值,进行步骤(6.14);
步骤(6.14)从所有Mashup语义特征向量中,筛选出半径r内包含其它向量,并且δy值大于r的向量作为聚类中心候选点集合。
第七步、对第六步所得的聚类中心候选点,进一步筛选出最为合适的K个初始聚类中心,进行K-means聚类,过程如下:
步骤(7.1)在聚类中心候选点集合中,筛选出ρy与δy乘积最高的向量,并将其在半径r内包含的向量个数m统计出来,其中半径r即为第六步计算出的判定半径,进行步骤(7.2);
步骤(7.2)遍历聚类中心候选点集合,计算当前候选点的波动值SDy,计算公式如下所示:
步骤(7.3)判断候选点集合是否遍历完成,若否,则返回步骤(7.2),否则,进行步骤(7.4);
步骤(7.4)对候选点集合中的每个向量,进行加权评估计算,计算公式如下所示:
步骤(7.5)对步骤步骤(7.4)计算所得的score进行降序排序,选取前K个向量作为K-means算法的输入,进行K-means聚类。
其中,K-means聚类算法是由MacQueen等人提出的一种迭代求解的聚类分析算法。算法的主要思想是通过随机选取K个对象作为初始的聚类中心,然后计算剩余对象与各个初始聚类中心之间的距离,进行就近划分,形成一次聚类。之后,聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。本发明中的终止条件即为聚类中心不再发生变化。
Claims (9)
1.一种基于Mashup服务功能特征表示与密度峰值检测的聚类方法,其特征在于,包括以下步骤:
第一步、对所有需要特征表示的Mashup服务数据进行预处理;
第二步、基于预处理后的Mashup服务数据,进行功能名词提取操作;
第三步、对于每条Mashup服务的功能名词集合FS,对每个功能名词的语义权重进行语义关联计算;
第四步、基于第三步的语义权重计算结果,结合TF-IDF算法与Word2Vec模型,进行Mashup语义特征向量的表示;
第五步、对于所有参与聚类的Mashup语义特征向量,进行密度信息的计算,密度信息包括局部密度、向量间距离和较高密度最近距离;
第六步、基于第五步计算的密度信息,从所有Mashup语义特征向量中,筛选出聚类中心的候选点;
第七步、对第六步所得的聚类中心候选点,进一步筛选出最为合适的K个初始聚类中心,进行K-means聚类。
2.如权利要求1所述的一种基于Mashup服务功能特征表示与密度峰值检测的聚类方法,其特征在于,所述第一步的过程如下:
步骤(1.1)遍历每条Mashup服务信息,针对性的提取出服务名称、服务描述、Web API组合信息、类别信息以及标签信息进行整理,进行步骤(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),否则,结束。
3.如权利要求1或2所述的一种基于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),否则,结束。
4.如权利要求1或2所述的一种基于Mashup服务功能特征表示与密度峰值检测的聚类方法,其特征在于,所述第三步的过程如下:
步骤(3.1)计算所有功能名词集合FS的平均长度LAvg,计算公式如下:
步骤(3.2)遍历各Mashup服务信息,包括对应的功能名词集合FS,计算名词间语义关联权重对最终语义权重的影响因子w,若当前FS的集合长度len(FS)不等于LAvg,那么影响因子w公式如下所示:
步骤(3.3)遍历当前FS中的名词,计算第i个功能名词与其他名词之间的语义关联权重FSimi,计算公式如下:
步骤(3.4)在当前服务的服务标签中,计算出与功能名词ni语义相似性最大的值,作为ni的语义权重校正量TSimi,其中,语义相似性同样采用WordNet函数计算,进行步骤(3.5);
步骤(3.5)计算出功能名词ni的最终语义权重SWi,并存于当前服务功能语义权重字典SimDic中,其中,SWi计算公式如下:
SWi=w×Simi+(1-w)×TSimi,w即为步骤(3.2)计算的影响因子,进行步骤(3.6);
步骤(3.6)只将语义权重较高的前LAvg个单词存放于当前字典SimDic中,剔除其他单词,进行步骤(3.7);
步骤(3.7)判断当前FS中的名词是否遍历完成,若否,则返回步骤(3.3),否则,进行步骤(3.8);
步骤(3.8)判断Mashup服务是否遍历完成,若否,则返回步骤(3.2),否则,结束。
6.如权利要求5所述的一种基于Mashup服务功能特征表示与密度峰值检测的聚类方法,其特征在于,所述第四步的过程如下:
步骤(4.1)遍历每条Mashup服务信息,包括对应的功能语义权重字典SimDic,进行步骤(4.2);
步骤(4.2)初始化Mashup语义特征向量DVecy,进行步骤(4.3);
步骤(4.3)遍历当前字典SimDic中的单词x,并利用训练好的Word2Vec模型将其转化为词向量WVecx,进行步骤(4.4);
步骤(4.4)从当前字典SimDic中提取单词x的语义权重SWx,并计算出单词x的TF-IDF权重TF-IDFxy,进行步骤(4.5);
步骤(4.5)结合TS计算公式,计算出单词x的TS权重TSx,进行步骤(4.6);
步骤(4.6)判断是否当前SimDic存在多个单词,并且语义权重SWx为0,若是,则将将TSx置为0,否则,直接进行步骤(4.7);
步骤(4.7)对Mashup语义特征向量DVecy进行累加计算,计算公式如下:
DVecy+=WVecx×TSx,进行步骤(4.8);
步骤(4.8)判断当前字典SimDic中的单词是否遍历完成,若否,则返回步骤(4.3),否则,进行步骤(4.9);
步骤(4.9)判断Mashup服务信息是否遍历完成,若否,则返回步骤(4.1),否则,结束。
7.如权利要求1或2所述的一种基于Mashup服务功能特征表示与密度峰值检测的聚类方法,其特征在于,所述第五步的过程如下:
步骤(5.1)遍历每个Mashup语义特征向量,计算当前向量的局部密度ρy,计算公式如下所示:
其中,DVecy表示Mashup语义特征向量,而DVecy的局部密度ρy就是由离其最近的k个特征向量DVecz的余弦相似度cos(DVecy,DVecz)累加而成,这样的计算方式不仅避免了人工设定截断距离所带来的干扰问题,并且可以让每个向量获得较为合理的局部密度值,进行步骤(5.2);
步骤(5.2)计算当前向量的向量间距离dyz,计算公式如下所示:
dyz=1-cos(DVecy,DVecz),进行步骤(5.3);
步骤(5.3)基于属性ρy与属性dyz,定义当前向量的较高密度最近距离δy,定义公式如下:
步骤(5.4)判断Mashup语义特征向量是否遍历完成,若否,则返回步骤(5.1),否则,结束。
8.如权利要求1或2所述的一种基于Mashup服务功能特征表示与密度峰值检测的聚类方法,其特征在于,所述第六步的过程如下:
步骤(6.1)计算限定值bound,其计算公式如下所示:
bound=(max(δy)+min(δy))/2,其中,max(δy)表示δy的最大值,而min(δy)表示δy的最小值,进行步骤(6.2);
步骤(6.2)将δy值低于bound的Mashup语义特征向量提取出来,并将它们的密度信息对应放入集合S,进行步骤(6.3);
步骤(6.3)计算步长单元au,并设置初始值为0,其中,au主要用于确定聚类中心候选点的δy值范围,进行步骤(6.4);
步骤(6.4)遍历集合S,取出δy,进行步骤(6.5);
步骤(6.5)遍历集合S,取出δz,其中,δz与δy不相等,进行步骤(6.6);
步骤(6.6)对au进行累加计算,计算公式如下:
au=au+|δy-δz|,其中,|δy-δz|表示取δz与δy之差的绝对值,记录当前循环次数count,进行步骤(6.7);
步骤(6.7)判断集合S是否遍历完成,若否,则返回步骤(6.5),否则,进行步骤(6.8);
步骤(6.8)判断集合S是否遍历完成,若否,则返回步骤(6.4),否则,进行步骤(6.9);
步骤(6.9)设au=au/count,进行步骤(6.10);
步骤(6.10)设置判定半径r,并赋默认值为bound,其中判定半径主要用于进一步确定聚类中心候选点的范围,进行步骤(6.11);
步骤(6.11)针对所有Mashup语义特征向量,判断在连续的bound/au个区域中,向量δy属性的数量是否保持递增,并将初始遍历区域设为[l1=0,l2=au],进行步骤(6.12);
步骤(6.12)若δy属性的数量递增,则将l1与l2的值分别累加一个步长au,进行更新,否则,进行步骤(6.13);
步骤(6.13)将判定半径r设为l1的值,进行步骤(6.14);
步骤(6.14)从所有Mashup语义特征向量中,筛选出半径r内包含其它向量,并且δy值大于r的向量作为聚类中心候选点集合。
9.如权利要求1或2所述的一种基于Mashup服务功能特征表示与密度峰值检测的聚类方法,其特征在于,所述第七步的过程如下:
步骤(7.1)在聚类中心候选点集合中,筛选出ρy与δy乘积最高的向量,并将其在半径r内包含的向量个数m统计出来,其中半径r即为第六步计算出的判定半径,进行步骤(7.2);
步骤(7.2)遍历聚类中心候选点集合,计算当前候选点的波动值SDy,计算公式如下所示:
步骤(7.3)判断候选点集合是否遍历完成,若否,则返回步骤(7.2),否则,进行步骤(7.4);
步骤(7.4)对候选点集合中的每个向量,进行加权评估计算,计算公式如下所示:
步骤(7.5)对步骤步骤(7.4)计算所得的score进行降序排序,选取前K个向量作为K-means算法的输入,进行K-means聚类。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010127323.2A CN111475607B (zh) | 2020-02-28 | 2020-02-28 | 一种基于Mashup服务功能特征表示与密度峰值检测的Web数据聚类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010127323.2A CN111475607B (zh) | 2020-02-28 | 2020-02-28 | 一种基于Mashup服务功能特征表示与密度峰值检测的Web数据聚类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111475607A true CN111475607A (zh) | 2020-07-31 |
CN111475607B CN111475607B (zh) | 2022-06-17 |
Family
ID=71748100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010127323.2A Active CN111475607B (zh) | 2020-02-28 | 2020-02-28 | 一种基于Mashup服务功能特征表示与密度峰值检测的Web数据聚类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111475607B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113139056A (zh) * | 2021-04-25 | 2021-07-20 | 中国工商银行股份有限公司 | 网络数据的聚类方法、聚类装置、电子设备及介质 |
CN113343078A (zh) * | 2021-05-11 | 2021-09-03 | 浙江工业大学 | 基于主题模型聚类的Web API推荐方法 |
CN113361270A (zh) * | 2021-05-25 | 2021-09-07 | 浙江工业大学 | 一种面向服务数据聚类的短文本优化主题模型方法 |
CN115952425A (zh) * | 2023-01-04 | 2023-04-11 | 青岛科技大学 | 一种融合语义增强与异质关联的Web服务聚类方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107423396A (zh) * | 2017-07-26 | 2017-12-01 | 中山大学 | 一种基于功能隐含关系及聚类的Mashup推荐方法 |
CN110647626A (zh) * | 2019-07-30 | 2020-01-03 | 浙江工业大学 | 基于互联网服务域的rest数据服务聚类方法 |
-
2020
- 2020-02-28 CN CN202010127323.2A patent/CN111475607B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107423396A (zh) * | 2017-07-26 | 2017-12-01 | 中山大学 | 一种基于功能隐含关系及聚类的Mashup推荐方法 |
CN110647626A (zh) * | 2019-07-30 | 2020-01-03 | 浙江工业大学 | 基于互联网服务域的rest数据服务聚类方法 |
Non-Patent Citations (1)
Title |
---|
黄媛等: "基于标签推荐的Mashup服务聚类", 《计算机科学》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113139056A (zh) * | 2021-04-25 | 2021-07-20 | 中国工商银行股份有限公司 | 网络数据的聚类方法、聚类装置、电子设备及介质 |
CN113343078A (zh) * | 2021-05-11 | 2021-09-03 | 浙江工业大学 | 基于主题模型聚类的Web API推荐方法 |
CN113361270A (zh) * | 2021-05-25 | 2021-09-07 | 浙江工业大学 | 一种面向服务数据聚类的短文本优化主题模型方法 |
CN113361270B (zh) * | 2021-05-25 | 2024-05-10 | 浙江工业大学 | 一种面向服务数据聚类的短文本优化主题模型方法 |
CN115952425A (zh) * | 2023-01-04 | 2023-04-11 | 青岛科技大学 | 一种融合语义增强与异质关联的Web服务聚类方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111475607B (zh) | 2022-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112231447B (zh) | 一种中文文档事件抽取的方法和系统 | |
CN111475608B (zh) | 一种基于功能语义关联计算的Mashup服务特征表示方法 | |
CN111414479A (zh) | 基于短文本聚类技术的标签抽取方法 | |
CN111475609B (zh) | 一种围绕主题建模的改进型K-means服务聚类方法 | |
CN111475607B (zh) | 一种基于Mashup服务功能特征表示与密度峰值检测的Web数据聚类方法 | |
CN112347223B (zh) | 文档检索方法、设备及计算机可读存储介质 | |
CN109446423B (zh) | 一种新闻以及文本的情感判断系统及方法 | |
CN108875065B (zh) | 一种基于内容的印尼新闻网页推荐方法 | |
CN116628173B (zh) | 一种基于关键字提取的智能客服信息生成系统及生成方法 | |
CN115952292B (zh) | 多标签分类方法、装置及计算机可读介质 | |
CN113297379A (zh) | 一种文本数据多标签分类方法及装置 | |
CN115630843A (zh) | 合同条款自动审核方法及系统 | |
CN109271624A (zh) | 一种目标词确定方法、装置及存储介质 | |
CN107357895A (zh) | 一种基于词袋模型的文本表示的处理方法 | |
CN114491034B (zh) | 一种文本分类方法及智能设备 | |
CN110020024B (zh) | 一种科技文献中链接资源的分类方法、系统、设备 | |
CN114881043A (zh) | 基于深度学习模型的法律文书语义相似度评估方法及系统 | |
CN112765353B (zh) | 一种基于科研文本的生物医学学科分类方法及装置 | |
CN117591635A (zh) | 一种用于大模型问答的文本分割检索方法 | |
CN108733733B (zh) | 基于机器学习的生物医学文本分类方法、系统和存储介质 | |
CN106777191B (zh) | 一种基于搜索引擎的检索模式生成方法及装置 | |
CN115496066A (zh) | 文本分析系统、方法、电子设备及存储介质 | |
CN114117047A (zh) | 一种基于c4.5算法对非法语音进行分类的方法及系统 | |
CN112632229A (zh) | 文本聚类方法及装置 | |
Desai et al. | Analysis of Health Care Data Using Natural Language Processing |
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 |