一种根据自然语言描述推荐API的方法技术

技术编号:33130890 阅读:26 留言:0更新日期:2022-04-17 00:47
本发明专利技术提供一种根据自然语言描述推荐API的方法,属于软件工程领域,本发明专利技术爬取、分析Github上的大量Java开源项目,通过层次聚类挖掘API使用模式,实现基于自然语言查询的API推荐系统,根据输入的功能描述的自然语言文本,推荐实现这一功能所需的API方法。推荐实现这一功能所需的API方法。推荐实现这一功能所需的API方法。

【技术实现步骤摘要】
一种根据自然语言描述推荐API的方法


[0001]本专利技术涉及软件工程领域领域,尤其涉及一种根据自然语言描述推荐API的方法。

技术介绍

[0002]API在现代软件开发中被广泛使用,调用API是开发者快速构建软件、提高开发效率的重要方式之一。随着软件行业的发展和软件规模的扩大,软件工程越来越复杂,第三方库的数量也与日俱增,它们提供了大量可供调用的API来帮助开发者简化开发过程。但是随之而来的也有不足之处,对于这些众多的第三方API,开发人员几乎不可能完全了解,很难只凭借自己的经验去做出选择。根据调查,开发人员在使用API文档的过程中存在障碍。API文档的质量参差不齐,文档的编写需要投入大量时间,很难即时维护,很容易出现文档滞后、描述不准确、存在歧义等问题。此外,开发人员的功能需求往往比较抽象广泛,而API文档中对于API的功能描述通常比较具体,查阅文档同样需要耗费大量时间。

技术实现思路

[0003]为了解决以上技术问题,本专利技术提供了一种根据自然语言描述推荐API的方法。通过对大规模代码进行分析和模式挖掘,进行API推荐本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种根据自然语言描述推荐API的方法,其特征在于,利用Scrapy爬虫框架爬取Github上的Java开源项目,使用代码分析工具对源代码进行分析和提取;把相关的API方法放到排序靠前的位置进行推荐,并且经过层次聚类以得到更好的推荐效果。2.根据权利要求1所述的方法,其特征在于,分为四个步骤:1)爬Java开源项目、2)提取元数据、3)挖掘API使用模式、4)API推荐;其中,步骤1)爬取Java开源项目,是为了在后续步骤中分析与提取API信息以及API推荐提供数据材料;步骤2)提取元数据,根据第三方API库的使用频率,选择commons

io、commons

codec、commons

lang、commons

logging、easymock、log4j、slf4j、servlet

api、junit这9个API库作为目标库,从Java开源项目中提取这些第三方API库的API方法调用;步骤3)从上述步骤中得到的所有元数据中随机选取元数据作为数据集,使用层次聚类算法对数据集进行聚类分析,从中挖掘API使用模式;步骤4)根据对元数据经过层次聚类得到的API使用模式进行API推荐。3.根据权利要求2所述的方法,其特征在于,1)爬取Java开源项目,详细步骤如下:步骤S101、利用GitHub提供的获取Github上的数据API构造出的查询https://api.github.com/search/repositories?q=stars:2500..100000+language:Java&sort=stars&order=desc&per_page=100&page=1作为爬虫爬取的初始链接;步骤S102、查询搜索star数在2500到100000之间的Java项目,按star数降序排序,每页100项条目,返回结果为Json格式;步骤S103、对爬虫得到的响应解析后得到搜索结果中每个存储库的信息。4.根据权利要求3所述的方法,其特征在于,元数据的提取基于Eclipse JDT中的AST模块实现。5.根据权...

【专利技术属性】
技术研发人员:王耀龙
申请(专利权)人:山东浪潮科学研究院有限公司
类型:发明
国别省市:

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

1