1.一种资源服务网络中基于聚类的关键特征序列选取方法,其特征在于,包括:步骤1,根据服务网络描述的业务活动服务的交互顺序,以及业务活动服务所需的资源服务,构建资源服务网络;
步骤2,从资源服务网络中获取资源服务序列,得到资源服务序列集RSSs={RSS1,RSS2,…,RSSQ};其中,Q表示资源服务序列集RSSs中资源服务序列的个数;
步骤3,确定资源服务特征,并将非数值型特征值转化成数值型特征;
步骤4,对资源服务特征进行归一化处理,使资源服务的所有特征的取值范围均在[0,
1]之间;
步骤5,从资源服务序列集RSSs中取出一个资源服务序列RSS,并将RSS从RSSs中删除;
其中RSS属于RSS1,RSS2,…,RSSQ中的任意一个;
步骤6,为资源服务序列RSS选取关键特征序列;
步骤7,重复步骤5至步骤6,直到资源服务序列集RSSs为空,整个资源服务序列集RSSs的关键特征序列选取过程结束;
所述为资源服务序列RSS选取关键特征序列包括:
步骤6.1,枚举资源服务序列RSS前两个资源服务的所有资源服务特征,组成特征序列集,方式如下:分别枚举出资源服务序列RSS前两个资源服务r1和r2的所有资源服务特征,其中,r1的所有资源服务特征为F1={f1,1,f1,2,…,f1,m},r2的所有资源服务特征为F2={f2,1,f2,2,…,f2,l};并构成F1元素在前,F2元素在后的,长度为2的特征序列集FSs={
步骤6.2,将所述前两个资源服务r1和r2从资源服务序列RSS中删除;
步骤6.3,从特征序列集FSs中取出一个特征序列FS=
步骤6.4,利用聚类计算特征序列FS中相邻特征间的影响度;
步骤6.5,如果特征序列FS中相邻特征之间影响度不低于预设的最低影响度minInf,则将特征序列FS放入关键特征序列集合KFSs中;
步骤6.6,从特征序列集FSs中删除FS;
步骤6.7,重复步骤6.3到6.6,直到特征序列集FSs为空,返回进入步骤6.8;
步骤6.8,判断关键特征序列集合KFSs是否为空,如果为空,整个选取过程结束,否则进入步骤6.9;
步骤6.9,判断资源服务序列RSS是否为空,如果为空,选取过程结束,否则进入步骤
6.10;
步骤6.10,枚举资源服务序列RSS第一个资源服务rnew1的所有特征,得到资源服务特征集合Fnew1={fnew1,1,fnew1,2,…,fnew1,p};其中,p表示资源服务rnew1中的资源服务特征数;
步骤6.11,删除资源服务序列RSS的第一个资源服务rnew1;
步骤6.12,从关键特征序列集合KFSs中获取一个关键特征序列FSk=<α1,α2,…,αL>,并将FSk从KFSs中删除;其中,α1,α2,…,αL分别表示FSk的特征,L表示FSk的长度;
步骤6.13,计算αL对Fnew1中任意特征fnew1,q的影响度influence;其中,1≤q≤p,fnew1,q表示rnew1的第q个特征;
步骤6.14,判断influence和预设的最低影响度minInf的大小;如果influence>=minInf,令FS=FSk+fnew1,q,得到FS=<α1,α2,…,αL,fnew1,q>,并将FS加入到KFSnew中;
步骤6.15,重复步骤6.12到6.14,直到KFSs为空,即遍历完KFSs中的所有关键特征序列,然后进入步骤6.16;
步骤6.16,令KFSs=KFSnew,更新关键特征序列集合KFSs为关键特征序列集合KFSnew;步骤6.17,重复步骤6.8到6.16,直到资源服务序列RSS为空,资源服务序列RSS的关键特征序列选取过程结束;
步骤6.4中,利用聚类计算特征序列FS中相邻特征间的影响度,具体为:令相邻特征为fpre和fnext;特征fpre对特征fnext的影响度,表示成fnext随fpre的变化率的绝对值,记为I(fpre,fnext);
假设fpre和fnext分别是资源服务rpre和rnext的一个特征,rpre和rnext共同出现的业务过程实例Id为Ids={Id1,Id2,…,IdM},其中M表示Ids的大小,fpre在Ids中对应的值为X={x1,x2,…,xM},fnext在Ids中对应的值为Y={y1,y2,…,yM},其中xi∈X表示fpre在业务过程实例Idi中的值,yi同理,则fnext随fpre的变化率的绝对值为集合slopeSet={slope1,slope2,…,slopeM-1},其中slopei的计算公式如下:从上式得出,若将fpre和fnext的值分别对应为x坐标轴和y坐标轴,则slopei的几何含义即为第i段线段的斜率的绝对值;若xi+1=xi,则令slopei=0;
根据slopeSet计算相邻特征间的影响度,具体包括:
步骤6.4.1,构建集合list,给list赋初值为slopeSet;
步骤6.4.2,计算list中所有元素的平均距离avgDis;步骤6.4.3,给阈值t赋初值为avgDis的一半,给初始中心集合initCenters赋初值为空集,给整型变量i赋初值0;
步骤6.4.4,从list中获取一个元素p,并将p从list中删除;
步骤6.4.5,将p加入到第i个Canopy类中,将p加入集合initCenters中;
步骤6.4.6,遍历集合list,计算p与当前遍历元素q的距离dist;如果dist小于阈值t,则将q加入到第i个Canopy类中,并从list中删除q;
步骤6.4.7,令i加1;
步骤6.4.8,重复步骤6.4.4到6.4.7,直到list为空,返回进入步骤6.4.9;
步骤6.4.9,构建旧聚类中心集合oldCenters,给oldCenters赋初值为初始中心集合initCenters,构建新聚类中心集合newCenters,给newCenters赋初值为空集;
步骤6.4.10,构建簇集clusters,给clusters赋初值为空集;
步骤6.4.11,判断集合newCenters是否为空,如果为空,则令oldCenters等于newCenters;
步骤6.4.12,遍历slopeSet,获取oldCenters中与当前遍历元素d距离最小的元素的下标index;将d加入第index个簇中;
步骤6.4.13,将簇集clusters中每个簇的质心放入集合newCenters;
步骤6.4.14,重复步骤6.4.10到6.4.13,直到newCenters等于oldCenters,返回进入步骤6.4.15;
步骤6.4.15,获取最大规模簇的聚类中心MaxClusterCenter,MaxClusterCenter即为影响度influence。