Page 31 - 《软件学报》2021年第6期
P. 31

邝砾  等:大粒度 Pull Request 描述自动生成                                                    1605


         有 17 802 条 PR 只包含 2 条 commit,而粒度为 20 的大粒度 PR 仅有 53 条.由于目标是为大粒度的 PR 生成描述,
         我们过滤了粒度为 2~4 的 PR,保留了粒度为 5 及以上的 PR.过滤后,最终数据集总共包含 10 144 条数据.
         3.2   实现细节
             与常规设置相同,实验中使用的词表包含 50 000 个单词.在构图时,为了避免停用词等特殊词汇对实验结果
         的影响,我们在选择词节点时过滤了低频词、停用词和标点符号.
                       [7]
             同 Wang 等人 的设置相同,我们初始化单词节点为 300 维的特征向量,句子节点为 128 维的特征向量,初始
         化边 e ij 为 50 维的向量.在图神经网络层使用 8 头的自注意力机制学习节点信息,并且将隐藏层大小设置为 64.
         在训练过程中,我们使用了 Adam 优化器,并将学习率设置为 5e−4.在解码过程中选择抽取 3 个句子生成 PR 描
         述,选择抽取句子的数目是通过调参实验确定的,该实验结果将在第 4.1 节中详细描述.
         3.3   基线实验
                      [3]
             与 Liu 等人 的工作相同,我们选取 LeadCM 和 LexRank 作为基线实验;同时,Liu 等人的工作也被当作基线
         实验与本文提出的方法进行对比.
             •   LeadCM:LeadCM 是常用的摘要抽取方法,其实现简单,在摘要生成领域颇受工业界的欢迎.其思想是
                抽取文档中的前 k 个句子组成摘要,与上述实验的设置相同,本文也利用 LeadCM 获取 3 个句子组成
                PR 描述;
             •   LexRank:LexRank 是一种通过计算句子的重要性对句子进行排序,并选择文章中最重要的句子作为摘
                要的摘要生成方法.它是 PageRank 算法在抽取式文档摘要生成中的应用.对于给定的 PR 源文档,我们
                利用 LexRank 方法,首先根据重要性对句子进行排序,然后选择排在前三的句子组成 PR 描述;
             •   PG+RL:PG+RL 是 Liu 等人生成 PR 描述方法的核心部分,该方法利用带有注意力机制的编解码模型抽
                象式的生成 PR描述.为解决 PR描述生成过程中会出现大量未登录词以及训练目标与评价指标不一致
                的问题,Liu 等人引入了指针生成网络和强化学习来优化模型.
         3.4   评价指标

             本文选用摘要生成任务中常使用的 ROUGE              [44] 分数作为衡量生成的 PR 描述质量高低的评价指标.ROUGE
         指标在召回率、准确率和 F1 这 3 个维度衡量生成摘要与真实摘要之间差距,其由一系列评价规则构成,在这里,
         主要使用最为常见的 ROUGE-N 和 ROUGE-L 评价方法,其中,ROUGE-N 评价方法的计算公式如下:
                                                 ∈ ∑
                                               ,ref S ∑   C gen  (gram n )
                                     R    =  gen     gram ∈  n ref                            (6)
                                      rouge -n  ,ref S ∑  ∈ ∑  C  (gram  )
                                              gen    gram ∈  n ref  ref  n
                                                          C gen (gram n )
                                                 ∈ ∑ gen
                                                       ∈ ∑ gram
                                     P    =    ,ref S  n ref                                  (7)
                                      rouge -n   ∈ ∑      C  (gram  )
                                               ,ref S  gram n gen  gen  n
                                                       ∈ ∑ gen
                                                  2R    P
                                          F 1   =   rouge -n rouge -n                         (8)
                                            rouge -n  R  +  P
                                                   rouge -n  rouge -n
         其中,R,P,F1 分别代表召回率、准确率和 F1 这 3 个维度;rouge-n 代表 ROUGE-N 评价规则,在这里,n 取 1 或 2,
         指应用 n 元文法(n-gram);gen,ref,S 则分别代表了生成的 PR 描述、人工书写的参考 PR 描述及测试集;gram n 代
         表 n-gram 短语,C gen (gram n )和 C ref (gram n )分别代表 n-gram 短语在生成的 PR 描述和参考描述中出现的次数.
             在这里:召回率衡量的是生成描述中出现的关键词(生成描述和参考描述中共同出现的 n-gram 短语)数量
         占参考摘要的比重,即生成描述要捕捉到了多少参考描述中的信息,更加看重生成描述中所带信息数量;而准确
         率衡量的则是生成描述中的关键信息占生成描述的比重,其更看重生成描述是否足够精简;F1 维度平衡了召回
         率与准确率,其既希望生成的描述能带有一定的信息,又希望它是精简的,是一个比较综合的指标.在本问题中,
         相对于准确率,我们更希望模型在召回率方面能够有所提升,这意味着模型捕捉到 PR 中的关键信息将会更多,
         生成结果对 PR 的描述会更加全面.但是仅仅关注召回率有可能会使生成结果语言不够精炼,带有大量的无关信
   26   27   28   29   30   31   32   33   34   35   36