如何解决长对话摘要生成问题?

2023-11-07

主要参考论文:《DYLE: Dynamic Latent Extraction for Abstractive Long-Input Summarization》

摘要:

        基于transformer的模型已经在短输入的摘要提取方面取得了先进的性能。但是也正是由于注意力机制交互的机制,在运算资源有限的情况下,提取长对话的摘要是十分困难的。

        DYLE这篇论文采用了先提取再生成的方案——即先由重要句子提取器提取对话集中的重要句子,再根据这些重要句子摘要生成器生成摘要。

        而这篇文章的创新点在于,作者设计了一个动态潜在提取(Dynamic Latent Extraction)方法,用于联合训练重要句子提取器和摘要生成器。同时这种方法还具有一定的可解释性。

相关工作:

当前主要有四种方法处理长文本的摘要问题。

1、先提取再生成的方法。

一般的操作是先将文本转化为句子表示序列(一般是用bert),然后要么对这些句子表示做序列标注,要么依次对句子表示做文本分类。得到的重要句子再输入到摘要生产器中,进行摘要生成。

缺点:这种方法最大的问题是提取阶段和生成阶段是不可微的,需要通过一些技巧才能联合训练。比如通过强化学习。但是面对长对话摘要,强化学习奖励如果是基于句子级别的rouge分数之和的话,会导致选择内容重合的句子;奖励如果是基于摘要级别的rouge分数又会难以训练。

fast_abs_rl [4]

总之该论文的观点是以往的通过强化学习联合训练两阶段模型的方案是不适用于长文本场景下的长摘要生成。

此外此方法还有一个问题,重要句子提取器提取的往往不是连续的文本,离散的文本即使能生成出rouge分数高的摘要,但是这样的摘要真的可靠吗。论文只是假设信息完备且摘要可靠。当然提取重要句子的过程也是一个去噪的过程,毕竟对话不像文本,确确实实有很多废话,如果保留的话反而会影响摘要的生成质量。

2、使用稀疏注意力机制和分块的方法

通过使用稀疏注意力机制的编码器将整个对话集塞进去,当然即使是使用了稀疏注意力机制还是很难塞进如此长的文本(上万甚至几万的文本)。在实际应用时还会先将文本切块,块内做局部的注意力计算,再在块间做全局注意力计算。

这种方法确实是做到了对信息的最大利用,既有一种大算力和强算法的美。[3]

DialogLM [3]

缺点:从直观上来讲,总结如此长对话的摘要,是否真的需要一口气把整个对话集输入进去?主要是显存和计算开销确实大。

以及如果使用稀疏注意力机制感受野肯定有损失,而且减少了预训练模型的好处。(论文如是说)我认为:如果又要使用稀疏注意力又要只做块内注意力和块间注意力,那确实没有现成的预训练模型可用的。但是指责这种方法损失了部分感受野属于是有些牵强了,该论文的方法都把大部分文本抛弃了,属于是”50步笑100步“。

3、分治法

先将原输入切分为多个部分,然后各个部分的子摘要,并结合起来产生最终的摘要。很明显这种模式是建立在被切分的各个部分之间没有什么上下文依赖这个假设之上的。可能通过一些文本分割算法使上述假设尽量成立吧。

还有些方法会训练一个生成模型,对这些子摘要进行修饰操作。

Summ^N [5]

4、层次模型

一个文档它的信息天然就有层级结构,比如token级别的层次、句子级别的层次、段落级别的层次。层次模型通过整合利用这些层次信息来达到更好的摘要总结效果。

缺点:他们并不注重显存和计算开销。

HAT-BART  [6]

如图:HAT-BART是增强了句子层次信息的层次模型

论文的方法:

该论文的框架采用的是重要句子提取器+摘要生成器两阶段模型框架。

重要句子提取器采用的是bert系列模型,通过将每句话的cls作为该句话的句子表示并对其进行评分来筛选重要句子。我们一般选取top-k个重要句子。

摘要生成器采用了bart模型,通过将这top-k个重要句子输入到bart中生成摘要。
上文提到,这样的框架一直有一个问题,那就是提取器是通过top-k选取句子的,索引这个操作是不可微的。所以必须有一个结构使得提取器和生成器可以信息交互,从而达到联合训练的目的。之前一般是用强化学习的方法来解决。

而该论文实现联合训练的方法是通过对bart的改动实现的。

首先作者将batch_size调为1(batch_size小的问题通过梯度累积的方式来解决),这样每次就是输入一个样本了。显然每次输入bart的样本都有top-k句话。作者将每一句话作为一个独立的样本,如此将这些句子分隔开。也就是说此时输入bart的是batch_size为top-k,每一个样本为一句话的数据(同时也将摘要复制top-k份,对应每一个句子样本)。

如此每一个时间步我们会得到top-k个单词表,它们都是对应了同一个摘要的相应文字。那到底生成哪一个字呢?

作者添加了一个多层感知机,将bart的decoder的最后一个隐层输入mlp中,mlp对这top-k个句子进行打分,这个分数转化为概率来对这top-k个词表加权。

一方面这top-k个词表的概率求和就可以确定下究竟生成哪个词,另一方面mlp在每个时间步对句子的打分求和后可以作为生成器该句子重要性的评估。

前者可以用来训练生成器,后者可以用来训练重要句子提取器。

这种方法确实是可以很好地将句子提取器和摘要生成器连接起来进行联合训练。但是摘要生成器预测词的过程完全是没有句子与句子之间的信息交互的,只有句子内部的注意力机制。mlp的对句子的打分也只是根据decoder_input和该句子本身,并没有考虑其他句子信息对被打分句子的影响。

当然不做注意力机制当然是有保持句子独立性以保证mlp对句子评分是真的对原始输入评分的考虑。但是还是在逻辑上有些别扭,毕竟生成摘要的过程居然是只根据句子内部的局部注意力机制,加上一个加权投票机制实现的。生成模型至始至终都其实没有看到所有句子的全貌。

参考文献:

[1] Mao Z ,  Wu C H ,  Ni A , et al. DYLE: Dynamic Latent Extraction for Abstractive Long-Input Summarization[J].  2021.

[2]Long document summarization: 一文速览长文本摘要进展 - 知乎 (zhihu.com)

[3]Zhong, Ming et al. “DialogLM: Pre-trained Model for Long Dialogue Understanding and Summarization.” ArXiv abs/2109.02492 (2021): n. pag.

[4]Chen, Yen-Chun and Mohit Bansal. “Fast Abstractive Summarization with Reinforce-Selected Sentence Rewriting.” Annual Meeting of the Association for Computational Linguistics (2018).

[5] Summ^N: A Multi-Stage Summarization Framework for Long Input Dialogues and Documents

[6] Rohde, T. ,  X. Wu , and  Y. Liu . "Hierarchical Learning for Generation with Long Source Sequences." (2021).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何解决长对话摘要生成问题? 的相关文章

  • 弹性布局-更优秀的Flex

    Flex布局详解 浮动布局的优缺点 图文的环绕显示 浮动元素 同行显示 适配性更好 忘记清浮动 高度坍塌 flex布局的优缺点 IE10以下不支持 用来做布局的 很方便 flex布局 flex flexible 弹性布局 移动端用的最多 P

随机推荐

  • LeetCode——345. 反转字符串中的元音字母

    反转字符串中的元音字母 题目 思路 代码 结果 题目 给你一个字符串 s 仅反转字符串中的所有元音字母 并返回结果字符串 元音字母包括 a e i o u 且可能以大小写两种形式出现 思路 没有什么难度 很简单的数组判断交换 代码 clas
  • 操作系统——启动操作系统及ucore-lab0 coding

    花了一周多时间把操作系统的课程看了一遍 晚上结课的时候尝试性地想看着笔记的标题回忆一下内容 发现 嗯 一片混沌 趁热打铁做个总结吧 辅以uCoreLab上的coding 一个走 1 操作系统的启动 未启动前 os和Bootloader都存放
  • 图形学/OpenGL/3D数学/Unity

    1 场景管理的数据结构 总结 游戏开发最常用的空间数据结构是四叉 八叉树和BVH树 而BSP树基本上只能应用于编辑器上 k d树则只能用在特殊问题应用场景 2 帧同步与状态同步 https gameinstitute qq com comm
  • lattice 包中的直方图绘制

    1 直方图 library lattice install packages nutshell library nutshell histogram DBWT DPLURAL data births2006 smpl main births
  • 记一次Swagger页面报错/error 404的排查过程

    记一次Swagger页面报错 error 404的排查过程 使用springfox swagger ui展示的页面如下 Maven引用 使用springfox swagger ui展示的页面如下 说是没有为 error这个路径指明确定的映射
  • Java中的注解和反射

    文章目录 Java中的注解和反射 一 注解 1 1注解Annotation的作用 1 2注解Annotation的格式 1 3注解Annotation在哪里使用 1 4实例 二 内置注解 三 元注解 四 自定义注解 五 静态和动态语言 5
  • 2022年浙江省中职组“网络空间安全”赛项模块B--Windows渗透测试

    2022年中职组浙江省 网络空间安全 赛项 B 1 Windows渗透测试 一 竞赛时间 420分钟 共计7小时 吃饭一小时 二 竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 第 阶段 单兵模式系统渗透测试 任务一 Windows
  • Notepad++ 文件丢失了,找回历史文件方法

    Notepad 文件丢失了 找回历史文件方法 C Users 你当前用户的用户名 AppData Roaming Notepad backup
  • Linux防火墙iptables(二)之SNAT和DNAT

    目录 一 SNAT 1 概述 2 开启SNAT的命令 3 SNAT转换1 固定的公网IP地址 4 SNAT转换2 非固定的公网IP地址 共享动态IP地址 5 实验 二 DNAT 1 DNAT应用环境 2 DNAT原理 3 DNAT转换前提条
  • 解决react-native-image-picker在RN0.6以上上调不起相机问题

    1 需要link react native link react native image picker 2 在android settings gradle文件中添加如下代码 include react native image pick
  • 算法设计与分析-DP习题

    7 1 最小路径和 给定一个m行n列的矩阵 从左上角开始每次只能向右或者向下移动 最后到达右下角的位置 路径上的所有数字累加起来作为这条路径的和 求矩阵的最小路径和 输入格式 输入第一行 两个正整数m和n 1 lt m n lt 1000
  • Altium Designer 学习笔记(原理图库)

    1 AD工程的组成部分 源文件 原理图 PCB图 库文件 原理图库 PCB原件库 一定要建工程 不要只建原理图和PCB 建立了工程才能在原理图和PCB之间建立联系 2 绘制原理图库 电阻容 放置引脚 快捷键 P P 在放置的过程中按TAB可
  • opengl_shader在线教程,GLSL  着色器语言学习入门学习

    下面2个网址对GLSL 着色器语言学习入门学习挺有帮助的 https thebookofshaders com 07 lan ch opengl入门教程 https learnopengl cn github io
  • Qt扫盲-QFile理论总结

    QFile理论总结 1 概述 2 直接操件文件 3 用 流 方式 操作 文件 1 读取文件 2 写文本文件 3 二进制流读写 4 静态函数 5 不同系统存在的问题 1 概述 QFile 类是一种用于读取和写入文本和二进制文件资源的 I O
  • 数据结构(十七) -- 树(九) --B树B+树

    数据结构演示网址 数据结构演示地址 1 出现背景 B树B 树目的 为了硬盘快速读取数据 降低IO操作次数 而设计的一种平衡的多路查找树 二叉查找树 AVL树 红黑树等都属于二叉树的范围 查找的时间复杂度是O log 2N 与树的深度相关 那
  • 不含101的数_200分——二进制数 / 动态规划 / 数位DP_2023A卷

    不含101的数 题目描述 小明在学习二进制时 发现了一类不含 101的数 也就是 将数字用二进制表示 不能出现 101 现在给定一个整数区间 l r 请问这个区间包含了多少个不含 101 的数 输入输出描述 输入描述 输入的唯一一行包含两个
  • 零基础入门STM32编程(九)——定时器PWM呼吸灯(CUBEMX)

    一 前言 前面章节我们学了如何使用定时器中断点灯 原理为定时器计数达到1s时产生中断 此时单片机调用中断服务函数 执行中断服务函数中的代码 本节我们通过定时器的PWM功能实现呼吸灯的功能 二 定时器PWM功能 2 1 端口复用 定时器的PW
  • 数据挖掘案例实战:利用LDA主题模型提取京东评论数据

    数据挖掘案例实战 利用LDA主题模型提取京东评论数据 网上购物已经成为大众生活的重要组成部分 人们在电商平台上浏览商品和购物 产生了海量的用户行为数据 其中用户对商品的评论数据对商家具有重要的意义 利用好这些碎片化 非结构化的数据 将有利于
  • 3D【10】网格优化:Laplacian Mesh Optimization

    拉普拉斯网格优化与平滑是网格处理的经典算法 其一些基本概念可以作为神经网络预测3D mesh的一些约束 如平滑 我们先来看看一些基本概念 基本概念 首先 我们用 G V E G V E G V E 来表示一个网格 其中 V vT1 vT
  • 如何解决长对话摘要生成问题?

    主要参考论文 DYLE Dynamic Latent Extraction for Abstractive Long Input Summarization 摘要 基于transformer的模型已经在短输入的摘要提取方面取得了先进的性能