文本摘要:传统方法整理+论文阅读笔记(CopyNet,Pointer-Generator-Network,NeuSum)

本文详细介绍了文本摘要的三种方法:CopyNet、Pointer-Generator-Network(Pointer-Generator)和NeuSum。CopyNet结合了抽取和生成模式,Pointer-Generator引入了覆盖机制解决重复生成问题,NeuSum则采用端到端模型进行句子选择和排序。这些模型在解决未登录词、重复内容和抽取生成融合上展现了不同的优势。
摘要由CSDN通过智能技术生成

文本摘要:传统方法整理+论文阅读笔记(CopyNet,Pointer-Generator-Network,NeuSum)

摘要

随着互联网产生的文本数据越来越多,文本信息过载问题日益严重,对各类文本进行一个“降 维”处理显得非常必要,文本摘要便是其中一个重要的手段。文本摘要旨在将文本或文本集合转换为包含关键信息的简短摘要。文本摘要按照输入文本长度可分为长文本摘要和短文本摘要。按照输出类型可分为抽取式摘要和生成式摘要。本文将会梳理各类型摘要的经典方法,并根据阅读的三篇论文分别详述不同类别文本摘要的具体方法。

文本摘要方法简述

目前,已有的文本摘要方法可分为三种:抽取式,生成式和抽取生成结合的。

抽取式方法从原文中选取关键词、关键句组成摘要。这种方法天然的在语法、句法上错误率低,保证了一定的效果。传统的抽取式摘要方法使用图方法、聚类等方式完成无监督摘要。目前流行的基于神经网络的抽取式摘要往往将问题建模为序列标注和句子排序两类任务。经典的抽取式方法主要有:

  • Lead-3:通常文章前面部分比较重要,包含文章的总体信息,Lead-3是选取的前三句作为最终的摘要。
  • LexRank:通过计算句子之间的相似度,选取得分高的作为关键句,按照顺序排列作为最终生成的摘要。
  • 聚类方法:常用的聚类方法有K-means、均值漂移、DBSCAN等,选取离聚类中心最近的句子作为关键句,将所有关键句按照顺序排列作为最终的摘要。
  • 序列标注:将原文中每个句子进行标注,1表示用来生成摘要,0反之,形成一个分类模型。
  • 句子排序:对句子进行打分,取分数最高的进行排序,生成最终的摘要。

抽取式摘要在语法、句法上有一定的保证,但是也面临了一定的问题,例如:内容选择错误、连贯性差、灵活性差等问题。生成式摘要允许摘要中包含新的词语或短语,灵活性高,随着近几年神经网络模型的发展,序列到序列(Seq2Seq)模型被广泛的用于生成式摘要任务,并取得一定的成果。仅使用 Seq2Seq 来完成生成式摘要存在如下问题:(1)未登录词问题(OOV),(2)生成重复。抽取式、生成式摘要各有优点不足,为了结合两者的优点抽取生成式是将两种方法结合以达到更好的摘要结果。

本文将主要介绍三篇论文的模型,CopyNet(Jiatao Gu et al, ACL 2016)和Pointer-Generator-Network(Abigail See et al. ACL 2017)这两篇的模型都使用了抽取生成结合的方法进行摘要,NeuSum(Qingyu Zhou et al. ACL 2018)使用的是结合Seq2Seq的抽取式方法。

CopyNet

CopyNet模型在Seq2Seq+Attention的基础上,引入了拷贝机制,使得模型不仅具备传统Seq2Seq生成词的能力,而且可以从输入序列中拷贝合适的片段到输出序列中。在合成数据和真实数据中均取得了不错的结果。

模型综述

CopyNet的结构如图1所示。模型Encoder采用了双向RNN对词进行特征编码,输出一个隐藏层表示的矩阵M作为Decoder的输入。Decoder部分与传统的Seq2Seq不同之处在于以下三部分:

  • 预测:在生成摘要时存在两种模式,一种是生成模式,一种是拷贝模式。最终摘要生成模型是一个结合两种模式的概率模型。
  • Decoder状态更新:CopyNet用t-1时刻的状态来更新t时刻的状态,更新时不仅使用t-1时刻词向量,还使用了矩阵M特定位置的隐含层向量。
  • 矩阵M多重处理:模型使用两种方式处理M,其一使用了基于注意力机制的读取(attentive read);其二选择性读取M矩阵(selective read),来获取混合了内容和位置的信息。

拷贝模式和生成模式}

给定了Decoder当前状态和M矩阵,生成目标单词的概率模型如公式1所示。其中, s t \mathbf{s}_{t} st表示Decoder RNN当前状态, y t − 1 y_{t-1} yt1表示 t − 1 {t-1} t1位置的生成目标信息, c t \mathbf{c}_{t} ct表示attentive read的加权求和结果, M \mathbf{M} M是Encoder RNN的隐含层状态。
p ( y t ∣ s t , y t − 1 , c t , M ) = p ( y t , g ∣ s t , y t − 1 , c t , M ) + p ( y t , c ∣ s t , y t − 1 , c t , M ) \begin{aligned} p\left(y_{t} | \mathbf{s}_{t}, y_{t-1}, \mathbf{c}_{t}, \mathbf{M}\right)=& p\left(y_{t}, \mathbf{g} | \mathbf{s}_{t}, y_{t-1}, \mathbf{c}_{t}, \mathbf{M}\right) \\ &+p\left(y_{t}, \mathbf{c} | \mathbf{s}_{t}, y_{t-1}, \mathbf{c}_{t}, \mathbf{M}\right) \end{aligned} p(ytst,yt1,ct,M)=p(yt,gst,yt1,ct,M)+p(yt,cst,yt1,ct,M)

目标单词的概率公式由两部分构成:生成模式 p ( y t , g ∣ ⋅ ) p\left(y_{t}, \mathbf{g} | ·\right) p(yt,g)和表示拷贝模式 p ( y t , c ∣ ⋅ ) p\left(y_{t}, \mathbf{c} | ·\right) p(yt,c)。两种模式的概率计算分别如公式2、3所示。可见,公式2针对的是高频词词汇表 V \mathcal{V} V中的词和UNK(超纲词汇,OOV)softmax计算概率,公式3则针对只在输入序列中出现过一次的词 X \mathcal{X} X

p ( y t , g ∣ ⋅ ) = { 1 Z e ψ g ( y t ) , y t ∈ V 0 , y t ∈ X ∩ V ˉ 1 Z e ψ g ( U N K ) y t ∉ V ∪ X p\left(y_{t}, \mathbf{g} | \cdot\right)=\left\{\begin{array}{cc}{\frac{1}{Z} e^{\psi_{g}\left(y_{t}\right)},} & {y_{t} \in \mathcal{V}} \\ {0,} & {y_{t} \in \mathcal{X} \cap \bar{V}} \\ {\frac{1}{Z} e^{\psi_{g}(\mathrm{UNK})}} & {y_{t} \notin \mathcal{V} \cup \mathcal{X}}\end{array}\right. p(yt,g)=Z1eψg(yt),0,Z1eψg(UNK)ytVytXVˉyt/VX

p ( y t , c ∣ ⋅ ) = { 1 Z ∑ j : x j = y t e ψ c ( x j ) , y t ∈ X 0  otherwise  p\left(y_{t}, \mathrm{c} | \cdot\right)=\left\{\begin{array}{cc}{\frac{1}{Z} \sum_{j: x_{j}=y_{t}} e^{\psi_{c}\left(x_{j}\right)},} & {y_{t} \in \mathcal{X}} \\ {0} & {\text { otherwise }}\end{array}\right. p(yt,c)={ Z1j:xj=yteψc

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值