一种基于结构注意力的代码摘要生成方法及装置制造方法及图纸

技术编号:42690714 阅读:29 留言:0更新日期:2024-09-10 12:40
本发明专利技术公开了一种基于结构注意力的代码摘要生成方法及装置,具体为:S1、将原始抽象语法树的节点分裂为类型节点和值节点,得到分裂后的抽象语法树;S2、基于分裂后的抽象语法树,得到原始边、构建控制流边、数据流边,并设计原始边的邻接矩阵;S3、对原始边的邻接矩阵与控制流以及原始边的邻接矩阵与数据流分别进行联合运算,得到基于结构的注意力分数矩阵;S4、利用基于结构的注意力得分矩阵、前序遍历的序列、边的关系矩阵和层级矩阵,构建基于结构注意力的代码摘要模型;S5,利用构建的基于结构注意力的代码摘要模型,生成代码摘要,本发明专利技术能更加全面地学习到源代码的特征,从而更好的进行代码摘要的生成。

【技术实现步骤摘要】

本专利技术涉及代码摘要,更具体的说是涉及一种基于结构注意力的代码摘要生成方法及装置


技术介绍

1、由于源代码及其摘要的格式是一对序列,因此这项任务最初被视为序列到序列(seq2seq)任务,并配备了mnt(机器翻译)技术。早期,研究人员将源代码视为词元序列,并在此基础上引入了相关方法。因为认为程序序列中可能包含一些可以像自然语言一样学习的模式。于是iyer等人提出了名为code-nn的方法,利用注意力机制和长短时记忆(lstm)来总结c#源代码。而allamanis等人则尝试将卷积神经网络(cnn)与注意力机制相结合,这种方法虽然开启了深度学习技术在代码总结领域的应用,但源代码序列中仍有更多信息有待发现。另一个研究小组hu等人注意到,源代码序列中的api对开发人员的理解很有意义。因此,他们设计了一个tl-cosum框架,将学习到的api知识转移到代码摘要任务中。zheng等人提出了一种利用关键语句信息的新型关注机制。上述的这些方法均采用的是基于递归神经网络的模型,就很难捕捉到长距离的依赖关系。而为了解决这个问题,ahmad等人利用transformer模本文档来自技高网...

【技术保护点】

1.一种基于结构注意力的代码摘要生成方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于结构注意力的代码摘要生成方法,其特征在于,所述步骤S2中所述根据类型节点得到控制流边,具体为:

3.根据权利要求1所述的基于结构注意力的代码摘要生成方法,其特征在于,所述步骤S2中所述根据值节点得到数据流边,具体为:

4.根据权利要求1所述的基于结构注意力的代码摘要生成方法,其特征在于,所述步骤S4中所述GraphSAGE编码器,包括:变换器和聚合器;

5.根据权利要求1所述的基于结构注意力的代码摘要生成方法,其特征在于,所述步骤S4中基于Gr...

【技术特征摘要】

1.一种基于结构注意力的代码摘要生成方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于结构注意力的代码摘要生成方法,其特征在于,所述步骤s2中所述根据类型节点得到控制流边,具体为:

3.根据权利要求1所述的基于结构注意力的代码摘要生成方法,其特征在于,所述步骤s2中所述根据值节点得到数据流边,具体为:

4.根据权利要求1所述的基于结构注意力的代码摘要生成方法,其特征在于,所述步骤s4中所述graphsage编码器,包括:变换器和聚合器;

5.根据权利要求1所述...

【专利技术属性】
技术研发人员:陈欢明张凡龙
申请(专利权)人:广东工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1