[发明专利]基于多跳推理机制的代码摘要生成方法及系统有效
申请号: | 202110426243.1 | 申请日: | 2021-04-20 |
公开(公告)号: | CN113342343B | 公开(公告)日: | 2022-05-27 |
发明(设计)人: | 吕晨;马正;李季;高曰秀;吕蕾;刘弘 | 申请(专利权)人: | 山东师范大学 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F16/36;G06N5/04 |
代理公司: | 济南圣达知识产权代理有限公司 37221 | 代理人: | 黄海丽 |
地址: | 250014 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 推理 机制 代码 摘要 生成 方法 系统 | ||
1.基于多跳推理机制的代码摘要生成方法,其特征是,包括:
获取待生成摘要的代码;
对待生成摘要的代码进行解析,生成抽象语法树;对抽象语法树进行特征提取,得到抽象语法树特征向量;
将抽象语法树特征向量和自然语言表述特征向量,输入到训练后的transformer模型中,得到代码的初始摘要;
对代码的初始摘要和已知的知识图谱,利用多跳推理算法进行处理,得到代码的推理摘要;
所述多跳推理算法的表达式为:
其中,f(·)是聚集来自连接结点的分数的聚合器,ns(v)表示结点v的分数;u表示访问的结点;r表示访问结点与v直接相连的边;γ是控制来自先前跳跃的信息流强度的折扣因子;ns(u)是指访问结点u的分数;
R(u,r,v)是三重相关性,反映了在当前背景下的三元组给(u,r,v)给出的证据的相关性;计算三重相关性:
表示代码的初始摘要;hu,r,v中的u,r,v表示知识图谱中的实体概念;
在H跳之后,通过归一化获得结点上的最终分布:
p(ct|st,G)=softmaxv∈V(ns(v)) (3-4)
其中,ct是在t时间步选取的结点的概念;p(ct|st,G)表示代码的推理摘要,st表示s1,s2,s3,…,st-1;
将代码的初始摘要和代码的推理摘要进行加权融合,得到最终的代码摘要。
2.如权利要求1所述的基于多跳推理机制的代码摘要生成方法,其特征是,对待生成摘要的代码进行解析,生成抽象语法树;具体包括:
利用JavaParser解析代码,生成其对应的抽象语法树;
其中,利用JavaParser解析代码,解析后得到两部分信息:一是抽象语法树结点所代表的信息;二是结点与结点的指向关系,存储边的信息。
3.如权利要求1所述的基于多跳推理机制的代码摘要生成方法,其特征是,对抽象语法树进行特征提取,得到抽象语法树特征向量;具体包括:
采用图卷积神经网络,对抽象语法树进行图嵌入,得到抽象语法树特征向量。
4.如权利要求1所述的基于多跳推理机制的代码摘要生成方法,其特征是,将抽象语法树特征向量和自然语言表述特征向量,输入到训练后的transformer模型中,得到代码的初始摘要;具体包括:
将抽象语法树特征向量输入到训练后的transformer模型的编码器,得到编码向量;
将获取的自然语言表述进行特征提取,得到自然语言表述特征向量;
将编码向量和自然语言表述特征向量,输入到训练后的transformer模型的解码器中,得到代码的初始摘要。
5.如权利要求1所述的基于多跳推理机制的代码摘要生成方法,其特征是,训练后的transformer模型,其训练步骤包括:
构建训练集;所述训练集,包括:已知代码摘要的代码片段和自然语言表述;
将训练集的代码片段解析,生成抽象语法树;对抽象语法树进行特征提取,得到抽象语法树特征向量;
将抽象语法树特征向量作为transformer模型的编码器的输入值;
将训练集的自然语言表述进行特征提取,得到自然语言表述特征向量;
将编码器的输出值和自然语言表述特征向量,均作为transformer模型的解码器的输入值,将训练集的已知代码摘要,作为transformer模型的解码器的输出值,对transformer模型进行训练,当模型的损失函数达到最小值时,停止训练,得到训练后的transformer模型。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东师范大学,未经山东师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110426243.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种项目模块化开发的方法和系统
- 下一篇:一种环保工程用固废处理设备