炼数成金 门户 商业智能 自然语言处理 查看内容

HFL技术分享 #13 | 自动文摘相关技术简介

2019-6-12 10:22| 发布者: 炼数成金_小数| 查看: 9911| 评论: 0|来自: 哈工大讯飞联合实验室

摘要: 随着互联网的飞速发展以及数据呈现爆炸式的增长,人们迫切需要一种技术能够从大量、嘈杂的数据中提取关键信息,这种“大量、嘈杂”的数据不仅包含文本,同时也可以是图像、视频、语音等各种模态的数据,自动摘要(Au ...

tm 工具 模型 基础 框架 方法

01 背景介绍
随着互联网的飞速发展以及数据呈现爆炸式的增长,人们迫切需要一种技术能够从大量、嘈杂的数据中提取关键信息,这种“大量、嘈杂”的数据不仅包含文本,同时也可以是图像、视频、语音等各种模态的数据,自动摘要(Automatic Summarization)的提出便是为了解决这种需求,不过目前更多的是对自动文摘技术的研究。自动文摘是NLP领域相对较难的一个任务,这一方面取决于任务本身高度智能化的需求,即需要充分理解整篇文档并总结概要。我们知道,在NLP领域,语义理解的难度会随着粒度的增大而增加,从字、词、短语、句子到段落、文档等。目前对于句子、段落的语义理解尚且薄弱,更何况对于文档(甚至多文档)的理解。另一方面与自动文摘相关的一些底层技术,比如篇章关系、指代消歧等技术发展也较缓慢,一定程度上制约了自动文摘的发展。

02 自动文摘划分
抽取式(Extractive)和生成式(Abstractive):抽取式是指从原始文档中抽取重要结构单元(句子、短语等)形成摘要;生成式是指基于理解文档的角度生成摘要,摘要中的句子或词可以不来自于原始文档。抽取式是目前研究最多、效果相对较好的一种研究方法,优点是方法简单、摘要句子流畅,缺点是摘要整体不连贯、冗余信息较多;生成式更接近人自身写的摘要,但是需要用到句子压缩、改写、融合等技术,有一定技术难度,目前的Seq2Seq模型一定程度省略了这些技术难点,但是如何有效的对文档Encoding、Decoding,以及大规模训练语料的缺乏等问题,导致生成式自动文摘仍然难以有所突破。

单文本(Single Document Summarization)和多文本(Multi-Document Summarization):对于抽取式摘要,生成摘要的流程一般包括计算句子重要性、句子排序和筛选(多样性)、摘要句子排序(连贯性)。多文本相对单文本而言,由于信息来源于不同文本,导致多样性和连贯性(对于单文本,按照原始顺序输出即可)的问题更加突出。

传统文本(Traditional)和社交媒体文本(Social Media):传统文本更多的是指新闻、杂志期刊等语料,特点是正规、严谨、观点集中、篇幅较长等;社交媒体文本,或者称社交媒体短文本,指微博、Tweet等语料,特点是口语化、随意、观点片面、篇幅较短等。当有话题产生时,这些社交媒体平台往往会涌现大量相关的短文本进行描述,一个短文本由于篇幅限制通常很难表述全面,所以需要做类似Multi-Tweet的相关研究,也可以称为话题摘要(Topic Summarization),除此之外由于社会话题的时效性,话题常常会随时间进行演化,所以又有Temporal的相关研究,即时序摘要(Temporal Summarization)。

无监督(unsupervised)和有监督(supervised):无监督的摘要方法又细分为基于经验式规则(例如Centroid-based、Sumbasic)、基于主题(Topic-based[1] 或Cluster-based)、基于图(Graph-based,比如TextRank、LexRank[2])、基于整数线性规划(ILP-based,即Integer Linear Programming )、基于数据重构(Reconstruction-based[3])等方法。有监督方法又细分为基于分类、回归、序列标注以及Seq2Seq等方法。有监督方法可以加入无监督方法中的一些特征或者通过无监督方法得到的特征(比如图的度、通过Pagerank得到的结点权威度等),无监督方法也可以融合通过有监督方法得到的回归值等(比如后面讲到的SVG和ILP的结合)。

03 自动文摘的评价方法
Edmundson:系统摘要与人工摘要的句子重合率(Coselection Rate)。其中人工摘要是由专家从原始文本中抽取的句子组成。
ROUGE(Recall-Oriented Understudy for Gisting Evaluation[4]):该方法主要度量系统摘要与人工摘要的词覆盖率。ROUGE评价指标具体包括以下几种:
ROUGE-N:计算系统摘要与人工摘要N-gram的覆盖率。

其中gramn表示N-gram,references表示人工摘要,Count(gramn)表示人工摘要中N-gram的个数,Countmatch (gramn )表示系统摘要与人工摘要匹配的N-gram个数。
ROUGE-L:公式如下,其中LCS即最长公共子序列(Longest Common Subsequence),n表示人工摘要的长度,即一般只考虑召回率。

ROUGE-W:ROUGE-L的改进版,考虑了最长公共子序列的连续性对摘要质量的影响。
ROUGE-S:与ROUGE-N不同的是,N-gram可以是不连续的,比如skip-bigram,可以允许最多跳过两个单词,比如“cat in the hat”的skip-bigram包括“cat in、cat the、cat hat、in the、in hat、the hat”。

04 自动文摘的评测任务及数据集
DUC(Document Understanding Conferences)在2001-2007年提供了文本摘要的评测比赛,2008年以后转移到TAC(Text Analysis Conference)上,数据规模比较小。

TREC(Text REtrieval Conference)2015年之前提供子任务“Temporal Summarization Track”,即时序摘要任务,近些年提供子任务“Real-time Summarization Track”,即实时摘要任务。

NLPCC(Natural Language Processing and Chinese Computing)提供中文单文档摘要评测任务。
English Gigaword数据规模较大,数据集用headline作为摘要,该语料一般用来做句子摘要(Sentence Summarization)任务,具体规模如表1: 

表 1:English Gigaword的数据统计

CNN/DailyMail这两个数据集,其中CNN大约包括90k文档,380k问题,DailyMail包括197k文档,879k问题,一般用于填空型阅读理解。由于存在人为编写的abstractive highlights可以作为摘要,故而被广泛应用于神经自动文摘的研究中。

05 经典方法介绍
5.1 抽取式摘要方法
5.1.1 结合SVR和Integer Linear Programming
《Extractive Multi-Document Summarization with Integer Linear Programming and Support Vector Regression》[5]是一篇查询相关(query-oriented)的文本摘要文章,虽然发表于COLING 2012,但是文中涉及的摘要相关技术值得一提。

文中用DUC2006数据集训练SVR回归模型,其中输入是句子的特征向量x,输出是句子的重要性分数y。特征是一些经验式的传统特征,比如句子在文本中的位置等,重要性分数通过计算ROUGE-2和ROUGE-SU4的平均值得到。把训练好的模型应用到其它数据集,来计算每个句子的得分。

接着使用带约束的整数线性规划模型(ILP)产生摘要。目标函数旨在较大化摘要的重要性分数imp(S),同时评估了摘要的多样性div(S)——bigrams在摘要中出现的种类越多,摘要冗余信息越少。公式中ai表示句子重要性分数较大最小标准化后的结果,n表示句子数,xi∈{0,1}表示句子i是否出现在摘要中,kmax表示摘要最多能容纳的句子数(摘要限制长度除以最短句子长度)以便imp(S)归约到[0,1],B表示bigrams数量,bj∈{0,1}表示第j个bigram是否出现在摘要中。

约束条件包括:
1)摘要长度不能超过限定长度Lmax;
2)若句子出现在摘要中,其包含的bigrams都出现在摘要中;若句子不出现在摘要中,其包含的bigrams依旧可能出现在摘要中;
3)若bigram出现在摘要中,包含该bigram的句子至少有一个出现在摘要中;若bigram不出现在摘要中,那么包含该bigram的所有句子都不出现在摘要中。

确定目标函数以及约束条件后,便可以利用一些开源的ILP solvers有效地解决上述问题。文中所用得ILP工具为:https://sourceforge.net/projects/winglpk/。

5.1.2 基于序列标注
《Neural Extractive Summarization with Side Information》[6]是发表于AAAI 2017的一篇文章,整个模型框架比较简单,由此可以窥见用深度学习框架基于序列标注思想做摘要的一般性方法。模型框架见图1:

图 1:模型结构图

整个框架采用层次编码-解码的结构。编码层首先通过CNN对文档中的所有句子编码,再通过单层LSTM进行文档级别的编码,需要注意的是LSTM的输入是倒序输入,对于文本摘要而言开头几句往往包含重要信息,倒序输入可以尽可能保留头几句的信息。解码层在引入标准attention的基础上稍稍做了改动,解码的隐状态不再与编码的隐状态做attention,而是同附加信息做attention。附加信息的引入是本文的一个动机,作者认为这些附加信息(文章标题、图片注解等)往往包含了文章的要点,所以本文主要探讨如何利用这些信息提高摘要质量。解码的主要公式如下:

需要介绍的另一个技术点是自动标注的过程,即标注每个句子是0或1。本文采用的数据集是CNN(CNN.com)数据集,其中新闻文章里的highlight可作为人工摘要。首先计算每个句子同人工摘要的ROUGE,分数较高的放入当前摘要里,接着把剩余每个句子依次加入到当前摘要中,选择使得当前摘要ROUGE较高的句子作为摘要句子,以此类推,直到当前摘要得ROUGE分数不再提高或者已到达摘要句子数量限制为止。

5.2 生成式摘要方法
存在很多模型是从机器翻译或者对话系统的模型中演化而来,本质是Seq2Seq,但是出发点不同,自动文摘需要捕捉原文的主题或中心思想,而机器翻译或者对话系统更多的是捕捉模式,所以采用Seq2Seq的方式做摘要任务目前还不太成熟。

采用Seq2Seq的方式做摘要任务经历了从简到繁的过程,即由首句(单句)生成Headline(sentence summarization)、由文本生成Headline以及由文本生成摘要。下面主要介绍后两种模型。

5.2.1 Multi-Sentence Summarization
首句生成Headline往往需要数据集中首句与Headline有较高的词覆盖率。而对于一些语料,比如English Gigaword数据集中的NYT,首句与标题的词覆盖率较低,所以需要引入除首句外的更多信息。《From Neural Sentence Summarization to Headline Generation: A Coarse-to-Fine Approach》[7]是万小军组发表在IJCAI2017的一篇文章,目的就是引入更多信息来生成Headline。

直接利用整个文本来生成Headline会引入噪音,因为对长文本编码本身是一个较难的任务。本文避重就轻,首先采用传统抽取式摘要方法产生比较能概括原文的一段话,再利用这段话(Multi-Sentence)生成Headline。为了从各个方面尽可能捕捉原文意思,本文采用七种抽取式摘要方法,包括:Lead、Luhn[8]、LSA、LexRank、TextRank、SumBasic、KL-Sum[9],这些方法彼此之间形成互补。最后提出由粗到细的multi-sentence摘要框架,即由文档-摘要-标题的过程。模型结构如图2:


图 2:模型结构图

编码层:同普通层次编码一样,首先由词通过LSTM产生句子表示,再由句子表示通过LSTM产生摘要表示。图中的hi<eos>用来表示摘要。

5.2.2 Document Summarization
《Abstractive Document Summarization with a Graph-Based Attentional Neural Model》[10]是万小军组在ACL 2017上发表的一篇文章,不再是生成Headline,而是生成多句的摘要。


图 3:模型结构图。其中图(a)引入传统attention机制,图(b)引入Graph-based attention机制。
图(a)表示按照一般的层次编码-解码结构,编码层需要由词经过LSTM得到句子的表示(<eos>对应的隐状态),句子表示经过LSTM得到文档的表示(<eod>对应的隐状态),解码层需要先将文档级别的表示解码成多个句子级别的表示,每个句子级别的表示再解码为多个单词级别的表示,然后单词级别的表示映射到词表大小维度的向量,最后经过softmax输出单词。同时,考虑到所有原始句子在解码生成句子的时候权重不尽相同,所以解码的时候可以同编码阶段各句子的隐状态做attention。

采用传统的attention方法,在计算原句子对生成句子的重要性的时候,只考虑了二者之间的关系,这种简单的关系模拟只适合于机器翻译或对话系统,对于更复杂的摘要任务,需要同时考虑其它所有句子的影响。

本文引入Graph-based attention思想,其灵感来源于传统基于图的摘要模型,比如LexRank。在传统图模型中,节点表示句子,边表示句子之间的关系,一般用相似度来度量,一个句子的重要性取决于与其相连的所有句子的重要性。

06 总结
尽管深度学习在NLP的各个任务上有所突破,但是在摘要任务上却没有显示出令人满意的效果,这取决于很多因素,缺乏大规模高质量语料(尽管有English Gigaword这种比较大规模的数据集,但是每篇文档只有一个标题即一个标准摘要,而摘要本身是一种主观的不确定的表达形式,这种性的摘要限制了训练以及评价)、缺乏有效的评价方法(ROUGE评价只是词级别的评价,没有考虑语义,而摘要是对原文思想的提炼,应该考虑更多语义上的评价)、基础NLP技术的不成熟(篇章关系等)等等。另外,可能有些任务不需要考虑太多任务本身的特性,使用一些前沿的模型就能跑出很好的结果,但是摘要任务恰恰需要深刻刨析任务本身的特性,需要深入到很多相关的基础技术。总之,摘要研究任重而道远。

参考文献
[1]Litvak, M.; Vanetik, N.; Liu, C.; Xiao, L.; and Savas,O. 2015. Improving summarization quality with topic modeling. CIKM.Erkan, G.,and Radev, D. R. 2004.
[2]Lexrank: Graph-based lexical centrality as salience intext summarization. Journal of Artificial Intelligence Research 22 (2004)457-479.
[3]He, Z.; Chen, C.; Bu, J.; Wang, C.; Zhang, L.; Cai,D.; and He, X. 2012. Document summarization based on data reconstruction. AAAI.
[4]Lin, C.-Y. 2004. Rouge: A package for automatic evaluation of summaries. In Proceedings of Workshop on Text Summarization Branches Out, Post-Conference Workshop of ACL 2004.
[5]Dimitrios Galanis, Gerasimos Lampouras and Ion Androutsopoulos. Extractive Multi-Document Summarization with Integer Linear Programming and Support Vector Regression. COLING 2012.
[6]Shashi Narayan, Nikos Papasarantopoulos, et. al.Neural Extractive Summarization with Side Information. AAAI 2017.
[7]Jiwei Tan, Xiaojun Wan and Jianguo Xiao. From Neural Sentence Summarization to Headline Generation: A Coarse-to-Fine Approach. IJCAI2017.
[8]Hans Peter Luhn. The automatic creation of literature abstracts. IBM Journal of Research and Development, 2(2):159–165, 1958.
[9]Aria Haghighi and Lucy Vanderwende. Exploring content models for multi-document summarization. In NAACL, 2009.
[10]Jiwei Tan, Xiaojun Wan and Jianguo Xiao. Abstractive Document Summarization with a Graph-Based Attentional Neural Model. ACL 2017.

声明:本文版权归原作者所有,文章收集于网络,为传播信息而发,如有侵权,请联系小编及时处理,谢谢!

欢迎加入本站公开兴趣群
商业智能与数据分析群
兴趣范围包括:各种让数据产生价值的办法,实际应用案例分享与讨论,分析工具,ETL工具,数据仓库,数据挖掘工具,报表系统等全方位知识
QQ群:81035754

鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

热门频道

  • 大数据
  • 商业智能
  • 量化投资
  • 科学探索
  • 创业

即将开课

 

GMT+8, 2019-6-27 04:55 , Processed in 0.160194 second(s), 25 queries .