当前位置: 代码迷 >> 综合 >> Fast Abstractive Summarization with Reinforce-Selected Sentence Rewriting论文阅读笔记
  详细解决方案

Fast Abstractive Summarization with Reinforce-Selected Sentence Rewriting论文阅读笔记

热度:6   发布时间:2024-01-12 16:35:09.0

论文链接

https://arxiv.org/pdf/1805.11080.pdf

Idea:

这篇文章的主要想法是把抽取式摘要和生成式摘要结合起来,首先训练一个抽取模型选择出重要句子,然后训练一个生成模型,在抽取出的句子的基础上重写得到最终的摘要,由于总的训练不可微分,所以这里利用强化学习,策略梯度来进行训练。相比其他的baseline,这个模型的速度很快。

method

extractor

在这里插入图片描述
抽取模型如上所示,首先用CNN对每个句子编码得到 r j r_j rj?,然后再用一个双向LSTM编码,用来捕获全局的上下文信息,将每个句子编码成表示 h j h_j hj?。然后选择句子,这里用LSTM训练了一个指针网络,公式如下:

在这里插入图片描述在这里插入图片描述
e t e_t et?计算公式如下,这里的 z t z_t zt?代表解码器的输出
在这里插入图片描述

abstractor

生成模型利用抽取出的重要句子生成摘要,这里使用seq2seq模型,同时引入copy机制

learning

抽取模型难以微分,这里用策略梯度进行训练,因为抽取模型和生成模型会互相影响,这里首先用最大目标策略分别训练抽取模型和生成模型,让抽取模型选择最好的句子,让生成模型尽可能生成好的摘要,再用强化学习训练整个模型
对于抽取模型,因为我们的句子选择是一个文本分类任务,而摘要数据集都是生成任务,没有对应的标签,这里首先利用ROUGE-L生成假标签,公式如下,有了假标签就可以利用交叉熵损失训练抽取模型
在这里插入图片描述
对于生成模型,将每个摘要句子和抽取模型抽取出的重要句子组成训练对,然后利用交叉熵损失训练,和一般的序列模型一样
用强化学习训练整个模型,过程如下图所示,在这里插入图片描述
Extractor观察整个文档和已经抽取出的句子,做出ACTION,选择出一个句子 d i d_i di?,利用Abstractor生成 g ( d t ) g(d_t) g(dt?),和 s t s_t st?计算Reward,公式为 r ( t + 1 ) = R O U G E ? L F 1 ( g ( d j t ) , s t ) r(t+1)=\mathrm{ROUGE}-\mathrm{L}_{F_{1}}\left(g\left(d_{j_{t}}\right), s_{t}\right) r(t+1)=ROUGE?LF1??(g(djt??),st?),
这里使用Actor-critic算法,梯度计算公式如下:
在这里插入图片描述
最小化loss
在这里插入图片描述
这里有一个问题,如何决定抽取句子的数目,这里采用的方法是策略行动空间中添加一个停止动作,具体为在训练阶段添加一个可训练参数 v E O E v_{EOE} vEOE?,对应的ROUGE的得分为 ROUGE-1  F 1 ( [ { g ( d j t ) } t ] , [ { s t } t ] ) \text { ROUGE-1 }_{F_{1}}\left(\left[\left\{g\left(d_{j_{t}}\right)\right\}_{t}\right],\left[\left\{s_{t}\right\}_{t}\right]\right)  ROUGE-1 F1??([{ g(djt??)}t?],[{ st?}t?]),如果没有更好的抽取句子了,模型就会学习停止,避免抽取额外的无用的句子。
这篇文章还采用了一个简单的重排策略,来减少句子间的重复性,根据重复的三元组数对beam search的组合进行重排,越少越好

代码链接:

https://github.com/ChenRocks/fast_abs_rl

  相关解决方案