[发明专利]一种基于相似代码识别的编程信息推荐方法及装置有效
申请号: | 202010996554.7 | 申请日: | 2020-09-21 |
公开(公告)号: | CN112115362B | 公开(公告)日: | 2022-01-11 |
发明(设计)人: | 王彤;黄袁;陈湘萍;周晓聪;郑子彬 | 申请(专利权)人: | 中山大学 |
主分类号: | G06F16/9535 | 分类号: | G06F16/9535;G06F8/75;G06F16/955 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 郭帅 |
地址: | 510275 *** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 相似 代码 识别 编程 信息 推荐 方法 装置 | ||
1.一种基于相似代码识别的编程信息推荐方法,其特征在于,包括:
对存疑代码进行抽取得到多个第一代码片段和多个第一注释;其中,与每个所述第一代码片段与每个所述第一注释是对应的;
对网络上的编程信息进行抽取得到多个第二代码片段和多个第一场景关键字;其中,每个所述第二代码片段与每个第一场景关键字对应的;
将所述多个第一代码片段和所述多个第二代码片段输入克隆检测工具并进行克隆检测,得到多个克隆对;其中,每个克隆对由第一代码片段和第二代码片段组成;
将第一注释与第一场景关键字作为句子对,根据训练好的Word2Vec模型计算句子对相似度;其中,所述句子对与所述克隆对是对应的;
根据句子对相似度对相应的克隆对进行降序排列,将排名较高的克隆对作为可参考的编程信息进行推荐。
2.根据权利要求1所述的基于相似代码识别的编程信息推荐方法,其特征在于,将第一注释与第一场景关键字作为句子对之前还包括:对存疑代码所在的项目代码进行抽取,得到多个第二注释和多个第二场景关键字,将所述多个第二注释和多个第二场景关键字输入Word2Vec模型的语料库并对所述Word2Vec模型进行训练。
3.根据权利要求2所述的基于相似代码识别的编程信息推荐方法,其特征在于,对存疑代码进行抽取得到多个第一代码片段具体包括:选取存疑代码的前中后三段代码,根据代码结构进行分割得到多个第一代码片段;其中,所述第一代码片段的字符长度大于30。
4.根据权利要求3所述的基于相似代码识别的编程信息推荐方法,其特征在于,所述网络上的编程信息具体包括:程序员交流网站的答复、编程教学经验、编程教科书及程序员博客。
5.根据权利要求4所述的基于相似代码识别的编程信息推荐方法,其特征在于,对网络上的编程信息进行抽取得到多个第二代码片段具体包括:根据所述存疑代码的语言,抽取编程信息中包含对应语言标签的部分,获取字符长度大于30的第二代码片段。
6.一种基于相似代码识别的编程信息推荐装置,其特征在于,包括:
存疑代码抽取模块,用于对存疑代码进行抽取得到多个第一代码片段和多个第一注释;其中,与每个所述第一代码片段与每个所述第一注释是对应的;
编程信息抽取模块,用于对网络上的编程信息进行抽取得到多个第二代码片段和多个第一场景关键字;其中,每个所述第二代码片段与每个第一场景关键字对应的;
克隆对检测模块,用于将所述多个第一代码片段和所述多个第二代码片段输入克隆检测工具并进行克隆检测,得到多个克隆对;其中,每个克隆对由第一代码片段和第二代码片段组成;
句子对相似度计算模块,用于将第一注释与第一场景关键字作为句子对,根据训练好的Word2Vec模型计算句子对相似度;其中,所述句子对与所述克隆对是对应的;
编程信息推荐模块,用于根据句子对相似度对相应的克隆对进行降序排列,将排名较高的克隆对作为可参考的编程信息进行推荐。
7.根据权利要求6所述的基于相似代码识别的编程信息推荐装置,其特征在于,还包括:
项目代码抽取模块,用于对存疑代码所在的项目代码进行抽取,得到多个第二注释和多个第二场景关键字,将所述多个第二注释和多个第二场景关键字输入Word2Vec模型的语料库并对所述Word2Vec模型进行训练。
8.根据权利要求7所述的基于相似代码识别的编程信息推荐装置,其特征在于,存疑代码抽取模块具体用于:选取存疑代码的前中后三段代码,根据代码结构进行分割得到多个第一代码片段;其中,所述第一代码片段的字符长度大于30。
9.根据权利要求7所述的基于相似代码识别的编程信息推荐装置,其特征在于,编程信息抽取模块具体用于:根据所述存疑代码的语言,抽取编程信息中包含对应语言标签的部分,获取字符长度大于30的第二代码片段。
10.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至5任一项所述的基于相似代码识别的编程信息推荐方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010996554.7/1.html,转载请声明来源钻瓜专利网。