自然语言处理中比较难的一个任务-序文本摘要

优采云 发布时间: 2021-06-22 18:28

  自然语言处理中比较难的一个任务-序文本摘要

  转载

  前言

  文本摘要是自然语言处理中相对困难的任务。别说用机器做总结,就连人类在做总结的时候都需要有很强的语言阅读理解和概括能力。新闻摘要要求编辑从新闻事件中提取最关键的信息点,重新组织语言来撰写摘要;论文摘要要求作者从全文中提取核心工作,然后用更精炼的语言撰写摘要;总结一篇性论文需要作者通读N篇相关主题的论文,用最通俗的语言写出每个文章的贡献和创新,比较每个文章方法的优缺点。自动摘要本质上做的一件事是信息过滤。从某种意义上说,它类似于推荐系统的功能。它旨在让人们更快地找到感兴趣的事物,但它使用了不同的方法。 .

  问题描述

  文本摘要问题根据文档数量可以分为单文档摘要和多文档摘要。根据实现方式,可分为抽取式和抽象式。抽象问题的特点是输出文本比输入文本少很多,但收录了很多有效信息。感觉有点像主成分分析(PCA),它的功能有点像推荐系统,都是为了解决信息过载的问题。目前,大多数应用系统都是提取式的。这种方法比较简单,但是问题很多。原因很简单,只需要从原文中找出比较重要的句子就可以组成输出。系统只需要使用模型。选择信息量大的句子,按照自然顺序组合起来,形成摘要。但是,很难保证摘要的连贯性和一致性。例如,当一个句子收录代词时,仅仅通过连接它是不可能知道代词所指代词的,这会导致结果不佳。在研究中,随着nlp中的深度学习技术,尤其是seq2seq+attention模型的“横行”,大家将抽象抽象的研究提升到了一个层次,提出了copy机制等机制来解决seq2seq模型中的OOV问题。

  本文讨论了使用 abstractive 解决句子级文本摘要问题。问题的定义比较简单。输入为长度为M的文本序列,输出为长度为N的文本序列,其中M> >N,输出文本的含义与输入文本的含义基本相同。输入可能是一个句子或多个句子,输出都是一个句子或多个句子。

  语料库

  这里的语料分为两种,一种是用于训练深度学习模型的大型语料库,一种是用于参与评价的小型语料库。

  1、DUC

  这个网站 提供了一个文本摘要竞赛。 2001年到2007年是网站,2008年改为网站TAC。这是一场正式的比赛,各大文本摘要系统都会在这里展开较量,相互较量。这里提供的数据集都是用来评估模型的小数据集。

  2、Gigaword

  语料库非常大。大约有 950w 个 news文章。数据集以标题为摘要,即输出文本,以第一句为输入,即输入文本。属于单句摘要数据集。

  3、CNN/每日邮报

  这个语料库是我们在机器阅读理解中使用的语料库,这个数据集是一个多句摘要。

  4、Large Scale Chinese Short Text Summarization Dataset (LCSTS)[6]

  这是一个中文短文本摘要数据集。数据采集自新浪微博给学习中文文摘的童鞋们带来了好处。

  型号

  本文提到的模型都是抽象的seq2seq模型。最早在nlp中使用seq2seq+attention模型解决问题是在机器翻译领域。现在这个方法已经席卷了很多领域的排名。

  seq2seq的模型一般有如下结构[1]:

  

  编码器部分使用单层或多层 rnn/lstm/gru 对输入进行编码,*敏*感*词*部分是用于生成摘要的语言模型。这种生成问题可以简化为解决条件概率问题 p(word|context)。在上下文条件下,计算词汇表中每个词的概率值,将概率最高的词作为生成词,依次生成摘要中的所有词。这里的关键是如何表示上下文。每个模型之间最大的区别在于上下文的不同。这里的上下文可能只是编码器的表示,也可能是注意力和编码器的表示。*敏*感*词*部分通常由波束搜索算法生成。

  1、复杂注意力模型[1]

  

  模型中的注意力权重通过将编码器中每个词的最后一个隐藏层的表示与当前*敏*感*词*中最新词的最后一个隐藏层的表示相乘,然后进行归一化来表示。

  2、简单注意力模型[1]

  

  该模型将每个词最后一层隐藏层中编码器部分的表示分为两个块,一个小块用于计算注意力权重,另一个大块用作编码器。该模型将最后一个隐藏层细分为不同的功能。

  3、Attention-Based Summarization(ABS)[2]

  该模型使用三种不同的编码器,包括:词袋编码器、卷积编码器和基于注意力的编码器。 Rush 属于HarvardNLP 小组。这个群体的特点是他们喜欢用CNN来做nlp任务。在这个模型中,我们看到了不同的编码器,从非常简单的词袋模型到 CNN,再到基于注意力的模型,而不是千篇一律的 rnn、lstm 和 gru。*敏*感*词*部分使用了一个非常简单的NNLM,即Bengio[10]在2003年提出的前馈神经网络语言模型。该模型是后续神经网络语言模型研究的基石,也是后续词研究的基础嵌入。了基。基础。可以说这个模型用最简单的encoder和decoder来做seq2seq,是一个非常好的尝试。

  4、ABS+[2]

  Rush 在提出纯数据驱动模型 ABS 之后,又提出了抽象与抽取相结合的模型。在ABS模型的基础上,增加了特征函数,修改了score函数,得到了更好的ABS+。模型。

  5、Recurrent Attentive Summarizer(RAS)[3]

  这个模型是由 Rush 的学生提出的。输入中每个词的最终embedding是每个词的embedding和每个词位置的embedding之和。经过一层卷积,得到聚合向量:

  

  根据聚合向量计算上下文(编码器输出):

  

  权重的计算公式如下:

  

  *敏*感*词*部分使用RNNLM生成。 RNNLM是基于Bengio提出的NNLM的改进模型,也是主流的语言模型。

  6、big-words-lvt2k-1sent 模型[4]

  该模型将大词汇量技巧 (LVT) 技术引入到文本摘要问题中。在该方法中,每个minibatch中*敏*感*词*的词汇以编码器的词汇为准,*敏*感*词*词汇中的词由一定数量的高频词组成。该模型的思想侧重于解决由于*敏*感*词*词汇量大而导致的softmax层的计算瓶颈。该模型非常适合解决文本摘要的问题,因为摘要中的很多词都来自原文。

  7、words-lvt2k-2sent-hieratt 模型[4]

  

  这样的问题在文字摘要中经常遇到。一些关键词 很少出现但非常重要。由于该模型基于词嵌入,对低频词不友好,本文提出了一种decoder/pointer机制来解决这个问题。模型中的*敏*感*词*有一个开关。如果开关状态是打开发电机,则产生一个字;如果关闭,则*敏*感*词*生成一个指向原创单词位置的指针,然后将其复制到摘要中。指针机制在求解低频词时更加鲁棒,因为它使用编码器中低频词的隐藏层表示作为输入,是一种上下文敏感的表示,但只是一个词向量。这种指针机制与下一篇文章中的复制机制非常相似。

  8、feats-lvt2k-2sent-ptr 模型[4]

  

  数据集中的原文一般都很长。原文中的关键词和关键句对于形成总结非常重要。该模型使用了两个双向RNN来捕捉这两个层次的重要性,一个是word-level,一个是sentence-level,模型在两个层次上都使用了attention,权重如下:

  

  9、COPYNET[8]

  

  编码器采用双向RNN模型,输出一个隐藏层表示的矩阵M作为*敏*感*词*的输入。*敏*感*词*部分与传统的Seq2Seq有以下三个部分不同:

  预测:生成词有两种模式,一种是生成模式,一种是复制模式,生成模型是两种模式结合的概率模型。

  状态更新:使用t-1时刻的预测词来更新t时刻的状态。 COPYNET不仅是词向量,还利用了M矩阵中特定位置的隐藏状态。

  读取M:COPYNET也会有选择地读取M矩阵来获取混合内容和位置的信息。

  这个模型的想法与第七个模型的想法非常相似。因为很好地处理了OOV问题,所以效果非常好。

  10、MRT+NHG[7]

  该模型的特殊之处在于它使用最小风险训练训练数据,而不是传统的 MLE(最大似然估计)。将评价指标纳入优化目标,对评价指标进行更直接的优化。效果不错。

  结果

  评价指标是否科学可行,直接影响一个研究领域的研究水平。目前,文本摘要任务中最常用的评估方法是 ROUGE(Recall-Oriented Understudy for Gisting Evaluation)。 ROUGE 的灵感来自 BLEU,一种机器翻译的自动评估方法,不同之处在于它使用召回率作为指标。基本思想是利用模型生成的摘要和参考摘要的n元组贡献统计量作为判断依据。

  

  在中文数据集LCSTS上进行评估,结果如下:

  

  无论是中文数据集还是英文数据集,最好的结果都来自Model 10[7],而且这个模型只是使用了最常见的seq2seq+attention模型,没有使用效果更好的副本。机制或指针机制。

  思考

  自动摘要是我关注的第一个nlp字段。前期有很多相关的论文,各方面都学习了,也有一些比较浅薄的想法。现在我总结一下。

  1、为什么MRT文章文章的结果比其他各种模型好?因为它直接在待优化的目标中收录了ROUGE指标,而不是像其他模型一样使用传统的MLE,传统的目标评估你的生产质量如何,但它与我们最终的评估指标ROUGE不一样。没有直接关系。所以,如果改变一个优化目标,直接针对评价指标进行优化,效果会非常好。这不仅出现在自动摘要中,我记得在机器人相关论文和机器阅读理解相关论文中也出现过,只是具体评价指标不同。这是非常有启发性的。如果用copy机制解决文章[7]中的OOV问题,会不会有更惊人的结果?我们拭目以待。

  2、OOV(词汇量不足)问题。归根结底,文本摘要是一个语言生成问题。只要涉及到生成问题,就难免会遇到OOV问题,因为不可能把词表中的所有词都放在来计算概率。可行的方法是使用Choose topn高频词形成词汇表。 文章[4] 和 [8] 都采用了类似的想法,将原创文本从输入复制到输出,而不是仅仅生成它。这里需要设置一个门来判断单词是复制的还是生成的。显然,加入复制机制的模型将在很大程度上解决OOV问题,并将显着提高评估结果。这个想法不仅适用于抽象问题,也适用于所有生成问题,例如机器人。

  3、关于评价指标的问题。一个评价指标的科学与否,直接影响到该领域的发展水平,我们不说人工评价,只说自动评价。 ROUGE 指标由 Lin 在 2003 年提出 [9]。 13年后,仍然没有更合适的评价体系来取代它。 ROUGE评价过于死板,只能评价输出和目标之间的一些表面信息,不涉及语义层面的东西。能否提出更高层次的评价体系,从语义层面评价摘要?影响。其实技术问题不大,因为计算两个文本序列之间的相似度有无数种解决方案,比如有监督的、无监督的、半监督的等等。期待新的摘要效果评价体系,相信新的评价体系必将推动自动摘要领域的发展。

  4、关于数据集的问题。 LCSTS数据集的构建为中文文本摘要的研究奠定了基础,将极大地推动中文领域自动摘要的发展。当今互联网上最不可缺少的就是数据,大量的非结构化数据。然而,如何构建高质量的语料库是一个难题。如何避免使用过多的人工方法来保证质量,如何使用自动化的方法来提高语料库的质量是一个难题。因此,如果能提出新的思路来构建自动抽象语料库,将是非常有意义的。

  参考资料

  [1] 使用循环神经网络生成新闻标题

  [2] 抽象句摘要的神经注意力模型

  [3] 基于注意力循环神经网络的抽象句子摘要

  [4] 使用序列到序列 RNN 及其他方法的抽象文本摘要

  [5] AttSum:Focusing and Summarization with Neural Attention的联合学习

  [6] LCSTS:*敏*感*词*中文短文本摘要数据集

  [7] 最小风险训练的神经标题生成

  [8] 在序列到序列学习训练中加入复制机制

  [9] 使用 N-gram 共现统计自动评估摘要

  [10] 神经概率语言模型

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线