NAM、RAS、MTLSum、BottleSUM…你都掌握了吗?一文总结文本摘要必备经典模型(四)

简介: NAM、RAS、MTLSum、BottleSUM…你都掌握了吗?一文总结文本摘要必备经典模型

二、压缩式模型


2.1 RNN(ext) + ABS + RL + Rerank


前两部分分别介绍了抽取式模型和生成式模型,还有一类方法的思路是结合二者的优势:使用抽取式方法先得到包含主要信息的相关语句,从而减小重写过程中所需关注的信息量;另一方面,重写过程可以在关注主要信息的同时,用生成式模型以一种更加流畅的方式对文本进行描述(RNN ext+abs)。不过,二者结合时还会遇到问题:两部分的训练由于无法直接传递梯度信息,并不能直接进行端到端的训练。我们在这一章节中介绍的模型使用了强化学习(RL)来解决这个问题,将抽取模型看做agent,把抽取的句子进行重写后的结果和真实摘要进行比较,将比较的结果看做是一种奖励,从而进行前一部分的更新。而重写模型依然可以使用最小化负对数似然的方式进行训练,这样强化学习就为两部分模型的训练搭建起了一个桥梁。此外,为了解决最后结果中可能存在的跨句重复的问题,这里又使用了一个额外的reranker。
图10. 抽取agent:卷积编码器为每个句子计算表征r_j。RNN编码器(蓝色)计算上下文感知表征h_j,然后RNN解码器(绿色)在时间步骤t选择句子j_t

假设训练集由文本-摘要的配对数据{ x_i , y_i } 组成,抽取模型的目的是找到一个函数h(x_i) = y_i ,重写模型希望找到一个函数g ( d ) = s 。抽取模型如图10所示,它采用了一种层次化的方法来进行句子的选择:首先通过卷积网络得到文本中每个句子的初始表征向量r_j ,然后在使用bidirectional LSTM-RNN 在结合全局信息的基础上得到每个句子的表征h_i。h_i考虑到了同一文本中所有先前和未来句子的上下文。
在得到文本中每个句子的表征后,为了在上述句子表征的基础上选择提取的句子,增加一个LSTM-RNN来训练一个指针网络 ,来反复提取句子。通过以下方式计算提取概率使用指针网络来进行句子的选择,每个句子被选择的概率为:

其中e_t是glimpse操作的输出:

在公式(3)中,z_t是增加的LSTMRN的输出(图10中绿色显示),它被称为解码器。所有的W's和v's都是可训练的参数。在每个时间步长t,解码器执行一个两跳的注意力机制:它首先关注h_j的,以获得一个上下文向量e_t,然后再次关注h_j的,以获得提取概率。这个模型实质上是在每个提取步长中对文本的所有句子进行分类。整个抽取模型的图示见图10。

摘要器网络近似于g,它将提取的文本句子压缩并转述为一个简洁的摘要句。这里使用的是标准的编码器-对齐器-解码器(encoder-aligner-decoder),此外增加了copy机制,以帮助直接复制一些词汇外(outof-vocabulary,OOV)的单词。

图11. extractor的RL训练(针对一个extractor步骤)及其与abstractor的互动。为了简单起见,没有显示critic network。所有的d's和s_t都是原始句子,而不是矢量表征

为了将两部分整合起来进行联合训练,作者采用强化学习的方法进行训练,如图11。首先Extractor根据当前的奖励值会决定抽取哪些句子给Abstractor,然后Abstractor根据抽取的句子进行重写,将重写后的结果和真实摘要进行比较,此时比较的结果作为下一时刻的奖励值用于Extractor的更新。但模型整体上很依赖于两部分各自的效果,如果抽取部分得到的句子是相关性很差的,那么即使重写模型能力再强得到的结果也是无用的。因此,两部分各自通过最大化似然来进行训练,同时使用强化学习使得两部分可以采用端到端的方式进行训练。

使用ML目标分别优化每个子模块:训练extractor以选择salient sentences (适配f),训练Abstractor以生成简短的摘要(适配g)。最后,应用RL来训练端到端的完整模型(适配h)。Extractor部分,可以看做是简单的二分类问题,即某个句子是否应该做为抽取的结果。但是数据集中并不存在针对于文本中句子的标签,因此这里将句子和文本对应摘要的ROUGE-L分数作为对应的标签,最后通过优化交叉熵损失函数进行训练:

Abstractor部分,通过优化交叉熵损失函数进行训练:

强化学习部分将整体看作是马尔可夫决策过程(Markov Decision Process ,MDP),t时刻的状态为c_t,所采取的动作为j_t,则下一时刻的奖励值即生成的摘要和真实摘要比较的ROUGE分数:

使用A2C(Advantage Actor-Critic )算法进行策略梯度更新。另外,由于强化学习训练过程并不涉及重写部分的训练,因此并不会影响得到的摘要的流畅性和可读性。在动作空间中加入了stop操作,它和句子的表征具有相同的维度,当抽取到v_EOE(stop对应的表征向量)时,模型所提供的奖励值为零,表示训练停止。最后为了尽可能得到冗余度小的结果,作者使用一种重排机制来消除跨句(across-sentence)的重复问题。rerank的基本思想为:beam search保留所有候选摘要,将解码得到的k个句子进行重排,重排的依据是重复的N-grams的数量,数量越小,表示得到的结果越好。
如果extractor选择了一个好的句子,在Abstractor重写之后,ROUGE的匹配度会很高,因此鼓励这种行为。如果选择了一个不好的句子,尽管Abstractor仍然生成了它的压缩版本,但摘要将不符合ground-truth,而低的ROUGE分数也不鼓励这种行动。RL与sentence-level的agent是神经摘要方面的一个新尝试:使用RL作为saliency guide,而不改变abstractor的语言模型,而以前的工作是在word-level上应用RL,这可能会以语言流畅性为代价来博弈生成结果。
本文提出了新颖的基于RL 的sentence-level的文本摘要生成模型,达到了state-of-art的效果,通过先抽取再生成的方式,加快了训练和测试解码速度,同时引入RL将抽取和生成联合起来,构成了一个整体的端到端模型而不是一个pipline系统。

当前 SOTA!平台收录 RNN(ext) + ABS + RL + Rerank共 1 个模型实现资源。

模型 SOTA!平台模型详情页
RNN(ext) + ABS + RL + Rerank
前往 SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/models/models/bb9e36ba-3f90-43d2-a98c-d41e5adfe870


2.2 BottleSUM

信息瓶颈(Information Bottleneck,IB)的原则是产生一个优化的信息X的摘要,以预测其他一些相关信息Y。作者通过将信息瓶颈原则映射到条件语言建模目标,提出了一种新的无监督摘要生成方法:给定一个句子,找到一个能最好地预测下一个句子的压缩句。迭代算法在IB目标下,逐渐搜索给定句子的较短子句,同时使下一句话的概率在摘要的条件下达到最大。该方法只使用预训练的语言模型,没有直接的监督,可以在大型语料库中有效地进行抽取式句子摘要生成。

本文共提出了两个模型:1)BottleSumEx:一种利用预训练语言模型的抽取方法。2)BottleSumSelf:一种自监督的抽象式摘要方法,利用BottleSumEx来生成样本。


图12.  对比自动编码器(Autoencoder,AE)和信息瓶颈( Information Bottleneck,IB)摘要方法示例。AE(顶部)保留了任何有助于重建原始内容的细节,例如本例中的人口规模,而IB(底部)则使用上下文来确定哪些信息是相关的,从而生成一个更合适的摘要


extractive阶段
首先介绍基于IB思想的无监督抽取方法BottleSumEx。从方法本质来说,相当于是对文本原句进行压缩,使用下一个句子s_next作为相关性变量来处理summarize一个单句s的任务。该方法将是一个确定的函数,将s映射到摘要s~,所以不学习摘要的分布,而是对我们得出的摘要取p(s~|s) = 1。优化下式:



β1 > 0控制保留相关信息和修剪之间的tradeoff。前一项鼓励修剪,而后一项鼓励关于相关性变量的信息,即s_next。式中p(~ s)和p(s_next|s~) 都可以直接由预训练语言模型来估计。论文中表示在语法通顺的基础上,摘要文本长度要比原文短。然而语法通顺这个东西无法量化,因此做了一个折中办法:首先保证摘要长度短于原文,至于语法通顺则是尽量达到。


优化算法的具体流程见Algorithm 1。相关性以两种方式进行优化:首先,只使用每种长度的最高分摘要来生成新的、更短的摘要(第5行)。第二,最后的摘要是由这个指标明确选择的(第12行)。为了满足第二个条件,每个候选者必须比派生它的候选者包含更少的自信息(即有更高的概率)。这就保证了每个删除(第9行)都是严格地删除了信息。该算法有两个参数:m是产生新的摘要候选词时要删除的最大连续词数(第9行),k是用于通过删除产生较短候选词的每个长度的候选词数(第5行)。




通过上述方法,可以生成一系列压缩式的摘要。这些摘要其实已经可以作为摘要输出了。但是,为了生成完全的生成式摘要,则需要进行下一阶段的工作。进一步的,利用一种直接的自监督技术,将BottleSumEx扩展到abstractive summarization(BottleSumSelf),即,使用一个强大的语言模型用BottleSumEx生成一个无监督摘要的大型语料库,然后调整同一语言模型,从该数据集的源句子中生成摘要。BottleSumSelf的目标是以BottleSumEx为指导,学习通过IB表达的信息相关性概念,其方式是:(a)去除提取性的限制,以生成更自然的输出;(b)学习一个明确的压缩函数,不需要下一句话的解码。


BottleSumSelf的第一步是使用BottleSumEx方法制作一个大规模的数据集用于自监督。对输入语料的唯一要求是,需要有下一个句子。然后执行abstractive阶段。


abstractive阶段
摘要生成主要是使用了GPT-2预训练语言模型,基于extractive阶段得到的摘要句(同样是利用GPT-2),完成文本生成任务。具体来说,先用GPT-2模型在第一阶段中得到一些不错的摘要句。在第二阶段,直接使用GPT-2做finetune,输入使用原文本语句,训练的目标则是第一阶段的摘要句。在inference阶段,使用一个标准的beam search解码器,在每次迭代中保留最重要的候选者。


当前 SOTA!平台收录 BottleSum 共 1 个模型实现资源。


模型 SOTA!平台模型详情页
BottleSum
前往 SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/models/models/88b14617-ab92-4626-a2c8-81fd9aa0720d

前往 SOTA!模型资源站(sota.jiqizhixin.com)即可获取本文中包含的模型实现代码、预训练模型及API等资源。


网页端访问:在浏览器地址栏输入新版站点地址 sota.jiqizhixin.com ,即可前往「SOTA!模型」平台,查看关注的模型是否有新资源收录。


移动端访问:在微信移动端中搜索服务号名称「机器之心SOTA模型」或 ID 「sotaai」,关注 SOTA!模型服务号,即可通过服务号底部菜单栏使用平台功能,更有最新AI技术、开发资源及社区动态定期推送。

相关文章
|
自然语言处理 数据可视化 物联网
Qwen1.5-MoE开源,魔搭社区推理训练最佳实践教程来啦
通义千问团队推出Qwen系列的首个MoE模型,Qwen1.5-MoE-A2.7B。
|
算法 程序员 Go
[软件工程导论(第六版)]第6章 详细设计(复习笔记)
[软件工程导论(第六版)]第6章 详细设计(复习笔记)
|
12月前
|
人工智能 自然语言处理 API
解锁 DeepSeek API 接口:构建智能应用的技术密钥
在数字化时代,智能应用蓬勃发展,DeepSeek API 作为关键技术之一,提供了强大的自然语言处理能力。本文详细介绍 DeepSeek API,并通过 Python 请求示例帮助开发者快速上手。DeepSeek API 支持文本生成、问答系统、情感分析和文本分类等功能,具备高度灵活性和可扩展性,适用于多种场景。示例展示了如何使用 Python 调用 API 生成关于“人工智能在医疗领域的应用”的短文。供稿者:Taobaoapi2014。
|
12月前
|
机器学习/深度学习 自然语言处理 算法
生成式 AI 大语言模型(LLMs)核心算法及源码解析:预训练篇
生成式 AI 大语言模型(LLMs)核心算法及源码解析:预训练篇
3304 1
|
人工智能 搜索推荐 机器人
[AI Mem0] 概览,智能自我改进记忆层
[AI Mem0] 概览,智能自我改进记忆层
|
移动开发 编解码 监控
HTML5 Video(视频)作为背景的优化方案
使用 HTML5 `<video>` 标签作为网页背景视频可以提升视觉效果,但需优化以确保性能和用户体验。主要方法包括:选择合适的视频格式(MP4、WebM、Ogg)和分辨率(720p 或更低),压缩文件大小,确保视频静音和循环播放,使用 CSS 设置全屏样式,根据设备和网络条件加载视频或静态图像,使用 `playsinline` 属性和延迟加载技术提高性能,确保无障碍性,并监控页面加载时间。合理应用背景视频可增强网站视觉效果而不影响用户体验。
|
SQL 监控 关系型数据库
【PolarDB开源】PolarDB SQL优化实践:提升查询效率与资源利用
【5月更文挑战第24天】PolarDB是高性能的云原生数据库,强调SQL查询优化以提升性能。本文分享了其SQL优化策略,包括查询分析、索引优化、查询重写、批量操作和并行查询,以及性能监控与调优方法。通过这些措施,可以减少响应时间、提高并发处理能力和降低成本。文中还提供了相关示例代码,展示如何分析查询和创建索引,帮助用户实现更高效的数据库管理。
651 1
|
安全 网络协议 网络安全
网络原理(5)--HTTPS是如何进行加密的
网络原理(5)--HTTPS是如何进行加密的
529 0
|
编解码 开发工具 Android开发
低延迟播放超高分辨率(4K+)帧率(50帧+)RTSP|RTMP流技术探讨和实现
为满足安检等场景需求,需支持4K+分辨率与50帧以上的高帧率视频流播放。实现这一目标的关键步骤包括:确保视频源支持高帧率输出、选用高性能RTSP/RTMP播放器以处理高负载视频解码、采用硬件解码以降低CPU负担、保证充足的网络带宽以维持流畅播放并控制延迟、合理配置播放器缓冲策略以适应网络波动、进行性能监控与调试以优化播放效果,以及确保播放器在多平台上的良好兼容性和表现。例如,大牛直播SDK的SmartPlayer在不同平台上实现了稳定且低延迟(150-300ms)的播放体验,支持多种视频和音频格式及多种功能,如多实例播放、事件回调、视频快照等。
883 1

热门文章

最新文章