掌桥专利:专业的专利平台
掌桥专利
首页

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

文献发布时间:2023-06-19 19:32:07


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

技术领域

本发明属于API推荐领域,具体涉及一种基于全文语义挖掘结合对抗训练的API推荐方法。

背景技术

近年来,随着面向服务的计算领域的不断扩大,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推荐十分关注。

现实世界中几乎没有相关的标签可以用来有效地集成API;因此,仅用几个关键字描述复杂的开发需求是不够的,也不能充分表达开发人员的个人需求。现有的挖掘开发人员需求进行API推荐的技术可分为两类。一类是将开发人员的API查询输入(由一组短语、句子甚至段落组成)以及每个API描述中的现有关键字存储到一个集合中,并使用FastText技术将它们转换为向量。计算关键字的相似性产生了一组候选API,然后将其与现有mashup中的API进行比较,以提供最终的推荐列表。该方法从三个方面(开发人员、mashup和API)进行推荐,更能代表实际的应用程序开发情况。然而,如果mashup开发人员不具备专业知识,将花大量时间或是难以使用关键字、精炼的句子或段落来描述他们的开发需求。

另一类是利用Doc2Vec技术挖掘mashup和API描述信息,计算两者之间的文本相似度,然后基于相似度和现有mashup中的API信息生成推荐。这种用于处理长文本的自然语言处理技术可以有效地挖掘文本信息,因为它提取整个事件而不是关键词,并且不会破坏句子之间的语义关系。美中不足的是,仅从mashup和API两个方面挖掘信息将很难获得开发人员更加个性化的需求。

此外,API数量的快速增长使得mashup和API的调用数据更加稀疏,因为只有少数API被频繁调用,大多数API甚至没有被mashup调用,这影响了推荐结果的准确性。

发明内容

为解决上述技术问题,本发明提出一种基于全文语义挖掘结合对抗训练的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推荐列表。

本发明的有益效果:

本发明综合了三个方面(mashup开发人员、mashup和API)的内容来进行推荐,并可以捕捉开发人员更个性化的需求;为了最大限度地满足开发人员的需求,本发明允许mashup开发人员使用文档来表达他们的个性化开发需求,使没有专业知识的mashup开发人员更容易描述他们的需求;本发明使用Doc2Vec技术来挖掘需求文档、mashup描述和API描述,方法是提取整个事件,而不是抓取关键字来挖掘全文语义,这确保了挖掘的信息尽可能保持语义关系,并更准确地反映了开发人员的个人需求。

本发明为了克服稀疏数据的问题,将获得的上下文信息用作模型中的辅助信息,并引入对抗性训练来向数据中添加扰动因子,以进一步解决该问题并提高模型的泛化鲁棒性。

附图说明

图1为本发明的一种基于全文语义挖掘结合对抗训练的API推荐方法流程图;

图2为本发明的计算mashup调用API的概率示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

一种基于全文语义挖掘结合对抗训练的API推荐方法,如图1所示,包括:

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推荐列表。

使用ProgrammableWeb的数据集,数据集包含17829个API、6340个mashup及10737个历史调用记录。

由于数据集缺少mashup和API的评级,本发明利用它们的调用数据作为评级的代理。例如,如果mashup M

对原始数据进行预处理,得到新数据集,包括:

将原始数据的调用数据作为评级代理,删除空白数据和重复数据,屏蔽一部分原始数据的交互数据后,生成新数据集。

如图2所示,将S

S21:使用Doc2Vec技术对mashup和API的功能描述文本进行文本训练,得到矢量化后的mashup和API的功能描述文本;

S22:使用Doc2Vec模型分别提取矢量化后的mashup和API描述文本的特征向量M

S23:计算特征向量M

计算特征向量M

其中,S

所述S3,具体包括:

S31:将文本相似度S

计算mashup调用API的概率,包括:

其中,

S32:根据mashup调用API的概率使用概率矩阵分解的思想获取mashup需求文本的特征向量M

使用概率矩阵分解的思想获取mashup需求文本的特征向量M

其中,

通过梯度

其中,

快速梯度法(FGM)已经是一种成熟的对抗性训练模型。因此,FGM在本发明中用于对抗性训练的扰动因子,计算公式如下所示:

其中,∈表示参数,g表示嵌入的梯度,|| ||

对更新后的mashup和API的特征向量引入抗性训练,得到数据稀疏性缓解后的特征向量,包括:

其中,Γ

对数据稀疏性缓解后的mashup和API的特征向量采用贝叶斯概率矩阵分解,包括:

将数据稀疏性缓解后mashup和API特征向量M″

将mashup和API的超参数Θ

采用了基于马尔科夫链蒙特卡洛的方法使用蒙特卡洛近似求解矩阵分解的隐性因子矩阵,根据隐性因子矩阵即可得到API推荐列表。

假设更新后的mashup和API特征向量M″

其中,p(M″

此外,mashup和API的超参数Θ

其中,Θ

威沙特分布的概率密度函数,表示为:

其中,ω为d×d的随机矩阵,H为d×d的特定矩阵,ν为自由度,Γ

除此之外,我们将Θ

Mashup M″

其中的样本

贝叶斯概率矩阵分解模型在参数和超参数上使用共轭先验,超参数值具有如下所示的高斯分布。

其中,

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

相关技术
  • 一种加权词向量和潜在语义分析结合的相似缺陷报告推荐方法
  • 一种基于双语义空间的对抗性跨媒体检索方法
  • 一种基于图像预处理与对抗训练结合的防御对抗样本的方法
  • 一种基于生成对抗网络的隐语义推荐方法
技术分类

06120115939238