[发明专利]基于多跳推理机制的代码摘要生成方法及系统有效
申请号: | 202110426243.1 | 申请日: | 2021-04-20 |
公开(公告)号: | CN113342343B | 公开(公告)日: | 2022-05-27 |
发明(设计)人: | 吕晨;马正;李季;高曰秀;吕蕾;刘弘 | 申请(专利权)人: | 山东师范大学 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F16/36;G06N5/04 |
代理公司: | 济南圣达知识产权代理有限公司 37221 | 代理人: | 黄海丽 |
地址: | 250014 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 推理 机制 代码 摘要 生成 方法 系统 | ||
本发明公开了基于多跳推理机制的代码摘要生成方法及系统,包括:获取待生成摘要的代码;对待生成摘要的代码进行解析,生成抽象语法树;对抽象语法树进行特征提取,得到抽象语法树特征向量;将抽象语法树特征向量和自然语言表述特征向量,输入到训练后的transformer模型中,得到代码的初始摘要;对代码的初始摘要和已知的知识图谱,利用多跳推理算法进行处理,得到代码的推理摘要;将代码的初始摘要和代码的推理摘要进行加权融合,得到最终的代码摘要。使得生成的代码摘要更加通顺和准确,方便代码维护人员的理解。
技术领域
本发明涉及人工智能与软件工程相关技术领域,特别是涉及基于多跳推理机制的代码摘要生成方法及系统。
背景技术
本部分的陈述仅仅是提到了与本发明相关的背景技术,并不必然构成现有技术。
随着互联网技术的快速发展,各种各样的开发软件层出不穷,并且软件的功能变得越来越丰富,这随之带来的就是代码实现的规模越来越庞大,结构越来越复杂,在这种情况下程序员如何对代码进行有效的维护成为了一个问题。
传统的帮助代码维护人员进行代码理解的方法有两种:第一种是代码开发人员在开发时对代码进行代码注释和摘要,由于现在的实现软件功能的代码越来越庞大,这对代码开发人员无疑不是一个负担;第二种是代码摘要生成技术,可以自动对代码片段进行注释,帮助开发人员在开发过程中更加关注代码编写。
发明人发现,目前传统的代码摘要生成技术对代码片段解析出来相应的自然语言描述表达不顺畅,甚至有些描述会出现歧义,生成的效果较差,因而无法满足维护人员对代码的快速理解。
发明内容
为了解决现有技术的不足,本发明提供了基于多跳推理机制的代码摘要生成方法及系统;
第一方面,本发明提供了基于多跳推理机制的代码摘要生成方法;
基于多跳推理机制的代码摘要生成方法,包括:
获取待生成摘要的代码;
对待生成摘要的代码进行解析,生成抽象语法树;对抽象语法树进行特征提取,得到抽象语法树特征向量;
将抽象语法树特征向量和自然语言表述特征向量,输入到训练后的transformer模型中,得到代码的初始摘要;
对代码的初始摘要和已知的知识图谱,利用多跳推理算法进行处理,得到代码的推理摘要;
将代码的初始摘要和代码的推理摘要进行加权融合,得到最终的代码摘要。
第二方面,本发明提供了基于多跳推理机制的代码摘要生成系统;
基于多跳推理机制的代码摘要生成系统,包括:
获取模块,其被配置为:获取待生成摘要的代码;
特征提取模块,其被配置为:对待生成摘要的代码进行解析,生成抽象语法树;对抽象语法树进行特征提取,得到抽象语法树特征向量;
初始摘要生成模块,其被配置为:将抽象语法树特征向量和自然语言表述特征向量,输入到训练后的transformer模型中,得到代码的初始摘要;
推理摘要生成模块,其被配置为:对代码的初始摘要和已知的知识图谱,利用多跳推理算法进行处理,得到代码的推理摘要;
加权融合模块,其被配置为:将代码的初始摘要和代码的推理摘要进行加权融合,得到最终的代码摘要。
第三方面,本发明还提供了一种电子设备,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述第一方面所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东师范大学,未经山东师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110426243.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种项目模块化开发的方法和系统
- 下一篇:一种环保工程用固废处理设备