Celikyilmaz A, Bosselut A, He X, et al. Deep communicating agents for abstractive summarization[J]. arXiv preprint arXiv:1803.10357, 2018.
NAACL18, Microsoft, Allen Institute, JD AI
该论文在 CNN / Daily Mail Non-anonymized version 取得 SOTA, 之后多篇论文均与该论文成果进行比较,值得一读。
# 论文创新点
现有的模型在长文本上的 Decode 能力不足,一些表现很好的短文本 encoder 面对长文本时编码能力大幅下降,即使是 LSTM 在编码长文本时也存在一定局限性,先输入的部分无法考虑后文,使得编码结果不尽人意。
为解决长文本编码问题,论文借鉴其他领域的 deep communicating agents (DCA) 机制,将一个长文本 (Document) 的多个段落 (paragraphs) 分配给多个 agents 编码,这些 agents 相互之间会分享编码结果,根据其他段落的编码来优化自身编码,之后对编码结果进行整合 (attention 或其他方法),形成 Document vector.
上图是两个简单的 agent 示意图,
# 模型分析
DCA Model 初看之下比较复杂,不过一层一层拆开来看可以很方便的理解:
整个模型由三部分组成: Context Encoder, Attention Layer(Attention 确切说应该算入 Decoder 层,其计算受 Decoder time 影响), Decoder. 其中:
Encoder 由多个 agents 构成,每个 agent 最终生成基于词序列的context vectors;
Attention Layer 共分两层:word attention 和 agent attention. Word attention 是针对一个 agent 的输出(m个词产生的context vectors) 计算出 attention weight 得到加权后的 paragraph vector; agent attention 针对所有 paragraph vector 计算权重,得到 document vector.
Decoder 层结合 document vector 对输出词进行预测,加入 pointer, RL 等方法提高模型处理能力。
# Encoder Layers
记一个文本 Document
模型为每个段落分配一个 agent 进行编码,
Encoder Layer 共分2个部分:
Local Encoder:采用 1-layer BiLSTM 对
Contextual Encoder:Contextual Encoder 有 K 层,每层由 BiLSTM 构成,接受上一层的
其中
为什么取平均
论文中提到,此处取平均也可以是 attention, forward 等其他方法,论文并未对不同方法所得结果进行比对,这里猜测为了缩短训练时间吧(多加的参数反向传播回去更复杂了)。
得到
# Decoder Layers
在经过 Encoder Layer 后, 每个 agent 会产生
Decoder 由 1-layer LSTM 组成,在每一时刻 t, decoder 产生新的 state
# word attention
在 Decoder 做决策时,首先对每个 agent 产生的
v2, W5, W6, b1 均为训练参数。
# agent attention
在得到
# prediction
得到 context vector 后和当前状态
为了避免不同时刻 t 导致 attention 权重变化太快(在不同 agent 间频繁切换),论文引入 contextual agent attention (caa)
, 使用前一时刻的 context vector
# OOV (Pointer Network)
生成式 Summary 总会遇到 OOV (out-of-vocabulary) 问题,通常使用 pointer network ,使用一个门机制将源文本的词加入到预测分布中,当 Decoder 预测到词库外的词时,会从源文本中选取一个词语进行替代。
在本文中,由于有多个 agents 同时参与决策,因此 pointer 也有多个,结合 agent attention 权重进行加权求和:
记 每个 agent 在 t 时刻的生成概率(generation probability) 为
其中
得到了每个 agent 的概率分布,在对所有 agent 加权求和:
这样即得到了最终的词概率分布,且分布中考虑了不同 agent 对于概率的影响。
# Mixed Objective Learning
# MLE
MLE 即 maximum likelihood Estimate,极大似然估计,使词预测概率最大:
# Semantic Cohesion
生成文本可能会出现词语不断重复和语句重复的问题,论文在学习中加入了 语义损失
在 Decoder 预测单词序列 .
位置,即将预测的词序列按照句号分为若干句话 q = 1,2,3 ... Q。取每句话的最后一个 hidden state cos 相似度
:
当两句话关系越远时,其向量相互垂直,此时cos为0,此为优化目标。
MLE 与 SEM 通过 λ 超参数相加:
# RL loss
在学习目标中引入强化学习方法是一个很常见的操作,可以有效提高学习的效率和成果,本文引用强化学习中的 Policy gradient 方法对预测词进行奖励:
记
RL 与 MLE-SEM 通过 γ 超参数加权: