Ranking Sentences for Extractive Summarization with Reinforcement Learning

中文标题:基于强化学习的句子排序抽取式摘要

开源链接:https://github.com/shashiongithub/Refresh

论文链接:​​​​​​https://arxiv.org/pdf/1802.08636.pdf

发表:NAACL 2018

组织:爱丁堡大学

Abstract

本文将抽取式摘要任务当作一个句子排名任务,提出了一个基于强化学习的新方法。并且在CNN/DM数据集上达到了SOTA。

1. Introduction

作者提到先前的抽取式摘要通常是将摘要任务当作二分类任务,即预测文本中的某一句话是否被选为摘要,通常使用交叉熵作为损失函数。作者认为交叉熵做训练并不是最佳的抽取式摘要的方法,用此种方式很容易产生冗长的摘要,包含很多不必要的信息。本文提出要全局优化ROUGE指标并通过强化学习的目标来对句子进行排序以生成摘要。

2. Summarization as Sentence Ranking

对于一个文档D以及句子序列(s_{1},...,s_{n}),模型首先为每个句子预测一个标签y\in(0,1),其中标签1代表句子应该出现在摘要之中,接着模型学习为标签为1的句子s_{i}分配一个分数p(1|s_{i},D,\theta),最后根据得分排序,取前m个句子组成摘要。本文提出的模型包含三个模块:sentence encoder、document encoder、sentence extractor,模型结构如下所示:

2.1 Sentence Encoder

此模块使用了时域卷积神经网络(TCN)进行编码,作者认为CNN能够有效地识别句子中的一些突出的有代表性的模式。在摘要中,CNN能够识别出与“gold summary”相关的命名实体和事件等。

2.2 Document Decoder

顾名思义,就是组合句子序列获得文档的表示,作者将反转顺序的句子序列输入到一个LSTM网络中,用相反的顺序可以确保模型一直在考虑对于摘要更加重要的句子(不知道为什么,是因为一般文档的前几句对于摘要更加重要么)。

2.3 Sentence Extractor

本模块也使用一个LSTM模型接softmax激活函数,首先文档的句子根据文档表示(document decoder产生的文档表示,将其作为本模块LSTM的初始隐藏状态)和之前已经标注过的句子(LSTM是时序模型,之前时刻的句子已经被标注完)来进行二元分类,通过分类,句子抽取器能识别文档中一些重要的句子。接着对标签为1的句子进行排序,置信分数是由softmax函数给出的。

作者通过强化学习的方式直接对ROUGE指标进行优化。

3. The Pitfalls of Cross-Entropy Loss

之前的工作主要是极大化似然函数:

 极大似然也可以通过极小化每个时间步的交叉熵损失得到:

 本节作者主要讨论了交叉熵损失对于抽取式摘要任务的缺点,有以下两个不符合:

(1)第一个是任务定义与训练目标的脱节:极大似然估计旨在估计ground truth的似然,然而模型的任务为(a)对句子排名来抽取摘要;(b)使用ROUGE评估模型。

(2)第二个是对于ground truth标签的依赖:训练的文本不是天生就带有标签的,都是通过从人工生成的摘要中推断而来的。对于标签的分配,有以下两种方式:

(a)基于规则的方法,根据人工生成的摘要的语义为每个句子分配标签;

(b)识别能够达到最优ROUGE指标的句子集合,为句子集合中的每个句子标注为1。

其中(a)方法会产生过多的标注为1的句子,容易导致模型过拟合,所以(b)方法是一个更好的选择,作者将其称为集体标签(collective labels)

解决了句子标签的问题,作者阐述了为什么交叉熵损失不好,作者表明,在集体标签上,交叉熵损失只会考虑少量的标注为1的句子(只会极大化标注为1的句子的概率),因此很容易造成模型的欠拟合,作者认为在训练过程中,有很多ROUGE得分很高的句子也应该被考虑,而不仅仅考虑这些标注为1的句子。作者在下表中举了一个例子:

35.6

本文采用的训练目标不是极大化似然函数,而是预测每个句子单一的ROUGE分数,然后取分数最高的m个句子组成摘要。但是分数最高的m个句子的组合并不一定是分数最高的摘要,因为可能会有几个ROUGE分数高的句子组合在一起后会造成大量的冗余。举例来看,商上表中的句子3有很高的ROUGE分数(35.6),但是前五个高分摘要中却没有句子3。作者将使用强化学习的方式来解决这个问题。

4. Sentence Ranking with Reinforcement Learning

强化学习能够提升抽取式摘要的效果主要表现在以下两个方面:

(1)能够直接优化验证时的评价指标;

(2)能够更好的对句子进行判别,如果一个句子经常出现在高分摘要中,其排名相对会很高。

4.1 策略学习

以强化学习的视角,模型可以看作是与一个文档组成的“环境”交互的“代理”。首先“代理”被随机初始化,对每个句子使用如下策略来预测相关分数:

当“代理”读过整篇文档后,一个带有标签\hat{y}的摘要会被抽取出来,作者采用ROUGE-1、ROUGE-2、ROUGE-L的平均F1 score作为“奖励”函数(其中,ROUGE-1、ROUGE-2用来评估信息量,ROUGE-L用来评估句子流畅度):

极小化此函数可以看出,该目标是通过句子在高分摘要中出现的频率来学习句子是否应该摘要中出现。

注:强化学习是基于如下观察,不可微分的奖励函数的期望梯度可以由如下公式计算:

4.2 使用高概率样本进行训练

观察上述梯度公式,因为抽取句子的方式太多,故上述的期望求解很困难,故作者在此做了一个简化,通过一个单一样本来近似代替一个训练batch的期望梯度:

强化学习算法可以通过随机策略开始学习, 它的优点是能够挑战复杂任务, 比如从大量的候选句子摘要中进行选择的任务。

作者将\hat{y}的搜索空间限制为最大概率样本集合\hat{Y},并使用获得最高分的k次抽取结果作为\hat{Y}的近似。具体来讲,首选选取p个句子组成候选摘要(这些句子本身具有很高的ROUGE得分),接着在满足最大长度m的情况下生成p个句子的所有组合,并且使用人工摘要进行验证。将所有的摘要按照ROUGE-1、ROUGE-2、ROUGE-L的平均F1值进行排序。在训练过程中,将从\hat{Y}中进行采样。

5. Experiment

6. Conclusion

由于我个人对于强化学习也不是太了解,整篇文章也是读的云里雾里,之后可能会专门了解一下强化学习的内容。

本文主要提出了常规的抽取式摘要使用的交叉熵损失的缺点,并提出了直接针对评价指标(ROUGE)进行优化的强化学习的方法。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值