一种基于全文语义挖掘结合对抗训练的API推荐方法技术

技术编号:37362853 阅读:20 留言:0更新日期:2023-04-27 07:10
本发明专利技术属于API推荐领域,具体涉及一种基于全文语义挖掘结合对抗训练的API推荐方法,包括:对原始数据进行预处理;利用自然语言处理技术提取需求文档、mashup描述和API描述的全文语义,并计算文本相似度;根据文本相似度计算mashup调用API的概率,根据概率获取mashup和API的特征向量的梯度,并更新特征向量;对更新后的mashup和API的特征向量引入抗性训练,得到数据稀疏性缓解后的特征向量;对数据稀疏性缓解后的mashup和API的特征向量采用贝叶斯概率矩阵分解,得到API推荐列表。本发明专利技术有助于API平台有效挖掘开发人员的个性化开发需求,减轻开发人员的工作量,同时提高了推荐精度。荐精度。荐精度。

【技术实现步骤摘要】
一种基于全文语义挖掘结合对抗训练的API推荐方法


[0001]本专利技术属于API推荐领域,具体涉及一种基于全文语义挖掘结合对抗训练的API推荐方法。

技术介绍

[0002]近年来,随着面向服务的计算领域的不断扩大,Web API的数量不断增加。当前业务场景的复杂性不像以前那么简单,因此,现有的单一API不再满足我们的要求。在这样的环境中,mashup通常服务于特定的上下文的(短暂的)需求,由最新的、易使用的API组成,已成为集成多种服务以满足复杂需求的重要技术。由于它的这些优点,近年来,mashup和API也被广泛开发并应用于web和移动应用。鉴于大量的API及其惊人的增长速度,mashup开发人员很难在短时间内找到满足所有需求的API,这无疑增加了mashup开发的难度。API推荐基于mashup开发人员的功能需求,以便从大量的API中选择相关的API进行推荐。开发人员希望开发一个mashup,并在执行需求分析后编写一个需求文档,然后将需求分为几个功能。为了找到实现这些功能的合适API,开发人员需要在在线的mashup

API存储平台(如ProgrammableWeb)中搜索具有所需功能的合适的API。然后从这些候选API中选择与需求功能对应的API,以组合mashup所需的功能。近年来,由于开发者在应用程序开发中有效地找到合适的API至关重要,企业和学术界都对API推荐十分关注。
[0003]现实世界中几乎没有相关的标签可以用来有效地集成API;因此,仅用几个关键字描述复杂的开发需求是不够的,也不能充分表达开发人员的个人需求。现有的挖掘开发人员需求进行API推荐的技术可分为两类。一类是将开发人员的API查询输入(由一组短语、句子甚至段落组成)以及每个API描述中的现有关键字存储到一个集合中,并使用FastText技术将它们转换为向量。计算关键字的相似性产生了一组候选API,然后将其与现有mashup中的API进行比较,以提供最终的推荐列表。该方法从三个方面(开发人员、mashup和API)进行推荐,更能代表实际的应用程序开发情况。然而,如果mashup开发人员不具备专业知识,将花大量时间或是难以使用关键字、精炼的句子或段落来描述他们的开发需求。
[0004]另一类是利用Doc2Vec技术挖掘mashup和API描述信息,计算两者之间的文本相似度,然后基于相似度和现有mashup中的API信息生成推荐。这种用于处理长文本的自然语言处理技术可以有效地挖掘文本信息,因为它提取整个事件而不是关键词,并且不会破坏句子之间的语义关系。美中不足的是,仅从mashup和API两个方面挖掘信息将很难获得开发人员更加个性化的需求。
[0005]此外,API数量的快速增长使得mashup和API的调用数据更加稀疏,因为只有少数API被频繁调用,大多数API甚至没有被mashup调用,这影响了推荐结果的准确性。

技术实现思路

[0006]为解决上述技术问题,本专利技术提出一种基于全文语义挖掘结合对抗训练的API推荐方法,包括以下步骤:
[0007]S1:从ProgrammableWeb数据集获取原始数据,并对原始数据进行预处理,得到新数据集;
[0008]所述原始数据包括:API功能描述文本、mashup功能描述文本、mashup对API的历史调用记录、mashup开发人员的需求文本;
[0009]S2:根据新数据集利用Doc2Vec技术提取mashup开发人员的需求文本、mashup功能描述文本和API功能描述文本的全文语义,得到mashup和API的特征向量,并根据mashup和API的特征向量计算文本相似度;
[0010]S3:根据文本相似度计算mashup调用API的概率,根据调用概率获取mashup和API的特征向量的梯度,并更新特征向量;
[0011]S4:对更新后的mashup和API的特征向量引入抗性训练,得到数据稀疏性缓解后的特征向量;
[0012]S5:对数据稀疏性缓解后的mashup和API的特征向量采用贝叶斯概率矩阵分解,得到API推荐列表。
[0013]本专利技术的有益效果:
[0014]本专利技术综合了三个方面(mashup开发人员、mashup和API)的内容来进行推荐,并可以捕捉开发人员更个性化的需求;为了最大限度地满足开发人员的需求,本专利技术允许mashup开发人员使用文档来表达他们的个性化开发需求,使没有专业知识的mashup开发人员更容易描述他们的需求;本专利技术使用Doc2Vec技术来挖掘需求文档、mashup描述和API描述,方法是提取整个事件,而不是抓取关键字来挖掘全文语义,这确保了挖掘的信息尽可能保持语义关系,并更准确地反映了开发人员的个人需求。
[0015]本专利技术为了克服稀疏数据的问题,将获得的上下文信息用作模型中的辅助信息,并引入对抗性训练来向数据中添加扰动因子,以进一步解决该问题并提高模型的泛化鲁棒性。
附图说明
[0016]图1为本专利技术的一种基于全文语义挖掘结合对抗训练的API推荐方法流程图;
[0017]图2为本专利技术的计算mashup调用API的概率示意图。
具体实施方式
[0018]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0019]一种基于全文语义挖掘结合对抗训练的API推荐方法,如图1所示,包括:
[0020]S1:从ProgrammableWeb数据集获取原始数据,并对原始数据进行预处理,得到新数据集;
[0021]所述原始数据包括:API功能描述文本、mashup功能描述文本、mashup对API的历史调用记录、mashup开发人员的需求文本;
[0022]S2:根据新数据集利用Doc2Vec技术提取mashup开发人员的需求文本、mashup功能
描述文本和API功能描述文本的全文语义,得到mashup和API的特征向量,并根据mashup和API的特征向量计算文本相似度;
[0023]S3:根据文本相似度计算mashup调用API的概率,根据调用概率获取mashup和API的特征向量的梯度,并更新特征向量;
[0024]S4:对更新后的mashup和API的特征向量引入抗性训练,得到数据稀疏性缓解后的特征向量;
[0025]S5:对数据稀疏性缓解后的mashup和API的特征向量采用贝叶斯概率矩阵分解,得到API推荐列表。
[0026]使用ProgrammableWeb的数据集,数据集包含17829个API、6340个mashup及10737个历史调用记录。
[0027]由于数据集缺少mashup和API的评级,本专利技术利用它们的调用数据作为评级的代理。例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于全文语义挖掘结合对抗训练的API推荐方法,其特征在于,包括:S1:从ProgrammableWeb数据集获取原始数据,并对原始数据进行预处理,得到新数据集;所述原始数据包括:API功能描述文本、mashup功能描述文本、mashup对API的历史调用记录、mashup开发人员的需求文本;S2:根据新数据集利用Doc2Vec技术提取mashup开发人员的需求文本、mashup功能描述文本和API功能描述文本的全文语义,得到mashup和API的特征向量,并根据mashup和API的特征向量计算文本相似度;S3:根据文本相似度计算mashup调用API的概率,根据调用概率获取mashup和API的特征向量的梯度,并更新特征向量;S4:对更新后的mashup和API的特征向量引入抗性训练,得到数据稀疏性缓解后的特征向量;S5:对数据稀疏性缓解后的mashup和API的特征向量采用贝叶斯概率矩阵分解,得到API推荐列表。2.根据权利要求1所述的一种基于全文语义挖掘结合对抗训练的API推荐方法,其特征在于,对原始数据进行预处理,得到新数据集,包括:将原始数据的调用数据作为评级代理,删除空白数据和重复数据,屏蔽一部分原始数据的交互数据后,生成新数据集。3.根据权利要求1所述的一种基于全文语义挖掘结合对抗训练的API推荐方法,其特征在于,所述S2,具体包括:S21:使用Doc2Vec技术对mashup和API的功能描述文本进行文本训练,得到矢量化后的mashup和API的功能描述文本;S22:使用Doc2Vec模型分别提取矢量化后的mashup和API描述文本的特征向量M
i
和A
j
;S23:计算特征向量M
i
和A
j
之间的文本相似度S
ij
。4.根据权利要求3所述的一种基于全文语义挖掘结合对抗训练的API推荐方法,其特征在于,计算特征向量M
i
和A
j
之间的文本相似度,包括:其中,S
ij
表示特征向量M
i
和A
j
之间的文本相似度,M
i
表示mashup需求文本的特征向量,A
j
表示API需求文本的特征向量,
·
表示点积操作,表示计算向量长度操作。5.根据权利要求1所述的一种基于全文语义挖掘结合对抗训练的API推荐方法,其特征在于,所述S3,具体包括:S31:将文本相似度S
ij
作为正则化项计算mashup调用API的概率;S32:根据mashup调用API的概率使用概率矩阵分解的思想获取mashup需求文本的特征向量M
i
和API需求文本的特征向量A
j
的梯度和通过梯度和更新M
i
和A
j
。6.根据权利要求5所述的一种基于全文语义挖掘结合对抗训练的API推荐方法,其特征在于,...

【专利技术属性】
技术研发人员:桑春艳邓欣燕廖世根易星宇
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1