AST-MHSA:基于多头自注意力的代码摘要生成方法
计算与语言
2023-08-11 v1 机器学习
编程语言
软件工程
摘要
代码摘要旨在为源代码生成简洁的自然语言描述。主流方法采用基于 Transformer 的编码器-解码器架构,其中利用源代码的抽象语法树(AST)来编码结构信息。然而,AST 远比相应源代码更长,现有方法忽略这一规模约束,直接将整个线性化 AST 输入编码器。这种简单做法使得从过长输入序列中提取真正有价值的依赖关系十分困难,并且由于对 AST 中所有节点施加自注意力,带来了显著的计算开销。为高效且有效地解决该问题,我们提出一种模型 AST-MHSA,利用多头注意力从 AST 中提取重要的语义信息。该模型由两个主要组件构成:编码器与解码器。编码器以代码的抽象语法树(AST)为输入,生成隐藏状态序列。解码器随后以这些隐藏状态为输入,生成代码的自然语言摘要。多头注意力机制使模型能够学习输入代码的不同表示,并可将其组合以生成更全面的摘要。模型在代码与摘要的数据集上训练,其参数经过优化以最小化生成摘要与真实摘要之间的损失。
引用
@article{arxiv.2308.05646,
title = {AST-MHSA : Code Summarization using Multi-Head Self-Attention},
author = {Yeshwanth Nagaraj and Ujjwal Gupta},
journal= {arXiv preprint arXiv:2308.05646},
year = {2023}
}