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

1604                                     Journal of Software  软件学报 Vol.32, No.6,  June 2021

         函数的梯度,如公式(4)所示:
                                                     ˆ ( ) log ( | , )]
                                      ∇ L () θ =−E yp  [r y ∇  p  ˆ y S θ                     (4)
                                               ˆ ~( ) θ
                                                   ˆ
                                                                                      ˆ
         其中,∇L(θ)表示损失函数 L(θ)的梯度;E表示期望, ()ry 表示智能体得到集合 ˆ y 所获得的奖励; (| , )py S θ 表示智
         能体在参数为θ时,以文档 S 为输入得到输出集合 ˆ y 的概率.REINFORCE 算法在进行了统计学上的观察后,认为
         利用 (| , )py S θ 对数的梯度乘以 ˆ y 获得的奖励负期望,可近似替代损失函数的梯度.
               ˆ
             由于智能体作出的策略存在多样性,将损失函数中的期望全部计算出来的代价是十分高昂的,因此在实践
         中常常使用单个样本近似代替期望值              [32] .故损失函数的梯度可用公式(5)计算:
                                         ∇  L () θ ≈  −  r y ˆ ( ) log ( | , )p y S θ∇  ˆ     (5)
         其中, ˆ y 为近似代替期望值的单个样本.依据 REINFORE 算法,梯度∇L(θ)可近似看作得到该样本的概率
                                                 ˆ
          py ˆ (| , )S θ 取对数后的梯度与该样本所获得奖励 ()ry 乘积的负值.
             为了能够使模型取得优良的效果,并提升训练速度,我们希望在采样过程中避免随机化                              [50] ,并使用高分数的
         样本来近似代替期望.因此尝试了两种采样方法.
             (A)  使用了 Ranzato 等人  [51] 提出的采样方法.该方法使用交叉熵损失函数预训练出一个模型用于获得高
                 分的样本.即,使用该方法训练会有两个阶段:在第 1 阶段,使用交叉熵函数预训练模型;第 2 阶段使用
                 REINFORCE 算法调整模型参数,并得到最终的结果;
             (B)  使用了 Shashi 等人使用的采样方法          [52] ,将损失函数中的 ˆ y 搜索空间限制在预先计算出的高分句
                 集合 Y 中.同其他抽取式摘要生成方法的假设一样,我们认为被选中的句子其 ROUGE 分数应该较高,
                 因此将 Y 近似看作拥有最高 ROUGE 分数的 k 个句子的集合.

         3    实验设置
             本节将介绍实验的相关设置,包括实验所使用的数据集、实现细节、基线实验以及评价指标.

         3.1   数据集
                                          [3]
             我们使用的是 Liu 等人提供的数据集 ,该数据集是由 Liu 等人从 GitHub 上的 1 000 个 Java 项目中爬取的
         333 001 条数据组成的.经过过滤后,该数据集中包含 41 832 有效数据.每条数据均包含了由 commit message 和
         code comment 等 PR 文本信息组成的 PR 源文档和由项目贡献者书写的真实的 PR 描述.为分析可能影响 PR 描
         述生成效果的因素,我们对数据集中不同粒度 PR 的数量进行了统计,统计结果如图 5 所示.





















                                         Fig.5    PR granularity statistics
                                           图 5   PR 粒度数目统计
             在图 5 中,横坐标代表 PR 的粒度,纵坐标代表 PR 的数目.可以看出:该数据集中 PR 粒度的分布十分不均,
   25   26   27   28   29   30   31   32   33   34   35