Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

哈工大SCIR博士生冯夏冲作者赖勇魁本期编辑张伟男 本期责任编辑

文本摘要简述

1. 简介

随着互联网产生的文本数据越来越多,文本信息过载问题日益严重,对各类文本进行一个“降 维”处理显得非常必要,文本摘要便是其中一个重要的手段。文本摘要旨在将文本或文本集合转换为包含关键信息的简短摘要。文本摘要按照输入类型可分为单文档摘要和多文档摘要。单文档摘要从给定的一个文档中生成摘要,多文档摘要从给定的一组主题相关的文档中生成摘要。按照输出类型可分为抽取式摘要和生成式摘要。抽取式摘要从源文档中抽取关键句和关键词组成摘要,摘要全部来源于原文。生成式摘要根据原文,允许生成新的词语、短语来组成摘要。按照有无监督数据可以分为有监督摘要和无监督摘要。本文主要关注单文档、有监督、抽取式、生成式摘要。

2. 抽取式摘要

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

2.1 传统方法

2.1.1 Lead-3

一般来说,作者常常会在标题和文章开始就表明主题,因此最简单的方法就是抽取文章中的前几句作为摘要。常用的方法为 Lead-3,即抽取文章的前三句作为文章的摘要。Lead-3 方法虽然简单直接,但却是非常有效的方法。

2.1.2 TextRank

TextRank 算法仿照 PageRank,将句子作为节点,使用句子间相似度,构造无向有权边。使用边上的权值迭代更新节点值,最后选取 N 个得分最高的节点,作为摘要。

2.1.3 聚类

将文章中的句子视为一个点,按照聚类的方式完成摘要。例如 Padmakumar and Saran [11] 将文章中的句子使用 Skip thought vectors 和 Paragram embeddings 两种方式进行编码,得到句子级别的向量表示,再使用 K 均值聚类和 Mean-Shift 聚类进行句子聚类,得到 N 个类别。最后从每个类别中,选择距离质心最近的句子,得到 N 个句子,作为最终摘要。

2.2 序列标注方式

抽取式摘要可以建模为序列标注任务进行处理,其核心想法是:为原文中的每一个句子打一个二分类标签(0 或 1),0 代表该句不属于摘要,1 代表该句属于摘要。最终摘要由所有标签为 1 的句子构成。

2.2.1 序列标注摘要基本框架

将文本摘要建模为序列标注任务的关键在于获得句子的表示,即将句子编码为一个向量,根据该向量进行二分类任务,例如 AAAI17 中,Nallapati 等人[10]的工作,使用双向 GRU 分别建模词语级别和句子级别的表示。其模型 SummaRuNNer 如图 1所示。蓝色部分为词语级别表示,红色部分为句子级别表示,对于每一个句子表示,有一个 0、1 标签输出,指示其是否是摘要。

图1 SummaRuNNer 模型

该模型的训练需要监督数据,现有数据集往往没有对应的句子级别的标签,因此需要通过启发式规则进行获取。具体方法为:首先选取原文中与标准摘要计算 ROUGE 得分最高的一句话加入候选集合,接着继续从原文中进行选择,保证选出的摘要集合 ROUGE 得分增加,直至无法满足该条件。得到的候选摘要集合对应的句子设为 1 标签,其余为 0 标签。

2.2.2 序列标注结合Seq2Seq

抽取式摘要还可以在序列标注的基础上结合 Seq2Seq 和强化学习完成。ACL18 中,Zhang等人[14]在序列标注的基础上,使用 Seq2Seq 学习一个句子压缩模型,使用该模型来衡量选择句子的好坏,并结合强化学习完成模型训练。其模型 Latent 如图 2所示。

该方法的核心关注点是:摘要数据集往往没有对应的句子级别的标签,需要通过启发式规则获取,然而仅仅利用这些标签训练模型会丢失很多标准摘要中重要的信息。因此 Latent 模型不采用序列标注方法计算标签级别的损失来训练模型,而是将序列标注作为中间的步骤。在得到序列标注的概率分布之后,从中采样候选摘要集合,与标准摘要对比计算损失,可以更好地利用标准摘要中的信息。

图2 Latent 模型

2.3 Seq2Seq方式

之前的抽取式摘要往往建模句子级别的表示,忽略了关键词的作用。ACL18 中,Jadhav and Rajan等人[5]直接使用 Seq2Seq 模型来交替生成词语和句子的索引序列来完成抽取式摘要任务。其模型 SWAP-NET 在解码的每一步,计算一个 Switch 概率指示生成词语或者句子。最后解码出的是词语和句子的混合序列。最终摘要由产生的句子集合选出。除了考虑生成句子本身的概率之外,还需要考虑该句是否包含了生成的词语,如果包含,则得分高,最终选择 top k 句作为摘要。

2.4 句子排序方式

抽取式摘要还可以建模为句子排序任务完成,与序列标注任务的不同点在于,序列标注对于每一个句子表示打一个 0、1 标签,而句子排序任务则是针对每个句子输出其是否是摘要句的概率,最终依据概率,选取 top k 个句子作为最终摘要。虽然任务建模方式(最终选取摘要方式)不同,但是其核心关注点都是对于句子表示的建模。

2.4.1 句子排序结合新的打分方式

之前的模型都是在得到句子的表示以后对于句子进行打分,这就造成了打分与选择是分离的,先打分,后根据得分进行选择。没有利用到句子之间的关系。在 ACL18 中,Zhou 等人[15]提出了一种新的打分方式,使用句子受益作为打分方式,考虑到了句子之间的相互关系。其模型 NeuSUM 如图 3所示。

句子编码部分与之前基本相同。打分和抽取部分使用单向 GRU 和双层 MLP 完成。单向 GRU 用于记录过去抽取句子的情况,双层 MLP 用于打分。打分如下公式所示。

其中 r 代表 ROUGE 评价指标,代表已经选择的句子集合,代表候选句子,目标是使 得 g 越大越好,即选择最大化收益的句子。

图3 NeuSUM 模型

因此在打分和选择部分,逐步选择使得 g 最高的句子,直到无法满足该条件或者达到停止条件为止。集合 S 为最终摘要。

3. 生成式摘要

抽取式摘要在语法、句法上有一定的保证,但是也面临了一定的问题,例如:内容选择错误、连贯性差、灵活性差等问题。生成式摘要允许摘要中包含新的词语或短语,灵活性高,随着近几年神经网络模型的发展,序列到序列(Seq2Seq)模型被广泛的用于生成式摘要任务,并取得一定的成果。

仅使用 Seq2Seq 来完成生成式摘要存在如下问题:(1)未登录词问题(OOV),(2)生成重复。现在被广泛应用于生成式摘要的框架由 See 等人[13]在 ACL17 中提出,在基于注意力机制的 Seq2Seq 基础上增加了 Copy 和 Coverage 机制,有效的缓解了上述问题。其模型 pointer-generator 网络如图 4所示。

图4 Pointer-Generator 模型

其模型基本部分为基于注意力机制的 Seq2Seq 模型,使用每一步解码的隐层状态与编码器的隐层状态计算权重,最终得到 context 向量,利用 context 向量和解码器隐层状态计算输出概率。

利用 Copy 机制,需要在解码的每一步计算拷贝或生成的概率,因为词表是固定的,该机制可以选择从原文中拷贝词语到摘要中,有效的缓解了未登录词(OOV)的问题。

利用 Coverage 机制,需要在解码的每一步考虑之前步的 attention 权重,结合 coverage 损失, 避免继续考虑已经获得高权重的部分。该机制可以有效缓解生成重复的问题。

基于该框架可以做出一些改进,在 ICLR18 中,Paulus 等人[12],在该框架的基础上又使用解码器注意力机制结合强化学习来完成生成式摘要。

基于上述 Coverage 机制,在 EMNLP18 中,Li 等人[8]基于句子级别的注意力机制,使用句子级别的 Coverage 来使得不同的摘要句可以关注不同的原文,缓解了生成信息重复的问题。

3.1 利用外部信息

除上述问题以外,基于 Seq2Seq 的模型往往对长文本生成不友好,对于摘要来说,更像是一种句子压缩,而不是一种摘要。因此在 ACL18 中,Cao 等人[1],使用真实摘要来指导文本摘要的生成。其核心想法在于:相似句子的摘要也具有一定相似度,将这些摘要作为软模板,作为外部知识进行辅助。其模型 Sum 一共包含 Retrieve、Rerank、Rewrite 三个部分。

Retrieve 部分主要检索相似句子,获得候选摘要。Rerank 部分用于排序候选模板,在训练集中,计算候选与真实摘要的 ROUGE 得分作为排序依据,在开发集与测试集中,使用神经网络计算得分作为排序依据。训练过程中,使得预测得分尽可能与真实得分一致。Rewrite 部分,结合候选模板与原文生成摘要。

3.2 多任务学习

除了将本身数据集的信息作为一种外部知识以外,在 ACL18 中,Guo 等人[3]将摘要生成作为主任务,问题生成、蕴含生成作为辅助任务进行多任务学习。问题生成任务需要根据给定的文本和答案生成问题,要求模型具有选择重要信息的能力,蕴含生成任务要求根据给定文本,有逻辑地推出输出文本,要求模型具有逻辑推理能力。在文本摘要中,定位原文中的关键信息是核心问题,根据原文生成摘要又要求模型具有一定的逻辑推理能力,使得生成的摘要与原文不违背,无矛盾。

3.3 生成对抗方式

在 AAAI18 中,Liu 等人[9]利用 SeqGAN[14] 的思想,利用生成模型 G 来生成摘要,利用判别模型 D 来区分真实摘要与生成摘要。使用强化学习的方法,更新参数

4. 抽取生成式摘要

抽取式、生成式摘要各有优点,为了结合两者的优点,一些方法也同时使用抽取结合生成的方法来完成摘要任务。

在生成式摘要中,生成过程往往缺少关键信息的控制和指导,例如 pointer-generator 网络在 copy 的过程中,无法很好地定位关键词语,因此一些方法首先提取关键内容,再进行摘要生成。

从直觉上来讲,摘要任务可以大致分为两步,首先选择重要内容,其次进行内容改写。在 EMNLP18 中,Gehrmann 等人[2]基于这种想法,提出了“Bottom Up”方式的摘要, 首先使用“content selector”选择关键信息,其次使用 pointer-generator 网络生成摘要。

内容选择部分建模为词语级别序列标注任务,该部分的训练数据通过将摘要对齐到文档,得到词语级别的标签。摘要生成部分使用 pointer-generator 网络,使用内容选择部分计算的概率修改原本 attention 概率,使得解码器仅关注选择的内容。

除了上述以序列标注方式来选择关键词的方法以外,在 NAACL18 中,Li 等人[6]使用 TextRank 算法获得关键词,之后使用神经网络获得关键词语的表示,并将该表示结合 pointergenerator 网络生成摘要。

上述方法从原文中选择重要的部分用来指导摘要的生成,显式地利用了文本级别的信息,在 EMNLP18 中,Li 等人[7],使用门控机制,从编码得到的向量表示中选择有用的信息用于之后的摘要生成,属于一种 Soft 方式。在使用层次化 encoder 得到句子级别的向量表示之后,使用门控机制,得到新的句子级别向量,表示从中选择有用信息。其模型 InfoSelection 如图 5所示。

图 5 InfoSelection 模型

在 ACL18 中,Hsu 等人[4]将抽取式模型的输出概率作为句子级别的 attention 权重, 用该权重来调整生成式模型中的词语级别的 attention 权重,如图 6所示,其核心想法为:当词语级别的 attention 权重高时,句子级别的 attention 权重也高。基于此想法提出了 Inconsistency 损失函数,使得模型输出的句子级别的权重和词语级别的权重尽量一致。在最终训练时,首先分别预训练抽取式和生成式模型,之后有两种方式来结合两个模型,Hard 方式:将抽取式模型抽出的关键句直接作为生成式模型的输入;Soft 方式:将抽取式模型的的输出概率用来调整词语级别的权重

图6 权重调整过程

5. 数据集

常用的文本摘要数据集有 DUC 数据集、New York Times 数据集、CNN/Daily Mail 数据集、 Gigaword 数据集、LCSTS 数据集。

由于 DUC 数据集规模较小,因此神经网络模型往往在其他数据集上进行训练,再在 DUC 数据集上进行测试。

NYT 数据集包含了发表于 1996 至 2007 年期间的文章,摘要由专家编写而成。该数据集的摘要有时候不是完整的句子,并且长度较短,大约平均 40 个词语。

目前广泛使用的是 CNN/Daily Mail 数据集,属于多句摘要数据集,常用于训练“生成式”摘要系统。该数据集一共有两个版本,匿名(Anonymized)版本和未匿名(Non-anonymized)版本,未匿名版本包括了真实的实体名(Entity names),匿名版本将实体使用特定的索引进行替换。

Gigaword 数据集摘要由文章第一句话和题目结合启发式规则构成。

LCSTS 为中文短文本摘要数据集,由新浪微博构建得到。

6. 总结

文本摘要作为传统的自然语言处理任务,至今依旧有新的发展和创新,这一方面得益于模型、方法、语料的支撑,另一方面也是由于摘要任务自身的重要性。摘要生成作为文本生成的一种,除了有着重复、冗余、不连贯、生成较短等问题,还有着摘要任务特定的问题,其中最核心的为:如何确定关键信息。当下的文本摘要更关注“什么是真正的摘要”,而不仅仅是简单地句子压缩。利用外部知识,利用关键词信息等方式来更好的辅助摘要的生成。各个摘要模型各有优点,在实验结果上各有优势。因此在考虑评价指标的同时,更应该关注问题本身,才能使得方法更具有普适性,更好的满足真实需要。

参考文献

[1] Ziqiang Cao, Wenjie Li, Sujian Li, and Furu Wei. Retrieve, rerank and rewrite: Soft template based neural summarization. In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), volume 1, pages 152–161, 2018.

[2] Sebastian Gehrmann, Yuntian Deng, and Alexander M Rush. Bottom-Up Abstractive Summarization. EMNLP, 2018.

[3] Han Guo, Ramakanth Pasunuru, and Mohit Bansal. Soft layer-specific multi-task summarization with entailment and question generation. arXiv preprint arXiv:1805.11004, 2018.

[4] Wan-Ting Hsu, Chieh-Kai Lin, Ming-Ying Lee, Kerui Min, Jing Tang, and Min Sun. A unified model for extractive and abstractive summarization using inconsistency loss. arXiv preprint arXiv:1805.06266, 2018.

[5] Aishwarya Jadhav and Vaibhav Rajan. Extractive summarization with swap-net: Sentences and words from alternating pointer networks. In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), volume 1, pages 142–151, 2018.

[6] Chenliang Li, Weiran Xu, Si Li, and Sheng Gao. Guiding generation for abstractive text summarization based on key information guide network. In Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 2 (Short Papers), volume 2, pages 55–60, 2018a.

[7] Wei Li, Xinyan Xiao, Yajuan Lyu, and Yuanzhuo Wang. Improving neural abstractive document summarization with explicit information selection modeling. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, pages 1787–1796, 2018b.

[8] Wei Li, Xinyan Xiao, Yajuan Lyu, and Yuanzhuo Wang. Improving neural abstractive document summarization with structural regularization. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, pages 4078–4087, 2018c.

[9] Linqing Liu, Yao Lu, Min Yang, Qiang Qu, Jia Zhu, and Hongyan Li. Generative adversarial network for abstractive text summarization. In Thirty-Second AAAI Conference on Artificial Intelligence, 2018.

[10] Ramesh Nallapati, Feifei Zhai, and Bowen Zhou. Summarunner: A recurrent neural network based sequence model for extractive summarization of documents. In Thirty-First AAAI Conference on Artificial Intelligence, 2017.

[11] Aishwarya Padmakumar and Akanksha Saran. Unsupervised text summarization using sentence embeddings.

[12] Romain Paulus, Caiming Xiong, and Richard Socher. A Deep Reinforced Model for Abstractive Summarization. CoRR, 2017.

[13] Abigail See, Peter J Liu, and Christopher D Manning. Get to the point: Summarization with pointer-generator networks. arXiv preprint arXiv:1704.04368, 2017.

[14] Lantao Yu, Weinan Zhang, Jun Wang, and Yong Yu. Seqgan: Sequence generative adversarial nets with policy gradient. In Thirty-First AAAI Conference on Artificial Intelligence, 2017. Xingxing Zhang, Mirella Lapata, Furu Wei, and Ming Zhou. Neural latent extractive document summarization. arXiv preprint arXiv:1808.07187, 2018.

[15] Qingyu Zhou, Nan Yang, Furu Wei, Shaohan Huang, Ming Zhou, and Tiejun Zhao. Neural document summarization by jointly learning to score and select sentences. arXiv preprint arXiv:1807.02305, 2018.


哈工大SCIR
哈工大SCIR

哈尔滨工业大学社会计算与信息检索研究中心

理论文本摘要Seq2Seq聚类多任务学习生成模型强化学习神经网络自然语言处理
231
相关数据
权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

判别模型技术

在机器学习领域,有一种分类方法将模型分为判别模型和生成模型(generative model)两种。 判别模型是一种对未知数据y与已知数据x之间关系进行建模的方法,是一种基于概率理论的方法。已知输入变量x,判别模型通过构建条件概率P(y|x)分布预测结果,或试图直接从输入x的空间学习映射到标签{0,1}(如感知器算法)的函数。生成模型则是考虑x与y之间的联合分布。 在实际应用中判别模型非常常见,如:逻辑回归(logistic regression),支持向量机(support vector machine), 提升方法(Boosting),条件随机场(conditional random fields),神经网络(neural network),随机森林(random forests)典型的生成模型则包括:高斯混合模型(Gaussian Mixture Model),隐马尔科夫模型(hidden markov model),简单贝叶斯(naive Bayes)等。不难看出两者的区别。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

概率分布技术

概率分布(probability distribution)或简称分布,是概率论的一个概念。广义地,它指称随机变量的概率性质--当我们说概率空间中的两个随机变量具有同样的分布(或同分布)时,我们是无法用概率来区别它们的。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

逻辑推理技术

逻辑推理中有三种方式:演绎推理、归纳推理和溯因推理。它包括给定前提、结论和规则

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

生成模型技术

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

序列到序列技术

多任务学习技术

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

聚类技术

将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。“物以类聚,人以群分”,在自然科学和社会科学中,存在着大量的分类问题。聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法。聚类分析起源于分类学,但是聚类不等于分类。聚类与分类的不同在于,聚类所要求划分的类是未知的。聚类分析内容非常丰富,有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等。

京东・算法工程师
还不错啊