流浪天空 2019-01-17
不少人说,对人类语言文本的真正语义理解可能是自然语言处理(NLP)的圣杯——这句话并不夸张。遗憾的是,对人类语言直接的“理解”并不能简单地依赖文本摘要。
不过,我们的分析必须继续进行。目前有一系列实际的技术用于文本摘要,其中一些可以追溯到几十年。本文将介绍目前文本摘要使用的主要方法并讨论其特征。
自动文本摘要技术
明确地说,当提到“自动文本摘要”时,我们指的是通过使用机器,并以某种形式的启发式或统计方法来对一份或多份文档进行摘要。在这种情况下,摘要是一段简短的文本,它准确地捕获和传达我们想要摘要的文档中包含的最重要和最相关的信息。我们目前使用的各种不同的自动文本摘要技术,其效果有许多是经过实践检验的。
有一些可以对自动文本摘要技术进行分类的方法,如图1所示。本文将从摘要输出类型的角度探讨这些技术。在这方面主要有两类技术:抽取式和抽象式。
图一 自动文本摘要方法
抽取式文本摘要方法:从语篇中识别出重要的句子或摘录,并逐字复制,作为摘要的一部分。不生成新文本,在摘要过程中只使用现有文本。
抽象式文本摘要方法:采用更强大的自然语言处理技术来解释文本并生成新的摘要文本,而不是选择最具代表性的现有摘录来进行摘要。
虽然这两种方法都是文本摘要的有效方法,但抽象技术更难实现。事实上,现在大多数摘要过程都基于抽取式方法。这并不意味着抽象式方法应该被忽视,相反,对该种方法进行研究——以及对人类语言的真正语义理解——是一项值得追求的事情。
因此,本文余下部分将重点介绍抽取式文本摘要的具体内容及其不同的实施技术。
抽取式文摘
抽取式文摘技术各不相同,但它们都有相同的基本任务:
1.建立输入文本的中间表示(待摘要的文本)
2.根据构建的中间表示对句子进行评分
3.选出按重要性排名前k个句子的摘要
任务2和任务3非常简单:在句子评分中,我们要确定每个句子在多大程度上传达了所摘要文本的重要方面,而句子选择则使用一些特定的优化方法来执行。这两个步骤的算法各不相同,但其概念简单易懂——根据某种度量标准为每个句子打分,然后通过一些定义明确的句子选择方法从得分最高的句子中进行选择。
第一项任务是中间表示,可以进一步阐述。
中间表示
在对句子进行评分和选择之前需要赋予自然语言某种意义,为了达到此目的,需要为每个句子建立一些中间表示。下面简要定义了两个主要类别的中间表示,即主题表示和指标表示,以及它们的子类别。
主题表示 - 以识别文本主题为重点的文本转换;此方法的主要子类别包括:
· 频率驱动方法
· 主题词方法
·潜在语义分析(LSA)(https://en.wikipedia.org/wiki/Latent_semantic_analysis)
· 贝叶斯主题模型 - 例如潜在狄利克雷分配(LDA)(https://en.wikipedia.org/wiki/Latent_Dirichlet_allocation)
最流行的两种词频方法是词概率和TF-IDF(https://en.wikipedia.org/wiki/Tf%E2%80%93idf)。
在主题词方法中,有两种计算句子重要性的方法:通过其所包含的主题签名的数量(句子讨论的主题数量),或者通过句子包含的主题的比例与文本中包含的主题数量。因此,第一类倾向于用于较长的句子,而第二类则衡量主题词的密度。
对潜在语义分析和贝叶斯主题模型方法(如LDA)的解释不在本文讨论范围,但可以在上面的链接中查看。
图二 构建词袋特征向量
指标表示 - 将文本中每个句子转换为重要特征列表,其功能可能包括:
· 句子长度
· 句子位置
· 句子是否包含特定单词(有关此类特征提取方法的示例,请参见图2,词袋(https://en.wikipedia.org/wiki/Bag-of-words_model))
· 句子是否包含特定短语
使用一组特征来表示文本数据和并对其进行排序,可以通过使用两种总体指示表示方法中的任一种来执行:图形方法和机器学习方法。
使用图形表示:
· 我们发现,子图最终代表了本文所涵盖的主题。
· 我们能够分离出文本中的重要句子,因为这些句子将与更多其他句子相连(如果你将句子视为顶点,并将句子相似性表示为边缘)。
· 我们不需要考虑特定语言的处理,该方法可应用于各种语言。
· 我们经常可以发现,通过图形化的句子相似性获得的语义信息比简单的频率方法更能提高摘要性能。
使用机器学习表示:
· 摘要问题被建模为分类问题
· 为了将句子分类为摘要句子或非摘要句子,我们需要标记训练数据并构建分类器
· 半监督学习等替代方案解决了部分标记数据难题
· 我们发现某些假定句子之间依赖关系的方法往往胜过其他技术
文本摘要是自然语言处理的一个振奋人心的子学科。虽然人们每天都在使用和研究各种摘要的方法,但是在理解上述概念的基础上,你应该能对这些方法的操作有所了解,至少是在一个很高的水平上。