一种基于异构信息的api标签推荐方法

文档序号:10655209阅读:245来源:国知局
一种基于异构信息的api标签推荐方法
【专利摘要】本发明公开了一种基于异构信息的API标签推荐方法,其主要采用基于异构信息的随机游走算法,首先根据API、mashup以及mashup标签三者之间的关系建立异构网络,该网络中包括API与mashup间的包含关系,mashup与标签间的对应关系以及三种元素间的同构关系;接着根据异构网络生成对应的转移矩阵,并基于该转移矩阵进行重启动随机游走,从API顶点迭代地转移到mashup层和标签层,最终达到全局稳定的分布从而获得API到各个标签顶点上的概率;最后引入文本处理模型LSI计算API和标签的语义相似度,结合获得的概率,生成最终的标签排序列表为API推荐合适的标签,很大程度上提高了标签推荐的准确率。
【专利说明】
-种基于异构信息的API标签推荐方法
技术领域
[0001] 本发明属于互联网服务技术领域,具体设及一种基于异构信息的API标签推荐方 法。
【背景技术】
[0002] APKApplication Programming Interface,应用程序编程接口)凭借其松禪合及 跨平台跨云的特性,使得企业可W按照模块化的方式任意添加或更新服务从而对业务的变 化做出快速响应,在最近的十年内已经从鲜为人知的"应用程序编程接口"进化成软件开 发,业务合作及至商业模式创新不可或缺的"数字胶水"。通过API聚合形成一个单点集成多 个后端API,可W大幅度为开发者降低复杂性并且削减开发成本。围绕API的B2D(Business to Developer)市场正在成为互联网浪潮中增长最为迅速的商业机遇。马化腾在《通向互联 网未来的屯个路标》演讲中说:"随着传感器的发展,还有媒介的发展,无论是机器也好,还 是人也好,都将可W连接网络。运将是未来的趋势,也是不可避免的。API正是运个链接点。" API本质上是"无所不在的服务",正在成为一种重要的互联网技术和思维模式。
[0003] 随着API模式的广泛应用W及云计算技术带来的服务部署维护成本的降低,互联 网上涌现出大量的公用及私有API。大量API的出现,不仅给用户带来了更多的服务选择、更 便捷的服务分享、更丰富的信息内容、更好的用户体验,同时也给用户对API进行管理,包括 API捜索、推荐、聚合等,提出了新的挑战。对于API发现的研究,国内外都处于刚起步阶段。 近年来^Programmable Web(PW)为代表的API服务管理平台开始流行,基于PW中的API服务 相关的数据信息的服务发现研究越来越多,然而大部分面向API发现的方法都是基于API相 关功能描述、调用信息等数据实现,数据单一性对提高API发现效率有一定局限。研究表明, 用于简要准确描述API功能信息的标签数据能够有效提高API管理的质量。针对现有的API 数据一般缺少标签数据运一情况,根据由多个API聚合而成的服务mashup的相关信息可为 API推荐相应的标签。因此,利用mashup的标签信息为API推荐标签能够有效缓解目前API管 理因数据单一而产生的瓶颈,但现有的API标签推荐方法如基于语义匹配、关联计数、标签 信息传播等方法,在推荐的准确率上均存在局限。

【发明内容】

[0004] 针对现有技术所存在的上述技术问题,本发明提供了一种基于异构信息的API标 签推荐方法,其采用基于异构信息的随机游走算法,结合API描述文本和标签数据的语义相 似度,很大程度上能够提高标签推荐的准确率。
[0005] -种基于异构信息的API标签推荐方法,包括如下步骤:
[0006] (1)构建API之间的相似度矩阵Wm、标签之间的相似度矩阵WTT、mashup之间的相似 度矩阵Wmm、API与mashup之间的关联矩阵WamW及mashup与标签之间的关联矩阵Wmt;
[0007] (2)根据步骤(I)中的构建结果建立转移矩阵
,并 对转移矩阵W进行规整化对应得到转移矩阵挪,其中T表示转置;
[000引(3)对于待推荐API集合中的任一 API,根据转移矩阵#计算该API的标签概率向 量;
[0009] (4)根据API的描述信息构建词汇与API之间的相关矩阵Auxn,并确立每个标签的词 相关向量;进而通过对相关矩阵Auxn两次奇异值分解得到低维的正交矩阵UuXc和VnXcW及对 角矩阵ScXc;
[0010] (5)利用对角矩阵ScXc和正交矩阵UuXc对各标签的词相关向量进行降维;对于待推 荐API集合中的任一 API,从正交矩阵VnXc中提取与该API对应的一行横向量,使其与各标签 的低维词相关向量进行相似度计算W得到该API与各标签之间的语义相似度,进而将运些 语义相似度组成该API的标签语义相似度向量;
[0011] (6)对于待推荐API集合中的任一 API,根据其标签概率向量和标签语义相似度向 量通过W下公式计算该API的标签分值向量,将标签分值向量中各分值从高到低排序,进而 取最高的前若干个分值所对应的标签推荐给该API;
[0012]
[OOU]其中:pf、sf和scorei分别为待推荐API集合中第i个API的标签概率向量、标签语 义相似度向量和标签分值向量且运S个向量均为m维向量,m为mashup集合中各mashup被标 记过且非重复的标签总数,mash叫集合中的各mashup均由待推荐API集合中的API聚合而 成,i为自然数且1《1《〇,11为待推荐4?1集合中的4?1个数,^为权重系数且\居(〇,1)。
[0014]所述相似度矩阵Waa的维度为nXn,相似度矩阵Waa中的任一元素值为0或1,1表示 该元素值对应的两个API在PW网站目录下为同一类别,否则该元素值为0。
[001引所述相似度矩阵Wtt的维度为mXm,相似度矩阵Wtt中的任一元素值为mashup集合 中由该元素值所对应的两个标签共同标记过的mashup个数。
[0016]所述相似度矩阵Wmm的维度为k X k,k为mashup集合中的mashup总数,相似度矩阵 Wmm中的任一元素值为共同为该元素值所对应的两个mashup标记的标签个数。
[0017] 所述关联矩阵Wam的维度为nXk,关联矩阵Wm中的任一元素值为0或1,1表示该元 素值对应的一组API和mashup存在聚合关系,否则该元素值为0。
[0018] 所述关联矩阵Wmt的维度为kXm,关联矩阵Wmt中的任一元素值为0或1,1表示该元 素值对应的一组标签和mashup存在标记关系,否则该元素值为0。
[0019] 所述的步骤(2)中对转移矩阵W进行规整化处理的具体过程为:
[0020] 首先,将转移矩阵W对角线上的S个方阵Waa、Wmm和Wtt中的对角线元素值均置为0, 置0后对应的结果为Wa/、Wm/和Wt/ ;
[0021] 然后,对Wm/和Wt/分别进行归一化处理,归一化处理后对应的结果为Wm/和Wt/;
[0022] 进而,根据W下形式为各子矩阵设置权重系数,得到转移矩阵;
[0023]
[0024]
[0025] 最后,对转移矩阵进行全局归一化处理,即完成规整化。
[0026] 所述的步骤(3)中通过W下迭代方程计算API的标签概率向量:
[0027]
[002引其中:Pi(t+1)和Pi(t)分别为待推荐API集合中第i个API在第t+1次迭代和第t次迭 代中的节点概率向量,节点概率向量为n+k+m维向量且初始该向量等于Qi; Qi为n+k+m维向量 且该向量中第i个元素值为1,其余元素值为0,a为重启动概率系数且a G (0,1);待迭代收敛 或达到最大迭代次数时的节点概率向量中后m个元素值组成新的向量即作为第i个API的标 签概率向量。
[0029] 所述的相关矩阵Auxn的维度为UXn维,U为词库中的总词汇量,相关矩阵Auxn中的 任一元素值即为该元素值所对应的一组词汇和API中该API描述信息中出现该词汇的个数。
[0030] 所述标签的词相关向量为U维向量,该向量中与标签相同词汇对应的元素值为1, 其余元素值均为0。
[0031] 所述的步骤(4)中对相关矩阵Auxn两次奇异值分解的过程如下:
[0032] 首先,根据W下公式对相关矩阵Auxn进行奇异值分解:
[0033]
[0034] 其中:Uuxr为奇异值分解得到的UXr维的正交矩阵,Vnxr为奇异值分解得到的nXr 维的正交矩阵,Srxr为奇异值分解得到的r X r维的对角矩阵,r为大于1且小于n的自然数;
[0035] 然后,提取对角矩阵Srxr中的对角线元素并从大到小排列,进而将其中前C个对角 线元素还原成CXc维的对角矩阵ScXc, C为大于1且远小于r的自然数;
[0036] 最后,根据W下公式Wk维再次对相关矩阵Auxn进行奇异值分解,得到低维的正交 矩阵UuXc和VnXc;
[0037]
[003引其中:止文矩阵UuXc的维度为U X C,正交矩阵VnXc的维度为n X C。
[0039] 所述的步骤(5)中根据W下公式对各标签的词相关向量进行降维:
[0040]
[0041] 其中:为第j个标签的词相关向量,为第j个标签的低维词相关向量。
[0042 ]所述的步骤(5)中使API对应的一行横向量与各标签的低维词相关向量进行余弦 相似度计算W得到该API与各标签之间的语义相似度。
[0043]本发明主要采用基于异构信息的随机游走算法,首先根据APKmashupW及mashup 标签S者之间的关系建立异构网络,该网络中包括API与mashup间的包含关系,mashup与标 签间的对应关系W及=种元素间的同构关系;接着根据异构网络生成对应的转移矩阵,并 基于该转移矩阵进行重启动随机游走,从API顶点迭代地转移到mashup层和标签层,最终达 到全局稳定的分布从而获得API到各个标签顶点上的概率;最后引入文本处理模型LSI 化atent Semantic Indexing)计算API和标签的语义相似度,结合获得的概率,生成最终的 标签排序列表为API推荐合适的标签。
[0044] 故相对现有技术,本发明的优点如下:
[0045] (1)本发明推荐过程中在原来单一的API信息基础上,引入API、mashupW及mashup 标签之间的异构网络信息,全面考虑与API及标签数据相关的网络信息,提高标签推荐的可 靠度。
[0046] (2)本发明除了通过随机游走算法引入的异构网络信息,本发明同时结合API描述 文本和标签数据的语义相似度,很大程度上提高了标签推荐的准确率。
【附图说明】
[0047] 图1为本发明API标签推荐体系的架构示意图。
[0048] 图2为本发明随机游走算法的流程示意图。
[0049 ]图3为本发明与现有技术关于推荐准确率的比较示意图。
【具体实施方式】
[0050] 为了更为具体地描述本发明,下面结合附图及【具体实施方式】对本发明的技术方案 进行详细说明。
[0051] 本发明API标签推荐方法在构建异构信息网络过程中,首先将网络中的顶点及相 关联系构造为W下形式:
[0052] A={ai,a2, . . .,a|A|}表示待推荐标签的 API 集合,M = {mi,m2,. . .,m|M|}表示由集 合A中的API组成的mashup集合,候选的标签集合由T={ti,t2,. . .,t|T|}表示。从而异构信息 网络表示为G= (V,E,W),顶点集合是V = AUMU T,包括多种类型关系的边集合由E= {eij I 0 <i,j《(|A| + |M| + |T| )}表示,其中eij表示的是顶点Vi和Vj之间的边。集合W中的元素 Wij用 于表示边eu的权重。W中具体的权重值可根据如下说明安排:
[0053] API-API关系:考虑到API之间分类的一致性,本实施方式假设任意两个API之间存 在一条边且边权重为1当且仅当它们被分到同一个主目录下。
[0054] 标签-标签关系:基于标签行为来设置标签之间的关系,任意两个标签之间的边权 重可设置为同时被打上运两个标签的mashup的数量。
[0化日]mashup-mashup关系:mashup的标签在很大程度上能够反应其功能,因此任意两个 mashup间的边权重可用它们共有的标签数量表示W显示两个mashup的功能相似性。
[0化6] API-mash叫关系:一个mashup是由多个API组合而成的,因此当一个API和一个 mashup间有组合关系时,假设它们之间存在权重为1的边。
[0化7] mashup-标签关系:与API-mashup关系相似,当一个mashup有某一个标签,假设它 们之间存在权重为1的边。
[0058] 然后,根据构建好的异构信息网络G定义如下对应的转移矩阵:
[0059] 611(1^£{4,1,1'})代表由关系。〇〉(1£1〇£^形成的子网络,胖11表示其权重 矩阵。也就是说G = U I, je{a, M, t}Gij,W由Wij组成:
[0060]
[0061] 其中,对角线元素设为0,并对子矩阵Wmm及Wtt进行标准化。同时,考虑到不同类型 的网络关系的贡献度不同,本实施方式对不同子矩阵设置了相关系数,从而获得一个新的 转移矩阵:
[0062]
[0063] 其中
。对按行进行全局的标准化得到尿,进而根据如下公式进行重 启动随机游走:
[0064]
[0065] 其中:Pi表示APIai在每个顶点上的概率,a是重启动概率,即随机游走过程中返回 到原点API的概率,取值范围是0到1。迭代地根据转移概率往mashup层和标签层进行游走, 每一次迭代网络中的每个顶点都会得到一个概率值,最终整个网络得到一个稳定的概率分 布。用表示API ai在每个标签顶点上的最终概率。
[0066] 在计算API文本和标签语义相似度的过程中,首先将所有API的描述信息表示为 词-文本巧随A,,X、,丄ST檀巧对巧随巧行奇异值分解(SVD):
[0067]
[0068] 其中:U和V的列向量都是正交归一化的,奇异值矩阵S是对角矩阵,对角元素递减 排列。把S中前k个对角元素保留,可得到一个新的近似的分解:
[0069]

[0070] 其中:k是降维后空间的维度且k< <r,U和V中的行向量分别是隐语义空间中的词 向量和文本向量。
[0071] 标签在隐语义空间中被表示; 从而标签t詞日APIai之间的语义 相似度5?可通过隐语义空间中向量的cosine相似度获得:
[0072]
[0073] 其中,Vi是矩阵VvXr的行向量。
[0074] 最终整合模块通过参数A调节网络结构信息和语义信息对标签推荐的影响,获得 最终标签评分,从而为给定的API推荐标签列表:
[0075]
[0076] 从图1可W看出,本实施方式整个API标签推荐过程主要由异构网络构建模块、随 机游走算法模块、文本处理模块、算法整合模块四个部分执行完成。异构网络构建模块根据 API、mashup数据库提供的相关结构信息构建包含API、mashup、mashup标签S种不同元素 W 及多种关系的异构信息网络;随机游走算法模炔基于异构网络构建模块提供的网络W及预 先设置的参数生成对应转移矩阵,根据标准化后的转移矩阵进行随机游走获得最终异构网 络中各个顶点的概率分布;文本处理模块对数据库传递的API描述信息W及候选标签进行 预处理并用LSI模型将文本数据映射到统一维度的概念空间,计算文本间的语义相似度;算 法整合模块将文本处理模块生成的标签和API的语义相似度W及随机游走模块得到的API 到各个标签的概率值,最终生成标签推荐列表。
[0077]图2所示了随机游走算法模块中的主要流程,该模块的输入包括异构信息网络G, 系数参数01-05,重启动系数a,最大迭代次数max,误差阔值err W及指定APIai。首先构建对 应于G的转概率移矩阵W,根据ai初始化重启向量qi,并令初始概率分布向量Pi = qi,初始化 迭代前后概率分布向量误差de 1 ta = 0 W及迭代次数n = 0;第二步:根据公式Pinew= (1 -a) Wpi +aqi计算下一个概率分布向量,从而计算概率分布向量误差delta;判断delta和迭代次数n 是否满足继续迭代的要求,若满足,继续返回第二步进行计算,否则返回最终概率分布向量 Pio
[007引 W下通过使本发明与直接的语义匹配(Semantic Similarity)、关联计数 (Relation Count)、标签信息传播(Tag Propagation)等方法的比较来验证本发明相对现 有技术的优势,如图3所示,本发明(ATRecl,ATRec2)在标签推荐准确度指标上表现出相当 大的优势。图3中横坐标是推荐标签个数k,纵坐标是推荐的k个标签中推荐准确的标签比 例,即准确率PSksATRecl和ATRec2的区别是ATRecl中没有加入语义相似度信息义f。
[0079]上述的对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发 明。熟悉本领域技术的人员显然可W容易地对上述实施例做出各种修改,并把在此说明的 一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例, 本领域技术人员根据本发明的掲示,对于本发明做出的改进和修改都应该在本发明的保护 范围之内。
【主权项】
1. 一种基于异构信息的API标签推荐方法,包括如下步骤: (1) 构建API之间的相似度矩阵WAA、标签之间的相似度矩阵WTT、mashUp之间的相似度矩 阵WmnAPI与mashup之间的关联矩阵Wam以及mashup与标签之间的关联矩阵Wmt; (2) 根据步骤(1)中的构建结果建立转移矩P,并对转移 矩阵W进行规整化对应得到转移矩阵#,其中τ表示转置; (3) 对于待推荐API集合中的任一API,根据转移矩阵#计算该API的标签概率向量; (4) 根据API的描述信息构建词汇与API之间的相关矩阵Auxn,并确立每个标签的词相关 向量;进而通过对相关矩阵A uxn两次奇异值分解得到低维的正交矩阵UPVnX。以及对角矩 阵ScXc; (5) 利用对角矩阵ScX。和正交矩阵UuX。对各标签的词相关向量进行降维;对于待推荐API 集合中的任一 API,从正交矩阵Vnxc中提取与该API对应的一行横向量,使其与各标签的低维 词相关向量进行相似度计算以得到该API与各标签之间的语义相似度,进而将这些语义相 似度组成该API的标签语义相似度向量; (6) 对于待推荐API集合中的任一API,根据其标签概率向量和标签语义相似度向量通 过以下公式计算该API的标签分值向量,将标签分值向量中各分值从高到低排序,进而取最 高的前若干个分值所对应的标签推荐给该API;其中:pf、Sf和Scorei分别为待推荐API集合中第i个API的标签概率向量、标签语义相 似度向量和标签分值向量且这三个向量均为m维向量,m为mashup集合中各mashup被标记过 且非重复的标签总数,mashup集合中的各mashup均由待推荐API集合中的API聚合而成,i为 自然数且KiSn,n为待推荐API集合中的API个数,λ为权重系数且λe (〇,1)。2. 根据权利要求1所述的API标签推荐方法,其特征在于:所述相似度矩阵Waa的维度为η Χη,相似度矩阵Waa中的任一元素值为0或1,1表示该元素值对应的两个API在PW网站目录下 为同一类别,否则该元素值为〇;所述相似度矩阵Wtt的维度为mXm,相似度矩阵Wtt中的任一 元素值为mashup集合中由该元素值所对应的两个标签共同标记过的mashup个数;所述相似 度矩阵Wmm的维度为k X k,k为mashup集合中的mashup总数,相似度矩阵Wmm中的任一元素值 为共同为该元素值所对应的两个mashup标记的标签个数;所述关联矩阵Wam的维度为nXk, 关联矩阵Wam中的任一元素值为0或1,1表示该元素值对应的一组API和mashup存在聚合关 系,否则该元素值为〇;所述关联矩阵Wmt的维度为kXm,关联矩阵Wmt中的任一元素值为0或 I,1表示该元素值对应的一组标签和mashup存在标记关系,否则该元素值为0。3. 根据权利要求1所述的API标签推荐方法,其特征在于:所述的步骤(2)中对转移矩阵 W进行规整化处理的具体过程为: 首先,将转移矩阵W对角线上的三个方阵Waa、Wmm和Wtt中的对角线元素值均置为0,置0后 对应的结果为Wa/ 和Wt/ ; 然后,对Wm/和Wt/分别进行归一化处理,归一化处理后对应的结果为Wm/和Wt/; 进而,根据以下形式为各子矩阵设置权重系数,得到转移矩阵矿;其中:θ?~05均为权重系数且最后,对转移矩阵r进行全局归一化处理,即完成规整化。4. 根据权利要求1所述的API标签推荐方法,其特征在于:所述的步骤(3)中通过以下迭 代方程计算API的标签概率向量:其中:Pi(t+1)和pi(t)分别为待推荐API集合中第i个API在第t+Ι次迭代和第t次迭代中 的节点概率向量,节点概率向量为n+k+m维向量且初始该向量等于qi; qi为n+k+m维向量且该 向量中第i个元素值为1,其余元素值为〇,k为mashup集合中的mashup总数,α为重启动概率 系数且ae (〇, 1);待迭代收敛或达到最大迭代次数时的节点概率向量中后m个元素值组成 新的向量即作为第i个API的标签概率向量。5. 根据权利要求1所述的API标签推荐方法,其特征在于:所述的相关矩阵Auxn的维度为 uXn维,u为词库中的总词汇量,相关矩阵Auxn中的任一元素值即为该元素值所对应的一组 词汇和API中该API描述信息中出现该词汇的个数;所述标签的词相关向量为u维向量,该向 量中与标签相同词汇对应的元素值为1,其余元素值均为0。6. 根据权利要求1所述的API标签推荐方法,其特征在于:所述的步骤(4)中对相关矩阵 Auxn两次奇异值分解的过程如下: 首先,根据以下公式对相关矩阵Auxn进行奇异值分解:其中:Uuxr为奇异值分解得到的uXr维的正交矩阵,Vnxr为奇异值分解得到的nXr维的 正交矩阵,Srxr为奇异值分解得到的r X r维的对角矩阵,r为大于1且小于η的自然数; 然后,提取对角矩阵Srxr中的对角线元素并从大到小排列,进而将其中前c个对角线元 素还原成C X C维的对角矩阵Sex。,C为大于1且远小于r的自然数; 最后,根据以下公式以k维再次对相关矩阵Auxn进行奇异值分解,得到低维的正交矩阵 UuXc和VnXc :其中:正交矩阵UUX。的维度为U X C,正交矩阵VnX。的维度为n X C。7. 根据权利要求1所述的API标签推荐方法,其特征在于:所述的步骤(5)中根据以下公 式对么;1?溶的词和苦向骨彳井行降维:其中:b为第j个标签的词相关向量,fj为第j个标签的低维词相关向量。8. 根据权利要求1所述的API标签推荐方法,其特征在于:所述的步骤(5)中使API对应 的一行横向量与各标签的低维词相关向量进行余弦相似度计算以得到该API与各标签之间 的语义相似度。
【文档编号】G06F17/30GK106021366SQ201610307321
【公开日】2016年10月12日
【申请日】2016年5月10日
【发明人】吴健, 梁婷婷, 陈亮, 万瑶, 应豪超, 高维, 韩玉强, 王皓然, 邓水光, 李莹, 尹建伟, 吴朝晖
【申请人】浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1