-
公开(公告)号:CN112860879A
公开(公告)日:2021-05-28
申请号:CN202110251408.6
申请日:2021-03-08
Applicant: 南通大学
IPC: G06F16/335 , G06F16/31 , G06F8/71
Abstract: 本发明提供一种基于联合嵌入模型的代码推荐方法,包括:S1、从GitHub帖子的评论中提取对问题的补充性问题;S2、将 用来训练sequence‑to‑sequence模型,并保存为问题提升模型;S3、从GitHub上收集带有注释的Java开源项目数据集,并对其预处理;S4、建立联合嵌入模型,进行向量化处理;S5、从GitHub中收集至少有20个stars的Java开源项目来构建代码库,将所有的代码段嵌入到向量中;S6、将查询问题输入到问题提升模型中,将得到的结果输入到联合嵌入模型中进行向量化;S7、计算查询问题的向量和代码向量的相似度得分来推荐Top‑k代码段。本发明解决了自然语言查询中反映的高级意图与源代码中低级实现细节之间不匹配的问题,以及深度学习方法中缺乏不可扩展性的问题。
-
公开(公告)号:CN112214511A
公开(公告)日:2021-01-12
申请号:CN202011078740.9
申请日:2020-10-10
Applicant: 南通大学
IPC: G06F16/245 , G06F8/20 , G06F40/216
Abstract: 本发明提供一种基于WTP‑WCD算法的API推荐方法,包括如下步骤:步骤1)、收集API数据集;步骤2)、对数据集预处理;步骤3)、建立模型,将数据进行向量化处理;步骤4)、对生成的词向量进行加权处理;步骤5)、对需要查询的问题内容同样进行步骤二、三、四处理操作;步骤6)、进行相似度计算。本发明主要用于解决在软件开发中向用户推荐API的问题,能够有效辅助软件开发人员使用API来完成开发任务,具有较高的精确率和效率。本发明不仅可以向用户精确推荐API,而且能有效提高API推荐的效率。
-
公开(公告)号:CN112966095B
公开(公告)日:2022-09-06
申请号:CN202110368686.X
申请日:2021-04-06
Applicant: 南通大学
IPC: G06F16/335 , G06F8/71
Abstract: 本发明提供一种基于JEAN的软件代码推荐方法,主要用于解决在软件开发中向开发人员推荐代码段的问题。包括如下步骤:S1、构建JEAN模型;S2、从GitHub上收集带有描述的java代码段数据集,并对其预处理用作训练集,用来训练JEAN模型;S3、构建代码库,使用JEAN模型中的代码嵌入表示模块将代码库中的所有代码段嵌入成代码向量;S4、开发人员进行在线搜索代码,输入查询后,JEAN模型中的描述嵌入表示模块将查询嵌入成查询向量;S5、使用余弦相似性计算查询向量和代码库中的所有代码向量之间的相似性,返回与查询向量最相关的向量的代码段。本发明能够有效地帮助软件开发人员根据自己的需求推荐合适的代码段,具有较高的精确率和效率。
-
公开(公告)号:CN112966095A
公开(公告)日:2021-06-15
申请号:CN202110368686.X
申请日:2021-04-06
Applicant: 南通大学
IPC: G06F16/335 , G06F8/71
Abstract: 本发明提供一种基于JEAN的软件代码推荐方法,主要用于解决在软件开发中向开发人员推荐代码段的问题。包括如下步骤:S1、构建JEAN模型;S2、从GitHub上收集带有描述的java代码段数据集,并对其预处理用作训练集,用来训练JEAN模型;S3、构建代码库,使用JEAN模型中的代码嵌入表示模块将代码库中的所有代码段嵌入成代码向量;S4、开发人员进行在线搜索代码,输入查询后,JEAN模型中的描述嵌入表示模块将查询嵌入成查询向量;S5、使用余弦相似性计算查询向量和代码库中的所有代码向量之间的相似性,返回与查询向量最相关的向量的代码段。本发明能够有效地帮助软件开发人员根据自己的需求推荐合适的代码段,具有较高的精确率和效率。
-
-
-