0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于VQVAE的长文本生成 利用离散code来建模文本篇章结构的方法

深度学习自然语言处理 来源:澜舟科技 杨二光 作者:澜舟科技 杨二光 2022-12-01 17:07 次阅读

写在前面

近年来,多个大规模预训练语言模型 GPT、BART、T5 等被提出,这些预训练模型在自动文摘等多个文本生成任务上显著优于非预训练语言模型。但对于开放式生成任务,如故事生成、新闻生成等,其输入信息有限,而要求输出内容丰富,经常需要生成多个句子或段落,在这些任务上预训练语言模型依然存在连贯性较差、缺乏常识等问题。本次与大家分享一篇建模长文本篇章结构的工作,用以提升生成文本的连贯性。

论文题目

《DISCODVT: Generating LongText with Discourse-Aware Discrete Variational Transformer》

论文作者

Haozhe Ji, Minlie Huang

论文单位

清华大学

论文链接

https://github.com/cdjhz/DiscoDVT,EMNP2021/

1

动机(Motivation)

文本的全局连贯性一般表现为:

内容表达的流畅度;

内容之间的自然过渡。

如下图示例文本中的话语关系词(after, then, and, but 等),这些篇章关系词将连续的文本片段(text span)进行合理安排,从而形成结构、逻辑较好的文本。虽然预训练语言模型在关联与主题相关的内容时表现较好,但用好的篇章结构来安排内容仍然存在很多挑战。针对此问题,研究者提出建模文本内部片段与片段之间的篇章关系,利用篇章结构指导生成,以期能够改进生成文本的连贯性。

19a5cdd6-6cc3-11ed-8abf-dac502259ad0.png

图 1 EDU片段和篇章关系示例

2

方法(Method)

任务定义

首先,长文本生成的任务可以定义为:给定输入 ,模型自动生成的过程,即。 基于以上的讨论,该工作基于 VQVAE 的方法提出 DiscoDVT(Discourse-aware Discrete Variational Transformer),首先引入一个离散code序列,学习文本中每个局部文本片段(span)的高层次结构,其中每一个从大小为的 code vocabulary 中得到。随后作者进一步提出一个篇章关系预测目标,使离散 code 能够捕获相邻文本片段之间显式的篇章关系,比如图 1 中的篇章关系,after,then 等。 整个方法包括后验网络、生成器和先验网络,使用类似 VAE 的学习目标,该方法通过最大化 ELBO 来优化。19c45ac6-6cc3-11ed-8abf-dac502259ad0.png训练过程分为两个阶段:

第一阶段联合训练后验网络和生成器,使后验网络根据推导出离散的code序列,其中要求能够学习到的高层次结构,生成器则根据和 code 序列重构;

第二阶段训练先验网络,使其能够根据,预测离散 code 序列。

两阶段训练完成之后,在生成阶段,先验网络首先根据预测离散 code 序列,随后用于指导生成文本,中带有篇章结构信息,因此能够提升生成文本的连贯性。

学习离散隐变量

19dbfe56-6cc3-11ed-8abf-dac502259ad0.png

图 2 模型整体框架 这部分主要解决如何学习隐变量 code 序列,使其能够保留文本的篇章结构。模型框架如上图所示,在编码阶段,首先使用编码器编码得到语境化的表示,随后使用 CNN 和 Discrete Variational Bottleneck 技术得到离散 code 序列;在解码阶段,首先使用 transposed cnn 将 code embedding 序列的长度重新调整到文本的长度,然后添加到解码器的嵌入层中进行 step-wise 的控制,重构生成。重构生成的优化目标能够使离散 code 序列保存文本中高层次的结构信息。 具体计算过程如下: 定义 code vocabulary 的大小为,以及随机初始化的 code embedding matrix 为:

首先使用 Bart encoder 编码得到语境化的表;

为了抽象出与文本的全局结构相对应的 high-level feature, 使用多层 CNN 对进行卷积操作,得到 span-level 的表示;

随后使用 Discrete Variational Bottleneck 技术获得离散 code。具体地,将 CNN 的输出线性映射到离散空间:

训练阶段通过 gumbel-softmax 方法采样得到 soft categorical distribution : 随后 categorical distribution 与相乘得到 code embedding 。 在推理阶段则通过 argmax 方式得到离散 code 序列:

为了使每个 code 能够指导局部文本的生成,首先利用 Transposed CNN 网络(与步骤2中使用的CNN对称),将code embedding 重新调整到。(这里类似上采样的操作,将离散的 code embedding 序列的长度,恢复到原始文本的长度,可以看到的长度恢复为。)之后,与解码器输入的 token embedding 相加用于重构文本。重构优化目标如下:

篇章关系建模 为了将文本的篇章结构抽象为 latent representation,作者设计了一个辅助的篇章关系感知目标,将篇章关系嵌入到离散化的 code 中。使用 bi-affine 建模相邻 EDU 片段和的篇章关系,使得和EDU 片段对应的 latent representation 能够预测出两者之间的篇章关系。 最大化下述的对数概率: 其中,和分别表示第个和个EDU 片段的隐表示(latent representation)。 正则化隐变量 此外,作者在前期的实验中发现模型倾向于仅利用这个 code vocabulary 中少量的离散 code,这种现象会损害离散 code 的表达能力。为了鼓励模型尽可能等概率的利用离散 code,作者还引入基于熵的正则方法。
训练目标 在第一阶段中,联合上述的几个优化目标来训练后验网络和生成器,总的优化目标为: 离散 code 学习完成之后,作者使用额外的一个基于编码-解码的先验网络来学习给定条件下离散 code 的先验分布,优化目标如下: 这里因为离散 code 已经学习完成,得到后验网络,对于原始的数据集 中的每一个,可以通过后验网络得到离散 code 序列,从而形成一个数据集,该数据集用于训练先验网络。

3

实验

数据集

作者在公开的故事生成数据集 WritingPrompts 和 Wikiplots 数据集上评测所提方法,数据统计信息如下表所示。

1a0d0528-6cc3-11ed-8abf-dac502259ad0.png

baseline 模型对比

对比的 baseline 模型如下:

Seq2Seq:它是采用与 Bart 相同框架的编码-解码模型,没有经过预训练;

Bart:采用预训练 Bart 模型,并在下游数据集上对其微调;

Bart-LM:同样采用预训练 Bart 模型,先使用 bookcorpus 数据对其继续训练,随后在下游数据集进行微调;

BART-CVAE:基于 CVAE 的框架,引入连续隐变量到 Bart 模型,将隐变量加到解码器的 embedding 层指导生成文本;

Aristotelian Rescoring:它采用内容规划的方法,给定输入,它首先生成一个基于SRL 的情节,然后根据情节打分模型修改情节,最后基于修改的情节生成文本。

结果分析

下表展示了所有模型在两个数据集的自动评测结果。

1a3d7b18-6cc3-11ed-8abf-dac502259ad0.png

可以看到,在两个数据集上,在基于参考的指标上,DiscoDVT 生成的文本获得最高的n-gram重叠度(BLEU)和相似度(MSJ)。多样性方面,DiscoDVT 在 distinct 指标上略微低于 BART-CVAE,这里作者进一步检查了 BART-CVAE 的生成文本,发现BART-CVAE 会生成不出现在参考文本中的虚假单词,从而提高了多样性。在重复度方面,由于 DiscoDVT 使用了 step-wise 的控制,因此 rep-有较大幅度领先。 基于规划的方法 AR 可以获得较高的多样性,但在基于参考的指标上 BLEU、MSJ、rB 上的结果较低,这可能是多阶段方法中的暴露偏差,对生成质量有负面影响。

1a682fa2-6cc3-11ed-8abf-dac502259ad0.png

人工评测结果显示,在生成文本的连贯性和信息度方面,大多数 DiscoDVT 生成文本的质量要优于 BART, BART-LM 和 BART-CAVE baseline。

1aaf3fc8-6cc3-11ed-8abf-dac502259ad0.png

如上图所示,作者进一步对学习的 code 进行分析,可以发现离散的 code 确实能够学习到篇章关系,比如 and, so, when, however 等。

1ace09b2-6cc3-11ed-8abf-dac502259ad0.png

作者利用 discourse marker classifification 任务评测生成的篇章关系词是否正确,如上图所示。在让步、因果、时序和连接 4 种篇章关系上,DiscoDVT 生成文本中的篇章关系准确率最高,说明 DiscoDVT 生成的文本在篇章关系上质量更好。当去掉篇章关系建模的优化目标,生成的篇章关系准确率有明显下降,从而证明了篇章关系建模方法的有效性。

4

结语

本次分享展示了一种利用离散 code 来建模文本篇章结构的方法。该方法引入一个离散 code 序列学习文本的篇章结构,随后采用 step-wise 解码指导生成文本。为了建模显式的篇章关系,作者进一步提出了篇章关系建模优化目标。自动评测和人工评测结果证明了该方法的有效性。对于 code 的分析实验验证了离散 code 确实能够保留篇章关系的信息。

文本连贯性是自然语言生成的重要课题,目前改进的方法包括基于规划、建模高层次结构等方面,主要流程是首先生成文本大纲,再根据大纲生成完整的文本,其中大纲可以由关键词序列或者事件序列构成。整体来看,长文本生成中的篇章结构建模还仍不够成熟,存在诸多问题,期待未来有更多的工作取得改进。

作者来自:澜舟科技杨二光 在此特别鸣谢!

北京交通大学自然语言处理实验室四年级博士生,导师为张玉洁教授,研究方向为可控文本生成、复述生成、故事生成。在澜舟科技实习期间主要从事长文本生成、营销文案生成等课题。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Code
    +关注

    关注

    0

    文章

    67

    浏览量

    15323
  • GPT
    GPT
    +关注

    关注

    0

    文章

    342

    浏览量

    15157
  • cnn
    cnn
    +关注

    关注

    3

    文章

    349

    浏览量

    21832
  • nlp
    nlp
    +关注

    关注

    1

    文章

    481

    浏览量

    21925
  • edu
    edu
    +关注

    关注

    0

    文章

    13

    浏览量

    1693

原文标题:基于 VQVAE 的长文本生成

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何构建文本生成器?如何实现马尔可夫链以实现更快的预测模型

    文本生成器简介 文本生成在各个行业都很受欢迎,特别是在移动、应用和数据科学领域。甚至新闻界也使用 文本生成 辅助写作过程。在日常生活中都会接触到一些 文本
    发表于11-22 15:06

    三菱Q系列PLC编程手册(结构文本篇

    Q系列PLC编程手册( 结构文本篇
    发表于03-07 18:00 37次下载

    KUKA-C4机器人如何导出/导入长文本

    字段文字。 长文本可导出到一个 U 盘或机器人数据窗口的网络存档路径栏位中所确定的目录里。相同的目录也作为导入来源使用。 仅限于导入: 1. 长文本名称在 TXT 或 CSV 文件中。 2.文件的 结构确保文件可导入。 从
    的头像 发表于12-23 17:11 4284次阅读

    如何优雅地使用bert处理长文本

    这是今年清华大学及阿里巴巴发表在NIPS 2020上的一篇论文《CogLTX: Applying BERT to Long Texts》,介绍了如何优雅地使用bert处理 长文本。作者同时开源了
    的头像 发表于12-26 09:17 8599次阅读
    如何优雅地使用bert处理<b class='flag-5'>长文本</b>

    给KUKA-C4机器人导入长文本方法

    字段文字。 长文本可导出到一个 U 盘或机器人数据窗口的网络存档路径栏位中所确定的目录里。相同的目录也作为导入来源使用。 仅限于导入: 1. 长文本名称在 TXT 或 CSV 文件中。 2.文件的 结构确保文件可导入。 从
    的头像 发表于02-09 13:49 1822次阅读
    给KUKA-C4机器人导入<b class='flag-5'>长文本</b><b class='flag-5'>方法</b>

    基于生成对抗网络GAN模型的陆空通话文本生成系统设计

    可以及时发现飞行员错误的复诵内容。考虑到训练一个有效的差错校验网络模型需要大量的 文本数据,本文提出一种基于 生成对抗网络GAN的陆空通话 文本生成方法。首先对现有真实的陆空通话 文本进行筛选
    发表于03-26 09:22 34次下载
    基于<b class='flag-5'>生成</b>对抗网络GAN模型的陆空通话<b class='flag-5'>文本生成</b>系统设计

    面向搜索的微博短文本语义建模方法综述

    面向搜索的微博短 文本语义 建模 方法综述
    发表于06-24 14:30 3次下载

    文本生成任务中引入编辑方法文本生成

    4. FELIX FELIX是Google Research在“FELIX: Flexible Text Editing Through Tagging and Insertion”一文中提出的 文本生成
    的头像 发表于07-23 16:56 1612次阅读
    <b class='flag-5'>文本生成</b>任务中引入编辑<b class='flag-5'>方法</b>的<b class='flag-5'>文本生成</b>

    受控文本生成模型的一般架构及故事生成任务等方面的具体应用

    来自:哈工大讯飞联合实验室 本期导读:本文是对受控 文本生成任务的一个简单的介绍。首先,本文介绍了受控 文本生成模型的一般架构,点明了受控 文本生成模型的特点。然后,本文介绍了受控 文本生成
    的头像 发表于10-13 09:46 3300次阅读
    受控<b class='flag-5'>文本生成</b>模型的一般架构及故事<b class='flag-5'>生成</b>任务等方面的具体应用

    基于GPT-2进行文本生成

    文本生成是自然语言处理中一个重要的研究领域,具有广阔的应用前景。国内外已经有诸如Automated Insights、Narrative Science以及“小南”机器人和“小明”机器人等 文本生成
    的头像 发表于04-13 08:35 4539次阅读

    KUKA-C4机器人导出/导入长文本

    长文本导出中 生成的文件,已自动具有相应 结构,确保其可被重新导入。如果应手动将名称写入一个文件,则建议首先在机器人控制系统中分配几个虚拟 长文本,然后导出并将名称写入文件。
    的头像 发表于07-26 15:55 2346次阅读

    MELSEC Q/L结构体编程手册(结构文本篇)

    MELSEC-Q/L 结构体编程手册( 结构文本篇) 产品规格书
    发表于08-25 14:33 2次下载
    MELSEC Q/L<b class='flag-5'>结构</b>体编程手册(<b class='flag-5'>结构</b>化<b class='flag-5'>文本篇</b>)

    ETH提出RecurrentGPT实现交互式超长文本生成

    RecurrentGPT 则另辟蹊径,是 利用大语言模型进行交互式 长文本生成的首个成功实践。它 利用ChatGPT 等大语言模型理解自然语言指令的能力,通过自然语言模拟了循环神经网络(RNNs)的循环计算机制。
    的头像 发表于05-29 14:34 732次阅读
    ETH提出RecurrentGPT实现交互式超<b class='flag-5'>长文本生成</b>

    面向结构化数据的文本生成技术研究

    今天我们要讲的 文本生成是现在最流行的研究领域之一。 文本生成的目标是让计算机像人类一样学会表达,目前看基本上接近实现。这些突然的技术涌现,使得计算机能够撰写出高质量的自然 文本,满足特定的需求。
    的头像 发表于06-26 14:39 471次阅读
    面向<b class='flag-5'>结构</b>化数据的<b class='flag-5'>文本生成</b>技术研究

    Meta发布一款可以使用文本提示生成代码的大型语言模型CodeLlama

    今天,Meta发布了 CodeLlama,一款可以使用 文本提示 生成代码的大型语言模型(LLM)。
    的头像 发表于08-25 09:06 1244次阅读
    Meta发布一款可以使用<b class='flag-5'>文本</b>提示<b class='flag-5'>生成</b>代码的大型语言模型<b class='flag-5'>Code</b> Llama