1.一种基于Bigraph结构的SOAP服务相似度计算与聚类方法,其特征在于,所述方法包括以下步骤:第一步 形式化定义;
第二步 特征值计算;
第三步 领域权重计算;
第四步生成术语的Bigraph层次结构:
构建不同术语的Bigraph层次结构,Bigraph的位置图,其中Bigraph的每一个节点代表一个术语对象,节点的值代表该术语对象的特征值,该Bigraph层次结构自上而下进行构造;
第五步 构建相似度矩阵:
使用以下公式计算相似度:
其中,D代表术语构成的Bigraph层次结构的最大层数,dis(T1,T2)代表两个术语T1,T2在该Bigraph层次结构中的最短距离,即SOAP服务在某个术语特征上的相似度,计算SOAP服务每个术语特征的相似度,将术语特征相似度之和作为服务的相似度,将服务之间的相似度关系构建成相似度矩阵;
第六步 服务聚类
提出一种基于密度的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个对象;通过该转运规则可以达到以下效果:
7.1)组织细胞x中的m个对象T1,T2,…Tm被转运到组织细胞y中,
7.2)组织细胞y中的m个对象T1’,T2’,…Tm’被转运到组织细胞x中;
(x,Txbest/Tbest,OEo),x≠y,x,y=1,2,3该条转运规则代表组织细胞x和系统环境进行转运,其中Txbest为当前计算组织细胞x中的局部最优对象,Tbest为当前环境中的全局最优对象,通过该条转运规则,组织细胞x中的最优对象被转运到环境中,并且同时更新该环境的全局最优对象;
第八步停机与输出
系统中的各个组织细胞作为单独的执行单元以并行的结构进化运行,故该系统是并行分布式的,在该系统中,定义一系列的计算步骤为一个计算,可以从包含初始数据细胞对象集的组织细胞开始,在每一个计算中,都意味着有一个或者多个进化规则被作用于当前的数据细胞对象集上,当达到系统的停机约束条件时,系统自动停机,计算结果呈现于系统的外环境中;
所述第一步中,形式化定义的过程如下:
1.1、术语定义:
令TL={T1,T2,…Tn}是服务语料库中的一组术语集合,n为术语的数量,A={a1,a2,…am*}是组成术语TL的原子词汇,即该词汇已经不可再被细分,m*对应所有的原子词汇数量,定义术语的频率 即术语Ti′出现的次数,同时计算语料库TL中的全部术语出现次数的总和,对应的,定义原子词汇频率 计算所有原子词汇出现次数的总和,计算公式下所示:
1.2、组织P系统定义:
一个度为3的P系统可以形式化定义为以下八元组,度为3即P系统由3个数据细胞组成:ω=(OB1,OB2,OB3,OR1,OR2,OR3,OR′,OEo)其中:
OB1、OB2和OB3为各组织细胞的对象集,即数据细胞集合;
OR1、OR2和OR3为各组织细胞的进化规则,分别代表基于Agnes和k‑means算法、基于加权FCM算法和基于GA算法的聚类规则;
OR'代表整个P系统中各组织细胞的转运规则,通过转运规则,细胞与细胞之间可以进行对象的共享与交换;
OEo=0为系统的输出区域,代表环境;
1.3、组织对象定义
在数据聚类算法中,组织P系统功能是为需要进行聚类的数据集搜索最优的聚类中心,因此,将数据的聚类中心用一组对象来表示,定义P系统中的组织细胞对象T为一个N*d维度向量,如下:T=(t11,t12,…,t1d,…,tv1,tv2,…,tvd,…,tN1,tN2,…,tNd)其中N代表该数据细胞T有N个簇,这N个簇C1,C2,…,CN对应的簇中心为t1,t2,…,tN,对象中的每一个簇中心都是一个d维度向量,则tv可以表示为tv1,tv2,…tvd,v=1,2,…,N,tvd代表第v个数据簇中心的第d个分量;
OBv代表P系统中第v个进化膜中的对象集合,其内包含一组对象,这些对象通过不同组织细胞中的进化机制进行进化反应,定义每个进化膜中的初始对象数量均为m,组成其对象集Q,在P系统的进化过程实施中,系统需要一个度量机制评价当前对象的优劣,通过计算样本整体簇方差的聚类问题性能函数Jm,进行对象的优质判定,其中sj代表数据簇中的某个数据集,Jm值越小,说明对象越好,通过对象的判断排序,每个进化膜中都有一个其最优的对象,即局部最优对象OBibest,而系统的环境中保存有一个最优对象,即全局最优对象,记为Tbest;当整个系统达到停机状态的时候,环境中的全局最优对象即为所求的解,也是最优的聚类中心;
所述第二步中,特征值计算过程如下:
2.1自身特征值计算
在服务语料库中发现一个术语Ti″,通过信息论方法来计算其信息量I(pi″),在此基础上,可以将术语Ti″的特征值Spe(Ti″)赋值如下Spe(Ti″)=I(pi″) (3)通过计算联合概率分布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*) (5)根据贝叶斯定理,
最终SOAP服务的自身信息特征值SelfSpe(Ti″ )计算如下分析常规的WSDL文档中术语包括1到2个词汇,故 代表术语中的词汇设置,默认值按照1进行计算,θ代表加权值,基于信息论方法设定,取值范围为0到1;
2.2上下文信息特征值计算
根据信息论方法,服务的上下文信息特征是基于修饰的术语词概率分布的熵,为此,通过以下公式计算其熵值;
其中NT代表术语Ti″的修饰数量,(modm#,Ti″)代表modm#修饰术语Ti″的概率,熵值由所有的(modm#,Ti″) 对平均信息量计算,通过熵值计算出术语Ti″的上下文信息特征值ContextSpe(Ti″)如下:其中1≤j″≤K*,K*为所有相同定义的修饰词数量和, 代表每一个修饰词;
2.3混合特征值计算
通过公式(7)和(9)计算的自身特征值和上下文信息特征,覆盖描述词的特征以及词语自身所不能描述的信息,最终通过公式(10)求得混合的特征值如下:混合系数α值在0和1之间,经过归一化处理,服务的自身特征值、上下文特征值和混合特征值取值均在0和1之间;
所述第三步中,领域权重计算过程如下:
3.1领域权重值计算
权重的大小通过同级的术语体现,定义结构相似度越大的同级术语的权重越大,计算方法如下:其中, 为一个新术语Tn的同级术语集合,HybridSpe(Ts)和HybridSpe(Tn)分别代表每个同级术语和新的术语的特征值,如果新添加的术语没有同级术语时,直接定义权重值为
0.5,Gi″′为当前Bigraph结构,偶图(Bigraph)是一个二元组B=
3.2术语权重值计算
通过比较两个术语的单词相似度来计算术语的相似度,计算如下所示:其中, 和 分别代表在术语Ti″′和Tn中的组成单词数量, 代表这两个术语中的相同单词数量,定义一个新术语包含的相关子结构相似术语越多,则权重越高,根据术语的相似度求得术语权重值,计算公式如下:其中NP为术语的上级、同级和下级术语的总集合,Ti″′代表这些术语项中的一个。
2.如权利要求1所述的基于Bigraph结构的SOAP服务相似度计算与聚类方法,其特征在于,所述第四步中,生成术语的Bigraph层次结构的步骤如下:
4.1、计算WSDL文档中和从Google中提取的术语的混合特征值放入数组Arr中,并且按照升序排列,选择前面3个术语对象作为Bigraph的三个节点构成初始Bigraph结构T;
4.2、对于数组Arr中剩余术语Tn,添加到已有的Bigraph层次结构中,若Tx满足HybridSpe(Tn)‑0.3
4.3、通过综合考虑新术语与候选子结构的领域权重WDS(Gi″′)和术语权重WTS(Gi″′),通过公式(14)计算得到最终的节点权重,从而找到最优子结构;
Wf(Gi″′)=ωWDS(Gi″′)+(1‑ω)WTS(Gi″′) (14)其中,ω为系数,范围在0到1,通过迭代运行4.2‑4.3直到所有的术语被添加到Bigraph层次中。
3.如权利要求1或2所述的基于Bigraph结构的SOAP服务相似度计算与聚类方法,其特征在于,所述第六步中,基于密度K‑means算法的聚类过程如下:
6.1采用基于密度K‑means算法对数据预处理,通过计算不同数据Si#之间的距离,根据半径范围R,将数据划分到不同的簇中,选取密度最高,即Density(Si#)最高的K个Si#作为簇中心,最后通过相似度对数据聚类;
6.2组织细胞O1进化规则
O1采用Agnes作为进化规则,指导完成细胞内的对象进化,根据设置簇间相似度阈值Cs,通过Agnes算法对通过密度k‑means算法得到的N个初始簇进行合并;
6.3组织细胞O2进化规则
O2采用基于样本加权的FCM算法作为进化规则,指导完成细胞内对象进化;
6.4组织细胞O3进化规则
O3采用GA的选择、交叉、变异三种遗传操作作为进化规则,指导完成细胞内各对象的进化。
4.如权利要求3所述的基于Bigraph结构的SOAP服务相似度计算与聚类方法,其特征在于,所述6.1的过程如下:
6.1.1根据公式(16)计算每个数据Si#在组织对象Q内与每个数据簇中心的距离,确认Si#在每个数据簇中点的个数,基于密度对数据集合进行排序;
6.1.2选取前K个密度最高的Sk,作为新的数据簇中心Ck;
6.1.3根据划分的不同簇之间的距离,得到每个Si#和Ck的相似度sim(Si#,Ck),根据平均相似度Avesim,若sim(Ck,Si#)>Avesim,则将Si#划分到数据簇Ck,最终得到N个数据簇;
5.如权利要求4所述的基于Bigraph结构的SOAP服务相似度计算与聚类方法,其特征在于,所述6.2中,组织细胞O1进化规则的流程如下:
6.2.1根据任意两个数据簇Ci@,Cj@内数据的平均相似度dis(Ci@,Cj@),构建相似度矩阵D其中SX为数据簇Ci@中的数据点,SY为数据簇Cj@中的数据点,U,V分别为Ci@,Cj@中数据点的数量;
6.2.2挑选dis(Ci@,Cj@)最大的数据簇Ci@,Cj@,根据簇间相似度阈值Cs,若dis(Ci@,Cj@)>Cs则将数据簇Ci@和Cj@合并;
6.2.3重复步骤6.2.2直到所有数据簇之间满足相似度阈值要求。
6.如权利要求5所述的基于Bigraph结构的SOAP服务相似度计算与聚类方法,其特征在于,所述6.3中,对于数据集S={s1,s2,…,sn},过程如下:
6.3.1根据以下公式计算FCM隶属度:
其中ui*j^代表第i*个数据属于第j^簇的隶属度值,即第i*个数据划分到隶属度最大的数据簇j^,||si*‑tj^||为数据si*到簇中心tj^的欧式距离,可以发现,所有的数据隶属度之和为1,即满足
6.3.2计算权重和熵信息
热力学的熵代表信息的混乱程度,基于熵定义对数据隶属度进行有效分析,并对FCM目标函数进行样本加权,首先定义熵变量Ei*代表隶属度ui*j^的有效程度,并且通过计算权重wi*衡量数据si*对该次聚类的影响程度,它们的计算公式下所示:
6.3.3根据Ei*,wi*计算新的目标函数
权重系数wi*满足 则新定义FCM的目标函数F(S,t)如公式(22):m为加权指数,是大于等于1的整数,为了求有约束条件下目标函数的极值,利用拉格朗日乘子法构造新目标函数如下的函数:对目标函数求极值最优化条件如下:
计算新的聚类中心tj^为:
更新隶属度ui*j^,将第i*个数据划分到隶属度最大的数据簇;
6.3.4若|F(S,t)i*‑1‑F(S,t)i*|大于设定的阈值,重复步骤6.3.3,反之结束算法,输出结果F(S,t)i*表示第i*次迭代得到的FCM目标函数值。
7.如权利要求6所述的基于Bigraph结构的SOAP服务相似度计算与聚类方法,其特征在于,所述6.4中,进化步骤如下:
6.4.1 O3将自身细胞中的m个对象和由其他两个组织细胞转运过来的对象合并为新的对象进化池Pool;
6.4.2 O3对新的对象进化池Pool执行选择、交叉与变异操作,其中选择操作采用最优保存策略进行,交叉和变异操作采用整数形式的交叉与单点变异,具体方法如下:
6.4.2.1计算Pool的每个对象的评估值pk,N为数据簇的数量,ti^为第i^个数据簇的中心,pm越小说明分类方法越合适,该对象越容易被遗传到下一代;
6.4.2.2定义每个对象适应度函数fitnessk
index‑1
fitnessk=α(1‑α) (30)其中α为设定的参数的取值范围为0到1,index为迭代次数;
6.4.2.3选择操作,根据对象适应度所占比
其中u为对象池中对象的总数,对于每个对象,循环随机产生一个随机数p,若p
6.4.2.4交叉操作中的交叉位置通过交叉概率Pc确定,随机从进化池中选择两个对象进行交叉操作,遍历对象的每个分量,循环生成随机数p,若p
6.4.2.5定义变异概率Pm,对于每一个对象,设置随机概率pro,如果概率pro小于变异概率Pm,如果z是根据变异概率Pm所确定的对象的变异点,则变异后的值为zθ,变异后的对象表示为:其中δ∈[0,1],为随机生成的随机数,+,‑号依据概率出现;
6.4.3重复步骤6.4.1‑6.4.2,为保持进化池中的对象规模稳定,O3对进化后的对象进行筛选,根据对象的适应度进行淘汰,保留适应度最高的m个对象重新构成对象进化池P'。