恭喜南京信息工程大学陈炳翰获国家专利权
买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
龙图腾网恭喜南京信息工程大学申请的专利一种基于多粒度特征融合的代码摘要生成方法获国家发明授权专利权,本发明授权专利权由国家知识产权局授予,授权公告号为:CN119739857B 。
龙图腾网通过国家知识产权局官网在2025-05-09发布的发明授权授权公告中获悉:该发明授权的专利申请号/专利号为:202510260828.9,技术领域涉及:G06F16/34;该发明授权一种基于多粒度特征融合的代码摘要生成方法是由陈炳翰;许小龙;曹宇新;崔光明;项昊龙;程勇设计研发完成,并于2025-03-06向国家知识产权局提交的专利申请。
本一种基于多粒度特征融合的代码摘要生成方法在说明书摘要公布了:本发明提供了一种基于多粒度特征融合的代码摘要生成方法,包括:步骤1,对数据集中样本进行预处理操作,获取代码整体语义信息;步骤2,搭建源代码多粒度特征编码器,基于词元序列、抽象语法树和控制流图三种粒度特征的数据规模和数据结构差异,获得各个粒度特征的上下文向量;步骤3,对不同粒度特征编码器的输出实现粒度特征融合;步骤4,将融合后所得到的词元序列融合特征与控制流图融合特征输入到基于Transformer的解码器中,输出当前时间步预测单词,并最终组成摘要。本发明所公开的基于多粒度特征融合的代码摘要生成方法,能有效提取源代码关键特征并尽量减少计算开销,并且有效缓解特征序列的长距离依赖问题。
本发明授权一种基于多粒度特征融合的代码摘要生成方法在权利要求书中公布了:1.一种基于多粒度特征融合的代码摘要生成方法,其特征在于,包括以下步骤:步骤1,对数据集中样本进行预处理操作,将源代码处理为词元序列、抽象语法树、控制流图三种粒度特征,以获取代码整体语义信息;步骤2,搭建源代码多粒度特征编码器,基于词元序列、抽象语法树和控制流图三种粒度特征的数据规模和数据结构差异,设置不同的编码方式,并获得各个粒度特征的上下文向量;步骤3,对不同粒度特征编码器的输出进行基于交叉注意力计算实现粒度特征融合;步骤4,将融合后所得到的具有抽象语法树AST特征的词元序列融合特征与控制流图融合特征输入到基于Transformer的解码器中,通过每个时间步得到的词表中所有单词的输出概率,输出当前时间步预测单词,并最终组成摘要;步骤1包括如下步骤:步骤1.1,获取源代码的词元序列特征:对源代码中词元序列的函数名称进行标记,将函数名作为序列的自然语言NL部分,所标记的位置统一替换为funcname,再将源码分词后的序列作为程序语言PL部分,自然语言NL部分和程序语言PL部分合并后作为整体词元序列;步骤1.2,获取源代码的抽象语法树特征:对于Python语言,通过抽象语法树AST模块的ast.dump方法获取源代码的抽象语法树AST字符串表示,采用一种抽象语法树AST图结构的生成方法,将抽象语法树AST字符串生成树形结构表示:筛选出抽象语法树AST字符串中的空值属性并进行删除,对抽象语法树AST字符串以节点为单位进行划分,并保留括号以获得节点间结构层次信息;根据括号表示的源代码结构,将每个划分出的节点指向节点唯一的父节点,从而构建完整的树形结构;对于Java语言,通过Javalang模块来获得源代码抽象语法树AST的字符串表示;步骤1.3,获取源代码的控制流图特征:在Python中pycfg模块的基础上引入可识别的节点类型,并纠正潜在的错误路径,使得生成的控制流图CFG图结构由基于语句的节点组成,连接所有节点可重构代码的内容;对于Java语言,使用anger工具对抽象语法树AST特征进行再处理,并结合Soot开源工具来获得控制流图CFG信息;步骤1.4,使用字节对编码BPE算法对源代码所有特征,即词元序列、抽象语法树和控制流图三种粒度特征,进行分词并映射为词汇表中的唯一索引,通过词表索引最终嵌入为稠密向量,对于词元序列、抽象语法树、控制流图三种粒度特征,分别设置特征序列的最大长度,小于最大长度的序列以pad标记进行填充,截断大于最大长度的序列;对于词元序列,在词元序列所对应的词表索引序列的开头与结尾分别添加cls与sep对应词表中索引,以满足预训练模型输入格式;对于抽象语法树AST,利用最大池化操作将分词后词元序列数大于一的节点聚合为单个向量表示;对于控制流图CFG,利用CodeBERT模型,将每个节点视作词元序列进行预训练,以第一个输出的cls标记的嵌入向量表示节点的整体含义。
如需购买、转让、实施、许可或投资类似专利技术,可联系本专利的申请人或专利权人南京信息工程大学,其通讯地址为:211899 江苏省南京市江北新区华富路1号数智溪谷4号楼;或者联系龙图腾网官方客服,联系龙图腾网可拨打电话0551-65771310或微信搜索“龙图腾网”。
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。