社会焦点

学界 | 详解指针生成网络:自动生成长段文本的抽象摘要

字号+ 作者: 来源: 2017-04-30

学界 | 详解指针生成网络:自动生成长段文本的抽象摘要,摘要关键词格式,引言和摘要的区别,如何把摘要自动生成第一页,摘要要查重吗,摘要在目录前还是后

作者:Abigail See

机器之心编译

参与:Nurhachu Null

这篇博文是斯坦福大学计算机科学在读博士 Abigail See 对最近自己和其他研究者们共同发表的论文《Get To The Point: Summarization with Pointer-Generator Networks》的解读,这篇论文即将出现在今年 7 月底在温哥华举行的 ACL 2017 大会上。相关工作的源代码将在近期发布。

如果我们有时间去读,互联网时代已经让数十亿用户对无法预计的大量信息触手可及。尽管我们的生活已经被可获取的有限数据所改变,但是我们仍然被信息过载的问题困扰着。所以,自动文本摘要变得越来越重要,自动文本摘要就是自动地把一段文字压缩为它对应的较短的版本的任务。

论文地址:https://arxiv.org/pdf/1704.04368.pdf

学界 | 详解指针生成网络:自动生成长段文本的抽象摘要

两种类型的概括

一般而言,有两种自动文本摘要的方法:抽取式的的抽象式的。

  • 抽取式的的方法会从源文本中选择一些段落,然后重新组织它们,以形成一段概括。你可以将这种方法想象成一支荧光笔。

  • 学界 | 详解指针生成网络:自动生成长段文本的抽象摘要

  • 抽象式的方法利用自然语言生成技术来写出原创的句子。用类似的比喻,这种方法就像一支钢笔。

  • 学界 | 详解指针生成网络:自动生成长段文本的抽象摘要

    现存的文本摘要的方法中,大部分都是抽取式的,主要是因为选择文本要比从零开始生成文本来得更加容易。例如,如果你用到的抽取式的方法涉及到了从源文本所有的句子中选择和重新组织,那么,你可以保证,生成的摘要是符合语法的、完全可读的,并且是和源文本相关的。被应用到中等长度的事实性文本中时,这些系统会比较成功,如新闻文章和技术性文档。

      几个可以在线使用的抽取式文本摘要系统的链接如下:

  • http://autosummarizer.com/

  • http://textcompactor.com/

  • http://smmry.com/

  • 然而,另一方面,抽取式摘要的方法过于局限,它不能产生像人一样的文本总结,尤其是面对更长、更复杂的文本时。想象你试图仅仅通过选择和重新组织句子来为一部小说写出具有维基百科的风格的剧情简介,例如狄更斯的《远大前程》。这是不可能的。首先,《远大前程》是以第一人称写的,而剧情简介应该以第三人称来写。更重要的是,将一整章的内容压缩为一句话需要强大释义,这只在一个很抽象的框架下才是有可能的,例如「iPip 拜访了 Havisham 小姐,并且爱上了她的养女 Estella」。

    简言之,抽象式摘要可能比较困难,但是它是很必要的!

    了解循环神经网络

      如果你不熟悉循环神经网络和注意力(attention)机制,请查看 WildML(http://www.wildml.com/2015/09/recurrent-neural-networks-tutorial-part-1-introduction-to-rnns/), Andrej Karpathy(http://karpathy.github.io/2015/05/21/rnn-effectiveness/)以及 Distill(http://distill.pub/2016/augmented-rnns/)的优秀教程。

    近年来,循环神经网络(RNN)这种能够执行序列数据的计算(例如单词序列)的神经网络已经成为了许多自然语言处理任务的标准方法。特别地,如下图所示的具有 attention 的序列到序列(sequence-to-sequence)模型在文本摘要中已经变得流行。下面我们看着结构图逐步了解!

    学界 | 详解指针生成网络:自动生成长段文本的抽象摘要

    在这个例子中,我们的源文本是一片以「Germany emerge victorious in 2-0 win against Argentina on Saturday」开始的新闻文章,我们正在生成这样的摘要——「Germany beat Argentina 2-0」。首先,编码 RNN 逐词读取源文本,生成一个编码器隐藏状态的序列(因为我们的编码器是双向的,所以图中的序列有两个方向的箭头。不过,在这里并不重要)。

    当编码器读取整个源文本之后,解码 RNN 开始输出应该形成文本摘要的单词序列。在每一步,解码器将摘要中之前的单词作为输入(在第一步,特定的<START>标志作为写作开始的信号),并用它们来更新解码器的隐藏状态。解码器隐藏状态被用来计算注意力分布,注意力分布是源文本中所有单词的概率分布。直观地说,注意力分布告诉网络「应该看哪里」,以帮助网络生成下一个单词。在上图中,解码器目前生成了第一个单词Germany,并且专注于源文本中的 win 和 victorious,以生成下一个单词 beat。

    然后,注意力分布被用来生成一个编码器隐藏状态的加权和,它被称作语境向量 (context vector)。语境向量可以被视为解码器在这一步骤中「从源文本中看到的东西」。最后,语境向量和解码器隐藏状态被用来计算出词汇分布,它就是在一个通常为成千上百这么大的固定词汇集合中的概率分布。最大概率的单词将会被选为输出(在这一步中,被选中的是 beat),然后,解码器开始下一个步骤。

    解码器的这种以任意顺序自由地生成包括像 beat 这种并未出现在源文本中的单词的能力,使得序列到序列的模型在抽象式摘要中成为一个很有潜力、强大的解决方案。

    两大问题

    不幸的是,用这种方法进行文本摘要时会被两大问题困扰:

  • 问题 1:有时候这种摘要会不准确地复制事实细节(例如,Germany beat Argentina 3-2)。这对像「2-0」这种罕见的或者词汇集之外的词来说尤其常见。

  • 转载请注明出处。


  • 1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • 案例 | 抑郁症、精神分裂,初中生家境优渥,父母为何不让吃药

      案例 | 抑郁症、精神分裂,初中生家境优渥,父母为何不让吃药

    • 实录 |12名女大学生被侵犯,色魔竟然是个老乞丐

      实录 |12名女大学生被侵犯,色魔竟然是个老乞丐

    • 微信群的多人语音和视频聊天功能,你要试试 | 有轻功 #081

      微信群的多人语音和视频聊天功能,你要试试 | 有轻功 #081

    • 为了不让你坐过站,香港人居然做了这款 App | AppWall 精选 #060

      为了不让你坐过站,香港人居然做了这款 App | AppWall 精选 #060