当前位置: 代码迷 >> 综合 >> 【论文笔记】Get To The Point: Summarization with Pointer-Generator Networks
  详细解决方案

【论文笔记】Get To The Point: Summarization with Pointer-Generator Networks

热度:9   发布时间:2024-03-05 21:41:52.0

题目:Get To The Point:Summarization with Pointer-Generator Networks 论文地址

文章目录

  • Abstract
  • 1 Introduction
  • 2 Our Models
    • 2.1 Sequence-to-sequence attentional model
    • 2.2 Pointer-generator network
    • 2.3 Coverage mechanism


Abstract

神经Seq-seq模型为abstractive文本摘要提供了一种可行的新方法(这意味着它们和extractive类的文本摘要有很大的不同,不局限于简单地从原始文本中选择和重新排列段落)。但是目前也存在两大缺陷:总结不准确、重复性的摘要过多。本文在seq_seq的基础上提出了一种新的框架。
首先,用混合PGN(pointer-gennratoe network)去copy源本文中的单词,有助于准确地复制信息,同时保留通过generator产生新单词的能力。其次,使用覆盖率来跟踪已生成的文本摘要,避免重复生成。并在CNN/Daily Mail数据集上做了实验,在两项ROUGE指标上达到了SOTA.


1 Introduction

Summarization的主要任务就是将长文本压缩成能包含关键信息的短句子。目前主要有两大类: extracitve(抽取式)和abstractive(摘要式)。extractive方法通常直接从原文中抽取出句子来作为最终的摘要。这种方法比较简单,就是直接从源文本中copy词组或句子,确保了生成文本的语法性和准确性。abstractive方法可能会生成一些在源文本中不存在的新的单词或词组。

目前所存在的模型普遍存在的问题:生成的摘要存在重复、不准确地再现事实细节、不能处理OOV外的单词。而且多数abstractive的工作都着重集中在标题生成任务上(即将一两个句子简化为一个标题),本文认为,较长的文本摘要不仅更具有挑战性(需要更高的抽象级别,同时避免重复),而且实用性强。因此,基于以上模型的缺点和实际需求,做了以下工作。

1、由于PGN可以通过指向从源文本中复制单词,既能解决OOV的单词(copy),又能生成新的单词(generate)。PGN可以看作是在extracitve和abstractive之间的平衡。
2、从神经机器翻译任务中,提出了变体coverage vector,利用它来跟踪和控制源文档的覆盖率。证明了覆盖对于消除重复是非常有效的。

2 Our Models

2.1 Sequence-to-sequence attentional model

在这里插入图片描述

这一块讲的就是基本的seq-seq attention模型。Encoder部分的输入为句子的embeddingwiw_iwi?, 用双向lstm进行encoder,产生hidden state hih_ihi?。Decoder部分的输入为上一时刻ttt预测单词的embedding(test)或者,用单向lstm进行decoder,产生hidden statests_tst?。然后计算attention:
在这里插入图片描述
vvv, WsW_sWs?WhW_hWh?battnb_{attn}battn?都是超参数,attention 可以看作是源文本词的概率分布,它告诉decoder在哪里寻找产生下一个词。接下来,注意分布被用来产生一个encoder的隐藏状态的加权和,context vectorht?h^*_tht??
在这里插入图片描述
context vector,可以看作是一个储存当前步骤下,能从源文本中读取到的信息的一个容器,是连接与解码器的hidden state sts_tst?,通过两个线性层,产生词汇表示PvocabP_{vocab}Pvocab?
在这里插入图片描述
PvocabP_{vocab}Pvocab?是词汇表中所有单词的概率分布,可以获取预测单词www的概率分布:
在这里插入图片描述
关于loss函数,在training阶段,时间ttt是的产生的预测单词的概率分布和真实目标词之间-log
在这里插入图片描述

在这里插入图片描述

2.2 Pointer-generator network

在这里插入图片描述
本文提出来PGN基于seq-seq和pointer network的混合体。因为它既可以通过指向复制单词,也可以从一个固定的词汇中生成单词。下面对context vector ht?h^*_tht??、decoder hidden state sts_tst?、decoder input xtx_txt?做线性变换,并用sigmoid进行激活,得到generation probalitypgenp_{gen}pgen?
在这里插入图片描述
pgenp_{gen}pgen?相当于一个选择门,用来选择产生的单词是来自于样本词汇表PvocabP_{vocab}Pvocab?,还是通过注意分布抽样,从输入序列中复制一个单词
在这里插入图片描述
在这里,如果www是OOV,Pvocab(w)P_{vocab}(w)Pvocab?(w)为0,当www并没有出现在源文本中,则后者为0。生成OOV单词的能力是PGN的主要优势之一;相比之下,像一些baseline模型则被限制在它们预先设定的词汇表中。

2.3 Coverage mechanism

这一部分主要为了解决生成文本摘要中存在重复性的缺点。采用了coverage model 去解决这个问题。
在这里插入图片描述
ctc^tct代表分布在源文本中词的覆盖程度。c0c^0c0为0,因为在第一步的时候,没有源文本是被覆盖的。然后用coverage vector 去更新attention机制
在这里插入图片描述
这将使注意机制更容易避免重复关注相同的位置,从而避免产生重复的文本。
最终loss值的计算:
在这里插入图片描述

  相关解决方案