Page 192 - 《软件学报》2026年第2期
P. 192

张育博 等: 基于依赖感知分层神经网络的代码注释增强方法                                                     671



                            Python                     Java                        Go
                                         Test                      Test                       Test
                         3 647           Valid       2 108         Valid     6 866            Valid
                                         Train                     Train                      Train
                           206                4 836  297
                   6 968                                                       384
                        421  309                       201                       482             包含子函数
                           560                    621  459             9 794    688                个数
                              1 999                     1 840               481    1 862          蓝色=1
                                                             1 582                     1 467      红色=2
                                 1 814                                                            绿色≥3
                                                                                           30 898
                                    27 560
                                                              22 726


                                     图 3 在  Python、Java 和  Go  数据集中包含不同数量的子函数

                    BLEU (bilingual evaluation understudy): 由  IBM  在  2002  年提出, BLEU  是自然语言处理  (NLP) 任务中广泛使
                 用的评估指标, 如机器翻译和文本摘要. BLEU           主要基于精度的概念, BLEU        有多种变体, 按    n-gram  评估分类. 最常
                 用的变体包括     BLEU-1、BLEU-2、BLEU-3  和  BLEU-4, 其中  n-gram  表示连续词汇的数量. 值得注意的是, BLEU-4
                 相比  BLEU-1 等指标更加注重句子的流畅度. BLEU-4         的计算公式为:

                                                                 n     
                                                               ∑       
                                                                       
                                                 BLEU-4 = bp·exp    w n logp n                   (20)
                                                                       
                                                                i=0
                 其中,  n 取值为  4, 表示  n-gram  的长度,  w n  是正权重,  p n  是精度得分.  bp 是长度惩罚因子, 用于惩罚生成摘要长度与
                 参考摘要长度不一致的情况.         bp 的计算公式为:

                                                         {
                                                          1,    c > r
                                                     bp =    r                                       (21)
                                                          e 1− c , c ⩽ r
                 其中,  r  表示参考摘要的长度,   表示生成摘要的长度. BLEU-4          评分的范围在      0–100%  之间, 得分越高表示生成的
                                        c
                 摘要质量越高, 并且与参考摘要的匹配度越高. 近年来, BLEU-4               已成为研究中最主要的评估指标. 基于这一趋势,
                 本文同样采用     smoothed BLEU-4 [61] 作为评估指标.
                    METEOR (metric for evaluation of translation with explicit ordering): 作为一种综合评估指标, 涵盖了精确度和
                 召回率, 旨在解决     BLEU  可能存在的局限性. METEOR      的计算涉及使用一个校准集          m, 该集源自   WordNet 词库. 它
                 利用这个校准集, 通过比较最佳候选翻译与参考翻译, 计算精度                   P 和召回率   R 的调和平均值, 计算公式如下:

                                                              PR
                                                     F mean =                                        (22)
                                                          αP+(1−α)R

                                                        (               ) θ
                                                             #chunks
                                                Penalty = γ                                          (23)
                                                         #unigram_matched

                                                 METEOR = F mean ×(1− Penalty)                       (24)
                 其中,  Penalty 是惩罚因子,  #chunks 表示候选翻译与参考翻译之间连续匹配的片段数,               #unigram_matched  指的是匹
                                                                               θ
                 配的单个词的数量.      #chunks 越小, 候选翻译与参考翻译的匹配程度越高.            α, γ 和   是用于评估的超参数, 通常在机
                 器翻译评估中取值为       α = 0.9, γ = 0.5, θ = 0.3.
                    METEOR  是一种综合评估指标, 不仅考虑了整个语料库范围内的精确度和召回率, 还考虑了句子流畅性以及
                 同义词对语义理解的影响. 然而, 需要注意的是, METEOR              对文本长度可能较为敏感, 并且可能依赖于外部资源来
                 获取参考信息.
                    ROUGE-L (recall-oriented understudy for gisting evaluation): 是一种主要聚焦于评估召回率的度量. 它特别擅长
                 衡量摘要之间的      n-gram  共现信息, 通常在生成包含多个句子或段落的长文本摘要时被使用. ROUGE-L                    通过计算
                 最长公共子序列的重叠度来量化其重合率, 具体如下:
   187   188   189   190   191   192   193   194   195   196   197