[发明专利]面向长尾分布特征的多样化API序列推荐方法及装置在审
申请号: | 202210458179.X | 申请日: | 2022-04-27 |
公开(公告)号: | CN114879945A | 公开(公告)日: | 2022-08-09 |
发明(设计)人: | 李兵;南思宇;王健 | 申请(专利权)人: | 武汉大学 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F16/335;G06F40/289;G06K9/62;G06N3/04 |
代理公司: | 武汉智权专利代理事务所(特殊普通合伙) 42225 | 代理人: | 罗成 |
地址: | 430072*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 长尾 分布 特征 多样化 api 序列 推荐 方法 装置 | ||
本发明提供一种面向长尾分布特征的多样化API序列推荐方法及装置。本发明中,分析了API的长尾分布,对长尾API聚类后,利用聚类中心替换长尾API,得到重新标签后的数据集,构建了编码器,逐个读取输入,将自然语言的开发者需求查询编码为基于时间步的编码器隐藏状态,构建了解码器,按时间步生成解码器隐藏状态,融合学习排序技术计算损失函数,使用集束搜索进行API序列的输出。因此本发明能够基于开发者自然语言需求生成API序列,提升API序列推荐结果的准确度,在不显著降低API序列推荐结果准确度的情况下,有效提升多样性。
技术领域
本发明涉及软件工程服务推荐技术领域,尤其涉及一种面向长尾分布特征的多样化API序列推荐方法及装置。
背景技术
应用编程接口(Application Programming Interface,API)是软件开发的基石,对于提升软件开发的效率和质量具有重要意义。API的合理调用可以帮助开发者高效完成各类编程任务进而缩短整个软件开发周期。然而,随着API数量井喷式发展,开发人员要熟悉大型库中的所有API并不容易。因此,开发者需要经常通过Google、Stack Overflow等搜索引擎来查找解决任务的API使用序列。这些搜索工具是基于关键词检索来寻找与开发者所搜素的query相似的历史query的答案来作为推荐结果,准确度和效率都比较低下。API序列推荐(API Sequence Recommendation)可以根据开发者的需求query,从海量的API中找到开发者适合的API序列从而提高编程效率。
多样化API序列推荐(DiversifiedAPI Recommendation)是一种对于API序列的多样化的推荐,能够基于需求给予开发人员多样化的API序列的选择。多样化的API推荐对于开发者编程尤为重要,可以提高那些目前出现频率低但是总量很大的API的曝光率,进而提高整个行业生态的健康发展。对于部分较为偏僻的软件开发领域,可以领先更加优质的接口调用,大大提高软件制品开发的效率。
近年来,研究人员提出了许多方法对API进行推荐,但现有技术中的API推荐方法主要研究了API推荐的准确性,忽视了API序列的多样性的需求。现有的API推荐方法往往将长尾API从数据集中删除,使其推荐结果区域流行的API,无法推荐出长尾API,影响API推荐结果的多样性。
发明内容
为解决上述技术问题,本发明提供一种面向长尾分布特征的多样化API序列推荐方法及装置。
第一方面,本发明提供一种面向长尾分布特征的多样化API序列推荐方法,所述面向长尾分布特征的多样化API序列推荐方法包括:
S1:获取原始数据集,对原始数据集进行分析及数据预处理,将原始数据集中切分成单词和符号片段的API合成完整的API,统计API的出现频率,得到API的长尾分布,基于长尾API的名字相似度及描述文档相似度,对长尾API进行聚类,使用聚类中心替换原始数据集中的长尾API,形成重新打标签后的数据集;
S2:构建编码器,对于自然语言的开发者需求,逐单词利用词嵌入技术生成词向量后输入到编码器中,编码为基于时间步的编码器隐藏状态;
S3:构建解码器,按基于时间步的编码器隐藏状态基于注意力机制生成解码器隐藏状态,解码器隐藏状态经融合学习排序方法的损失函数评估序列得分后利用集束搜索后处理生成多样化API序列。
可选的,所述将原始数据集中切分成单词和符号片段的API合成完整的API,统计API的出现频率,得到API的长尾分布,基于长尾API的名字相似度及描述文档相似度,对长尾API进行聚类,使用聚类中心替换原始数据集中的长尾API,形成重新打标签后的数据集包括:
S1.1:从获取的原始数据集中提取所有的需求-API序列对,对需求进行去停用词,对API序列使用启发式规则将API单词和符号片段合成为完整的API作为推荐的最小单元;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210458179.X/2.html,转载请声明来源钻瓜专利网。