文本摘要(text summarization)任务:研究范式,重要模型,评估指标(持续更新ing...)

诸神缄默不语-个人CSDN博文目录

本文是作者在学习文本摘要任务的过程中,根据学习资料总结逐步得到并整理为成文的相关内容。相关学习资料(包括论文、博文、视频等)都会以脚注等形式标明。有一些在一篇内会导致篇幅过长的内容会延伸到其他博文中撰写,但会在本文中提供超链接。
本文将主要列举里程碑式的重要文本摘要论文。
注意:除文首的表格外,本文所参考的论文,如本人已撰写对应的学习博文,则不直接引用原论文,而引用我撰写的博文。
本文会长期更新。

经典文本摘要论文:文本摘要经典论文

文章目录

  • 1. 任务类型
    • 1.1 生成式摘要(重写)和抽取式摘要(句子压缩任务)
      • 1.1.1 生成式摘要abstractive summarization
      • 1.1.2 抽取式摘要extractive summarization
    • 1.2 单文档摘要和多文档摘要
      • 1.2.1 单文档摘要single-document summarization
      • 1.2.2 多文档摘要multi-document summarization
    • 1.3 重要研究方向
  • 2. 抽取式摘要
    • 2.1 无监督方法
    • 2.2 有监督方法
  • 3. 生成式摘要
    • 3.1 抽取+生成
      • 3.1.1 解耦的
      • 3.1.2 端到端(end2end)的
    • 3.2 纯生成式方法
      • 3.2.1 基础seq2seq模型
      • 3.2.2 Pointer-Generator模型
  • 4. 评估指标
    • 4.1 人工评估指标
    • 4.2 ROUGE (Recall Oriented Understudy for Gisting Evaluation)
      • 4.2.1 计算指标
      • 4.2.2 对rouge指标的更深入研究和改进
    • 4.3 BLEU (Bilingual Evaluation Understudy)
    • 4.4 Perplexity
    • 4.5 METEOR (Metric for Evaluation for Translation with Explicit Ordering)
    • 4.6 Bertscore
    • 4.7 其他指标
  • 5. 其他正文及脚注中未注明的参考资料

1. 任务类型

1.1 生成式摘要(重写)和抽取式摘要(句子压缩任务)

1.1.1 生成式摘要abstractive summarization

本节内容参考了以下论文的文献综述部分:1

序列生成(文本生成NLG)问题,一般使用seq2seq (S2S) 架构(encoder-decoder架构)。

sentence-fusion和重写(paraphrasing)

rephrasing and introducing new concepts/words(语出Friendly Topic Assistant for Transformer Based Abstractive Summarization)

基于结构的方法:

  • 基于树的方法:tree linearization
  • 基于模板的方法:
    • Generating single and multi-document summaries with gistexter
    • sArAmsha-A Kannada abstractive summarizer
  • 基于实体的方法
  • Lead and Body Phrase Method(lead指开头。总之是找一些重要短语然后做一些操作的方法,具体的其实我也没看懂,可以参考这篇博客:Towards Automatic Summarization. Part 2. Abstractive Methods. | by Sciforce | Sciforce | Medium)
  • Rule Based Method
  • 基于语义的方法
    • 多模态语义模型
    • 基于information item的方法
    • 基于语义图的方法

常见问题及针对该问题提出的解决方案:

  1. 文本重复
    1. PGN(Get to the point: Summarization with pointer-generator networks.)中提出的coverage机制就是用来解决这一问题的(虽然我觉得实验上好像文本重复问题还是非常严重)
  2. 事实不一致问题
    1. 衡量原文与摘要的事实一致性:
      The Factual Inconsistency Problem in Abstractive Text Summarization: A Survey
      Assessing The Factual Accuracy of Generated Text
      Multi-Fact Correction in Abstractive Text Summarization
      Evaluating the Factual Consistency of Abstractive Text Summarization
      Asking and Answering Questions to Evaluate the Factual Consistency of Summaries
      FEQA: A Question Answering Evaluation Framework for Faithfulness Assessment in Abstractive Summarization
      Falsesum: Generating Document-level NLI Examples for Recognizing Factual Inconsistency in Summarization
      QAFactEval: Improved QA-Based Factual Consistency Evaluation for Summarization
      Investigating Crowdsourcing Protocols for Evaluating the Factual Consistency of Summaries
    2. 直接解决事实不一致问题:
      Joint Parsing and Generation for Abstractive Summarization
      Masked Summarization to Generate Factually Inconsistent Summaries for Improved Factual Consistency Checking
  3. 文本不连贯(fluent或coherent)
  4. 原文太长,难以直接输入模型(Transformer模型的quadradic复杂度)
    1. 抽取+生成范式:证明这种范式比直接生成的效果更好:Bottom-Up Abstractive Summarization, Improving neural abstractive document summarization with explicit information selection modeling
    2. 切分数据范式
    3. 改进模型

典型的使用seq2seq+attention范式做生成式摘要的论文:

  • A Neural Attention Model for Abstractive Sentence Summarization
  • Abstractive Sentence Summarization with Attentive Recurrent Neural Networks
  • Abstractive Text Summarization using Sequence-to-sequence RNNs and Beyond
  • Get To The Point: Summarization with Pointer-Generator Networks
  • Abstractive Document Summarization with a Graph-Based Attentional Neural Model
  • 感觉没之前几篇那么典型:Query Focused Abstractive Summarization: Incorporating Query Relevance, Multi-Document Coverage, and Summary Length Constraints into seq2seq Models
  • A Discourse-Aware Attention Model for Abstractive Summarization of Long Documents
  • Structure-Infused Copy Mechanisms for Abstractive Summarization
  • 2019年综述:Abstractive summarization: An overview of the state of the art

1.1.2 抽取式摘要extractive summarization

本节内容参考了以下论文的文献综述部分:12

缺点:在话题切换时缺乏连贯性。

  1. Term Frequency-Inverse Document Frequency Method
  2. Cluster Based Method:聚类出各主题,文档表示方法为单词的TF-IDF得分,High frequency term represents the theme of a cluster,基于句子与簇中心的关系选择摘要句
  3. Text Summarization with Neural Network
  4. Text Summarization with Fuzzy Logic
  5. Graph based Method
  6. Latent Semantic Analysis Method: LSA
  7. Machine Learning approach
  8. Query based summarization

常见范式:做句子的二分类任务(该句是否属于摘要),将预测为“属于”的句子拼起来,组成摘要。
identify and then concatenate the most representative sentences as a summary(语出Friendly Topic Assistant for Transformer Based Abstractive Summarization)

模型分成3层来做表示学习(单词→句子→文档),使用attention等机制提高表示能力。

  1. 用基于图的表征来捕获显著textual units:TF-IDF similarity(Lexrank: Graph-based lexical centrality as salience in text summarization.) ;discourse relation(Textrank: Bringing order into text.);document-sentence two-layer relations(An exploration of document impact on graph-based multi-document summarization.);multi-modal (Graph-based multi-modality learning for topic-focused multidocument summarization.) 和 query information (Mutually reinforced manifold-ranking based relevance propagation model for query-focused multi-document summarization. )
  2. 使用GNN方法捕获文档间关系:Graph-based neural multi-document summarization.(构建discourse图并用GCN表示textual units); Hierarchical transformers for multi-document summarization.(用entity linking technique捕获句子间的全局依赖,用基于图的神经网络模型对句子进行排序)

使用深度学习方法做抽取式摘要的经典论文:

  • SummaRuNNer: A Recurrent Neural Network Based Sequence Model for Extractive Summarization of Documents
  • Extractive Summarization using Deep Learning
  • Neural Extractive Summarization with Side Information
  • Ranking Sentences for Extractive Summarization with Reinforcement Learning
  • Fine-tune BERT for Extractive Summarization
  • Extractive Summarization of Long Documents by Combining Global and Local Context
  • Extractive Summarization as Text Matching

1.2 单文档摘要和多文档摘要

1.2.1 单文档摘要single-document summarization

主题论文总结4:单文档摘要(以罗列为主)(持续更新ing…)

1.2.2 多文档摘要multi-document summarization

本节内容参考了以下论文的文献综述部分:2

看了几篇MDS的论文感觉无非就是一种长文本摘要啊……有的论文就是单纯把多篇文档拼在一起,用[END]token作间隔。(A Multi-Document Coverage Reward for RELAXed Multi-Document Summarization)

输入的多文档可能是冗余的,甚至含有自相矛盾的内容(A common theory of information fusion from multiple text sources step one: cross-document structure.)

迁移单文档摘要的模型到多文档摘要上,以回避缺乏小规模数据集的问题:
Generating wikipedia by summarizing long sequences.:定义Wikipedia生成问题,并提出WikiSum数据集。
Towards a neural network approach to abstractive multi-document summarization.

Multi-news: A large-scale multi-document summarization dataset and abstractive hierarchical model. :提出MultiNews数据集,在抽取过程后应用seq2seq模型生成摘要。
Leveraging graph to improve abstractive multi-document summarization.:用显式图表征建模文档间关系,结合预训练语言模型处理长文本。

1.3 重要研究方向

  1. 长文本摘要
  2. 结构化文本摘要:主题论文总结1:structured text summarization(持续更新ing…)_诸神缄默不语的博客-CSDN博客
  3. 对话/会议摘要:主题论文总结2:会议/对话摘要任务(持续更新ing…)_诸神缄默不语的博客-CSDN博客
  4. 维基百科生成:主题论文总结3:维基百科生成任务(持续更新ing…)_诸神缄默不语的博客-CSDN博客
  5. 科技文献(论文)摘要:主题论文总结5:科技文献(论文)摘要

2. 抽取式摘要

2.1 无监督方法

重要模型:
LEAD-3算法
TextRank算法

2.2 有监督方法

重要模型:
Fine-tune BERT for Extractive Summarization
BertSum算法(官方源代码:nlpyang/BertSum: Code for paper Fine-tune BERT for Extractive Summarization;热心网友写的可以直接用中文数据作为输入的版本:425776024/bertsum-chinese: chinese bertsum ; bertsum 抽取式模型中文版本;给出案例数据、全代码注释;下载即可训练、预测、学习)

3. 生成式摘要

3.1 抽取+生成

3.1.1 解耦的

对范式的介绍:
Abstractive multi-document summarization via phrase selection and merging.:分成两个阶段:第一步,通过无监督的方法或语言学知识来抽取原文中的关键文本元素(key textual elements)。第二步,用语言学规则或文本生成方法来rewrite或paraphrase抽取出来的元素,生成原文的准确摘要。(转引自LCSTS: A Large Scale Chinese Short Text Summarization Dataset)

重要模型:SPACES模型(苏剑林的介绍博文:SPACES:“抽取-生成”式长文本摘要(法研杯总结) - 科学空间|Scientific Spaces;官方源代码:bojone/SPACES: 端到端的长本文摘要模型(法研杯2020司法摘要赛道);热心网友写的PyTorch版复现(不完全复现):eryihaha/SPACES-Pytorch: 苏神SPACE pytorch版本复现)

3.1.2 端到端(end2end)的

3.2 纯生成式方法

3.2.1 基础seq2seq模型

Transformers版,参考PyTorch官方教程:Language Modeling with nn.Transformer and TorchText — PyTorch Tutorials 1.11.0+cu102 documentation

其他参考资料:LCSTS: A Large Scale Chinese Short Text Summarization Dataset:seq2seq (RNN) 没有代码

3.2.2 Pointer-Generator模型

Get to the point: Summarization with pointer-generator networks.

4. 评估指标

本节内容参考了:3

以下评估指标往往也用于翻译、QA等其他文本生成(NLG)任务。

常用术语:
模型生成的句子、预测结果——candidate
真实摘要、标签——reference、ground-truth

precision:candidate中匹配reference的内容占candidate比例
recall:candidate中匹配reference的内容占reference比例

示例:

Reference: I work on machine learning.

Candidate A: I work.

Candidate B: He works on machine learning.

在这个例子中,用unigram4衡量匹配:A就比B的precision更高(A的匹配内容I work占candidate 100%,B的on machine learning占60%),但B的recall更高(60% VS 40%)。

4.1 人工评估指标

文本的流畅程度、对原文的忠实程度、对原文重要内容的包含程度、语句的简洁程度等

4.2 ROUGE (Recall Oriented Understudy for Gisting Evaluation)

出处:ROUGE: A Package for Automatic Evaluation of Summaries

感觉没有2004年之后的文本摘要论文不使用这个指标的,如果看到有的话我会专门来这里提一嘴的。

分类:ROUGE-N(常用其中的ROUGE-1和ROUGE-2), ROUGE-L,ROUGE-W,ROUGE-S(后两种不常用)
原版论文中ROUGE主要关注recall值,但事实上在用的时候可以用precision、recall和F值。

4.2.1 计算指标

每种rouge值原本都是计算recall的,和前面第4节开头介绍的precision和recall值计算方法差不多,主要区别在于这个匹配文本的单位的选择:

ROUGE-N:基于n-grams,如ROUGE-1计算基于匹配unigrams的recall,以此类推。
ROUGE-L:基于longest common subsequence (LCS)
ROUGE-W:基于weighted LCS
ROUGE-S:基于skip-bigram co-occurence statistics(skip-bigram指两个共同出现的单词,不管中间隔了多远。要计算任何bigram的出现可能 C n 2 C_n^2 Cn2

以ROUGE-L为例, A A A 是candidate,长度 m m m B B B 是reference,长度 n n n
P = L C S ( A , B ) m P=\frac{LCS(A,B)}{m} P=mLCS(A,B) R = L C S ( A , B ) n R=\frac{LCS(A,B)}{n} R=nLCS(A,B) F = ( 1 + b 2 ) R P R + b 2 P F=\frac{(1+b^2)RP}{R+b^2P} F=R+b2P(1+b2)RP

4.2.2 对rouge指标的更深入研究和改进

A Graph-theoretic Summary Evaluation for ROUGE

4.3 BLEU (Bilingual Evaluation Understudy)

更常用于翻译领域。
出处:Bleu: a Method for Automatic Evaluation of Machine Translation

precision用modified n-gram precision估计,recall用best match length估计。

Modified n-gram precision:
n-gram precision是candidate中与reference匹配的n-grams占candidates的比例。但仅用这一指标会出现问题。
举例来说:

Reference: I work on machine learning.

Candidate 1: He works on machine learning.

Candidate 2: He works on on machine machine learning learning.

candidate 1的unigram precision有60%(3/5),candidate 2的有75%(6/8),但显然candidate 1比2更好。
为了解决这种问题,我们提出了“modified” n-gram precision,仅按照reference中匹配文本的出现次数来计算candidate中的出现次数。这样candidate中的onmachinelearning就各自只计算一次,candidate 2的unigram precision就变成了37.5%(3/8)。

对多个candidate的n-gram precision,求几何平均(因为precision随n呈几何增长,因此対数平均能更好地代表所有数值5):
P r e c i s i o n = exp ⁡ ( ∑ n = 1 N w n log ⁡ p n ) ,  where  w n = 1 / n Precision=\exp(\sum_{n=1}^Nw_n\log p_n),\ \text{where} \ w_n=1/n Precision=exp(n=1Nwnlogpn), where wn=1/n

Best match length:
recall的问题在于可能存在多个reference texts,故难以衡量candidate对整体reference的sensitivity6。显然长的candidate会包含更多匹配文本,但我们也已经保证了candidate不会无限长,因为这样的precision可能很低。因此,我们可以从惩罚candidate的简洁性(文本短)入手来设计recall指标:
在modified n-gram precision中添加一个multiplicative factor B P BP BP
B P = { 1 , if  c > r exp ⁡ ( 1 − r c ) , otherwise \begin{aligned} BP=\begin{cases}1,& \text{if}\ c >r\\ \exp \left( 1-\dfrac{r}{c}\right) ,&\text{otherwise}\end{cases} \end{aligned} BP={1,exp(1cr),if c>rotherwise
其中 c c c 是candidates总长度, r r r 是reference有效长度(如reference长度平均值),随着candidate长度( c c c)下降, B P BP BP 也随之减少,起到了惩罚短句的作用。

4.4 Perplexity

4.5 METEOR (Metric for Evaluation for Translation with Explicit Ordering)

出处:METEOR: An Automatic Metric for MT Evaluation with Improved Correlation with Human Judgments

也是常用于翻译领域。
这个指标声称是跟人工评估指标关联性更高。

BLEU的问题在于 B P BP BP 值所用的长度是平均值,因此单句得分不清晰。而METEOR调整了precision和recall的计算方式,用基于mapping unigrams的weighted F-score和penalty function for incorrect word order来代替。

Weighted F-score:
首先,我们要找到candidate和reference间最大的可以形成对齐(alignment)的映射(mappings)子集(subset)。在经过Porter stemming7、用了WordNet同义词后,假设找到的对齐数是 m m m,则precision就是 m / c m/c m/c c c c 是candidate长度)、recall是 m / r m/r m/r r r r 是reference长度),F就是 F = P R α P + ( 1 − α ) R F=\frac{PR}{\alpha P+(1-\alpha)R} F=αP+(1α)RPR

Penalty function:
考虑candidate中的单词顺序:
P e n a l t y = γ ( c m ) β ,  where  0 ≤ γ ≤ 1 Penalty=\gamma(\frac{c}{m})^\beta,\ \text{where}\ 0\leq\gamma\leq1 Penalty=γ(mc)β, where 0γ1
其中 c c c 是matching chunks数, m m m 是matches总数。因此如果大多数matches是连续的, c c c 就会小,penalty就会低。这部分我的理解是:连续的matches组成一个chunk。但我不确定,可能我会去查阅更多资料。

最终METEOR得分的计算方式为:
( 1 − P e n a l t y ) F (1-Penalty)F (1Penalty)F

4.6 Bertscore

使用该指标的论文:Rewards with Negative Examples for Reinforced Topic-Focused Abstractive Summarization

4.7 其他指标

Revisiting Automatic Evaluation of Extractive Summarization Task: Can We Do Better than ROUGE?
Benchmarking Answer Verification Methods for Question Answering-Based Summarization Evaluation Metrics
SARI
InfoLM: A New Metric to Evaluate Summarization & Data2Text Generation
SPICE
Play the Shannon Game With Language Models: A Human-Free Approach to Summary Evaluation
Reference-free Summarization Evaluation via Semantic Correlation and Compression Ratio:还没有放出来

5. 其他正文及脚注中未注明的参考资料

  1. 文本摘要(Text Summarization)这一经典NLP任务目前存在什么问题?有什么新的趋势? - 明明如月的回答 - 知乎
  2. BERT时代下的摘要提取长文总结 - 知乎

  1. An Overview of Text Summarization Techniques ↩︎ ↩︎

  2. Re5:读论文 TWAG: A Topic-guided Wikipedia Abstract Generator_诸神缄默不语的博客-CSDN博客 ↩︎ ↩︎

  3. Metrics for NLG evaluation. Simple natural language processing… | by Desh Raj | Explorations in Language and Learning | Medium ↩︎

  4. 参考unigram_百度百科
    父词条:n-gram
    unigram: 1个word
    bigram: 2个word
    trigram : 3个word
    (注意此处的word是英文的概念,在中文中可能会根据需要指代字或词)
    中文中如果用字作为基本单位,示例:
    西安交通大学:
    unigram 形式为:西/安/交/通/大/学
    bigram形式为: 西安/安交/交通/通大/大学
    trigram形式为:西安交/安交通/交通大/通大学 ↩︎

  5. 其实我也没有看懂具体为什么就这样了。 ↩︎

  6. 这里为什么用sensitivity,我也很迷惑。 ↩︎

  7. Porter stemming总之简单地来说就是一个英文的stemming方法。中文的怎么办我还没看。
    具体内容我还没看。我简单找了一些相关资料以供参考:
    官网:Porter Stemming Algorithm(是个C语言程序)
    介绍算法和Java代码(从C语言移植的)的博文:波特词干算法 - 残阳似血的博客 ↩︎

你可能感兴趣的:(人工智能学习笔记,NLP,文本摘要,自然语言处理,生成式摘要,抽取式摘要)