NLP 笔记 - Text Summarization

Stanford Dan Jurafsky & Chris Manning: Natural Language Processing 课程笔记。文档/会议/邮件摘要,QA 系统回答 what/how 等复杂问题,都需要自动摘要技术。本篇主要讲基于查询的摘要。

Types of Summarization Task

单文档 vs 多文档

  • Single-­‐document summarization
    给定一个文档,产生 abstract/outline/headline
  • Multiple-­‐document summarization
    给定主题相关的一组文档,通过摘要来概况同一事件/主题的信息

与单文档相比,多文档任务面临的减小句子冗余度/确定句子顺序/确定压缩比率(从每个文档中抽取句子的比例)/指代消解问题都更加的突出

查询无关 vs 查询相关

  • Generic summarization
    对一个文档的内容做整体性的摘要
  • Query-­‐focused summarization
    根据用户查询语句表达的信息需求(information need)来对一篇文档做出摘要总结,如 Google snippets
    用于 QA 系统,根据提问产生文档摘要来回答一个复杂的问题

查询相关的文本摘要对句子重要性的衡量需要同时考虑主题性以及查询相关性

抽取式 vs 合成式

  • Extractive summarization
    摘要句子完全从源文档中抽取形成
  • Abstractive summarization: our own words
    从源文档中抽取句子并进行改写形成摘要

目前来看,大多数的系统是抽取式,合成式的技术还不够成熟。

本章主要讨论 Extractive summarization

Baseline Model

好的作者常常会在标题和第一句话就表达主题,因此最简单的 baseline 就是抽取文档中的首句作为摘要。

Generating snippets: query-focused summaries

看一下 Google snippets

google%20snippets.png
  • Single-­‐document summarization
  • Query-­‐focused summarization
  • Extractive summarization

Main Stages

产生 snippets 的主要步骤(Stages):

  • content selection
    选择需要抽取的句子(segment/moving window)
  • information ordering
    对抽取的句子进行排序
  • sentence realization
    形成摘要
summarization%20stages.png

Base Summarization Algorithm

对一个 base summarization algorithm 而言,其实只需要做第一步 conent selection,之后的 information ordering 即保留句子在源文档的位置,sentence realization 即保留原句。

Unsupervised content selection

我们需要选择的是salient or informative的句子,一般来说,salient words 有两种选择方法

  • tf-idf
    也就是找在该文档中经常出现,并且在其他文章中很少出现的单词
  • topic signature
    通过计算 log-likelihood ratio(LLR) 并设置 threhold 来过滤并选择重要的单词
    $weight(w_i)=1 \ if -2log \lambda(w_i)>10 \ else \ 0$

这里主要介绍下Topic signature-based content selection with queries

Step1: choose words
salient words 有下面两个来源:

  • 计算每个单词的 log-likelihood ratio(LLR) ,根据 threshold 进行选择
  • 选择所有出现在 query 里的单词
topic%20signature.png

Step2: weigh a sentence(or window)
在上一步计算的单词分数基础上,计算每个句子/短语窗口的分数
$$weight(s)={1 \over |S|} \sum_{w \in S} weight(w)$$
选择 top k 个句子。

Supervised content selection

其实是一个二分类问题,对文档中的每一个句子,用分类器进行二值分类,1 代表这个句子可以作为摘要输出句子,0 代表不能。

监督学习方法难点是获得训练集,很有可能摘要句子并不是文档中的完整句子,所以需要事先把文档句子和摘要句子对齐,才能得到分类标签。然后对文档句子抽取特征将句子映射为特征向量,再训练分类器,可以用的算法如 Naive Bayes/Decision Tree/HMM/CRF/LR/SVM/SVM-HMM等

supervised%20content%20selection.png

Summary

上面提到的只是最基础的方法,对非监督方法而言,还有下面的方法

  • 线性组合方法:利用手工构建的评分函数,采取若干重要特征并手工设定特征权重,以此来对句子重要性进行得分计算。
  • 词汇链方法:通过文章中相邻句子的语义相似性来判断文章主题,引入Wordnet等语言资源中的同义词和近义词信息,分析文章中相邻句子的语义相似性。寻找若干最长的词汇链来确定文章包含主题,并依此来构建文摘句子集合;[6,7]
  • 图模型方法:将文章中每个句子作为图中的节点,利用句子之间内容相似性构建图中节点之间的边。构建好文章图后,利用PageRank或者HITS算法来迭代计算图中节点的权值,按照权值大小作为句子重要性的评分依据来对文摘句子进行抽取。[3,4]
  • 子主题分析方法:通过聚类或者语义块分析等手段,发现文章包含的子主题,并从不同的子主题中抽取句子来构造摘要句子集合。LSA,PLSA等方法属于这一类[8,10,12]。

一些研究工作 Document Summarization using Conditional Random FieldsEnhancing Diversity, Coverage and Balance for Summarization through Structure Learning对主流的一些自动文摘方法做了对比,对于非监督方法来说,基于 HITS 的图模型方法明显优于其他方法,对于监督方法来说,SVM-HMM 和 CRF 方法效果最好,其中 SVM-HMM 方法在一般测试集合上稍微优于CRF,在难度高的测试集合上效果明显好于CRF方法。这两个方法优于HITS图模型方法,不过优势并非特别明显;从测试结果来看,方法效果排序如下 SVM-HMM>CRF>HITS>HMM>SVM>LR>NB>LSA

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
1. 简单特征线性组合方法(非监督方法)
即确定一些主要特征,然后设定特征权重后根据线性组合方式来进行句子打分和排序输出;
优点:
方法简单;
无需训练数据;
执行速度快;
缺点:
由于手工拟合评分函数,只能采取部分主要特征;
权重设定需要手工设置并不断调试;
效果一般;
2. 基于HITS的图模型方法(非监督方法)
考虑到目前的研究表明,基于 HITS 的图模型方法是非监督方法中效果最好的,如果采取非监督方法,则优先考虑 HITS 的图模型方法;
优点:
无需训练集合;
基本与语言和领域无关;
效果好;
缺点:
由于存在任意句子相似性计算和迭代计算,所以运行速度相对比较慢;需要改进速度提出改进方法;
该方法没有考虑信息冗余的问题,可能需要有针对性的改进;
3. 基于 CRF 或者 SVM-HMM 的监督学习方法
目前研究表明,CRF 和 SVM-HMM 在所有监督和非监督方法中是效果最好的,其中 SVM-HMM 效果略好于 CRF,CRF 略好于 HITS 图模型方法;所以如果采取监督学习思路,可以考虑CRF或者SVM-HMM的方法;
优点:
效果好;
缺点:
需要训练数据;
效果依赖于训练数据质量和领域等方面的情况;
执行速度慢;尤其是融合HITS模型等复杂特征,需要首先计算复杂特征,所以速度应该是最慢的;

这部分的总结来自文本摘要技术调研

[1] .Jie Tang, Limin Yao, and Dewei Chen . Multi-topic based Query-oriented Summarization.
W.-T.Yih, J. Goodman, L. Vanderwende, and H. Suzuki. Multi-document summarization by maximizing informative content-words.In Proceedingsof IJCAI’07, 2007.
[2] Dou Shen1,Jian-Tao Sun.etc DocumentSummarization using Conditional Random Fields. InProceedingsof IJCAI’07, 2007.
[3] GunesErkan. Dragomir R. Radev. LexRank: Graph-based LexicalCentrality as Salience in Text Summarization. Journal of ArtificialIntelligence Research 22 (2004) 457-479
[4] Rada Mihalcea. Language Independent Extractive Summarization.
[5] Liangda Li, Ke Zhou†,Gui-Rong Xue etc Enhancing Diversity, Coverage and Balance for Summarization through Structure Learning. WWW 2009.
[6] Gregory Silber and Kathleen F. McCoy Efficient Text Summarization Using Lexical Chains.
[7] Barzilay,Regina and Michael Elhadad. Using Lexical Chainsfor Text Summarization. in Proceedings of the IntelligentScalable Text Summarization Workshop(ISTS’97), 1997.
[8] Shanmugasundaram Hariharan Extraction Based Multi Document Summarization using Single Document Summary Cluster Int. J.Advance. Soft Comput. Appl., Vol. 2, No. 1, March 2010
[9] ShanmugasundaramHariharan, “Merging Multi-Document Text Summaries-A Case Study”, Journal of Scienceand Technology, Vol.5, No.4,pp.63-74, December 2009.
[10] JinZhang etc AdaSum: An Adaptive Model for Summarization. CIKM 2008.
[11] Varadarajan and Hristidis. A System forQuery-Specific Document Summarization CIKM2006.
[12] LeonhardHennig Topic-based Multi-Document Summarization with Probabilistic Latent Semantic Analysis

Complex Questions: Summarizing Multiple Documents

自动摘要还可以用于回答复杂的问句(如 how/what),有两大类方法,自底向上的 snippet 方法,以及自上而下的信息抽取方法。

Bottom-up snippet method:

  1. 找到相关文档集合
  2. 从文档集合中抽取 informative sentences
  3. 对句子进行排序并形成回答

Top-down information extraction method:

  1. 根据不同的问题类型建立特定的信息抽取框架
  2. 抽取信息
  3. 形成回答

属于研究热点,有很大提升空间。

Bottom-up snippet method

处理框架:

query-focused%20multi-document%20summarization.png

Sentence Simplification

首先简化句子,可以删除 同位语/定语从句/没有命名实体的介词短语/句子开头的状语

Simplifying%20sentences.png

Sentence Extraction

Maximal Marginal Relevance(MMR)

MMR 是一种从多个文档中进行选择的递归(iterative)方法,递归的从文档中选取最合适的句子插入到 summary/answer 中,两个指标是相关性(relevant),以及 新颖度(novel)。这在Search Engines笔记 - Diversity也提到过。

  • Relevant
    与 query 最相关的句子,high cosine similarity to the query
  • Novel
    减少 summary/answer 的冗余程度,low cosine similariy to the summary
    $\hat S_{MMR}=max s \in D \lambda sim(s,Q) - (1-\lambda)max s \in S sim(s,S)$
  • 不断添加句子到 summary 中,直到 summary length 到达预期要求

LLR + MMR: choosing informative yet non-redundant sentences

1.  根据 LLR 对每个句子进行打分
2.  选择 top k 个句子作为候选的摘要句
3.  迭代的从候选集里选取高分并且还不在当前摘要里的句子,添加进摘要

Information Ordering

  • 时间顺序(Chronological ordering)
    根据时间对句子进行排序,主要用于新闻类的摘要(Barzilay, Elhadad, and McKeown 2002)
  • 一致性(Coherence)
    根据 cosine similarity 对句子排序,使得摘要中相邻的句子更相似,或者相邻句子讨论同一个实体(Barzilay and Lapata 2007)
  • 专题排序(Topical ordering)
    从源文档中学习主题排序

Information Extraction Method

用信息抽取(IE)的方法来回答,比如说一个人物传记类的问题答案通常包含人物的 生卒年月,国籍,教育程度,名望/荣誉等,一个定义类问题(definition)通常包括 属(genus)或者上位词(hypernym),如 The Hajj is a type of ritual,一个关于用药的医学类问题通常包括 问题(medical condition)、治疗(intervention, the drug or procedure)和结果(outcome)

de%EF%AC%81nition%20questions.png

上图是课程提到的 IE 方法框架,暂时不是很理解 predicate identification 这一步,感觉 Multidocument Summarization via Information Extraction这篇文档的框架更加 straight-forward 一些。

IE%20METHOD.png

Evaluating summaries: ROUGE

ROUGE 是内部评价指标,以 BLEU 为基础,虽然比不上人工评价,但是用起来很方便

给定一个文档 D,以及一个自动生成的文本摘要 X:

  1. 由 N 个人产生 D 的 reference summaries
  2. 运行系统,产生自动文本摘要 X
  3. 计算 reference summaries 中的 bigram 在 X 里出现的比例
ROUGE-2.png

举个例子,问句是 “What is water spinach?”,Human 1, Human 2, Human 3 是人工产生的 reference summaries,System answer 是自动摘要,计算如下

ROUGE%20EXAMPLE.png
徐阿衡 wechat
欢迎关注:徐阿衡的微信公众号
客官,打个赏呗~