EyeTrans:融合人类与机器注意力的神经代码摘要
软件工程
2024-03-01 v3 人工智能
人机交互
摘要
神经代码摘要利用深度学习模型自动生成代码片段的简短自然语言摘要。变换器模型的发展导致广泛使用注意力机制进行模型设计。虽然已有工作主要且几乎唯一地关注源代码及其结构表示如抽象语法树(AST)的静态属性,但鲜有研究考虑人类注意力,即程序员在查看和理解代码时的注意力。本文发展了一种将人类注意力纳入机器注意力以增强神经代码摘要的方法。为促进这种融合并验证此假设,我们引入EyeTrans,其包含三个步骤:(1)我们进行大规模眼动追踪人类研究,以收集和预分析数据用于模型训练;(2)我们构构一种数据中心方法,将人类注意力与机器注意力集成到变换器架构中;(3)我们在两个代码摘要任务上进行全面实验,以展示将人类注意力纳入变换器的有效性。将人类注意力整合可实现功能摘要提升最高达29.91%,通用代码摘要提升最高达6.39%,显示明确了这种组合的显著优势。我们进一步探讨了鲁棒性和效率方面的表现,通过构建具有挑战性的摘要场景来展示EyeTrans的有趣特性。我们还可视化注意力图,以描绘机器注意力在变换器中对人类注意力整合所产生的简化效应。该工作有望通过引入更以人类为中心的方法和数据,推动软件工程领域的人工智能研究发展。
引用
@article{arxiv.2402.14096,
title = {EyeTrans: Merging Human and Machine Attention for Neural Code Summarization},
author = {Yifan Zhang and Jiliang Li and Zachary Karas and Aakash Bansal and Toby Jia-Jun Li and Collin McMillan and Kevin Leach and Yu Huang},
journal= {arXiv preprint arXiv:2402.14096},
year = {2024}
}