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

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

1.4  Re3Sum


Re3Sum也是seq2seq2的文本摘要模型,其特点是利用已有的摘要作为软模板(soft template)来指导 seq2seq 模型。具体而言,首先使用信息检索平台(Lucene)从语料中检索合适的摘要作为候选模板,然后扩展 seq2seq 框架,使其具有模板排序(reranking)和基于模板生成摘要 (rewriting)的功能。



图4. Re3Sum流程图。虚线表示Retrieve,因为嵌入了一个IR( Information Retrieval )系统


如图4所示,Re3Sum模型主要包含三个模块,Retrieve, Rerank, Rewrite。在生成验证和测试时使用下式表示的得分(最大值)来筛选模板:


Retrieve模块该模块目的是从训练语料中筛选合适的候选模板。这样做的前提是:相似的句子有相似的摘要模式。因为语料比较大,超过3M,所以采用IR系统Lucene来有效地创建索引,完成检索。根据输入句子(x)和索引句子的相似性来进行排序召回,得到候选soft template(r)。



图5. 联合Rerank and Rewrite


Rerank模块
考虑到基于隐状态的匹配网络具有较强的检测两段文本相关性的能力,首先使用 Bidirectional Recurrent Neural Network(BiRNN)来对输入(x )和soft template(r )进行编码。使用BiRNN的输出来表示输入或者模板句子,然后使用双线性网络来计算输入和模板的相关性得分,筛选模板。Bilinear网络在相关性评估方面优于多层前向神经网络。

Rewrite模块
因为模板总是包含比较多的在原文本没有出现的命名实体,所以很难保证soft template能够很好的表示输入句子,所以采用seq2seq模型重新生成更准确可靠,更丰富的摘要。将输入和模板的隐状态连接起来作为生成摘要的解码器的输入。

生成模型
使用ROUGE得分来衡量soft template 和y*的相似度:



在训练时,使用上式表示的得分来筛选模板,这样做的目的是在训练是加速收敛,并且在实验中没有什么副作用。


模型 SOTA!平台模型详情页
 Re3Sum
前往 SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/models/models/13859f1c-16a3-4b81-81f8-f85d078d91f4


1.5 MTLSum


MTLSum将文本摘要生成作为主任务,将问题生成、蕴含生成作为辅助任务进行多任务学习,属于一种多任务学习模型。问题生成任务根据文本生成问题的任务,该任务需要模型有能力识别文本中的重要信息,并对此信息进行提问;使用该任务作为辅助任务,帮助摘要模型更好地掌握分辨重要信息的能力;蕴含生成任务根据文本生成逻辑上一致的假设的任务,该任务需要模型生成的内容与文本在逻辑上一致,要求模型学习有逻辑地生成的能力;使用该任务作为辅助任务,帮助摘要模型在生成文本摘要时,学会减少无关甚至相反内容的生成。


使用一个序列-注意力-序列模型,其中有一个2层的双向LSTM-RNN编码器和一个2层的单向LSTM-RNN解码器。x表征输入源文本,y表征输出。以输入源文本为条件的输出摘要生成词汇分布是:



令解码器在时间步长t的隐状态为s_t,c_t为背景向量,定义为编码器隐状态的加权组合。将解码器(最后一个)RNN层的隐状态s_t和上下文向量c_t连接起来,并应用线性变换,然后通过另一个线性变换投射到词空间。最后,解码器每个时间步长t的条件词分布被定义为:



Pointer和Coverage Strategy的结构与PGN完全相同,不再赘述。



图6. 多任务模型概述,对三个任务进行平行训练:抽象摘要生成(SG)、问题生成(QG)和蕴含生成(EG)。在所有三个任务中共享 "蓝色 "表征,即第二层的编码器、注意力参数和第一层的解码器

如图6所示,主任务(SG)和两种辅助任务(QG、EG)采用相同的模型结构;三种任务的嵌入层、编码器的第一层和解码器的第二层的结构不共享,编码器的第二层、attention distribution和解码器的第一层的结构共享。模型采用的共享方式不是hard sharing,即共享的结构使用同一套参数;而是采用soft sharing,即共享的结构实际上有各自的参数,模型鼓励这些参数在参数空间的分布上趋同,使用L2 loss惩罚共享参数间的不同分布;soft sharing使模型具有更大的任务灵活性。使用损失函数如下:



其中,第一项是主任务的CE Loss,第二项是卷积loss,第三项和第四项是soft sharing loss,鼓励共享结构的参数分布趋同。


在训练时,先分别在各自的语料上训练三个模型,直至三个模型达到90%的收敛度;然后使用上述的L(θ)进行多任务学习:先训练a个batch的SG任务,再训练b个batch的QG任务,再训练c个batch的EG任务,循环往复直至三个模型都收敛。


模型 SOTA!平台模型详情页
MTLSum
前往 SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/models/models/1ee02eca-5042-4709-8bd1-af02d20bd262


1.6  KGSum


KGSum提出的baseline是Transformer-XL,相比vanilla Transformer,这种结构可以处理序列更长的输入,保持分段输入间的语义关系。Transformer-XL为语言建模中的长距离依赖问题提供了一个有效的解决方案。他们通过重用前面语段的隐状态,将递归概念引入到基于自注意力的模型中,并引入了相对位置编码的思想,使递归方案成为可能。KGSum将Transformer-XL扩展到基于Transformer架构的编码器-解码器架构。如图7所示,基于Transformer-XL注意力分解,计算每个多头注意力层的注意力分数。


KGSum扩展了编码器-解码器的结构,使实体信息能够有效地纳入模型中。在编码器一侧,有一个单独的实体注意力通道,与token的注意力通道并行。这两个通道之后是多头token自注意力和多头交叉token-entity注意力。在解码器一侧,有多头masked token自注意力,多头masked entity自注意力,以及编码器和解码器之间的多头交叉注意力。最后,还有另一层多头token注意力,然后是前馈层和softmax来输出token。



图7. KGSum模型架构。PE代表位置编码。单个编码器和解码器层在括号中显示。在多层架构中,大括号中的这些层是堆叠的

比较vanilla Transformer和Transformer-XL的注意力分解。下面的公式显示了在同一语段内查询Q_i和关键向量K_j之间的注意力计算。U矩阵表示绝对位置编码,E矩阵是token嵌入矩阵,W_q和W_k表示查询和关键矩阵。在Transformer-XL注意力表述中,R_(i-j)是没有可训练参数的相对位置编码矩阵:



Transformer-XL的架构如下式所示,在第n个Transformer层的一个段τ,SG表示停止梯度,◦表示连接:


在多头注意力层之后,仍然有全连接的前馈网络层,以及在层归一化之后的子层周围的残差连接。为了简单起见,图7中省略了这些层。从经验上看,与Transformer基线模型相比,Transformer-XL 编码器-解码器架构生成的文本更加连贯。


实体链接器模块使用现成的实体提取器,并将提取的实体与Wikidata知识图谱进行歧义处理。提取的实体被初始化为预先训练好的维基数据知识图谱实体嵌入,这些实体嵌入是通过TransE学习的。实体转换学习模块使用一系列具有ReLU激活的前馈层。这些模块学习的实体与文本中的相应token处于同一子空间。


模型 SOTA!平台模型详情页
KGSum
前往 SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/models/models/686f5a34-89a0-46c2-8270-ab62674c4e3f


1.7 PEGASUS


与前述模型RNN-based的架构有着根本性的不同,PEGASUS是Transformer-based的。PEGASUS是一个标准的Transformer架构,在海量文本语料库上用一个新的自监督目标预先训练transformer-based的大型编码器-解码器模型。在PEGASUS中,重要的句子被从输入文件中移除/屏蔽,并从剩余的句子中一起生成一个输出序列,类似于提取式摘要。


PEGASUS架构如图8所示:


图8.  PEGASUS架构,标准的Transformer编码器-解码器。GSG和MLM作为预训练目标同时适用于这个例子。最初有三个句子。其中一个句子被[MASK1]屏蔽,作为目标生成文本(Gap Sentences Generation,GSG)。另外两个句子仍然保留在输入中,但有些标记被[MASK2]随机屏蔽(Masked Language Model,MLM)


GSG
作者提出了一个新的预训练目标GSG。假设使用一个更接近下游任务的预训练目标会实现更好更快的微调性能,预训练目标涉及从输入文件中生成类似于概要的文本。为了利用海量文本语料进行预训练,设计了一个在没有abstactive summaries的情况下的seq2seq的自监督目标。最直观选择是一个预训练的抽取式摘要;然而,这样的程序只能训练一个模型来复制句子,因此不适合于抽象的总结。从文本中选择并屏蔽整个句子,并将空白句子串联成一个伪摘要。每个被选中的空白句的相应位置都被一个屏蔽标记[MASK1]所取代,以告知模型。空白句子比率(Gap sentences ratio,GSR)是指被选中的空白句子数量与文本中的总句子数量之比。为了更近似于摘要,选择对文本来说似乎很重要/很主要的句子。由此产生的目标既具有经验上证明的MASK的好处,又预示着下游任务的形式。
作者考虑了从由n个句子组成的文件D中不加替换地选择m个空白句子的3种主要策略:1)Random。均匀地随机选择m个句子。2)Lead。选择前M句。3)Principe。根据重要性选择得分最高的句子。

MLM
在BERT之后,在输入文本中选择15%的token,被选择的token(1)80%的时间被掩码token [MASK2]取代,(2)10%的时间被随机token取代,(3)10%的时间没有改变。应用MLM来训练Transformer编码器,作为唯一的预训练目标或与GSG一起训练。

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



模型 SOTA!平台模型详情页
PEGASUS
前往 SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/models/models/161a361b-4102-415e-8f87-d00b9df241fa


1.8 FASum

FASum将知识图谱融入到自动摘要的生成中,提高自动摘要的事实准确性。作者在这篇文章中提出了一个事实感知的文本摘要模型FASUM,通过图关注来提取和整合事实关系到摘要生成过程中。此外,作者还设计了一个事实纠正器模型FC,以自动纠正由现有系统生成的摘要中的事实错误。

FASum利用建立在Transformer上的seq2seq架构,编码器产生文本的上下文嵌入,解码器关注编码器的输出以产生摘要。为了使摘要模型具有fact-aware,从源文本中提取、表征并将知识整合到摘要生成过程中。FASUM的整体架构如图9所示。


图 9. FASUM的模型结构。它在编码器和解码器中都有L层的Transformer块。知识图谱是从信息提取结果中获得的,它参与了解码器的注意力


知识抽取。为了从文本中提取重要的实体关系信息,采用斯坦福OpenIE工具。提取的知识是一个元组的列表。每个元组包含一个主题(S)、一个关系(R)和一个对象(O),每个都是文本中的一段文字。


知识表征。构建一个知识图谱来表示从OpenIE中提取的信息。应用Levi转换来平等对待每个实体和关系。详细来说,假设一个元组是(s, r, o),创建节点s、r和o,并添加边s-r和r-o。我们得到一个无向知识图谱G=(V,E),其中每个节点v∈V都与文本t(v)相关联。在训练期间,这个图G是为每个批次(batch)单独构建的,也就是说,没有共享的巨大图。在推理过程中,模型可以接受未见过的实体和关系。然后采用一个图注意力网络来获得每个节点v_j的嵌入e_j。v_j的初始嵌入是由应用于t(v_j)的双向LSTM的最后隐状态给出的。


知识融合。知识图谱的嵌入是与编码器并行获得的。然后,除了对编码器的输出进行典型的交叉关注外,每个解码器块也对知识图谱节点的嵌入进行交叉关注的计算:


摘要生成。把解码器的最终输出表征为z_1, ..., z_t。为了生成下一个token y_t+1,采用线性层W将z_t投射到与字典相同大小的向量中。而预测的y_t+1的分布由以下方式得到:



在训练过程中,使用交叉熵作为损失函数L(θ):



其中y_t是第t个token的one-hot向量,θ代表网络中的参数。


事实纠正器。为了更好地利用现有的摘要系统,作者还提出了一个事实纠正器模型,FC(Fact Corrector),以改善由抽象系统生成的任何摘要的事实一致性。FC将纠正过程设定为一个seq2seq问题:给定一个文本和一个候选摘要,该模型生成一个纠正后的摘要,并对其进行最小的修改,使其与文本的事实更加一致。

虽然FASum在Transformer中有一个图注意力模块,防止直接适应预训练的模型,但FC模型架构采用了预训练模型UniLM的设计。从RoBERTa-Large中启动了模型权重。微调过程类似于训练去噪自动编码器。使用反向翻译和实体互换来生成合成数据。例如,基础真实摘要中的一个实体被随机地替换成文本中的另一个相同类型的实体。这个修改后的摘要和文本被送到更正器,以恢复原始摘要。在推理过程中,来自任何抽象概括系统的候选摘要与文本串联起来,并发送给FC,由FC产生更正后的摘要。

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


模型 SOTA!平台模型详情页
FASum
前往 SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/models/models/f07ad4a0-8360-40e2-bcaa-2c820116150e
相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
机器学习/深度学习 资源调度
【机器学习】高斯分布-概率密度函数
【1月更文挑战第23天】【机器学习】高斯分布-概率密度函数
【机器学习】高斯分布-概率密度函数
|
5月前
|
机器学习/深度学习 存储 自然语言处理
语义检索翻车?可能是你的Embedding模型没选对!
本文深入解析Embedding模型在RAG系统中的核心作用,涵盖其原理、类型、选型策略及实战建议。选对模型可显著提升语义检索准确性与效率,避免成本浪费。干货满满,值得收藏!
2656 52
|
机器学习/深度学习 编解码 数据可视化
RT-DETR改进策略【Backbone/主干网络】| 替换骨干网络为2023-CVPR ConvNeXt V2 (附网络详解和完整配置步骤)
RT-DETR改进策略【Backbone/主干网络】| 替换骨干网络为2023-CVPR ConvNeXt V2 (附网络详解和完整配置步骤)
870 11
RT-DETR改进策略【Backbone/主干网络】| 替换骨干网络为2023-CVPR ConvNeXt V2 (附网络详解和完整配置步骤)
|
人工智能 开发框架 自然语言处理
Eko:一句话就能快速构建复杂工作流的 AI 代理开发框架!快速实现自动操作电脑和浏览器完成任务
Eko 是 Fellou AI 推出的开源 AI 代理开发框架,支持自然语言驱动,帮助开发者快速构建从简单指令到复杂工作流的智能代理。
1655 12
Eko:一句话就能快速构建复杂工作流的 AI 代理开发框架!快速实现自动操作电脑和浏览器完成任务
|
存储 自然语言处理 算法
【算法精讲系列】MGTE系列模型,RAG实施中的重要模型
检索增强生成(RAG)结合检索与生成技术,利用外部知识库提升大模型的回答准确性与丰富性。RAG的关键组件包括文本表示模型和排序模型,前者计算文本向量表示,后者进行精细排序。阿里巴巴通义实验室推出的GTE-Multilingual系列模型,具备高性能、长文档支持、多语言处理及弹性向量表示等特性,显著提升了RAG系统的检索与排序效果。该系列模型已在多个数据集上展示出优越性能,并支持多语言和长文本处理,适用于各种复杂应用场景。
2983 18
|
数据可视化 Ubuntu 机器人
WebViz可视化工具的应用
WebViz可视化 Webviz是一个基于Web的可视化工具,意味着您可以通过浏览器/APP访问它,而不需要安装额外的软件。这对于远程访问和团队协作非常方便。 Foxglove是一个开源的工具包,包括线上和线下版。旨在简化机器人系统的开发和调试。它提供了一系列用于构建机器人应用程序的功能。 本节将介绍如何使用Foxglove进行数据查看,以及话题通信。 为了实现OriginBot与Foxglove的连接,我们需要在OriginBot上搭建ROS环境。请确保您的机器人是OriginBot(视觉版/导航版),并且您的PC运行的是Ubuntu(≥20.04)或Windows(>=10)。
272 6
|
JavaScript 前端开发 Java
JavaScript的数学计算库:decimal.js
JavaScript的数学计算库:decimal.js
626 0
|
移动开发 数据可视化 算法
贝叶斯优化实战(二)(3)
贝叶斯优化实战(二)
457 0
|
PyTorch 算法框架/工具 API
PyTorch 2.2 中文官方教程(十)(3)
PyTorch 2.2 中文官方教程(十)
596 0
|
机器学习/深度学习 自然语言处理 算法
CopyNet、SeqGAN、BERTSUM…你都掌握了吗?一文总结文本摘要必备经典模型(二)
CopyNet、SeqGAN、BERTSUM…你都掌握了吗?一文总结文本摘要必备经典模型
533 0

热门文章

最新文章