1.一种基于互联网服务域的REST数据服务聚类方法,其特征在于,所述方法包括以下步骤:第一步形式化定义,过程如下:
1.1服务文档矢量模型:预处理的服务文档矢量模型是一个四元组,RSM=
RT为服务描述文本特征向量,假设每个域中有n个服务描述文本,则m个域的描述文本表示为RT={RT11,RT12,...,RT1n,...,RTmn};
RA为服务API特征向量;
T为服务标签特征向量;
每个服务描述文本RTij中的特征词表示为FWijk,其中i代表域变量,j代表描述文本变量,k代表特征词变量,则服务描述文本RTij也可以表示为RTij={FWij1,FWij2,...,FWijs},其中,1≤i≤m,1≤j≤n,s为特征词数量;
1.2服务文档跨域集中度:该跨域集中度表示为Ddep,它代表包含服务域RDi中的特征词FWijk的服务描述文档RTij与该服务所有域中的特征词比例,计算公式下:其中,df(FWijk,RDi)代表服务域RDi中,包含特征词FWijk的描述文本RTij数量,而代表在所有域中包含特征词FWijk的描述文本RTij数量,跨域集中度越高则代表这个服务文档在该域中的集中度越大,故具备更强的领域表示;
1.3特征词频跨域集中度:该跨域集中度表示为Dfre,它代表特征词FWijk在服务域RDi中和在所有服务域出现的不同次数比例,计算如下:其中,tf(FWijk,RDi)代表该服务域RDi中,特征词FWijk的数量,而 代表该特征词在所有服务域中出现的数量,同理可知更高的特征词频跨域集中度意味这个特征词在该服务域中集中程度越高;
1.4特征词的域表示度:代表一个特征词FWijk表示服务域RDi的程度,由服务文档跨域集中度和特征词频跨域集中度综合计算得来,计算如公式如下Dfinal(FWijk,RDi)=α*Ddep(FWijk,RDi)+β*Dfre(FWijk,RDi)α和β是权重系数,并且α+β=1,通过上述公式可以求得不同服务域中所有特征词的域表示度,特征词的域表示度越高代表其越能表示该服务域信息,需要注意的是,一个服务域中会出现一系列典型特征词,这些词的域表示度很高但服务的聚类效果一般,设置一个特征词的域表示度的阈值,对超过该阈值的特征词进行过滤,提高特征词对服务域的表示效果;
1.5域高效特征词集:代表在一个服务域中所有的特征词集合,选取合适的特征词集合,通过特征词的域表示度降序排序,在一个服务域中选择前百分之P的特征词作为域高效特征词集合,如下所示HQ(RDi)={FWij1,FWij2,...,FWijp,}
其中p=L*P/100,在特征词精简的过程中,如果一个描述文本RTij的特征词FWijk不属于HQ(RDi),则将其过滤,并更新服务描述文档RTij′;
1.6、组织对象定义
在数据聚类算法中,组织P系统功能是为需要进行聚类的数据集搜索最优的聚类中心,因此,可以将数据的聚类中心用一组对象来表示,P系统中的组织细胞对象T为一个N*d维度向量,如下:T=(t11,t12,...,t1d,...,ti1,ti2,...,tid,...,tN1,tN2,...,tNd,)其中N代表该数据细胞T有N个簇,这N个簇C1,C2,...,CN对应的簇中心为t1,t2...,tN,类似于数据点,对象中的每一个簇中心都是一个d维度向量,则ti可以表示为ti1,ti2,...tid,i=1,2,...,N,tid代表第i个数据簇中心的d个分量;
OBi代表P系统中第i个进化膜中的对象集合,其内包含一组对象,这些对象通过不同组织细胞中的进化机制进行进化反应,定义每个进化膜中的初始对象数量均为m,组成其对象集Q,在P系统的进化过程实施中,系统需要一个度量机制评价当前对象的优劣,通过计算样本整体的簇方差作为聚类问题性能函数Jm,进行对象的优质判定,其中sj代表数据簇中的某个数据集,Jm值越小,说明对象越好,通过对象的判断排序,每个进化膜中都有一个其最优的对象,即局部最优对象OBibest,而系统的环境中保存有一个最优对象,即全局最优对象,记为Tbest,当整个系统达到停机状态的时候,环境中的全局最优对象即为所求的解,也是最优的聚类中心;
第二步服务特征提取和精简,过程如下:
2.1服务预处理
通过对爬取的服务信息即服务的域、描述文本、API、标签进行预处理,提取其中准确、有效的特征词,可以构建描述更精确的服务描述文档,提高服务聚类精度;
2.2服务特征精简处理
不同的服务都有其独特领域特征性,同一个域中的特征词的重要性与频率和域的相关性有关,在计算服务特征值权重时,传统的TF-IDF计算方法或者互信息方法只单独考虑其中的一个因素,通过综合考虑词频和相关性因素,对服务的描述文本进行特征精简处理;
第三步主题聚类模型构建,过程如下:
在完成对RSM的特征精简之后得到新的服务文档矢量模型RSM′=<RD′,RT′,RA′,T′>,构造一个基于多个数据源的扩展LDA主题模型,记为MD-LDA,其中包括精简后的服务描述文本特征向量RT′,Web API特征向量RA和标签特征向量T,MD-LDA模型基于隐含狄利克雷分布,隐含狄利克雷分布LDA,是一种主题模型,它可以将文档集中每篇文档的主题按照概率分布的形式给出,融合服务的各项数据源特征;在MD-LDA模型中,服务API和标签中相关的词选择方法和服务文档描述文档RT中一致,每个服务API或者服务标签对文档的主题分布都有其独特的贡献;
所以,有一个主题分布,狄利克雷的α超参数对应RSM′中的RA和T,狄利克雷的超参数β对应每个主题中的词语分布,然后根据选择的RA或者T,从主题分布中提取一个主题,并且通过所选的主题生成特定的词语,从而生成融合服务描述文本、服务API和服务标签的MD-LDA模型;
第四步相似度计算:
实际上,mashup服务文档主题分布映射的是文本向量空间,故可以通过相应的主题概率分布来计算两个服务文档RSM1′和RSM2′的相似性,本模型中主题是词向量的混合分布,故可以使用相对熵(KL)距离作为相似度度量标准,计算如下所不:T代表两个服务文档中的所有共同主题,pj和qj分别代表在两个文档中的主题分布,当pj=qj时候,KL距离计算结果DKL(RSM′1,RSM′2)为0,由于KL距离并不是对称性质的,即DKL(RSM′1,RSM′2)≠DKL(RSM′2,RSM′1),所以通常使用其对称版本,计算公式如下:DKL(RSM′1,RSM′2)=λDKL(RSM′1,λ*RSM′1+(1-λ)RSM′2) +(1-λ)DKL(RSM′2,λ*RSM′1+(1-λ)RSM′2)故取λ=0.5,则将上述公式转换为JS距离,JS距离又称JS散度,是KL距离的一种变形,通过JS距离作为标准计算文本的相似度,作为服务的相似度,最终计算公式如下:第五步服务聚类
聚类中心点的选取需要对数据集中的点计算整体簇方差的值,但是数据集中存在许多非备选点,存在数据噪点和边缘的孤立点,而这些点不仅会影响簇中心的选取,而且会额外增加计算成本,同时需要人为的预先指定数据簇的数量,考虑到以上缺点,提出一种基于密度的K-means算法进行改进,通过计算各个点的密度数,提取高密度数的数据点作为簇中心,通过改进的K-means算法,对待聚类的初始数据集S进行预处理聚类,S由M个维度为d的数据点构成,基于密度的K-means算法的点密度计算如下所示:其中Density(Si)代表在Si的R的范围内点的总个数,距离计算sim(Si,Sj)采为服务Si和Sj的相似度;
第六步数据细胞根据运转规则更新全局最优对象
系统中的组织细胞的细胞膜间存在转运通道,不同的对象在不同的组织细胞之间进行共享与交换,都需要系统定义的转运规则支撑,在设计的组织P系统中定义了转运规则来指导组织细胞间交换信息,规则如下:(x,T1,T2,...Tm,/T′1,T′2,...T′m,y),x≠y,x,y=1,2,3.
这条转运规则代表组织细胞x和组织细胞y可以双向进行对象转运,其中T1,T2,...Tm为组织细胞x的m个对象,同理T1’,T2’,...Tm’为组织细胞y的m个对象;通过该转运规则可以达到以下效果:
6.1)组织细胞x中的m个对象T1,T2,...Tm被转运到组织细胞y中;
6.2)组织细胞y中的m个对象T1’,T2’,...Tm’被转运到组织细胞x中;
(x,Txbest/Tbest,OEo),x≠y,x,y=1,2,3.
该条转运规则代表组织细胞x和系统环境进行转运,其中Txbest为当前计算组织细胞x中的局部最优对象,Tbest为当前环境中的全局最优对象,通过该条转运规则,组织细胞x中的最优对象被转运到环境中,并且同时更新该环境的全局最优对象;
第七步停机与输出
系统中的各个组织细胞作为单独的执行单元以并行的结构进化运行,故该系统是并行分布式的,在该系统中,定义一系列的计算步骤为一个计算,可以从包含初始数据细胞对象集的组织细胞开始,在每一个计算中,都意味着有一个或者多个进化规则被作用于当前的数据细胞对象集上,当达到系统的停机约束条件时,系统自动停机,计算结果呈现于系统的外环境中。
2.如权利要求1所述的一种基于互联网服务域的REST数据服务聚类方法,其特征在于,所述2.1中,预处理步骤如下:
2.1.1构造初始特征向量,通过使用自然语言处理包NLTK,将语句分割并提取有效词语;
2.1.2删除无效的词语,例如符号(+、-、_等)和介词(a、the、of、and等),这些词语在服务的特征描述中是无用,保留可以表征服务特性的名称、动词和形容词;
2.1.3合并处理词干,一些具有相同词干的词语往往具有类似的含义,例如use、used、using表达的特性相同,删除相同含义单词保留词根即可。
3.如权利要求1或2所述的一种基于互联网服务域的REST数据服务聚类方法,其特征在于,所述2.2的步骤如下:
2.2.1遍历每个服务域RDi中每个描述文本RTij的每个特征词FWijk,根据1.4中的公式计算特征词FWijk表示服务域RDi的程度Dfinal(FWijk,RDi),如果Dfinal(FWijk,RDi)<R,删除该特征值,R为特征值的域表示度的阈值;
2.2.2对所有服务域中特在此完成2.2.1步骤后,根据Dfinal(FWijk,RDi)的值,对RDi的特征词FWijk进行降序排序,根据步骤1.5选取前百分之P的特征词作为服务域RDi域高效特征词集HQ(RDi);
2.2.3重复步骤2.2.2,直到生成所有服务域的域高效特征词集HQ(RDi),每个服务域RDi根据HQ(RDi)删除所有不在HQ(RDi)的特征词。
4.如权利要求1或2所述的一种基于互联网服务域的REST数据服务聚类方法,其特征在于,所述第三步中,生成过程如下:
3.1对于RSM′中的RA或者T,定义为变量datd,其中datd=1,2,3,...,N,N为RSM′中RA和T的总数量,选择一个多项式θdat服从狄利克雷的α超参数分布;
3.2对于RSM′中的主题k,满足k=1,2,...,K,K是RSM′中的主题数量,选择一个多项式服从狄利克雷的β超参数分布;
3.3设变量d为精简服务文档RSM′中的文档标签,d=1,2,...,D,D是RSM′的总数量,定义变量datd代表每个RSM′中的RA或者T,对于d中的每一个单词wdi,i=1,2,3,...,M,M是d中词语的总数量;
提取一个Web API或者标签记为xdi,其中服从均匀分布记为Uniform(datd);
提取一个主题记为zdi,其服从多项式分布记为 分布;
提取一个单词记为wdi,其服从 分布;
相应的MD-LDA概率模型中每个主题与 上面的词分布有关,词的抽取独立于狄利克雷参数β,x表示从API、标签集合datd中选取给定单词相关的RA或者标签T,每一个RA或者T都和一个主题上θ分布,θ是从狄利克雷参数α中选择,通过结合RA、T的主题分布和主题的单词分布形成主题zdi,并从所选择的主题中提取单词wdi;
如上述的描述过程可知,模型主题的后验分布取决于RSM′中的RT′、RA和T,设置MD-LDA模型的各个参数如下:θdat|α~Dirichlet(α)
xdi|datd~Uniform(datd)
3.4通过吉布斯(Gibbs)采样方法对MD-LDA模型进行参数推理,该采样方法为潜在的变量估计提供了一种简单而又有效的方法,它属于一种通过多元概率分布得到随机样本序列的马尔科夫链蒙特卡洛算法,Gibbs采样方法每一步都服从如下公式分布;
其中z_di表示处理单词wdi之后为每个单词主题指派,x_di表示处理单词wdi之后为每个单词API或者标签指派,nzw表示分配给主题z的单词w总数量,mxz表示分配给主题z的Web API和标签中单词的总数, 为主题zdi的α参数, 为单词wdi的β参数,V为主题的数量,αv,βv为第v个主题的α参数和β参数,抽样的过程中,主题的单词分布 和API、标签的主题分布θ需要通过以下公式求出;
zdi和xdi通过确定z_di和x_di来抽样决定,对于每个RSM′,总结所有的θx计算文档d的主题分布,其中χ∈datd,从而得到所有RSM′的最终主题概率分布。
5.如权利要求1或2所述的一种基于互联网服务域的REST数据服务聚类方法,其特征在于,所述步骤5中,基于密度K-means算法的聚类过程如下:
5.1采用基于密度K-means算法对数据预处理,通过计算不同数据Si之间的距离,根据半径范围R,将数据划分到不同的簇中,选取密度最高,即Density(Si)最高的K个Si作为簇中心,最后通过相似度对数据聚类;
5.2组织细胞O1进化规则
O1采用Agnes算法作为进化规则,指导完成细胞内的对象进化,根据设置簇间相似度阈值Cs,通过Agnes算法对通过密度k-means算法得到的N个初始簇进行合并;
5.3组织细胞O2进化规则
O2采用基于样本加权的FCM算法作为进化规则,指导完成细胞内对象进化,传统的FCM算法的目标函数和簇中心计算并没有考虑到样本的差异性,对所有样本进行一视同仁处理,但是存在容易扩大数据集中的孤立点或者噪声数据影响的缺陷,从而减少一些重要样本对聚类的贡献,导致聚类的精度下降,为减少样本差异性对聚类效果影响,提出一种基于样本加权的FCM聚类算法,通过合理的对目标函数和聚类中心函数进行加权处理,提高聚类效果;
5.4组织细胞O3进化规则
O3采用遗传算法GA的选择、交叉、变异三种遗传操作作为进化规则,指导完成细胞内各对象的进化。
6.如权利要求5所述的一种基于互联网服务域的REST数据服务聚类方法,其特征在于,所述5.1的过程如下:
5.1.1计算每个数据Si在组织对象Q内每个数据簇中心的距离,确认Si在每个数据簇中点的个数,基于密度对数据集合进行排序;
5.1.2选取前K个密度最高即R范围点内数量最多的Sk,作为新的数据簇中心Ck;
5.1.3根据划分的不同簇之间的距离,得到每个Si和Ck的相似度sim(Si,Ck),根据平均相似度Avesim,若sim(Ck,Si)>Avesim,则将Si划分到数据簇Ck,最终得到N个数据簇;
7.如权利要求5所述的一种基于互联网服务域的REST数据服务聚类方法,其特征在于,所述5.2的流程如下:
5.2.1根据任意两个数据簇Ci,Cj内数据的平均相似度dis(Ci,Cj),构建相似度矩阵D其中SX为数据簇Ci中的数据点,SY为数据簇Cj中的数据点,U,V分别为Ci,Cj中数据点的数量;
5.2.2挑选dis(Ci,Cj)最大的数据簇Ci,Cj,根据簇间相似度阈值Cs,若dis(Ci,Cj)>Cs则将数据簇Ci和Cj合并;
5.2.3重复步骤5.2.2直到所有数据簇之间满足相似度阈值要求。
8.如权利要求5所述的一种基于互联网服务域的REST数据服务聚类方法,其特征在于,所述5.3中,对于数据集S={s1,s2,...,sn},
5.3.1根据以下公式计算FCM隶属度:
其中uij代表第i个数据属于第j簇的隶属度值,即第i个数据划分到隶属度最大的数据簇j,||si-tj||为数据si到簇中心tj的欧式距离,n为数据数量,可以发现,所有的数据隶属度之和为1,即满足
5.3.2计算权重和熵信息
热力学的熵代表信息的混乱程度,基于熵定义对数据隶属度进行有效分析,并对FCM目标函数进行样本加权,首先定义熵变量Ei代表隶属度uij的有效程度,并且通过计算权重wi衡量数据si对该次聚类的影响程度,它们计算公式下所示:
5.3.3根据Ei,wi计算新的目标函数
权重系数wi满足 则新定义FCM的目标函数F(S,t)公式如下
m为加权指数,为大于等于1的整数,为了求有约束条件下目标函数的极值,利用拉格朗日乘子法构造新目标函数如下的函数:对目标函数求极值最优化条件如下:
计算新的聚类中心tj为:
更新隶属度uij,将第i个数据划分到隶属度最大的数据数据簇Cj
5.3.4若|F(S,t)i-1-F(S,t)i|大于设定的阈值,重复步骤5.3.3,反之结束算法,输出结果F(S,t)i表示第i次迭代得到的FCM目标函数值。
9.如权利要求5所述的一种基于互联网服务域的REST数据服务聚类方法,其特征在于,所述5.4中,进化步骤如下:
5.4.1 O3将自身细胞中的m个对象和由其他两个组织细胞转运过来的对象合并为新的对象进化池P;
5.4.2 O3对新的对象进化池P执行选择、交叉与变异操作,其中选择操作采用最优保存策略进行,交叉和变异操作采用整数形式的交叉与单点变异;
5.4.3重复步骤5.4.1-5.4.2,为保持进化池中的对象规模稳定,O3对进化后的对象进行筛选,根据对象的适应度进行淘汰,保留适应度最高的m个对象重新构成对象进化池P′。
10.如权利要求9所述的一种基于互联网服务域的REST数据服务聚类方法,其特征在于,所述5.4.2中,方法如下:
5.4.2.1计算每个对象k的评估值pk,N为数据簇的数量,ti为第i个数据簇的中心,pm越小说明分类方法越合适,该对象越容易被遗传到下一代;
5.4.2.2定义每个对象k适应度函数fitnessk
fitnessk=α(1-α)index-1
其中α为设定的参数的取值范围为0到1,index为迭代次数;
5.4.2.3选择操作,根据对象适应度所占比
其中u为对象池中对象的总数,对于每个对象,循环随机产生一个随机数p,若p<Cifk则将该对象遗传到下一代;
5.4.2.4交叉操作中的交叉位置通过交叉概率Pc确定,随机从进化池中选择两个对象进行交叉操作,遍历对象的每个分量,循坏生成随机数p若p<Pc,则在该位置交换两个对象在该位置后的分量,结束遍历;
5.4.2.5定义变异概率Pm,对于每一个对象,设置随机概率p,如果概率p小于变异概率Pm,且z是根据变异概率Pm所确定的对象的变异点(即某个分量),则变异后的值为zθ,则变异后的对象表示为:其中δ∈[0,1],为随机生成的随机数,+,-号依据概率出现。