Retrieval Augmented Generation - 2016年05月

Deep API Learning

发布时间:2016-05-27

作者:Xiaodong Gu, Hongyu Zhang, Dongmei Zhang, Sunghun Kim

中文摘要:

开发者经常想知道如何使用API实现特定的功能(例如,如何解析XML文件)。基于API相关自然语言查询获取API使用序列在这方面非常有帮助。给定一个查询,现有方法利用信息检索模型来搜索匹配的API序列。这些方法将查询和API视为词袋(即,关键词匹配或词对词对齐)并且缺乏对查询语义的深入理解。我们提出了DeepAPI,这是一种基于深度学习的生成给定自然语言查询的API使用序列的方法。它不基于词袋假设,而是学习查询中的单词序列和相关的API序列。DeepAPI采用了一个名为RNN Encoder-Decoder的神经语言模型。它将单词序列(用户查询)编码成一个固定长度的上下文向量,并根据上下文向量生成API序列。我们还通过考虑单个API的重要性来增强RNN Encoder-Decoder。我们使用从GitHub收集的超过700万个注释代码片段对我们的方法进行了实证评估。结果表明,我们的方法生成的API序列非常准确,并且优于相关方法。

一句话总结:

DeepAPI通过深度学习技术,能够根据自然语言查询生成准确的API使用序列,有效辅助开发者实现特定功能。