Page 137 - 《软件学报》2026年第2期
P. 137
616 软件学报 2026 年第 37 卷第 2 期
表 5 经过微调的语义重排序模型和未经微调的语义重排序模型的有效性比较 (%)
JCSD PCSD
比较方法
BLEU ROUGE-L METEOR BLEU ROUGE-L METEOR
SRBCS 49.25 60.19 31.61 39.26 54.28 25.47
SRBCS (w/o FT) 48.70 59.54 31.09 38.84 53.67 24.95
RQ5.2: 构建重排序模型训练数据集时不同采样量的影响.
该研究问题旨在评估不同采样量下构建的训练数据集对语义重排序模型的影响. 我们分别将采样量设置为 1,
3, 5, 7, 10 和 20 (词法检索、语义检索和随机采样检索的采样量保持一致) 来构建不同的训练数据集用于语义重
排序模型训练. 此外, 由于高昂的训练成本, 我们主要考虑 PCSD 数据集. 图 7 展示了使用不同采样量构建的数据
集训练的语义重排序模型在排序代码注释时的有效性. 从图中可以看出, 语义重排序模型在 3 个性能指标上呈现
出相似的趋势, 即初始时语义重排序模型的性能随着采样量的增加而获得提升, 但随着采样样本数量增大到 5 时,
语义重排序模型性能将趋于稳定. 这是因为对比学习更多的是依赖样本间相互关系, 而非样本的绝对数量, 当采样
量较小时, 由于缺乏足够的负样本, 语义重排序模型难以充分学习注释间差异性, 因此模型性能受限. 但当采样量
达到基本数量时, 语义重排序模型即可充分捕捉数据间关系, 额外样本所提供信息将存在冗余, 对模型性能有较小
影响. 综上, SRBCS 中所使用的默认值 5 是一个合适的选择.
RQ5.3: 构建重排序模型训练数据集时不同检索方法的影响.
最后, 我们评估不同检索方法对于语义重排序模型训练数据集质量的影响. 具体而言, 分别禁用词法检索、语
义检索和随机采样检索来构建训练数据集用于语义重排序模型训练. 与 RQ5.2 类似, 主要考虑 PCSD 数据集以保
证实验成本在可接受范围内. 表 6 展示了禁用不同检索方法构造的训练数据集产生的语义重排序模型的有效性.
从实验结果可以看出, 禁用任一检索方法均将导致训练数据集质量下降, 从而影响语义重排序模型的有效性. 而对
于不同检索方法, 从实验结果中可以看出, 禁用随机检索的方法对语义重排序模型的影响大于禁用其他两种方法,
这是因为随机检索提供的负样本数据具有更好的多样性, 从而帮助语义重排序模型更好去除语义无关的代码注
释. 综上, 综合使用词法检索、语义检索和随机采样检索可以更好构造用于语义重排序模型的训练数据集, 实现更
优的语义重排序模型训练.
60 表 6 禁用不同检索方法时语义重排序模型在 PCSD
50 数据集上的有效性 (%)
数值 (%) 40 比较方法 BLEU ROUGE-L METEOR
30
39.26
SRBCS
25.47
54.28
20
w/o 词法检索 36.77 44.29 22.48
10 w/o 语义检索 36.24 43.87 22.45
0 w/o 随机采样检索
1 3 5 7 10 20 32.43 37.75 17.73
n
BLEU ROUGE-L METEOR
图 7 不同采样量下语义重排序模型的有效性
4 讨 论
未来研究工作: 尽管 SRBCS 在代码注释生成任务上展现出了出色的性能, 但在未来的研究工作中我们认为
仍可从以下几个方面对 SRBCS 进行进一步提升. 首先, 在当前版本的 SRBCS 中, 我们主要考虑 Hugging Face 提
供的 BAAI/base-reranker-large 模型作为语义重排序模型. 在未来研究工作中, 计划对更多的重排序模型有效性进
行评估. 其次, 在算法 1 中, 顺序地使用不同代码注释生成方法来生成候选代码注释, 这在实际部署中可能存在效
率欠佳的问题. 但我们可以很自然地对不同代码注释生成方法进行并发处理, 以提升 SRBCS 的运行效率. 最后, 在
本文中主要关注函数级的代码注释生成任务, 但 SRBCS 不仅局限于此. 其使用语义重排序模型对不同方法所生成

