1.一种基于膜计算的Web服务混合进化聚类方法,其特征在于,所述方法包括以下步骤:第一步:形式化定义;
第二步:服务相似度计算;
第三步:服务聚类
聚类中心点的选取需要对数据集中的点计算整体簇方差的值,但是数据集中存在许多非备选点,存在数据噪点和边缘的孤立点,而这些点不仅会影响簇中心的选取,而且会额外增加计算成本,同时需要人为的预先指定数据簇的数量;考虑到以上缺点,提出一种基于密度的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个对象;通过该转运规则达到以下效果:
4.1)组织细胞x中的m个对象T1,T2,…Tm被转运到组织细胞y中;
4.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所述的基于膜计算的Web服务混合进化聚类方法,其特征在于,所述第一步中,形式化定义的过程如下:
1.1 mashup服务定义;
1.2SOAP服务术语定义:
令TL={T1,T2,…Tn}是服务语料库中的一组术语集合,n为术语的数量,A={a1,a2,…am}是组成术语TL的原子词汇,即该词汇已经不可再被细分,m对应所有的原子词汇数量,定义术语的频率 即术语Ti出现的出现的次数,同于计算语料库TL中的全部术语出现次数的总和,对应的原子词汇频率 计算所有词汇出现次数的总和,计算公式下所示:NumTL为TL所有术语数量,NumA所有为原子词汇出现次数的总和;
1.3组织P系统(P System)定义:
一个度为3的即3个由数据细胞组织P系统形式化定义为以下八元组:ω=(OB1,OB2,OB3,OR1,OR2,OR3,OR′,OEo)其中:
OB1、OB2和OB3为各组织细胞的对象集,即数据细胞集合;
OR1、OR2和OR3为各组织细胞的进化规则,分别代表基于Agnes和k-means算法、基于加权FCM算法和基于GA算法的聚类规则;
OR'代表整个P系统中各组织细胞的转运规则,通过转运规则,细胞与细胞之间可以进行对象的共享与交换;
OEo=0为系统的输出区域,代表环境。
3.如权利要求2所述的基于膜计算的Web服务混合进化聚类方法,其特征在于,所述1.1的过程如下:
1.1.1服务文档矢量模型:预处理的服务文档矢量模型是一个四元组,RSM=
RD={RD1,RD2,…,RDm};
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.1.2服务文档跨域集中度:该跨域集中度表示为Ddep,它代表包含服务域RDi中的特征词FWijk的服务描述文档RTij与该服务所有域中的特征词比例,计算公式下:其中,df(FWijk,RDi)代表服务域RDi中,包含特征词FWijk的描述文本RTij数量,而代表在所有域中包含特征词FWijk的描述文本RTij数量,跨域集中度越高则代表这个服务文档在该域中的集中度越大,故具备更强的领域表示;
1.1.3特征词频跨域集中度:该跨域集中度表示为Dfre,它代表特征词FWijk在服务域RDi中和在所有服务域出现的不同次数比例,计算如下:其中,tf(FWijk,RDi)代表该服务域RDi中,特征词FWijk的数量,而 代表该特征词在所有服务域中出现的数量,同理可知更高的特征词频跨域集中度意味这个特征词在该服务域中集中程度越高;
1.1.4特征词的域表示度:代表一个特征词FWijk表示服务域RDi的程度,由服务文档跨域集中度和特征词频跨域集中度综合计算得来,计算如公式如下Dfinal(FWijk,RDi)=α*Ddep(FWijk,RDi)+β*Dfre(FWijk,RDi)α和β是权重系数,并且α+β=1,通过上述公式求得不同服务域中所有特征词的域表示度,特征词的域表示度越高代表其越能表示该服务域信息,需要注意的是,一个服务域中会出现一系列典型特征词,这些词的域表示度很高但服务的聚类效果一般,设置一个特征词的域表示度的阈值,对超过该阈值的特征词进行过滤,提高特征词对服务域的表示效果;
1.1.5域高效特征词集:代表在一个服务域中所有的特征词集合,选取合适的特征词集合,通过特征词的域表示度降序排序,在一个服务域中选择前百分之P的特征词作为需要的域高效特征词集合,如下所示HQ(RDi)={FWij1,FWij2,…,FWijp,}
其中p=L*P/100,在特征词精简的过程中,如果一个描述文本RTij的特征词FWijk不属于HQ(RDi),则将其过滤,并更新服务描述文档RTij'。
4.如权利要求1~3之一所述的基于膜计算的Web服务混合进化聚类方法,其特征在于,所述第二步中,判断是否为SOAP服务,若为SOAP服务则跳转到步骤第2.2,若为mashup服务则进行步骤2.1;
2.1 mashup服务相似度计算
2.1.1服务预处理
通过对爬取的服务信息即服务的域、描述文本、API、标签进行预处理,提取其中准确、有效的特征词,构建描述更精确的服务描述文档,提高服务聚类精度;
2.1.2服务特征精简处理
不同的服务都有其独特领域特征性,同一个域中的特征词的重要性与频率和域的相关性有关,在计算服务特征值权重时,传统的TF-IDF计算方法或者互信息方法只单独考虑其中的一个因素,通过综合考虑词频和相关性因素,对服务的描述文本进行特征精简处理
2.1.3主题聚类模型构建:
在完成对RSM的特征精简之后得到新的服务文档矢量模型RSM'=
所以,有一个主题分布,狄利克雷的α超参数对应RSM'中的RA和T,狄利克雷的超参数β对应每个主题中的词语分布,然后根据中选择的RA或者T,从主题分布中提取一个主题,并且通过所选的主题生成特定的词语,从而生成融合服务描述文本、服务API和服务标签的MD-LDA模型;
2.1.4相似度计算
实际上,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散度(Jensen-Shannon divergence)是KL距离的一种变形,通过JS距离作为标准计算文本的相似度,作为服务的相似度,最终计算公式如下:
2.2 SOAP相似度计算
2.2.1自身特征值计算
在服务语料库中发现一个术语Ti,通过信息论方法来计算其信息量I(Pi),在此基础上,将术语Ti的特征值Spe(Ti)赋值如下Spe(Ti)=I(Pi)
通过计算联合概率分布P{pi,qj}来计算术语特征值,其中pi∈P并且qj∈Q,pi是从术语集TL中选择一个词,而qj是从原子词汇A中取得一个词,其中{p1,p2,…pn}和{q1,q2,…,qm}分别由随机变量P,Q表示,pi和qj的互信息计算由如下公式计算;
术语pi的特征值表示为I(pi,Q),表示pi术语和词汇库Q的关系,结合语料库中术语和词汇的频率计算pi特征值的公式如下:Spe(Ti)≈I(pi,Q)
根据贝叶斯定理,
最终SOAP服务的自身信息特征值SelfSpe(Ti)计算如下分析常规的WSDL文档中术语一般包括1到2个词汇,故 代表术语中的词汇近似设置为1计算,θ代表加权值,基于信息论方法设定,取值范围为0到1;
2.2.2上下文信息特征值计算
根据信息论方法,服务的上下文信息特征是基于修饰的术语词概率分布的熵,为此,通过以下公式计算其熵值:其中NT代表术语Ti的修饰数量,(modm,Ti)代表modm修饰术语Ti的概率,熵值由所有的(modm,Ti)对平均信息量计算,在一个特定的领域中,术语的修饰词分布较为紧密,故在一个特定领中的术语熵值更低,通过熵值计算出术语Ti的上下文信息特征值ContextSpe(Ti)如下:其中1≤j≤K,K为所有相同定义的修饰词数量和, 代表每一个修饰词;
2.2.3混合特征值计算
通过步骤2.2.1和2.2.2计算的自身特征值和上下文信息特征,覆盖描述词的特征以及词语自身所不能描述的信息,最终通以下公式求得混合的特征值如下:混合系数α值在0和1之间,根据实验设置为0.65,经过归一化处理,服务的自身特征值、上下文特征值和混合特征值取值均在0和1之间;
2.2.4领域权重计算;
2.2.5生成术语的Bigraph层次结构
提出一种术语Bigraph层次构造算法,构建不同术语的Bigraph层次结构,类似于Bigraph的位置图,其中Bigraph的每一个节点代表一个术语对象,节点的值代表该术语对象的特征值,该Bigraph层次结构自上而下进行构造;
2.2.6构建相似度矩阵:
使用以下公式计算相似度:
其中,D代表术语构成的Bigraph层次结构的最大层数,dis(T1,T2)代表两个术语T1,T2在该Bigraph层次结构中的最短距离,即SOAP服务在某个特点上的相似度,计算SOAP服务每个特点的相似度,将特点相似度之和作为服务的相似度,将服务之间的相似度关系构建成相似度矩阵。
5.如权利要求4所述的基于膜计算的Web服务混合进化聚类方法,其特征在于,所述
2.1.1中,预处理步骤如下:
2.1.1.1构造初始特征向量,通过使用自然语言处理包NLTK,将语句分割并提取有效词语;
2.1.1.2删除无效的词语,例如符号(+、-、_等)和介词(a、the、of、and等),这些词语在服务的特征描述中是无用,保留表征服务特性的名称、动词和形容词;
2.1.1.3合并处理词干,一些具有相同词干的词语往往具有类似的含义,例如use、used、using表达的特性相同,删除相同含义单词保留词根即可。
6.如权利要求4所述的基于膜计算的Web服务混合进化聚类方法,其特征在于,所述
2.1.2的步骤如下:
2.1.2.1遍历每个服务域RDi中每个描述文本RTij的每个特征词FWijk,根据1.1.4中的公式计算特征词FWijk表示服务域RDi的程度Dfinal(FWijk,RDi),如果Dfinal(FWijk,RDi)
2.1.2.2对所有服务域中特在此完成2.1.2.1步骤后,根据Dfinal(FWijk,RDi)的值,对RDi的特征词FWijk进行降序排序,根据步骤1.5选取前百分之P的特征词作为服务域RDi域高效特征词集HQ(RDi);
2.1.2.3重复步骤2.1.2.2,直到生成所有服务域的域高效特征词集HQ(RDi),每个服务域RDi根据HQ(RDi)删除所有不在HQ(RDi)的特征词。
7.如权利要求4所述的基于膜计算的Web服务混合进化聚类方法,其特征在于,所述
2.1.3中,生成过程如下:
2.1.3.1对于RSM'中的RA或者T,定义为变量datd,其中datd=1,2,3,…,N,N为RSM'中RA和T的总数量,选择一个多项式θdat服从狄利克雷的α超参数分布,2.1.3.2对于RSM'中的主题k,满足k=1,2,…,K,K是RSM'中的主题数量,选择一个多项式 服从狄利克雷的β超参数分布;
2.1.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)
2.1.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'的最终主题概率分布。
8.如权利要求4所述的基于膜计算的Web服务混合进化聚类方法,其特征在于,所述
2.2.4的过程如下:
2.2.4.1领域权重值计算
在Bigraph结构生成的过程需要基于领域特征值的权重,权重的大小通过同级的术语体现,定义结构相似度越大的同级术语的权重越大,计算方法如下:其中, 为一个新术语Tn的同级术语集合,HybridSpe(Ts)和HybridSpe(Tn)分别代表每个同级术语和新的术语的特征值,如果新添加的术语没有同级术语时,直接定义权重值为0.5,Gi为当前Bigraph结构,偶图Bigraph是一个二元组B=
2.2.4.2术语权重值计算
通过比较两个术语的单词相似度来计算术语的相似度,计算如下所示:其中, 和 分别代表在术语Ti和Tn中的组成单词数量, 代表这两个术语中的相同单词数量,定义一个新术语包含的相关子结构相似术语越多,则权重越高,根据术语的相似度求得术语权重值,计算公式如下:其中NP为术语的上级、同级和下级术语的总集合,Ti代表这些术语项中的一个。
9.如权利要求4所述的基于膜计算的Web服务混合进化聚类方法,其特征在于,所述
2.2.5的步骤如下:
2.2.5.1依据2.2.3中的公式计算WSDL文档中和从Google中提取的术语的混合特征值放入数组A中,并且按照升序排列,选择前面3个术语对象作为Bigraph的三个节点构成初始Bigraph结构T;
2.2.5.2对于数组A中剩余术语Tn,添加到已有的Bigraph层次结构中,若Tx满足(HybridSpe(Tn)-0.3
2.2.5.3通过综合考虑新术语与候选Bigraph结构的领域权重WDS(Gi)和术语权重WTS(Gi),通过以下公式计算得到最终的节点权重,从而找到最佳Bigraph结构;
Wf(Gi)=ωWDS(Gi)+(1-ω)WTS(Gi)
其中,ω为系数,范围在0到1,通过迭代运行2.2.5.2-2.2.5.3直到所有的术语被添加到Bigraph层次中。
10.如权利要求1~3之一所述的基于膜计算的Web服务混合进化聚类方法,其特征在于,所述第三步中,基于密度K-means算法的聚类过程如下:
3.1采用基于密度K-means算法对数据预处理,通过计算不同数据Si之间的距离,根据半径范围R,将数据划分到不同的簇中,选取密度最高,即Density(Si)最高的K个Si作为簇中心,最后通过相似度对数据聚类;
3.1.1计算每个数据Si在组织对象Q内每个数据簇中心的距离,确认Si在每个数据簇中点的个数,基于密度对数据集合进行排序;
3.1.2选取前K个密度最高即R范围点内数量最多的Sk,作为新的数据簇中心Ck;
3.1.3根据划分的不同簇之间的距离,得到每个Si和Ck的相似度sim(Si,Ck),根据平均相似度Avesim,若sim(Ck,Si)>Avesim,则将Si划分到数据簇Ck,最终得到N个数据簇;
3.2组织细胞O1进化规则
O1采用Agnes算法作为进化规则,指导完成细胞内的对象进化,根据设置簇间相似度阈值Cs,通过Agnes算法对通过密度k-means算法得到的N个初始簇进行合并,流程如下:
3.2.1根据任意两个数据簇Ci,Cj内数据的平均相似度dis(Ci,Cj),构建相似度矩阵D其中SX为数据簇Ci中的数据点,SY为数据簇Cj中的数据点,U,V分别为Ci,Cj中数据点的数量;
3.2.2挑选dis(Ci,Cj)最大的数据簇Ci,Cj,根据簇间相似度阈值Cs,若dis(Ci,Cj)>Cs则将数据簇Ci和Cj合并;
3.2.3重复步骤3.2.2直到所有数据簇之间满足相似度阈值要求;
3.3组织细胞O2进化规则
O2采用基于样本加权的FCM算法作为进化规则,指导完成细胞内对象进化,传统的FCM算法的目标函数和簇中心计算并没有考虑到样本的差异性,对所有样本进行一视同仁处理,但是存在容易扩大数据集中的孤立点或者噪声数据影响的缺陷,从而减少一些重要样本对聚类的贡献,导致聚类的精度下降;为减少样本差异性对聚类效果影响,提出一种基于样本加权的FCM聚类算法,通过合理的对目标函数和聚类中心函数进行加权处理,提高聚类效果;
对于数据集S={s1,s2,…,sn},
3.3.1根据以下公式计算FCM隶属度:
其中uij代表第i个数据属于第j簇的隶属度值,即第i个数据划分到隶属度最大的数据簇j,||si-tj||为数据si到簇中心tj的欧式距离,n为数据数量,可以发现,所有的数据隶属度之和为1,即满足
3.3.2计算权重和熵信息
热力学的熵代表信息的混乱程度,基于熵定义对数据隶属度进行有效分析,并对FCM目标函数进行样本加权,首先定义熵变量Ei代表隶属度uij的有效程度,并且通过计算权重wi衡量数据si对该次聚类的影响程度,它们的计算公式下所示:
3.3.3根据Ei,wi计算新的目标函数
权重系数wi满足 则新定义FCM的目标函数F(S,t)公式如下m为加权指数,是大于等于1的整数,为了求有约束条件下目标函数的极值,利用拉格朗日乘子法构造新目标函数如下的函数:对目标函数求极值最优化条件如下:
计算新的聚类中心tj为:
更新隶属度uij,将第i个数据划分到隶属度最大的数据数据簇Cj
3.3.4若|F(S,t)i-1-F(S,t)i|大于设定的阈值,重复步骤3.3.3,反之结束算法,输出结果F(S,t)i表示第i次迭代得到的FCM目标函数值;
3.4组织细胞O3进化规则
O3采用遗传算法(GA)的选择、交叉、变异三种遗传操作作为进化规则,指导完成细胞内各对象的进化,进化步骤如下:
3.4.1 O3将自身细胞中的m个对象和由其他两个组织细胞转运过来的对象合并为新的对象进化池P;
3.4.2 O3对新的对象进化池P执行选择、交叉与变异操作,其中选择操作采用最优保存策略进行,交叉和变异操作采用整数形式的交叉与单点变异,方法如下:
3.4.2.1计算每个对象k的评估值pk,N为数据簇的数量,ti为第i个数据簇的中心,pm越小说明分类方法越合适,该对象越容易被遗传到下一代;
3.4.2.2定义每个对象k适应度函数fitnessk
fitnessk=α(1-α)index-1
其中α为设定的参数的取值范围为0到1,index为迭代次数;
3.4.2.3选择操作,根据对象适应度所占比
其中u为对象池中对象的总数,对于每个对象,循环随机产生一个随机数p,若p
3.4.2.4交叉操作中的交叉位置通过交叉概率Pc确定,随机从进化池中选择两个对象进行交叉操作,遍历对象的每个分量,循坏生成随机数p若p
3.4.2.5定义变异概率Pm,对于每一个对象,设置随机概率p,如果概率p小于变异概率Pm,如果z是根据变异概率Pm所确定的对象的变异点,即某个分量,则变异后的值为zθ,变异后的对象表示为:其中δ∈[0,1],为随机生成的随机数,+,-号依据概率出现;
3.4.3重复步骤3.4.1-3.4.2,为保持进化池中的对象规模稳定,O3对进化后的对象进行筛选,根据对象的适应度进行淘汰,保留适应度最高的m个对象重新构成对象进化池P'。