Page 136 - 《软件学报》2026年第2期
P. 136
李重 等: 基于语义重排序的代码注释生成方法 615
RQ4: SRBCS 在不同的基于深度学习的方法上的有效性?
该研究问题旨在评估 SRBCS 的泛化性, 即 SRBCS 能否将不同基于深度学习的方法与基于信息检索的方法
进行集成. 为了回答该问题, 我们保持 SRBCS 中的基于检索的方法不变, 而将基于 CodeT5 的代码注释生成分别
替换为基于 SiT 的代码注释生成、Code LLaMA-fewshot、DeepSeek-Coder-fewshot 和 Qwen-Coder-fewshot, 并评
估 SRBCS 能否实现相较于单独使用各方法时更优的性能. 实验结果见表 4.
表 4 SRBCS 考虑不同基于深度学习的方法时的有效性 (%)
JCSD PCSD
比较方法
BLEU ROUGE-L METEOR BLEU ROUGE-L METEOR
词法检索 46.13 53.65 29.07 35.45 46.10 20.82
语义检索 47.18 55.27 30.12 35.72 47.48 21.61
SiT 45.17 55.21 26.83 36.53 49.93 21.80
SRBCS with SiT 47.79 57.45 30.31 37.32 50.84 23.04
Code LLaMA-fewshot 11.99 20.13 9.27 13.77 16.5 11.81
SRBCS with Code LLaMA-fewshot 48.20 58.02 32.38 36.84 48.87 22.67
DeepSeek-Coder-fewshot 7.31 17.68 13.43 4.66 12.32 20.66
SRBCS with DeepSeek-Coder-fewshot 47.78 59.41 33.69 36.64 47.53 23.56
Qwen-Coder-fewshot 9.61 18.85 21.94 11.10 17.31 18.31
SRBCS with Qwen-Coder-fewshot 48.07 59.86 33.24 35.88 48.63 22.41
从实验结果可以看出, SRBCS 可以有效对不同基于深度学习的方法进行集成. 具体而言, 考虑基于 SiT 的方
法时, SRBCS 在 JSCD 数据集和 PCSD 数据集上的 METEOR 分数比基于 SiT 的方法分别高 12.97% 和 9.00%; 考
虑 Code LLaMA-fewshot 时, SRBCS 在 JSCD 数据集和 PCSD 数据集上的 METEOR 分数比 Code LLaMA-fewshot
分别高 249.30% 和 91.96%; 考虑 DeepSeek-Coder-fewshot 时, SRBCS 在 JSCD 数据集和 PCSD 数据集上的
METEOR 分数比 DeepSeek-Coder-fewshot 分别高 150.86% 和 14.04%; 考虑 Qwen-Coder-fewshot 时, SRBCS 在
JSCD 数据集和 PCSD 数据集上的 METEOR 分数比 Qwen-Coder-fewshot 分别高 51.50% 和 22.39%. 这些实验结果
阐明了 SRBCS 的泛化性, 对于不同类型的基于深度学习的代码注释生成方法, SRBCS 均可有效将其与基于检索
的代码注释生成方法进行集成, 实现更优的代码注释生成.
RQ5: SRBCS 中语义重排序模型在不同配置下的有效性?
该研究问题旨在探索不同训练配置对 SRBCS 中重排序模型有效性的影响. 为此, 我们进行以下消融实验.
RQ5.1: 对重排序模型微调的必要性.
我们首先评估使用基于多维度正负样本对构造方法的对比学习对语义重排序模型进行微调的必要性. 具体而
言, 将使用经过微调的语义重排序模型的 SRBCS 和使用未经微调的语义重排序模型的 SRBCS 进行了比较. 两种
方法的性能比较结果见表 5. 从实验结果可以看出, 使用未经微调的语义重排序模型的 SRBCS 的性能在两个数据
集上均出现了一定比例的下降. 例如, 在 JCSD 数据集上, 使用未经微调的语义重排序模型的 SRBCS 的 BLEU 分
数比使用经过微调的语义重排序模型的 SRBCS 低 0.55%; 而在 PCSD 数据集上, 这一分数低 0.42%. 这一实验结
果表明, 经过基于多维度正负样本对构造方法的对比学习微调后的语义重排序模型可以更好地对基于信息检索的
方法和基于深度学习的方法所生成的代码注释进行排序, 从而生成质量更高的代码注释. 此外, 结合表 2 和表 5 还
发现使用未经微调的语义重排序模型的 SRBCS 的性能在 PCSD 数据集上的性能甚至差于仅使用 CodeT5 的方法
的性能. 具体而言, 基于 CodeT5 的方法在 PCSD 上的 BLEU 分数为 39.17%, ROUGE-L 分数为 54.27%, METEOR
分数为 25.22%, 而使用未经微调的语义重排序模型的 SRBCS 的 BLEU 分数为 38.84%, ROUGE-L 分数为 53.67%,
METEOR 分数为 24.95%. 上述实验结果阐明了对语义重排序模型进行微调的必要性, 通过基于多维度正负样本对
构造方法的对比学习对语义重排序模型进行微调可以更好地对代码注释进行排序, 从而实现对基于信息检索的方
法和基于深度学习的方法更好的集成效果.

