facebook 摘要生成阅读笔记(一) A Neural Attention Model for Sentence Summarization

流程:

  1.文本和摘要全部输入到模型中。

  2.训练时,对生成摘要取前C个词,从头开始取,如果生成的摘要不足C,那么不足的地方直接补<s>。

  3.训练时,最大化生成的摘要与原摘要的概率,即每个生成的词与原摘要的词进行对比,用损失函数计算梯度,然后下降。

  4.预测时,已经具有了权重的模型,会逐词生成N个词的摘要。

  5.注意力:已生成的摘要的前C个词,求出一个注意力权重,然后再成乘以全部文本经过平滑以后的。

  6.这里生成词,不是只生成一个,而是生成K个集合。,采用beam search算法来寻找目标单词。

    a.这样生成的词不是只有一个,而是生成了K个备选集。

    b.第一个词的时候,按照权重生成第一个词,K种可能不是一个词,而是生成K中可能,要逐渐迭代迭代生成词的词数循环。

    例如:第一个词生成了K种可能。第二次与第一次生成的词要组成K种可能,原来是K2可能,选出K种概率最大的可能的组合。

       

Encoder:

x:整个输入文本

yc:生成的摘要前C个词

y'c:前C个词,经过卷积后的向量

p:soft alighment因子

F:词嵌入矩阵,这里使用的是BOW

G:词嵌入矩阵

P:软对其因子学习矩阵

Decoder:

U、W、V:权重矩阵

E:词嵌入矩阵,BOW(这里前C个已生成摘要的词,不需要卷积)

Decoder:会生成K个最大词的概率,然后用beam search去选

总体流程:

encoder->decoder->beam search

原文地址:https://www.cnblogs.com/callyblog/p/9661108.html