首页 / 专利库 / 物理 / 热力学 / 基于膜计算的Web服务混合进化聚类方法

基于膜计算的Web服务混合进化聚类方法

阅读:899发布:2022-08-04

专利汇可以提供基于膜计算的Web服务混合进化聚类方法专利检索,专利查询,专利分析的服务。并且一种基于膜计算的Web服务混合进化聚类方法,包括以下步骤:第一步:形式化定义;第二步:服务相似度计算;第三步:服务聚类;第四步:数据细胞根据运转规则跟新全局最优对象;第五步:停机与输出,系统中的各个组织细胞作为单独的执行单元以并行的结构进化运行,故该系统是并行分布式的,在该系统中,定义一系列的计算步骤为一个计算,从包含初始数据细胞对象集的组织细胞开始,在每一个计算中,都意味着有一个或者多个进化规则被作用于当前的数据细胞对象集上,当达到系统的停机约束条件时,系统自动停机,计算结果呈现于系统的外环境中。本 发明 能更好的得到服务领域的特征性,可以更准确的计算相似度,得到更好的聚类结果。,下面是基于膜计算的Web服务混合进化聚类方法专利的具体信息内容。

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为域特征向量,代表服务域信息,定义一个服务有m个域,则
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'=,构造一个基于多个数据源的扩展LDA主题模型,记为MD-LDA,其中包括精简后的服务描述文本特征向量RT',Web API特征向量RA和标签特征向量T,MD-LDA模型基于隐含狄利克雷分布,隐含狄利克雷分布LDA是一种主题模型,它将文档集中每篇文档的主题按照概率分布的形式给出,融合服务的各项数据源特征,在MD-LDA模型中,在服务API和标签中相关的词选择方法和服务文档描述文档RT中一致,每个服务API或者服务标签对文档的主题分布都有其独特的贡献;
所以,有一个主题分布,狄利克雷的α超参数对应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=,是由图灵奖获得者Milner提出,BP,BL分别是位置图(place graph)和连接图(link graph).BP是个三元组BP=由图的节点集V、边的集合E和接口P组成,嵌套的节点在位置图中为父子关系,用分支关系表示节点之间的嵌,BL同BP一样也是由图的节点集V、边的集合E和接口P组成一个三元组,BL用于表示节点之间的连接关系;
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.32.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,若p3.4.2.4交叉操作中的交叉位置通过交叉概率Pc确定,随机从进化池中选择两个对象进行交叉操作,遍历对象的每个分量,循坏生成随机数p若p3.4.2.5定义变异概率Pm,对于每一个对象,设置随机概率p,如果概率p小于变异概率Pm,如果z是根据变异概率Pm所确定的对象的变异点,即某个分量,则变异后的值为zθ,变异后的对象表示为:
其中δ∈[0,1],为随机生成的随机数,+,-号依据概率出现;
3.4.3重复步骤3.4.1-3.4.2,为保持进化池中的对象规模稳定,O3对进化后的对象进行筛选,根据对象的适应度进行淘汰,保留适应度最高的m个对象重新构成对象进化池P'。

说明书全文

基于膜计算的Web服务混合进化聚类方法

技术领域

[0001] 本发明涉及web服务的聚类问题,主要是REST数据服务中mashup服务聚类和SOAP服务的聚类方法。技术背景
[0002] 随着Web 2.0技术的发展,互联网上的服务数量及其类型不断增加,这为以更容易、更快速的方式开发物联网应用提供了可能,使得如何准确有效地发现所需的原子服务或者服务组合成为一个问题。服务聚类技术可以有效地促进服务发现,近年来,已经提出了许多不同类型的服务聚类方法来聚类Mashup服务,Web API和Web服务。
[0003] 目前,大多数现有方法对于SOAP服务通过使用服务功能描述(WSDL文档)来计算Web服务之间的功能相似性来执行服务聚类操作,Liu等人从Web服务的WSDL描述文本中提取了Web服务的四个特性:内容、上下文、主机名和Web服务名,以进行Web服务聚类。Elgazzar等人分析了WSDL文档,并根据功能相似性将它们聚类,Yu和Rege还提出了一种利用服务社区学习算法改进服务发现的聚类方法,另外,本体技术也常用于Web服务之间的语义相似度计算和匹配,以促进服务的聚类和发现。例如Pop等人设计了一个度量标准来评估描述两个语义Web服务的本体概念之间的匹配程度,并使用ant-based方法对它们进行集群,以实现高效的服务发现。Nayak等人基于聚类层次聚类算法,提出了具有附加语义和聚类的Web服务发现。
[0004] 现有的Mashup服务聚类方法通常通过分析服务的描述文本来进行聚类,但是没有综合考虑描述文本信息中单词频率和相关性的相互影响,并且服务的描述文本信息有限,一些服务的其他信息如服务API、服务标签等,在服务的功能描述有着重要的体现。
[0005] Gao等人提出了一种新的基于图论的服务和Mashup推荐方法,该方法从服务的功能描述中提取主题,并将用户、Mashup、服务和主题之间的关系建模为四边形图以提升推荐性能。Cao等人通过从Web API调用和标签中推断的Mashup服务之间的关系,开发了一个两层主题模型,将Mashup服务在网络层的主题分布合并到内容层原始Mashup服务的主题概率分布中。
[0006] 另外,Pan W等人提出了一种基于结构相似性和遗传算法的新型Mashup服务聚类方法,通过双模图描述Mashups,Web APIs之间的关系,应用SimRank算法量化每对Mashup服务之间的结构相似性,最终将Mashup服务有效地聚集成簇。

发明内容

[0007] 为解决web环境下SOAP服务聚类的问题,本发明通过从WSDL文档提取隐藏的术语信息将服务信息分为两类,即服务自身信息和服务上下文信息,来计算术语特征值,并通过计算出的特征值生成特殊的Bigraph层次模型,通过Bigraph层次模型计算SOAP服务的相似度。对于Mashup服务,本发明采用一种基于域感知的服务特征选择方法获取处理的服务描述文本,基于结合处理的描述文本、服务API和标签设计一个多数据源LDA主题模型,LDA(Latent Dirichlet Allocation)是一种文档主题生成模型,也称为一个三层贝叶斯概率模型,包含词、主题和文档三层结构,通过模型推断服务的主题概率分布,并且计算服务的相似性。同时结合基于密度的k-means算法预处理数据集,利用组织P系统,结合基于层次划分Agnes算法、基于遗传算法(GA)、基于加权模糊聚类(FCM)算法,提出一种基于膜计算的Web服务混合进化聚类方法。
[0008] 为了解决上述技术问题,本发明提供如下的技术方案:
[0009] 一种基于膜计算的Web服务混合进化聚类方法,包括以下步骤:
[0010] 第一步:形式化定义,过程如下:
[0011] 1.1 mashup服务定义
[0012] 1.1.1服务文档矢量模型:预处理的服务文档矢量模型是一个四元组,RSM=,其中:
[0013] RD为域特征向量,代表服务域信息,定义一个服务有m个域,则RD={RD1,RD2,…,RDm};
[0014] RT为服务描述文本特征向量,假设每个域中有n个服务描述文本,则m个域的描述文本表示为RT={RT11,RT12,…,RT1n,…,RTmn};
[0015] RA为服务API特征向量;
[0016] T为服务标签特征向量;
[0017] 每个服务描述文本RTij中的特征词表示为FWijk,其中i代表域变量,j代表描述文本变量,k代表特征词变量,则服务描述文本RTij也可以表示为RTij={FWij1,FWij2,…,FWijs},其中,1≤i≤m,1≤j≤n,s为特征词数量;
[0018] 1.1.2服务文档跨域集中度:该跨域集中度表示为Ddep,它代表包含服务域RDi中的特征词FWijk的服务描述文档RTij与该服务所有域中的特征词比例,计算公式下:
[0019]
[0020] 其中,df(FWijk,RDi)代表服务域RDi中,包含特征词FWijk的描述文本RTij数量,而代表在所有域中包含特征词FWijk的描述文本RTij数量,跨域集中度越高则代表这个服务文档在该域中的集中度越大,故具备更强的领域表示;
[0021] 1.1.3特征词频跨域集中度:该跨域集中度表示为Dfre,它代表特征词FWijk在服务域RDi中和在所有服务域出现的不同次数比例,计算如下:
[0022]
[0023] 其中,tf(FWijk,RDi)代表该服务域RDi中,特征词FWijk的数量,而代表该特征词在所有服务域中出现的数量,同理可知更高的特征词频
跨域集中度意味这个特征词在该服务域中集中程度越高;
[0024] 1.1.4特征词的域表示度:代表一个特征词FWijk表示服务域RDi的程度,由服务文档跨域集中度和特征词频跨域集中度综合计算得来,计算如公式如下
[0025] Dfinal(FWijk,RDi)=a*Ddep(FWijk,RDi)+β*Dfre(FWijk,RDi)
[0026] α和β是权重系数,并且α+β=1,通过上述公式求得不同服务域中所有特征词的域表示度,特征词的域表示度越高代表其越能表示该服务域信息;一个服务域中会出现一系列典型特征词,这些词的域表示度很高但服务的聚类效果一般,设置一个特征词的域表示度的阈值,对超过该阈值的特征词进行过滤,提高特征词对服务域的表示效果;
[0027] 1.1.5域高效特征词集:代表在一个服务域中所有的特征词集合选取合适的特征词集合,通过特征词的域表示度降序排序,在一个服务域中选择前百分之P的特征词作为本发明需要的域高效特征词集合,如下所示
[0028] HQ(RDi)={FWij1,FWij2,…,FWijp,}
[0029] 其中p=L*P/100,在特征词精简的过程中,如果一个描述文本RTij的特征词FWijk不属于HQ(RDi),则将其过滤,并更新服务描述文档RTij';
[0030] 1.2SOAP服务术语定义:
[0031] 令TL={T1,T2,…Tn}是服务语料库中的一组术语集合,n为术语的数量,A={a1,a2,…am}是组成术语TL的原子词汇,即该词汇已经不可再被细分,m对应所有的原子词汇数量,定义术语的频率 即术语Ti出现的出现的次数,同于计算语料库TL中的全部术语出现次数的总和,对应的原子词汇频率 计算所有词汇出现次数的总和,计算公式下所示:
[0032]
[0033]
[0034] NumTL为TL所有术语数量,NumA所有为原子词汇出现次数的总和;
[0035] 1.3、组织P系统(P System)定义:
[0036] 一个度为3的即3个由数据细胞组织P系统形式化定义为以下八元组:
[0037] ω=(OB1,OB2,OB3,OR1,OR2,OR3,OR′,OEo)
[0038] 其中:
[0039] OB1、OB2和OB3为各组织细胞的对象集,即数据细胞集合;
[0040] OR1、OR2和OR3为各组织细胞的进化规则,分别代表基于Agnes和k-means算法、基于加权FCM算法和基于GA算法的聚类规则;
[0041] OR'代表整个P系统中各组织细胞的转运规则,通过转运规则,细胞与细胞之间可以进行对象的共享与交换;
[0042] OEo=0为系统的输出区域,代表环境;
[0043] 第二步:服务相似度计算
[0044] 判断是否为SOAP服务,若为SOAP服务则跳转到步骤第2.2,若为mashup服务则进行步骤2.1;
[0045] 2.1 mashup服务相似度计算,过程如下:
[0046] 2.1.1服务预处理
[0047] 通过对爬取的服务信息即服务的域、描述文本、API、标签进行预处理,提取其中准确、有效的特征词,构建描述更精确的服务描述文档,提高服务聚类精度,预处理步骤如下:
[0048] 2.1.1.1构造初始特征向量,通过使用自然语言处理包NLTK,将语句分割并提取有效词语;
[0049] 2.1.1.2删除无效的词语,例如符号(+、-、_等)和介词(a、the、of、and等),这些词语在服务的特征描述中是无用,保留可以表征服务特性的名称、动词和形容词;
[0050] 2.1.1.3合并处理词干,一些具有相同词干的词语往往具有类似的含义,例如use、used、using表达的特性相同,删除相同含义单词保留词根即可;
[0051] 2.1.2服务特征精简处理
[0052] 不同的服务都有其独特领域特征性,同一个域中的特征词的重要性与频率和域的相关性有关,在计算服务特征值权重时,传统的TF-IDF计算方法或者互信息方法只单独考虑其中的一个因素,通过综合考虑词频和相关性因素,对服务的描述文本进行特征精简处理,步骤如下:
[0053] 2.1.2.1遍历每个服务域RDi中每个描述文本RTij的每个特征词FWijk,根据1.1.4中的公式计算特征词FWijk表示服务域RDi的程度Dfinal(FWijk,RDi),如果Dfinal(FWijk,RDi)<R,删除该特征值,R为特征值的域表示度的阈值;
[0054] 2.1.2.2对所有服务域中特在此完成2.1.2.1步骤后,根据Dfinal(FWijk,RDi)的值,对RDi的特征词FWijk进行降序排序,根据步骤1.5选取前百分之P的特征词作为服务域RDi域高效特征词集HQ(RDi);
[0055] 2.1.2.3重复步骤2.1.2.2,直到生成所有服务域的域高效特征词集HQ(RDi),每个服务域RDi根据HQ(RDi)删除所有不在HQ(RDi)的特征词;
[0056] 2.1.3主题聚类模型构建:
[0057] 在完成对RSM的特征精简之后得到新的服务文档矢量模型RSM′=,构造一个基于多个数据源的扩展LDA主题模型,记为MD-LDA,其中包括精简后的服务描述文本特征向量RT′,Web API特征向量RA和标签特征向量T,MD-LDA模型基于隐含狄利克雷分布,隐含狄利克雷分布(Latent Dirichlet Allocation,LDA),是一种主题模型(topic model),它可以将文档集中每篇文档的主题按照概率分布的形式给出,融合服务的各项数据源特征,在MD-LDA模型中,服务API和标签中相关的词选择方法和服务文档描述文档RT中一致,每个服务API或者服务标签对文档的主题分布都有其独特的贡献;
[0058] 所以,有一个主题分布,狄利克雷的α超参数对应RSM′中的RA和T,狄利克雷的超参数β对应每个主题中的词语分布,然后根据中选择的RA或者T,从主题分布中提取一个主题,并且通过所选的主题生成特定的词语,从而生成融合服务描述文本、服务API和服务标签的MD-LDA模型,生成过程如下:
[0059] 2.1.3.1对于RSM′中的RA或者T,定义为变量datd,其中datd=1,2,3,...,N,N为RSM′中RA和T的总数量,选择一个多项式θdat服从狄利克雷的α超参数分布;
[0060] 2.1.3.2对于RSM′中的主题k,满足k=1,2,...,K,K是RSM′中的主题数量,选择一个多项式 服从狄利克雷的β超参数分布;
[0061] 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中词语的总数量;
[0062] 提取一个Web API或者标签记为xdi,其中服从均匀分布记为Uniform(datd);
[0063] 提取一个主题记为zdi,其服从多项式分布记为 分布;
[0064] 提取一个单词记为wdi,其服从 分布;
[0065] 相应的MD-LDA概率模型中每个主题与 上面的词分布有关,词的抽取独立于狄利克雷参数β,x表示从API、标签集合datd中选取给定单词相关的RA或者标签T,每一个RA或者T都和一个主题上θ分布,θ是从狄利克雷参数α中选择,通过结合RA、T的主题分布和主题的单词分布形成主题zdi,
[0066] 并从所选择的主题中提取单词wdi;
[0067] 如上述的描述过程可知,模型主题的后验分布取决于RSM′中的RT′、RA和T,设置MD-LDA模型的各个参数如下:
[0068] θdat|α~Dirichlet(α)
[0069]
[0070] xdi|datd~Uniform(datd)
[0071]
[0072]
[0073] 2.1.3.4通过吉布斯(Gibbs)采样方法对MD-LDA模型进行参数推理,该采样方法为潜在的变量估计提供了一种简单而又有效的方法,它属于一种通过多元概率分布得到随机样本序列的尔科夫链蒙特卡洛算法,Gibbs采样方法每一步都服从如下公式分布;
[0074] P(zdi=j,xdi=k|wi=m,z_di,x_di,datd)
[0075]
[0076] 其中z_di表示处理单词wdi之后为每个单词主题指派,x_di表示处理单词wdi之后为每个单词API或者标签指派,nzw表示分配给主题z的单词w总数量,mxz表示分配给主题z的Web API和标签中单词的总数, 为主题zdi的α参数, 为单词wdi的β参数,V为主题的数量,αv,βv为第v个主题的α参数和β参数,抽样的过程中,主题的单词分布 和API、标签的主题分布θ需要通过以下公式求出;
[0077]
[0078]
[0079] zdi和xdi通过确定z_di和x_di来抽样决定,对于每个RSM′,本发明总结所有的θx计算文档d的主题分布,其中χ∈datd,从而得到所有RSM′的最终主题概率分布;
[0080] 2.1.4相似度计算
[0081] 实际上,mashup服务文档主题分布映射的是文本向量空间,故可以通过相应的主题概率分布来计算两个服务文档RSM1′和RSM2′的相似性,本模型中主题是词向量的混合分布,故可以使用相对熵(KL)距离作为相似度度量标准,计算如下所示:
[0082]
[0083] T代表两个服务文档中的所有共同主题,pj和qj分别代表在两个文档中的主题分布,当pj=qj时候,KL距离计算结果DKL(RSM′1,RSM′2)为0,由于KL距离并不是对称性质的,即DKL(RSM′1,RSM′2)≠DKL(RSM′2,RSM′1),所以通常使用其对称版本,计算公式如下:
[0084] DKL(RSM′1,RSM′2)=λDKL(RSM′1,λ*RSM′1+(1-λ)RSM′2)+(1-λ)DKL(RSM′2,λ*RSM′1+(1-λ)RSM′2)
[0085] 故取λ=0.5,则将上述公式转换为JS距离,JS距离又称JS散度(Jensen-Shannon divergence)是KL距离的一种变形,通过JS距离作为标准计算文本的相似度,作为服务的相似度,最终计算公式如下:
[0086]
[0087] 2.2 SOAP相似度计算,过程如下:
[0088] 2.2.1自身特征值计算
[0089] 在服务语料库中发现一个术语Ti,可以通过信息论方法来计算其信息量I(Pi),在此基础上,可以将术语Ti的特征值Spe(Ti)赋值如下
[0090] Spe(Ti)=I(Pi)
[0091] 通过计算联合概率分布P{pi,qj}来计算术语特征值,其中pi∈P并且qj∈Q,pi是从术语集TL中选择一个词,而qj是从原子词汇A中取得一个词,其中{p1,p2,...pn}和{q1,q2,...,qm}分别由随机变量P,Q表示,pi和qj的互信息计算可由如下公式计算:
[0092]
[0093] 术语pi的特征值表示为I(pi,Q),表示pi术语和词汇库Q的关系,结合语料库中术语和词汇的频率计算pi特征值的公式如下:
[0094] Spe(Ti)≈I(pi,Q)
[0095] 根据贝叶斯定理,
[0096]
[0097] 最终SOAP服务的自身信息特征值SelfSpe(Ti)计算如下
[0098]
[0099] 分析常规的WSDL文档中术语一般包括1到2个词汇,故 代表术语中的词汇近似设置为1计算,θ代表加权值,基于信息论方法设定,取值范围为0到1;
[0100] 2.2.2上下文信息特征值计算
[0101] 根据信息论方法,服务的上下文信息特征是基于修饰的术语词概率分布的熵,为此,通过以下公式计算其熵值:
[0102]
[0103] 其中NT代表术语Ti的修饰数量,(modm,Ti)代表modm修饰术语Ti的概率,熵值由所有的(modm,Ti)对平均信息量计算,在一个特定的领域中,术语的修饰词分布较为紧密,故在一个特定领中的术语熵值更低,通过熵值可以计算出术语Ti的上下文信息特征值ContextSpe(Ti)如下:
[0104]
[0105] 其中1≤j≤K,K为所有相同定义的修饰词数量和, 代表每一个修饰词;
[0106] 2.2.3混合特征值计算
[0107] 通过步骤2.2.1和2.2.2计算的自身特征值和上下文信息特征,可以覆盖描述词的特征以及词语自身所不能描述的信息,最终通以下公式求得混合的特征值如下:
[0108]
[0109] 混合系数α值在0和1之间,根据实验设置为0.65,经过归一化处理,服务的自身特征值、上下文特征值和混合特征值取值均在0和1之间;
[0110] 2.2.4领域权重计算,过程如下:
[0111] 2.2.4.1领域权重值计算
[0112] 在Bigraph结构生成的过程需要基于领域特征值的权重,权重的大小通过同级的术语体现,定义结构相似度越大的同级术语的权重越大,具体计算方法如下:
[0113]
[0114] 其中, 为一个新术语Tn的同级术语集合,HybridSpe(Ts)和HybridSpe(Tn)分别代表每个同级术语和新的术语的特征值,新添加的术语没有同级术语时,直接定义权重值为0.5,Gi为当前Bigraph结构,偶图(Bigraph)是一个二元组B=,是由图灵奖获得者Milner提出,BP,BL分别是位置图(place graph)和连接图(link graph),BP是个三元组BP=由图的节点集V、边的集合E和接口P组成,嵌套的节点在位置图中为父子关系,用分支关系表示节点之间的嵌,BL同BP一样也是由图的节点集V、边的集合E和接口P组成一个三元组,BL用于表示节点之间的连接关系;
[0115] 2.2.4.2术语权重值计算
[0116] 通过比较两个术语的单词相似度来计算术语的相似度,计算如下所示:
[0117]
[0118] 其中, 和 分别代表在术语Ti和Tn中的组成单词数量, 代表这两个术语中的相同单词数量,定义一个新术语包含的相关子结构相似术语越多,则权重越高,根据术语的相似度可以求得术语权重值,计算公式如下:
[0119]
[0120] 其中NP为术语的上级、同级和下级术语的总集合,Ti代表这些术语项中的一个;
[0121] 2.2.5生成术语的Bigraph层次结构
[0122] 构建不同术语的Bigraph层次结构,类似于Bigraph的位置图,其中Bigraph的每一个节点代表一个术语对象,节点的值代表该术语对象的特征值,该Bigraph层次结构自上而下进行构造,步骤如下:
[0123] 2.2.5.1依据2.2.3中的公式计算WSDL文档中和从Google中提取的术语的混合特征值放入数组A中,并且按照升序排列,选择前面3个术语对象作为Bigraph的三个节点构成初始Bigraph结构T;
[0124] 2.2.5.2对于数组A中剩余术语Tn,添加到已有的Bigraph层次结构中,若Tx满足(HybridSpe(Tn)-0.3<HybridSpe(Tx)<HybridSpe(Tn)+0.3,则将Tx标记为目标节点,Tx为已有的Bigraph层次的术语,通过这些目标节点,来确定Tn所处的目标子结构位置,从而确定候选Bigraph结构;
[0125] 2.2.5.3通过综合考虑新术语与候选Bigraph结构的领域权重WDS(Gi)和术语权重WTS(Gi),通过以下公式计算得到最终的节点权重,从而找到最佳Bigraph结构;
[0126] Wf(Gi)=ωWDS(Gi)+(1-ω)WTS(Gi)
[0127] 其中,ω为系数,范围在0到1,通过迭代运行2.2.5.2-2.2.5.3直到所有的术语被添加到Bigraph层次中;
[0128] 2.2.6构建相似度矩阵:
[0129] 使用以下公式计算相似度:
[0130]
[0131] 其中,D代表术语构成的Bigraph层次结构的最大层数,dis(T1,T2)代表两个术语T1,T2在该Bigraph层次结构中的最短距离,即SOAP服务在某个特点上的相似度,计算SOAP服务每个特点的相似度,将特点相似度之和作为服务的相似度,将服务之间的相似度关系构建成相似度矩阵;
[0132] 第三步:服务聚类
[0133] 聚类中心点的选取需要对数据集中的点计算整体簇方差的值,但是数据集中存在许多非备选点,存在数据噪点和边缘的孤立点,而这些点不仅会影响簇中心的选取,而且会额外增加计算成本,同时需要人为的预先指定数据簇的数量;考虑到以上缺点,提出一种基于密度的K-means算法进行改进,通过计算各个点的密度数,提取高密度数的数据点作为簇中心,通过改进的K-means算法,对待聚类的初始数据集S进行预处理聚类,S由M个维度为d的数据点构成,基于密度的K-means算法的点密度计算如下所示:
[0134]
[0135] 其中Density(Si)代表在Si的R的范围内点的总个数,距离计算sim(Si,Sj)采为服务Si和Sj的相似度;
[0136] 为此,基于密度K-means算法的聚类过程如下:
[0137] 3.1采用基于密度K-means算法对数据预处理,通过计算不同数据Si之间的距离,根据半径范围R,将数据划分到不同的簇中,选取密度最高,即Density(Si)最高的K个Si作为簇中心,最后通过相似度对数据聚类,过程如下:
[0138] 3.1.1计算每个数据Si在组织对象Q内每个数据簇中心的距离,确认Si在在每个数据簇中点的个数,基于密度对数据集合进行排序;
[0139] 3.1.2选取前K个密度最高即R范围点内数量最多的Sk,作为新的数据簇中心Ck;
[0140] 3.1.3根据划分的不同簇之间的距离,得到每个Si和Ck的相似度sim(Si,Ck),根据平均相似度Avesim,若sim(Ck,Si)>Avesim,则将Si划分到数据簇Ck,最终得到N个数据簇;
[0141]
[0142] 3.2组织细胞O1进化规则
[0143] O1采用Agnes算法作为进化规则,指导完成细胞内的对象进化,根据根据设置簇间相似度阈值Cs,通过Agnes算法对通过密度k-means算法得到的N个初始簇进行合并,流程如下:
[0144] 3.2.1根据任意两个数据簇Ci,Cj内数据的平均相似度dis(Ci,Cj),构建相似度矩阵D
[0145]
[0146] 其中SX为数据簇Ci中的数据点,SY为数据簇Cj中的数据点,U,V分别为Ci,Cj中数据点的数量;
[0147] 3.2.2挑选dis(Ci,Cj)最大的数据簇Ci,Cj,根据簇间相似度阈值Cs,若dis(Ci,Cj)>Cs则将数据簇Ci和Cj合并;
[0148] 3.2.3重复步骤3.2.2直到所有数据簇之间满足相似度阈值要求;
[0149] 3.3组织细胞O2进化规则
[0150] O2采用基于样本加权的FCM算法作为进化规则,指导完成细胞内对象进化,传统的FCM算法的目标函数和簇中心计算并没有考虑到样本的差异性,对所有样本进行一视同仁处理,但是存在容易扩大数据集中的孤立点或者噪声数据影响的缺陷,从而减少一些重要样本对聚类的贡献,导致聚类的精度下降;为减少样本差异性对聚类效果影响,本发明提出一种基于样本加权的FCM聚类算法,通过合理的对目标函数和聚类中心函数进行加权处理,提高聚类效果;
[0151] 对于数据集S={s1,s2,…,sn},
[0152] 3.3.1根据以下公式计算FCM隶属度:
[0153]
[0154] 其中uij代表第i个数据属于第j簇的隶属度值,即第i个数据划分到隶属度最大的数据簇j,||si-tj||为数据si到簇中心tj的欧式距离,n为数据数量,可以发现,所有的数据隶属度之和为1,即满足 j=1,2,…,n;
[0155] 3.3.2计算权重和熵信息
[0156] 热学的熵代表信息的混乱程度,本发明基于熵定义对数据隶属度进行有效分析,并对FCM目标函数进行样本加权,首先定义熵变量Ei代表隶属度uij的有效程度,并且通过计算权重wi衡量数据si对该次聚类的影响程度,它们计算公式下所示:
[0157]
[0158]
[0159] 3.3.3根据Ei,wi计算新的目标函数
[0160] 权重系数wi满足 则新定义FCM的目标函数F(S,t)公式如下
[0161]
[0162] m为加权指数,为大于等于1的整数,为了求有约束条件下目标函数的极值,利用拉格朗日乘子法构造新目标函数如下的函数:
[0163]
[0164] 对目标函数求极值最优化条件如下:
[0165]
[0166]
[0167]
[0168] 计算新的聚类中心tj为:
[0169]
[0170] 更新隶属度uij,将第i个数据划分到隶属度最大的数据数据簇Cj
[0171]
[0172] 3.3.4若|F(S,t)i-1-F(S,t)i|大于设定的阈值,重复步骤3.3.3,反之结束算法,输出结果F(S,t)i表示第i次迭代得到的FCM目标函数值;
[0173] 3.4组织细胞O3进化规则
[0174] O3采用遗传算法(GA)的选择、交叉、变异三种遗传操作作为进化规则,指导完成细胞内各对象的进化,进化步骤如下:
[0175] 3.4.1 O3将自身细胞中的m个对象和由其他两个组织细胞转运过来的对象合并为新的对象进化池P;
[0176] 3.4.2 O3对新的对象进化池P执行选择、交叉与变异操作,其中选择操作采用最优保存策略进行,交叉和变异操作采用整数形式的交叉与单点变异,具体方法如下:
[0177] 3.4.2.1计算每个对象k的评估值pk,N为数据簇的数量,ti为第i个数据簇的中心,pm越小说明分类方法越合适,该对象越容易被遗传到下一代;
[0178]
[0179] 3.4.2.2定义每个对象k适应度函数fitnessk
[0180] fitnessk=α(1-α)index-1
[0181] 其中α为设定的参数的取值范围为0到1,index为迭代次数;
[0182] 3.4.2.3选择操作,根据对象适应度所占比
[0183]
[0184] 其中u为对象池中对象的总数,对于每个对象,循环随机产生一个随机数p,若p
[0185] 3.4.2.4交叉操作中的交叉位置通过交叉概率Pc确定,随机从进化池中选择两个对象进行交叉操作,遍历对象的每个分量,循坏生成随机数p若p<Pc,则在该位置交换两个对象在该位置后的分量,结束遍历;
[0186] 3.4.2.5定义变异概率Pm,对于每一个对象,设置随机概率p,如果概率p小于变异概率Pm,如果z是根据变异概率Pm所确定的对象的变异点(即某个分量),则变异后的值为zθ,变异后的对象表示为:
[0187]
[0188] 其中δ∈[0,1],为随机生成的随机数,+,-号依据概率出现;
[0189] 3.4.3重复步骤3.4.1-3.4.2,为保持进化池中的对象规模稳定,O3对进化后的对象进行筛选,根据对象的适应度进行淘汰,保留适应度最高的m个对象重新构成对象进化池P′;
[0190] 第四步:数据细胞根据运转规则跟新全局最优对象
[0191] 系统中的组织细胞的细胞膜间存在转运通道,不同的对象在不同的组织细胞之间进行共享与交换,都需要系统定义的转运规则支撑,本发明在设计的组织P系统中定义了转运规则来指导组织细胞间交换信息,规则如下:
[0192] (x,T1,T2,...Tm,/T′1,T′2,...T′m,y),x≠y,x,y=1,2,3.
[0193] 这条转运规则代表组织细胞x和组织细胞y可以双向进行对象转运,其中T1,T2,...Tm为组织细胞x的m个对象,同理T1’,T2’,...Tm’为组织细胞y的m个对象;通过该转运规则可以达到以下效果:
[0194] 4.1)组织细胞x中的m个对象T1,T2,...Tm被转运到组织细胞y中;
[0195] 4.2)组织细胞y中的m个对象T1’,T2’,...Tm’被转运到组织细胞x中;
[0196] (x,Txbest/Tbest,OEo),x≠y,x,y=1,2,3.
[0197] 该条转运规则代表组织细胞x和系统环境进行转运,其中Txbest为当前计算组织细胞x中的局部最优对象,Tbest为当前环境中的全局最优对象,通过该条转运规则,组织细胞x中的最优对象被转运到环境中,并且同时更新该环境的全局最优对象;
[0198] 第五步:停机与输出
[0199] 系统中的各个组织细胞作为单独的执行单元以并行的结构进化运行,故该系统是并行分布式的,在该系统中,定义一系列的计算步骤为一个计算,可以从包含初始数据细胞对象集的组织细胞开始,在每一个计算中,都意味着有一个或者多个进化规则被作用于当前的数据细胞对象集上,当达到系统的停机约束条件时,系统自动停机,计算结果呈现于系统的外环境中。
[0200] 为了减少系统的复杂度,采用简单的基于最大执行计算的停机条件,具体来说,当该组织P系统执行到设置的最大计算数时停机,并输出当前环境中的全局最优对象集[0201] 本发明的有益效果为:采用一种基于域感知的服务特征选择方法获取处理的mashup服务的描述文本,通过服务特征精简算法提取方法所需要的高效信息组成服务描述文档,能够有效的去除描述文档中的无用信息,相对与传统的TF-IDF计算方法或者互信息方法本发明在精简特征词时同时考虑到了同一个域中的特征词的重要性与频率和域的相关性,能更好的得到服务领域的特征性。
[0202] 对于SOAP服务通过从WSDL文档提取隐藏的术语信息生成特殊的Bigraph层次模型,通过基于的组成单词将服务信息分为两类,即服务自身信息和服务上下文信息,引入了一种新的术语特征值计算方法。大多数术语是具有一组修饰符的复合术语,自我信息对于表示域语料库中的一组内部特征是重要的。上下文信息有助于弥补服务自身信息的不足。通过自身信息和上下文信息的组合计算最终特征值。可以更准确的计算相似度。
[0203] 同时利用基于密度的k-means和基于采用组织P系统,将基于层次划分Agnes算法、基于遗传算法(GA)、基于加权模糊聚类(FCM)算法作为进化规则能有效的结合这三种聚类算法的优点,得到更好的聚类结果。

具体实施方式

[0204] 下面对本发明做进一步说明。
[0205] 一种基于膜计算的Web服务混合进化聚类方法,包括以下步骤:
[0206] 第一步:形式化定义,过程如下:
[0207] 1.1 mashup服务定义
[0208] 1.1.1服务文档矢量模型:预处理的服务文档矢量模型是一个四元组,RSM=,其中:
[0209] RD为域特征向量,代表服务域信息,定义一个服务有m个域,则RD={RD1,RD2,…,RDm};
[0210] RT为服务描述文本特征向量,假设每个域中有n个服务描述文本,则m个域的描述文本表示为RT={RT11,RT12,…,RT1n,…,RTmn};
[0211] RA为服务API特征向量;
[0212] T为服务标签特征向量;
[0213] 每个服务描述文本RTij中的特征词表示为FWijk,其中i代表域变量,j代表描述文本变量,k代表特征词变量,则服务描述文本RTij也可以表示为RTij={FWij1,FWij2,…,FWijs},其中,1≤i≤m,1≤j≤n,s为特征词数量;
[0214] 1.1.2服务文档跨域集中度:该跨域集中度表示为Ddep,它代表包含服务域RDi中的特征词FWijk的服务描述文档RTij与该服务所有域中的特征词比例,计算公式下:
[0215]
[0216] 其中,df(FWijk,RDi)代表服务域RDi中,包含特征词FWijk的描述文本RTij数量,而代表在所有域中包含特征词FWijk的描述文本RTij数量,跨域集中度越高则代表这个服务文档在该域中的集中度越大,故具备更强的领域表示;
[0217] 1.1.3特征词频跨域集中度:该跨域集中度表示为Dfre,它代表特征词FWijk在服务域RDi中和在所有服务域出现的不同次数比例,计算如下:
[0218]
[0219] 其中,tf(FWijk,RDi)代表该服务域RDi中,特征词FWijk的数量,而代表该特征词在所有服务域中出现的数量,同理可知更高的特征词频
跨域集中度意味这个特征词在该服务域中集中程度越高;
[0220] 1.1.4特征词的域表示度:代表一个特征词FWijk表示服务域RDi的程度,由服务文档跨域集中度和特征词频跨域集中度综合计算得来,计算如公式如下
[0221] Dfinal(FWijk,RDi)=α*Ddep(FWijk,RDi)+β*Dfre(FWijk,RDi)
[0222] α和β是权重系数,并且α+β=1,通过上述公式可以求得不同服务域中所有特征词的域表示度,特征词的域表示度越高代表其越能表示该服务域信息,需要注意的是,一个服务域中会出现一系列典型特征词,这些词的域表示度很高但服务的聚类效果一般,设置一个特征词的域表示度的阈值,对超过该阈值的特征词进行过滤,提高特征词对服务域的表示效果;
[0223] 1.1.5域高效特征词集:代表在一个服务域中所有的特征词集合选取合适的特征词集合,通过特征词的域表示度降序排序,在一个服务域中选择前百分之P的特征词作为本发明需要的域高效特征词集合,如下所示
[0224] HQ(RDi)={FWij1,FWij2,...,FWijp,}
[0225] 其中p=L*P/100,在特征词精简的过程中,如果一个描述文本RTij的特征词FWijk不属于HQ(RDi),则将其过滤,并更新服务描述文档RTij′;
[0226] 1.2、SOAP服务术语定义:
[0227] 令TL={T1,T2,...Tn}是服务语料库中的一组术语集合,n为术语的数量,A={a1,a2,...am}是组成术语TL的原子词汇,即该词汇已经不可再被细分,m对应所有的原子词汇数量,定义术语的频率 即术语Ti出现的出现的次数,同于计算语料库TL中的全部术语出现次数的总和,对应的原子词汇频率 计算所有词汇出现次数的总和,计算公式下所示:
[0228]
[0229]
[0230] NumTL为TL所有术语数量,NumA所有为原子词汇出现次数的总和;
[0231] 1.3、组织P系统(P System)定义:
[0232] 一个度为3的即3个由数据细胞组织P系统形式化定义为以下八元组:
[0233] ω=(OB1,OB2,OB3,OR1,OR2,OR3,OR′,OEo)
[0234] 其中:
[0235] OB1、OB2和OB3为各组织细胞的对象集,即数据细胞集合;
[0236] OR1、OR2和OR3为各组织细胞的进化规则,分别代表基于Agnes和k-means算法、基于加权FCM算法和基于GA算法的聚类规则;
[0237] OR′代表整个P系统中各组织细胞的转运规则,通过转运规则,细胞与细胞之间可以进行对象的共享与交换;
[0238] OEo=0为系统的输出区域,代表环境;
[0239] 第二步:服务相似度计算
[0240] 判断是否为SOAP服务,若为SOAP服务则跳转到步骤第2.2,若为mashup服务则进行步骤2.1;
[0241] 2.1 mashup服务相似度计算
[0242] 2.1.1服务预处理
[0243] 通过对爬取的服务信息即服务的域、描述文本、API、标签进行预处理,提取其中准确、有效的特征词,构建描述更精确的服务描述文档,提高服务聚类精度,预处理步骤如下:
[0244] 2.1.1.1构造初始特征向量,通过使用自然语言处理包NLTK,将语句分割并提取有效词语;
[0245] 2.1.1.2删除无效的词语,例如符号(+、-、等)和介词(a、the、of、and等),这些词语在服务的特征描述中是无用,保留可以表征服务特性的名称、动词和形容词;
[0246] 2.1.1.3合并处理词干,一些具有相同词干的词语往往具有类似的含义,例如use、used、using表达的特性相同,删除相同含义单词保留词根即可;
[0247] 2.1.2服务特征精简处理
[0248] 不同的服务都有其独特领域特征性,同一个域中的特征词的重要性与频率和域的相关性有关,在计算服务特征值权重时,传统的TF-IDF计算方法或者互信息方法只单独考虑其中的一个因素,通过综合考虑词频和相关性因素,对服务的描述文本进行特征精简处理,步骤如下:
[0249] 2.1.2.1遍历每个服务域RDi中每个描述文本RTij的每个特征词FWijk,根据1.1.4中的公式计算特征词FWijk表示服务域RDi的程度Dfinal(FWijk,RDi),如果Dfinal(FWijk,RDi)<R,删除该特征值,R为特征值的域表示度的阈值;
[0250] 2.1.2.2对所有服务域中特在此完成2.1.2.1步骤后,根据Dfinal(FWijk,RDi)的值,对RDi的特征词FWijk进行降序排序,根据步骤1.5选取前百分之P的特征词作为服务域RDi域高效特征词集HQ(RDi);
[0251] 2.1.2.3重复步骤2.1.2.2,直到生成所有服务域的域高效特征词集HQ(RDi),每个服务域RDi根据HQ(RDi)删除所有不在HQ(RDi)的特征词;
[0252] 2.1.3主题聚类模型构建:
[0253] 在完成对RSM的特征精简之后得到新的服务文档矢量模型RSM′=,本发明构造一个基于多个数据源的扩展LDA主题模型,记为MD-LDA,其中包括精简后的服务描述文本特征向量RT′,Web API特征向量RA和标签特征向量T,MD-LDA模型基于隐含狄利克雷分布,隐含狄利克雷分布(Latent Dirichlet Allocation,LDA),是一种主题模型(topic model),它可以将文档集中每篇文档的主题按照概率分布的形式给出,融合服务的各项数据源特征,在MD-LDA模型中,服务API和标签中相关的词选择方法和服务文档描述文档RT中一致,每个服务API或者服务标签对文档的主题分布都有其独特的贡献;
[0254] 所以,有一个主题分布,狄利克雷的α超参数对应RSM′中的RA和T,狄利克雷的超参数β对应每个主题中的词语分布,然后根据中选择的RA或者T,从主题分布中提取一个主题,并且通过所选的主题生成特定的词语,从而生成融合服务描述文本、服务API和服务标签的MD-LDA模型,生成过程如下:
[0255] 2.1.3.1对于RSM′中的RA或者T,定义为变量datd,其中datd=1,2,3,...,N,N为RSM′中RA和T的总数量,选择一个多项式θdat服从狄利克雷的α超参数分布;
[0256] 2.1.3.2对于RSM′中的主题k,满足k=1,2,...,K,K是RSM′中的主题数量,选择一个多项式 服从狄利克雷的β超参数分布;
[0257] 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中词语的总数量;
[0258] 提取一个Web API或者标签记为xdi,其中服从均匀分布记为Uniform(datd);
[0259] 提取一个主题记为zdi,其服从多项式分布记为 分布;
[0260] 提取一个单词记为wdi,其服从 分布;
[0261] 相应的MD-LDA概率模型中每个主题与 上面的词分布有关,词的抽取独立于狄利克雷参数β,x表示从API、标签集合datd中选取给定单词相关的RA或者标签T,每一个RA或者T都和一个主题上θ分布,θ是从狄利克雷参数α中选择,通过结合RA、T的主题分布和主题的单词分布形成主题zdi,
[0262] 并从所选择的主题中提取单词wdi;
[0263] 如上述的描述过程可知,模型主题的后验分布取决于RSM′中的RT′、RA和T,设置MD-LDA模型的各个参数如下:
[0264] θdat|α~Dirichlet(α)
[0265]
[0266] xdi|datd~Uniform(datd)
[0267]
[0268]
[0269] 2.1.3.4通过吉布斯(Gibbs)采样方法对MD-LDA模型进行参数推理,该采样方法为潜在的变量估计提供了一种简单而又有效的方法,它属于一种通过多元概率分布得到随机样本序列的马尔科夫链蒙特卡洛算法,Gibbs采样方法每一步都服从如下公式分布:
[0270] P(zdi=j,xdi=k|wi=m,z_di,x_di,datd)
[0271]
[0272] 其中z_di表示处理单词wdi之后为每个单词主题指派,x_di表示处理单词wdi之后为每个单词API或者标签指派,nzw表示分配给主题z的单词w总数量,mxz表示分配给主题z的Web API和标签中单词的总数, 为主题zdi的α参数, 为单词wdi的β参数,V为主题的数量,αv,βv为第u个主题的α参数和β参数,抽样的过程中,主题的单词分布 和API、标签的主题分布θ需要通过以下公式求出;
[0273]
[0274]
[0275] zdi和xdi通过确定z_di和x_di来抽样决定,对于每个RSM′,本发明总结所有的θx计算文档d的主题分布,其中χ∈dard,从而得到所有RSM′的最终主题概率分布;
[0276] 2.1.4相似度计算
[0277] 实际上,mashup服务文档主题分布映射的是文本向量空间,故可以通过相应的主题概率分布来计算两个服务文档RSM1′和RSM2′的相似性,本模型中主题是词向量的混合分布,故可以使用相对熵(KL)距离作为相似度度量标准,具体计算如下所示;
[0278]
[0279] T代表两个服务文档中的所有共同主题,pj和qj分别代表在两个文档中的主题分布,当pj=qj时候,KL距离计算结果DKL(RSM′1,RSM′2)为0,由于KL距离并不是对称性质的,即DKL(RSM′1,RSM′2)≠DKL(RSM′2,RSM′1),所以通常使用其对称版本,计算公式如下:
[0280] DKL(RSM′1,RSM′2)=λDKL(RSM′1,λ*RSM′1+(1-λ)RSM′2)+(1-λ)DKL(RSM′2,λ*RSM′1+(1-λ)RSM′2)
[0281] 故取λ=0.5,则将上述公式转换为JS距离,JS距离又称JS散度(Jensen-Shannon divergence)是KL距离的一种变形,通过JS距离作为标准计算文本的相似度,作为服务的相似度,最终计算公式如下:
[0282]
[0283] 2.2 SOAP相似度计算
[0284] 2.2.1自身特征值计算
[0285] 在服务语料库中发现一个术语Ti,可以通过信息论方法来计算其信息量I(Pi),在此基础上,可以将术语Ti的特征值Spe(Ti)赋值如下
[0286] Spe(Ti)=I(Pi)
[0287] 通过计算联合概率分布P{pi,qj}来计算术语特征值,其中pi∈P并且qj∈Q,pi是从术语集TL中选择一个词,而qj是从原子词汇A中取得一个词,其中{p1,p2,...pn}和{q1,q2,...,qm}分别由随机变量P,Q表示,pi和qj的互信息计算由如下公式计算:
[0288]
[0289] 术语pi的特征值表示为I(pi,Q),表示pi术语和词汇库Q的关系,结合语料库中术语和词汇的频率计算pi特征值的公式如下:
[0290] Spe(Ti)≈I(Pi,Q)
[0291] 根据贝叶斯定理,
[0292]
[0293] 最终SOAP服务的自身信息特征值SelfSpe(Ti)计算如下
[0294]
[0295] 分析常规的WSDL文档中术语一般包括1到2个词汇,故 代表术语中的词汇近似设置为1计算,θ代表加权值,基于信息论方法设定,取值范围为0到1;
[0296] 2.2.2上下文信息特征值计算
[0297] 根据信息论方法,服务的上下文信息特征是基于修饰的术语词概率分布的熵,为此,通过以下公式计算其熵值:
[0298]
[0299] 其中NT代表术语Ti的修饰数量,(modm,Ti)代表modm修饰术语Ti的概率,熵值由所有的(modm,Ti)对平均信息量计算,在一个特定的领域中,术语的修饰词分布较为紧密,故在一个特定领中的术语熵值更低,通过熵值可以计算出术语Ti的上下文信息特征值ContextSpe(Ti)如下:
[0300]
[0301] 其中1≤j≤K,K为所有相同定义的修饰词数量和, 代表每一个修饰词;
[0302] 2.2.3混合特征值计算
[0303] 通过步骤2.2.1和2.2.2计算的自身特征值和上下文信息特征,可以覆盖描述词的特征以及词语自身所不能描述的信息,最终通以下公式求得混合的特征值如下:
[0304]
[0305] 混合系数α值在0和1之间,根据实验设置为0.65,经过归一化处理,服务的自身特征值、上下文特征值和混合特征值取值均在0和1之间;
[0306] 2.2.4领域权重计算:
[0307] 2.2.4.1领域权重值计算
[0308] 在Bigraph结构生成的过程需要基于领域特征值的权重,权重的大小通过同级的术语体现,定义结构相似度越大的同级术语的权重越大,计算方法如下:
[0309]
[0310] 其中, 为一个新术语Tn的同级术语集合,HybridSpe(Ts)和HybridSpe(Tn)分别代表每个同级术语和新的术语的特征值,如果新添加的术语没有同级术语时,直接定义权重值为0.5,Gi为当前Bigraph结构,偶图(Bigraph)是一个二元组B=,是由图灵奖获得者Milner提出,BP,BL分别是位置图(place graph)和连接图(link graph),BP是个三元组BP=由图的节点集V、边的集合E和接口P组成,嵌套的节点在位置图中为父子关系,用分支关系表示节点之间的嵌,BL同BP一样也是由图的节点集V、边的集合E和接口P组成一个三元组,BL用于表示节点之间的连接关系;
[0311] 2.2.4.2术语权重值计算
[0312] 通过比较两个术语的单词相似度来计算术语的相似度,计算如下所示:
[0313]
[0314] 其中, 和 分别代表在术语Ti和Tn中的组成单词数量, 代表这两个术语中的相同单词数量,定义一个新术语包含的相关子结构相似术语越多,则权重越高,根据术语的相似度可以求得术语权重值,计算公式如下:
[0315]
[0316] 其中NP为术语的上级、同级和下级术语的总集合,Ti代表这些术语项中的一个;
[0317] 2.2.5生成术语的Bigraph层次结构
[0318] 提出一种术语Bigraph层次构造算法,构建不同术语的Bigraph层次结构,类似于Bigraph的位置图,其中Bigraph的每一个节点代表一个术语对象,节点的值代表该术语对象的特征值,该Bigraph层次结构自上而下进行构造,步骤如下:
[0319] 2.2.5.1依据2.2.3中的公式计算WSDL文档中和从中Google提取的术语的混合特征值放入数组A中,并且按照升序排列,选择前面3个术语对象作为Bigraph的三个节点构成初始Bigraph结构T;
[0320] 2.2.5.2对于数组A中剩余术语Tn,添加到已有的Bigraph层次结构中,若Tx满足(HybridSpe(Tn)-0.3<HybridSpe(Tx)<HybridSpe(Tn)+0.3,则将Tx标记为目标节点,Tx为已有的Bigraph层次的术语,,通过这些目标节点,来确定Tn所处的目标子结构位置,从而确定候选Bigraph结构;
[0321] 2.2.5.3通过综合考虑新术语与候选Bigraph结构的领域权重WDS(Gi)和术语权重WTS(Gi),通过以下公式计算得到最终的节点权重,从而找到最佳Bigraph结构;
[0322] Wf(Gi)=ωWDS(Gi)+(1-ω)WTS(Gi)
[0323] 其中,ω为系数,范围在0到1,通过迭代运行2.2.5.2-2.2.5.3直到所有的术语被添加到Bigraph层次中;
[0324] 2.2.6构建相似度矩阵:
[0325] 使用以下公式计算相似度:
[0326]
[0327] 其中,D代表术语构成的Bigraph层次结构的最大层数,dis(T1,T2)代表两个术语T1,T2在该Bigraph层次结构中的最短距离,即SOAP服务在某个特点上的相似度,计算SOAP服务每个特点的相似度,将特点相似度之和作为服务的相似度,将服务之间的相似度关系构建成相似度矩阵;
[0328] 第三步:服务聚类
[0329] 聚类中心点的选取需要对数据集中的点计算整体簇方差的值,但是数据集中存在许多非备选点,存在数据噪点和边缘的孤立点,而这些点不仅会影响簇中心的选取,而且会额外增加计算成本,同时需要人为的预先指定数据簇的数量,考虑到以上缺点,提出一种基于密度的K-means算法进行改进,通过计算各个点的密度数,提取高密度数的数据点作为簇中心,通过改进的K-means算法,对待聚类的初始数据集S进行预处理聚类,S由M个维度为d的数据点构成,基于密度的K-means算法的点密度计算如下所示:
[0330]
[0331] 其中Density(Si)代表在Si的R的范围内点的总个数,距离计算sim(Si,Sj)采为服务Si和Sj的相似度;
[0332] 为此,基于密度K-means算法的聚类过程如下:
[0333] 3.1采用基于密度K-means算法对数据预处理,通过计算不同数据Si之间的距离,根据半径范围R,将数据划分到不同的簇中,选取密度最高,即Density(Si)最高的K个Si作为簇中心,最后通过相似度对数据聚类,过程如下:
[0334] 3.1.1计算每个数据Si在组织对象Q内每个数据簇中心的距离,确认Si在在每个数据簇中点的个数,基于密度对数据集合进行排序;
[0335] 3.1.2选取前K个密度最高即R范围点内数量最多的Sk,作为新的数据簇中心Ck;
[0336] 3.1.3根据划分的不同簇之间的距离,得到每个Si和Ck的相似度sim(Si,Ck),根据平均相似度Avesim,若sim(Ck,Si)>Avesim,则将Si划分到数据簇Ck,最终得到N个数据簇;
[0337]
[0338] 3.2组织细胞O1进化规则
[0339] O1采用Agnes算法作为进化规则,指导完成细胞内的对象进化,根据设置簇间相似度阈值Cs,通过Agnes算法对通过密度k-means算法得到的N个初始簇进行合并,流程如下:
[0340] 3.2.1根据任意两个数据簇Ci,Cj内数据的平均相似度dis(Ci,Cj),构建相似度矩阵D
[0341]
[0342] 其中SX为数据簇Ci中的数据点,SY为数据簇Cj中的数据点,U,V分别为Ci,Cj中数据点的数量;
[0343] 3.2.2挑选dis(Ci,Cj)最大的数据簇Ci,Cj,根据簇间相似度阈值Cs,若dis(Ci,Cj)>Cs则将数据簇Ci和Cj合并;
[0344] 3.2.3重复步骤3.2.2直到所有数据簇之间满足相似度阈值要求;
[0345] 3.3组织细胞O2进化规则
[0346] O2采用基于样本加权的FCM算法作为进化规则,指导完成细胞内对象进化,传统的FCM算法的目标函数和簇中心计算并没有考虑到样本的差异性,对所有样本进行一视同仁处理,但是存在容易扩大数据集中的孤立点或者噪声数据影响的缺陷,从而减少一些重要样本对聚类的贡献,导致聚类的精度下降;为减少样本差异性对聚类效果影响,提出一种基于样本加权的FCM聚类算法,通过合理的对目标函数和聚类中心函数进行加权处理,提高聚类效果;
[0347] 对于数据集S={s1,S2,...,sn},
[0348] 3.3.1根据以下公式计算FCM隶属度:
[0349]
[0350] 其中uij代表第i个数据属于第j簇的隶属度值,即第i个数据划分到隶属度最大的数据簇j,||si-tj||为数据si到簇中心tj的欧式距离,n为数据数量,可以发现,所有的数据隶属度之和为1,即满足
[0351] 3.3.2计算权重和熵信息
[0352] 热力学的熵代表信息的混乱程度,本发明基于熵定义对数据隶属度进行有效分析,并对FCM目标函数进行样本加权,首先定义熵变量Ei代表隶属度uij的有效程度,并且通过计算权重wi衡量数据si对该次聚类的影响程度,它们计算公式下所示:
[0353]
[0354]
[0355] 3.3.3根据Ei,wi计算新的目标函数
[0356] 权重系数wi满足 则新定义FCM的目标函数F(S,t)公式如下
[0357]
[0358] m为加权指数,为大于等于1的整数,为了求有约束条件下目标函数的极值,利用拉格朗日乘子法构造新目标函数如下的函数:
[0359]
[0360] 对目标函数求极值最优化条件如下:
[0361]
[0362]
[0363]
[0364] 计算新的聚类中心tj为:
[0365]
[0366] 更新隶属度uij,将第i个数据划分到隶属度最大的数据数据簇Cj
[0367]
[0368] 3.3.4若|F(S,t)i-1-F(S,t)i|大于设定的阈值,重复步骤3.3.3,反之结束算法,输出结果F(S,t)i表示第i次迭代得到的FCM目标函数值;
[0369] 3.4组织细胞O3进化规则
[0370] O3采用遗传算法(GA)的选择、交叉、变异三种遗传操作作为进化规则,指导完成细胞内各对象的进化,进化步骤如下:
[0371] 3.4.1 O3将自身细胞中的m个对象和由其他两个组织细胞转运过来的对象合并为新的对象进化池P;
[0372] 3.4.2 O3对新的对象进化池P执行选择、交叉与变异操作,其中选择操作采用最优保存策略进行,交叉和变异操作采用整数形式的交叉与单点变异,方法如下:
[0373] 3.4.2.1计算每个对象k的评估值pk,N为数据簇的数量,ti为第i个数据簇的中心,pm越小说明分类方法越合适,该对象越容易被遗传到下一代;
[0374]
[0375] 3.4.2.2定义每个对象k适应度函数fitnessk
[0376] fitnessk=α(1-α)index-1
[0377] 其中α为设定的参数的取值范围为0到1,index为迭代次数;
[0378] 3.4.2.3选择操作,根据对象适应度所占比
[0379]
[0380] 其中u为对象池中对象的总数,对于每个对象,循环随机产生一个随机数p,若p
[0381] 3.4.2.4交叉操作中的交叉位置通过交叉概率Pc确定,随机从进化池中选择两个对象进行交叉操作,遍历对象的每个分量,循坏生成随机数p若p
[0382] 3.4.2.5定义变异概率Pm,对于每一个对象,设置随机概率p,如果概率p小于变异概率Pm,如果z是根据变异概率Pm所确定的对象的变异点(即某个分量),则变异后的值为zθ,变异后的对象表示为:
[0383]
[0384] 其中δ∈[0,1],为随机生成的随机数,+,-号依据概率出现;
[0385] 3.4.3重复步骤3.4.1-3.4.2,为保持进化池中的对象规模稳定,O3对进化后的对象进行筛选,根据对象的适应度进行淘汰,保留适应度最高的m个对象重新构成对象进化池P';
[0386] 第四步:数据细胞根据运转规则更新全局最优对象
[0387] 系统中的组织细胞的细胞膜间存在转运通道,不同的对象在不同的组织细胞之间进行共享与交换,都需要系统定义的转运规则支撑,在设计的组织P系统中定义了转运规则来指导组织细胞间交换信息,规则如下:
[0388] (x,T1,T2,…Tm,/T′1,T′2,…T′m,y),x≠y,x,y=1,2,3
[0389] 这条转运规则代表组织细胞x和组织细胞y可以双向进行对象转运,其中T1,T2,…Tm为组织细胞x的m个对象,同理T1’,T2’,…Tm’为组织细胞y的m个对象,通过该转运规则可以达到以下效果:
[0390] 4.1)组织细胞x中的m个对象T1,T2,…Tm被转运到组织细胞y中;
[0391] 4.2)组织细胞y中的m个对象T1’,T2’,…Tm’被转运到组织细胞x中;
[0392] (x,Txbest/Tbest,OEo),x≠y,x,y=1,2,3
[0393] 该条转运规则代表组织细胞x和系统环境进行转运,其中Txbest为当前计算组织细胞x中的局部最优对象,Tbest为当前环境中的全局最优对象,通过该条转运规则,组织细胞x中的最优对象被转运到环境中,并且同时更新该环境的全局最优对象;
[0394] 第五步:停机与输出
[0395] 系统中的各个组织细胞作为单独的执行单元以并行的结构进化运行,故该系统是并行分布式的,在该系统中,本发明定义一系列的计算步骤为一个计算,可以从包含初始数据细胞对象集的组织细胞开始,在每一个计算中,都意味着有一个或者多个进化规则被作用于当前的数据细胞对象集上,当达到系统的停机约束条件时,系统自动停机,计算结果呈现于系统的外环境中。
[0396] 为了减少系统的复杂度,采用简单的基于最大执行计算的停机条件,具体来说,当该组织P系统执行到设置的最大计算数时停机,并输出当前环境中的全局最优对象集。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈