[发明专利]一种基于词嵌入技术的API推荐方法有效
| 申请号: | 201911118507.6 | 申请日: | 2019-11-15 |
| 公开(公告)号: | CN110990003B | 公开(公告)日: | 2021-11-23 |
| 发明(设计)人: | 文万志;张斌;姜文轩;李喜凯;顾晖;李跃华 | 申请(专利权)人: | 南通大学 |
| 主分类号: | G06F8/36 | 分类号: | G06F8/36;G06F40/216 |
| 代理公司: | 北京科家知识产权代理事务所(普通合伙) 11427 | 代理人: | 徐思波 |
| 地址: | 226019 *** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 嵌入 技术 api 推荐 方法 | ||
本发明提供一种基于词嵌入技术的API推荐方法,给开发人员推荐合适的API,属于代码推荐的技术领域,包括如下步骤:步骤1、收集Java帮助文档和Stack Overflow上Java语言的问答数据集;步骤2、通过收集得到的Stack Overflow中的数据进行词嵌入建模;步骤3、通过UI界面收集开发者输入的问题,使用单词模型和TF‑IDF来计算与目标问题集之间的相似度,并使用LSA模型来过滤候选问题列表;步骤4、通过LDA提取主题词,最后从Java帮助文档中得到API推荐信息,开发者使用本发明进行API查询的时候,能够给开发者推荐出较为准确的API信息。
技术领域
本发明属于代码推荐技术领域,具体涉及一种基于词嵌入技术的API推荐方法。
背景技术
随着技术的不断发展,人们对软件的功能需求日益丰富,软件的结构呈现出复杂化和大型化的特点。在软件开发过程中,程序开发人员可能会面临很多软件编写困难的情况,比如遗忘了API(Application Programming Interface,应用程序接口)的作用、不熟悉某个API的返回值和参数列表或者想要知道某些不常用的功能的具体实现方法。因此,开发人员在开发过程中查询到满足开发需求的API尤为重要。
当在实际开发过程中找不到合适的API情况出现时,可以采取以下几种方法:
(1)开发者通常会选择使用搜索引擎查询需要的Java API。但是利用搜索引擎通常需要确切的功能性描述或者关键字。这种方法在查询某一特定API的功能时很有效,但是在查找实现某一功能的API时可能不会有很好的效果。而且搜索结果还需要开发者进行甄选会耗费很多时间。
(2)借助Java帮助文档,以Java SE 8 API文档为例。这种文档包含了Java语言常用的API规范,很多官方的介绍和类、方法、变量的解释和代码引例。使用这种方法同样能很好的解决某个特定API的功能,而在查找实现某一功能的API时则很难实现。
(3)通过查询Stack Overflow网站上的帖子,Stack Overflow上面收集了世界各地开发者们的提问和解答记录,开发者可以从类似问题的答案中获取想要的API,而这个过程需要开发者设置查询相似的问题,并且对答案要具备一定的甄别能力。
(4)向有经验的开发人员咨询,这种方法建立在开发人员对这些API极其熟悉的情况下,存在很大的主观性,同时效率也很低。
基于上述问题,为了解决开发者在查询API时所遇到的问题。设计出一个为开发者推荐合适API的系统就十分有意义。
发明内容
本发明要解决的技术问题是提供一种基于词嵌入技术的API推荐方法,能够给开发者推荐出较为准确的API信息,,大大提高了开发者的在开发过程中的编程效率。
为解决上述技术问题,本发明的实施例提供一种基于词嵌入技术的API推荐方法,分为两大模块,其中一个是离线训练模块,另一个是在线推荐模块,其中,所述离线训练模块包括如下步骤:
步骤1、数据收集:收集两个目标数据集,其中一部分是Java SE8的API文档,另一部分是Stack Overflow上关于Java API的问答数据集;
步骤2、对从Stack Overflow上获取的数据进行数据处理:将数据集拆分为问题数据集和答案数据集,收集问题数据集中的所有单词建立单词库,并预处理此单词库,对单词库中的数据进行词嵌入建模,生成单词模型;建立TF-IDF字典,对包含重要信息的单词设置高权重;
所述在线推荐模块包括如下步骤:
步骤3、通过UI界面收集开发者输入的问题,使用步骤2得到的单词模型和TF-IDF字典对开发者输入的问题和问题数据集进行相似度计算,得到相似度较高的候选问题列表;使用LSA模型过滤候选问题列表,排除具有语义差别的问题;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南通大学,未经南通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911118507.6/2.html,转载请声明来源钻瓜专利网。





