NLG任务—摘要生成综述

一、NN之前的摘要生成技术简述

1.1 抽取式模型

从原始文本中提取单词和单词短语来创建摘要。

1.1.1 pyTeaser

pyTeaser 是Scala项目TextTeaser的Python实现,它是一种用于提取文本摘要的启发式方法。

把句子进行排序,然后选择和文档最相关的Top5句子作为摘要。句子排序规则包括如下四个方面:

  1. 文档和句子标题共有的单词数。
  2. 关键词:文本进行预处理之后,按照词频统计出排名前10的关键词,通过比较句子中包含关键词的情况,以及关键词分布的情况来打分。
  3. 句子在文中的位置:比如每段的第一句是核心句的比例大概是70%
  4. 句子长度:定义理想句子长度,然后给每个句子按照离这个长度的远近打分。
1.1.2 LatentSemanticAnalysis

这篇论文我专门写了一篇博客,请移步论文阅读-基于LSA的摘要生成

1.1.3 TextRank

TextRank 算法是一种用于文本的基于图的排序算法,通过把文本分割成若干组成单元(句子),构建节点连接图,用句子之间的相似度作为边的权重,通过循环迭代计算句子的TextRank值,最后抽取排名高的句子组合成文本摘要。本文介绍了抽取型文本摘要算法TextRank,并使用Python实现TextRank算法在多篇单领域文本数据中抽取句子组成摘要的应用。

python3实现

算法解读

计算句子向量之间相似矩阵,再转为图结构,其中节点是句子,边是句子之间的相似性得分。

1.1.4 分类模型

将摘要生成视为一个分类模型:摘要中是否要包含这句话。

原文

特征

这篇文章首先是找出四类特征:

  • surface:句子的外在特征
  • content: 句子中词本身代表的信息
  • event: 句子中包含的event的特征
  • relevance: 这个句子和其他句子相关性

模型

先通过监督学习的方式,找到有效的特征,训练好监督模型。这种方法需要很多标注数据。为了解决这个问题,又引入了半监督学习的方式,即每轮学习,将未标注样本通过分类器得到label,然后和已标注数据一起重新进行训练.

训练过程伪码如下:

半监督学习示例代码

self-traing 和 co-training 的比较

1.1.5 基于序列的HMM模型

1.2 生成式模型

这种方法的核心就是找出文章的关键信息并将之编码进特征向量组,然后再通过NLG系统生成摘要。早期的生成方法都是通过先验知识预定义出一些摘要模板,通过填槽和平滑技术完成摘要生成任务。

二、基于神经网络的摘要生成

大部分的基于NN的生成任务基本分成三步:

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值