一、文本摘要(Document Summarization,Toolkit工具)
文本摘要是指通过各种技术,对文本或者是文本集合,抽取、总结或是精炼其中的要点信息,用以概括和展示原始文本(集合)的主要内容或大意。作为文本生成任务的主要方向之一,从本质上而言,这是一种信息压缩技术。
文本摘要的目的是为了让用户在当今世界海量的互联网数据中找到有效的信息。实现这一点的有两种不同的方式,一是以百度为代表的搜索引擎方案,可以理解为用户主动行为。可以发现,当我们进行关键词搜索的时候,除了标题,高亮展示的便是约为top100个字符,这个可以看成一个简单的Lead3算法;另外一种方案便是信息流,该方案的集大成者是今日头条。该方案可以理解为用户被动行为,是在移动互联网上的一种推荐系统。
二、文本摘要分类
大致了解了什么是文本摘要,接下来我们来介绍一下文本摘要的分类。
2.1按照输入文本类型的不同,可以分为单文档文本摘要和多文档文本摘要;
2.2按照实现技术方案的不同,可以分为抽取式文本摘要、生成式文本摘要、混合式文本摘要;
2.3按照摘要目的的不同,可以分为关键词摘要、短语摘要、句子摘要、段落摘要等。
github项目: https://github.com/yongzhuo/nlg-yongzhuo
三、文本摘要技术
我们按照实现技术方案的不同(抽取式、生成式、混合式),大致讲解一下文本摘要的实现技术。
3.1抽取式文本摘要
抽取式文本摘要, 顾名思义,就是从文档,或者文档集中抽取其中一句话,或者几句话,构成摘要。这种方案的好处在于简单实用,不会完全脱离于文档本身。换言之,域值比较好判断,不容易产生完全偏离文章主旨的点。
抽取式文本摘要的主要方法有:
A. 基于经验(nous_base)的Lead3算法、keyword算法;
B. 基于特征(feature_base)的word_significance算法、text_pronouns算法、text_teaser算法等;
C. 基于图(graph_base)的textrank算法、lex_rank算法等;
D. 基于主题模型(topic_base)的NMF算法、LSI算法、LDA算法;
E. 基于规则(rule_base)的Grammer算法;
F.基于有监督学习(supervised_machine_learning_base)的传统机器学习算法、SummaRuNNer算法;
G. 基于有监督学习(supervised_deeplearning_learning_base)的深度学习算法,如Bertsum;
H. 基于中心度(centroid_base)的centroid bow算法;
I.基于信息冗余(information_base)的mmr算法。
3.2生成式文本摘要
抽取式文本摘要, 尽管有其优点,但也可能有着生成摘要不连贯、字数不好控制、目标句主旨不明确等缺点,甚至可以说,其摘要好坏决定于原文。
而生成式文本摘要就没有这样的问题,因为生成式文本摘要是一个端到端的过程,这种技术方案,趋同于翻译任务和对话任务,从而可以吸收、借鉴翻译任务和对话任务的成功经验。
生成式文本摘要的主要方法有:
A. 早期的LSTM;
B. 早期的encode-decode模型,如lstm2lstm;
C. Seq2seq + Attention模型,注意力机制的思想是NLP技术上的一次大的飞跃;
D. Self-Attention和Transformer,自注意力机制;
E. 预训练+微调,例如Bert与PreSumm,Bert的诞生,是NLP历史上的里程碑事件。
3.3生成-抽取式文本摘要
凡事都还还想着两全齐美呢。
四、文本摘要评价指标
文本摘要的主要评价指标是Rouge-N,当然也可以用BLUE。
Rouge-N,由预测摘要与真实摘要N-gram信息的交集与并集的商可得(N为1,2,3,4......)。由其含义可知,rouge(recall-oriented understanding for gisting evaluation),与召回率相似。
不过,从实践经验来看,无论是rouge-n还是blue,对于英文还勉强,适配中文完全不靠谱,重点还是人去看,自己评估。
五、文本摘要工具tookit
常见工具
1.https://github.com/miso-belica/sumy
参考&感谢:
1. 文本自动生成研究进展与趋势: https://blog.csdn.net/jinhao_2008/article/details/78695508
2. 文本摘要简述: https://www.jiqizhixin.com/articles/2019-03-25-7
3. 大众点评信息流基于文本生成的创意优化实践: https://my.oschina.net/meituantech/blog/3022851
4. awesome-text-summarization: https://github.com/icoxfog417/awesome-text-summarization
【文本摘要(text summarization)一:语料简介概述综述与工具】希望对你有所帮助!