[发明专利]一种基于联合嵌入模型的代码推荐方法在审
申请号: | 202110251408.6 | 申请日: | 2021-03-08 |
公开(公告)号: | CN112860879A | 公开(公告)日: | 2021-05-28 |
发明(设计)人: | 文万志;王仕强;王楚越;周杰;郭逸飞;赵甜;程实 | 申请(专利权)人: | 南通大学 |
主分类号: | G06F16/335 | 分类号: | G06F16/335;G06F16/31;G06F8/71 |
代理公司: | 北京科家知识产权代理事务所(普通合伙) 11427 | 代理人: | 宫建华 |
地址: | 226019 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 联合 嵌入 模型 代码 推荐 方法 | ||
本发明提供一种基于联合嵌入模型的代码推荐方法,包括:S1、从GitHub帖子的评论中提取对问题的补充性问题;S2、将问题,补充性问题用来训练sequence‑to‑sequence模型,并保存为问题提升模型;S3、从GitHub上收集带有注释的Java开源项目数据集,并对其预处理;S4、建立联合嵌入模型,进行向量化处理;S5、从GitHub中收集至少有20个stars的Java开源项目来构建代码库,将所有的代码段嵌入到向量中;S6、将查询问题输入到问题提升模型中,将得到的结果输入到联合嵌入模型中进行向量化;S7、计算查询问题的向量和代码向量的相似度得分来推荐Top‑k代码段。本发明解决了自然语言查询中反映的高级意图与源代码中低级实现细节之间不匹配的问题,以及深度学习方法中缺乏不可扩展性的问题。
技术领域
本发明属于信息检索技术领域,具体涉及一种基于联合嵌入模型的代码推荐方法,主要用于解决在软件开发中向用户推荐代码段的问题。
背景技术
为了实现程序功能,开发人员可以通过搜索大量的代码库来重用以前编写的代码片段。然而随着互联网相关技术的不断发展,从海量数据中找到有价值的信息变得越来越困难,用户面临严重的信息过载问题。为了使开发人员从耗时的软件开发中解脱出来,提出了根据软件需求自动生产源代码的方法,即代码检索技术。代码检索技术在帮助软件开发人员在给定用户查询(例如,描述检索特定代码片段的功能的简短自然语言文本)的可用开源数据库中检索现有代码片段方面发挥了关键作用。
目前已经提出了很多代码搜索方法,其中大多数是基于信息检索技术的,也有基于深度学习的方法被提出从自然语言描述中生产源代码的。基于信息检索技术的代码搜索方法的一个基本问题是源代码和自然语言查询是异构的,自然语言查询中反映的高级意图与源代码中低级实现细节之间是不匹配的;基于深度学习翻译的方法是在相当小、缺乏多样性、与实际软件需求显著不同的数据集上进行评的,不具有可扩展性。
发明内容
本发明要解决的技术问题是提供一种基于联合嵌入模型的代码推荐方法,能够有效地帮助软件开发人员通过文本查询来搜索和重用以前编写的代码段,具有较高的精确率和效率。
为解决上述技术问题,本发明的实施例提供一种基于联合嵌入模型的代码推荐方法,包括如下步骤:
S1、从GitHub帖子的评论中提取对问题的补充性问题;
S2、将问题,补充性问题用来训练sequence-to-sequence模型,并保存为问题提升模型;
S3、从GitHub上收集带有注释的Java开源项目数据集,并对其预处理;
S4、建立联合嵌入模型,将数据集进行向量化处理;
S5、从GitHub中收集至少有20个stars的Java开源项目来构建代码库,然后将所有的代码段嵌入到向量中;
S6、将查询问题输入到问题提升模型中,然后将得到的结果输入到联合嵌入模型中进行向量化;
S7、计算查询问题的向量和代码向量的相似度得分来推荐Top-k代码段。
其中,步骤S1中,所述补充性问题的定义为:在一篇文章的评论中的问题,该问题是给定帖子的缺失信息,从GitHub帖子的评论中提取对问题的补充性问题。
其中,步骤S2中,sequence-to-sequence模型的主流是编码器-解码器架构,编码器是一个两层双向LSTM网络,解码器是一个单层LSTM网络,在训练时,解码器将前一个词嵌入向量和前一个状态作为输入,并将其连接生成LSTM网络输入。
其中,步骤S3的具体步骤为:首先注释选取第一句话,在收集了注释代码片段的语料库之后,提取方法名、API序列、token和注释元组,其中,
方法名提取:对于每个Java方法,提取它的名称并将其解析为tokens序列;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南通大学,未经南通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110251408.6/2.html,转载请声明来源钻瓜专利网。