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%. 上述实验结果阐明了对语义重排序模型进行微调的必要性, 通过基于多维度正负样本对
                 构造方法的对比学习对语义重排序模型进行微调可以更好地对代码注释进行排序, 从而实现对基于信息检索的方
                 法和基于深度学习的方法更好的集成效果.
   131   132   133   134   135   136   137   138   139   140   141