• 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

  • 相关阅读:
    windows下的IO模型之选择(select)模型
    tcp通讯中socket套接字accept和listen的关系
    转一篇shell中关于各种括号的讲解
    记两个std接口equal_range,set_difference
    nginx学习
    c++ 读取文本问题
    vim使用常看
    CNN设计一些问题
    什么是反射?反射机制的应用场景有哪些?
    java为什么只有值传递?
  • 原文地址:https://www.cnblogs.com/callyblog/p/9661108.html
Copyright © 2020-2023  润新知