【技术实现步骤摘要】
Web开放环境下基于Mashup服务邻域的WebAPI推荐方法
本专利技术涉及Web环境中WebAPI推荐领域,具体涉及一种基于Mashup服务邻域的WebAPI推荐方法。
技术介绍
WebAPI是应用程序接口,Web应用程序可以通过这些接口实现多种功能,如通讯、存储、计算等功能,具有易访问、可扩展、易开发多种优点。在Web应用程序中通过对多个WebAPI进行组合以达到想要的效果。随着越来越多的企业和个人注意到WebAPI的可组合性,都将自己的业务发布到网络上,这就导致WebAPI的数量日益增多。如何从海量的WebAPI集合中,快速的筛选出满足Mashup服务需求的WebAPI组合,一直是WebAPI推荐研究的焦点问题。目前,已有不少研究基于Mashup服务的功能聚类,进行WebAPI推荐算法的改进研究。例如,基于Mashup服务聚类结果,Cao等人设计了一种WebAPI协同过滤推荐算法,进行多样化的WebAPI组合推荐。Rahman等人则利用矩阵分解技术来预测WebAPI的推荐得分,进而选取Top-R的WebAPI ...
【技术保护点】
1.一种Web开放环境下基于Mashup服务邻域的Web API推荐方法,其特征在于,所述方法包括以下步骤:/n第一步、构建需求Mashup语义特征向量,匹配Mashup服务类簇;/n第二步、收集邻域内Mashup服务调用过的Web API数据,构建Web API邻域;/n第三步、根据邻域中构建好的Web API功能分类,对数据集中剩余的Web API进行功能类别划分;/n第四步、计算流行度和共现度,并进行排名,得到最终推荐列表。/n
【技术特征摘要】
1.一种Web开放环境下基于Mashup服务邻域的WebAPI推荐方法,其特征在于,所述方法包括以下步骤:
第一步、构建需求Mashup语义特征向量,匹配Mashup服务类簇;
第二步、收集邻域内Mashup服务调用过的WebAPI数据,构建WebAPI邻域;
第三步、根据邻域中构建好的WebAPI功能分类,对数据集中剩余的WebAPI进行功能类别划分;
第四步、计算流行度和共现度,并进行排名,得到最终推荐列表。
2.如权利要求1所述的Web开放环境下基于Mashup服务邻域的WebAPI推荐方法,其特征在于,所述第一步的过程如下:
步骤(1.1)初始化数组ArrayVec,长度为N,N为数据集中存在的Mashup服务数量,进行步骤(1.2);
步骤(1.2)遍历数据集中存在的Mashup服务,得到第i个Mashup对应的语义特征向量MVeci,进行步骤(1.3);
步骤(1.3)将MVeci存入ArrayVec[i],进行步骤(1.4);
步骤(1.4)判断数据集是否遍历完成,若否,则返回步骤(1.2),否则,进行步骤(1.5);
步骤(1.5)初始化的二维数组ArraySim,其维度值对应ArrayVec的长度,即N*N,用于存放Mashup之间的相似度,进行步骤(1.6);
步骤(1.6)遍历数组ArrayVec,取ArrayVec[i],进行步骤(1.7);
步骤(1.7)遍历数组ArrayVec,取ArrayVec[j],其中i与j不相等,进行步骤(1.8);
步骤(1.8)利用余弦公式,计算i、j的相似度MSimij,其中,
进行步骤(1.9);
步骤(1.9)将MSimij存入ArraySim[i][j]中,进行步骤(1.10);
步骤(1.10)判断数组ArrayVec是否遍历完成,若否,则返回步骤(1.7),否则,进行步骤(1.11);
步骤(1.11)判断数组ArrayVec是否遍历完成,若否,则返回步骤(1.6),否则,进行步骤(1.12);
步骤(1.12)在ArrayVec中随机选择K个Mashup服务作为初始簇中心,组成一个新的数组ClusterCenter,其中,K为经验值,进行步骤(1.13);
步骤(1.13)遍历ArrayVec中剩余的Mashup服务,记下标为i,进行步骤(1.14);
步骤(1.14)初始化index为0,index表示与当前Mashup服务距离最近的簇中心的下标,进行步骤(1.15);
步骤(1.15)遍历ClusterCenter,记当前访问的下标为j,进行步骤(1.16);
步骤(1.16)判断ArraySim[i][j]与ArraySim[i][index]的大小,若ArraySim[i][j]小于ArraySim[i][index],则将j赋值index,进行步骤(1.17);
步骤(1.17)判断数组ClusterCenter是否遍历完成,若否,则返回步骤(1.15),否则,进行步骤(1.18);
步骤(1.18)将ArrayVec[i]划分到index簇中,进行步骤(1.19);
步骤(1.19)判断数组ArrayVec是否遍历完成,若否,则返回步骤(1.13),否则,进行步骤(1.20);
步骤(1.20)重新计算K个簇的中心,计算方式为每个簇中所有Mashup特征向量的平均值,进行步骤(1.21);
步骤(1.21)判断当前簇的中心和上次的簇中心是否发生变化,若否,则返回步骤(1.13),否则,进行步骤(1.22);
步骤(1.22)最终得到的簇中心及其簇用Map存储,记为CenterMap,进行步骤(1.23);
步骤(1.23)获取需求Mashup服务Mi,进行步骤(1.2.1-1.2.6),得到需求Mashup对应的语义特征向量MVeci,进行步骤(1.24);
步骤(1.24)获取CenterMap的键集合KeySet,初始化neighbor为0,表示与Mi最相似簇的下标,即最近邻域下标,进行步骤(1.25);
步骤(1.25)遍历KeySet,即簇的中心,记当前选择的键为key进行步骤(1.26);
步骤(1.26)计算簇中心key与需求Mi的相似度Simkey,其中,Simkey的计算公式为进行步骤(1.27);
步骤(1.27)判断Simkey与Simneighbor的大小,若Simkey大于Simneighbor,则将key赋值neighbor,进行步骤(1.28);
步骤(1.28)判断集合KeySet是否遍历完成,若否,则返回步骤(1.25),否则,结束。
3.如权利要求2所述的Web开放环境下基于Mashup服务邻域的WebAPI推荐方法,其特征在于,所述步骤(1.2)中,得到第i个Mashup对应的语义特征向量MVeci的过程如下:
步骤(1.2.1)获取当前MashupMi的描述内容和标签,进行步骤(1.2.2);
步骤(1.2.2)提取Mi的描述内容的名词并去重,记为功能名词集合FC,进行步骤(1.2.3);
步骤(1.2.3)遍历当前FC中的名词,计算第i个功能名词mi与其他名词之间的语义关联权重FCSimi,计算公式如下:
其中,WordNet(mi,mj)表示第i个功能名词与第j个功能名词之间的语义相似度,|FC|表示功能名词集合FC中所包含的名词个数,将语义权重较高的前N个单词存于当前服务功能语义权重字典SimBook中,进行步骤(1.2.4);
步骤(1.2.4)初始化Mi语义特征向量MVeci,进行步骤(1.2.5);
步骤(1.2.5)遍历当前字典SimBook中的单词x,并利用训练好的Word2Vec模型将其转化为词向量WVecx,提取单词x的语义权重NSWx,并计算出单词x的TF-IDF权重TF-IDFx,再计算出单词x的TFS权重TFSx,TFSx的值为TF-IDFx除以一减NSWx的差,进行步骤(1.2.6);
其中,Word2Vec模型由Mikolov等人于2013年提出,该模型将文本中的内容词汇通过转换处理,化简为空间向量,词向量的数值受上下文的影响,蕴含了词与词之间相互的关联性;
其中,TF-IDF算法常被用于评估某个单词对于文档集合中的某一份文档的重要程度,其中,词频TF表示某个单词在指定文档中出现的频度,而逆文档频率IDF则用于表示单词区分文档的能力,TF-IDF的最终计算结果就是由TF值与IDF值相乘而得;
步骤(1.2.6)对Mi语义特征向量MVeci进行累加计算,每次增加的值为WVecx与TFSx的积,其中,若当前SimBook存在多个单词,并且语义权重NSWx为0,若是,则将TFSx置为0。
4.如权利要求1~3之一所述的Web开放环境下基于Mashup服务邻域的WebAPI推荐方法,其特征在于,所述第二步的过程如下:
步骤(2.1)初始化列表ListVec用于存放WebAPI的语义特征向量,进行步骤(2.2);
步骤(2.2)遍历Mashup邻域,即CenterMap[neighbor],neighbor为与需求Mashup服务Mi最相似簇的下标,进行步骤(2.3);
步骤(2.3)遍历当前Mashup调用过的WebAPI集合,进行步骤(2.4);
步骤(2.4)获取当前WebAPI的数据信息,采用步骤(1.2.1)至步骤(1.2.6)的方式获得语义特征向量,存入ListVec,进行步骤(2.5);
步骤(2.5)判断当前WebAPI是否遍历完成,若否,则返回步骤(2.3),否则,进行步骤(2.6);
步骤(2.6)判断邻域CenterMap[neighbor]是否遍历完成,若否,则返回步骤(2.2),否则,进行步骤(2.7);
步骤(2.7)初始化的二维数组ArraySimAPI,其维度值对应ListVec的长度,即N*N,用于存放WebAPI之间的相似度,进行步骤(2.8);
步骤(2.8)遍历列表ListVec,取ListVec[i],进行步骤...
【专利技术属性】
技术研发人员:陆佳炜,马超治,吴涵,朱昊天,郑嘉弘,肖刚,
申请(专利权)人:浙江工业大学,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。