绪论
文本摘要自动抽取是文本信息抽取的主要任务之一,也是自然语言处理 NLP(Nature Language Process)领域的主要研究方向,它是指利用计算机自动从文本中抽取重要信息,形成摘要的方式表达原文。根据对信息的抽取方式的不同,可将文本自动摘要抽取技术分为两大类:抽取式(extractive)文本摘要生成方式和理解式(abstractive)文本摘要生成方式。抽取式文本摘要生成方法统计文本中各个句子的权重,根据权值进行排序选取重要的句子作为文本摘要,是本次调研的着力点。
简介
针对文本摘要的自动抽取,人们已开展了大量研究,提出了大量文本摘要自动抽取技术和方法。本节把这些技术和方法划分成两大类:基于非监督学习的方法和基于监督学习的方法,将分别简介有代表性的方法理论。
基于非监督学习的方法
基于非监督方法的文摘自动提取技术主要有3大类,分别是基于统计的方法、基于图模型的方法以及基于潜在语义的方法。
基于统计的方法着重强调文章的表层意义,主要考察词汇的频率、句子的位置、句子的长度等信息。Luhn提出特征词的概念,并认为当内容词词频超过给定阈值时该词就能代表文本主题,然后通过特征词的词频和位置来计算句子的重要性。Edmundson利用线索词、标题词、句子位置等多个因素,进行加权来计算句子权重,选文章最高前k个句子作为文本摘要。基于统计的方法进行摘要自动提取的技术简单、便捷、易于实现,但是仅以文章的表层词汇信息难以刻画句子的整体语义,不能很好的衡量句子的重要性;没有考虑句子的上下文信息,难以全局性的选出符合要求的句子。
基于图模型的方法将文章中的句子表示为图中的节点,通过节点的迭代计算出每个句子的重要程度。常见的基于图模型的摘要自动提取算法有TextRank和LexRank等。以TextRank为例,其公式如下所示:
等式左边表示一个句子的权重,右侧的求和表示每个相邻句子对本句子的贡献程度(一般认为一篇文档中全部句子都是相邻的)。每两个句子的关联性由句子之间的相似度确定,在TextRank中,句子之间的相似度计算公式如下:
等式左边表示两个句子的相似度,等式右边表示两个句子词汇的重合度。TextRank/LexRank它们都通过不同句子之间的关系得出更为复杂的句子重要性的度量,但计算句子相似性的方式有所不同。TextRank/LexRank 不需要事先对多篇文档进行学习训练, 因其简洁有效而得到广泛应用,是现阶段基于抽取式文摘生成的基础且重要的算法。
基于潜在语义的方法使用主题模型挖掘句子隐含主题,通过句子主题判断句子的重要性并根据重要性选择相应的句子形成文章摘要。常见的主题挖掘算法有LDA和BTM,不同的是算法的适用范围不一样。基于潜在语义的方法进行摘要自动提取在一定程度上考虑了句子隐含语义信息,更有利于提取符合主题的句子,但LDA在确定主题时候也仅是从词形的角度考虑,既无法避免同义词的影响也难以刻画复杂的语义。
基于监督学习的方法
基于有监督的文摘自动提取技术可以分为基于机器学习的方法、基于深度学习的方法。尽管类别不同,但在进行摘要抽取时都可以视为分类任务或序列标注任务。
基于分类任务的文摘自动提取方法使用一个二分类器确定文章中的句子是否属于摘要,常见的分类器有SVM(支持向量机)、DT(决策树)、CNN、RNN及其变形和组合。基于分类的方法将摘要提取看成是二分类任务,监督学习通过语料和标签的对应关系可以更好地捕捉文本中蕴含的规则,但基于分类的方法只是独立的考察了句子的重要程度并没有关联上下文结构等信息。
基于序列标注任务的文摘自动提取方法采用序列标注模型,通过给每个句子打标签确定这个句子是否属于摘要,抽取式的文本生成任务中常采用的算法有CFR和RNN及其变形和组合。在深度学习中,Encoder-Decoder是典型的序列标注模型,不同的是在文本摘要抽取任务中每一时刻的输入不再是一个个的词向量而是表示整个句子的向量。
上图展示了一个最简单的Encoder-Decoder模型,为了提升模型的性能还可以引入Attention机制,采用transformer形式的Encoder-Decoder以及使用对抗网络也可以提升性能。基于Encoder-Decoder模型的文摘抽取任务既考虑了句子的整体信息也考虑了其上下文信息可以较好的抽取符合要求的文本句子。