自动文摘的方法主要分为两大类,extractive(抽取式的)和abstractive(生成式的)。前者是目前最主流、应用最多、最容易的方法,后者相对来说更有一种真正人工智能的味道。按照另一种分类标准分为单文档摘要和多文档摘要,前者是后者的基础,但后者不只是前者结果简单叠加那么简单。
摘要方法分类:
1. 抽取式
从文档中抽取已有句子形成摘要
实现简单,能保证句子的可读性
可看作一个组合优化问题
可与语句压缩一并进行(可看作混合式方法)
2. 生成式
生成新的句子
难度更大,但更接近摘要的本质
关键问题:
1.句子重要性:句子长度,句子位置,句子中词语的TFIDF,句子是否包括线索词,句子是否与标题相似。
2.摘要句子排序(句子顺序直接影响摘要可读性)
文本摘要应用场景:新闻标题,论文摘要,图书摘要,评论精选,文献自动标引等。
文本摘要:代表性系统
1. NewsInEssence by University of Michigan
2. NewsBlaster by Columbia University
基于经验性公式综合考虑少数几个因素
例如: centroid-based method (考虑了句子包含词语权重、句子位置、句子与首句相似度) 。
步骤:(1)构建图G=(V,E),句子作为顶点,句子之间有关系则构建边
(2)应用PageRank算法或相似算法获得每个顶点的权重
(3)基于句子权重选择句子形成摘要
论文:TextRank: Bringing Order into Text
Lexrank: Graph-based lexical centrality as salience in text summarization
摘要冗余去除
1.去除(多文档)摘要中的冗余信息
2.选择与摘要中已有句子冗余度小的句子
文本=>语义图=>子图选择=>摘要生成
文本=>多个短语=>摘要生成
基本步骤:
1. 短语重要性的计算
2. 利用ILP方法进行短语选择与拼凑构建摘要语句
文本=>摘要
编码器-解码器框架
任务:语句压缩,单文档摘要
主要做法:词序列=>
词序列=>词序列
单文档摘要目前可实用,Lead方法是很强的baseline。
多文档摘要目前总体性能不高,需要方法上的突破以及数据上的积累
深度学习方法目前并没有显著提高文档摘要性能
难度
1. 摘要任务的模糊性
2. 长文档的语义编码问题
3. 数据规模不够大(特别式多文档摘要)
1.DUC
这个网站提供了文本摘要的比赛,2001-2007年在这个网站,2008年开始换到这个网站TAC。很官方的比赛,各大文本摘要系统都会在这里较量一番。这里提供的数据集都是小型数据集,用来评测模型的
2.TAC
主要任务(新型):
Update Summarization
Opinion Summarization
Guided Summarization
AESOP(摘要自动评价)
Biomedical Summarization
3.NTCIR
4.NLPCC:中文摘要评测
1.高效、一致性好、节省人力时间,但不精确
2.ROUGH:类似BLEU,基于N元模型自动评价系统摘要与人工摘要的吻
合程度(基于N元模型重叠的程度)
3.BE:基于句法树/依存关系树,句子划分为最小语义单元(BE,语法
成分+关系),然后基于BE进行ROUGE评测(用的少,因为在构建依存关系树的时候就有误差)
精确,但耗费人力时间,容易受干扰(可控)
参考:万小军 http://pan.baidu.com/s/1i5Qi5zn