用于神经源代码摘要的语义相似度损失
软件工程
2024-06-13 v2 人工智能
摘要
本文提出并评估了一种将语义相似度度量作为神经源代码摘要损失函数的方法。代码摘要是为源代码撰写自然语言描述的任务。神经代码摘要指利用神经网络生成这些描述的自动化技术。几乎所有当前方法都涉及将神经网络作为独立模型或作为预训练大语言模型(如GPT、Codex、LLaMA)的一部分,然而几乎全都使用分类交叉熵(CCE)损失函数进行网络优化。CCE的两个问题在于:1)它逐个词地计算预测损失,而非评估整个句子;2)它要求完美预测,不为同义词留下部分得分的余地。在本文中,我们扩展了先前关于语义相似度度量的工作,展示了使用语义相似度作为损失函数以缓解该问题的流程,并在度量驱动与人类研究的多种设置下评估了该流程。本质上,我们提议使用语义相似度度量在每个训练批次的整个输出句子预测上计算损失,而非仅对每个词计算损失。我们还提议将我们的损失与每个词的CCE相结合,与基线相比简化了训练过程。我们在多个基线上评估了我们的方法,并报告在绝大多数条件下取得改进。
引用
@article{arxiv.2308.07429,
title = {Semantic Similarity Loss for Neural Source Code Summarization},
author = {Chia-Yi Su and Collin McMillan},
journal= {arXiv preprint arXiv:2308.07429},
year = {2024}
}
备注
17 pages + 3 figures + 2 references. Accepted at Journal of Software Evolution and Process on June 2024