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

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

3天内不再提示

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

深度学习自然语言处理 来源:哈工大讯飞联合实验室 作者:申资卓 2021-10-13 09:46 次阅读

来自:哈工大讯飞联合实验室

本期导读:本文是对受控文本生成任务的一个简单的介绍。首先,本文介绍了受控文本生成模型的一般架构,点明了受控文本生成模型的特点。然后,本文介绍了受控文本生成技术在故事生成任务和常识生成任务上的具体应用,指出了受控文本生成技术在具体应用场景下的改进方向。

0. 什么是受控文本生成

文本生成任务是自然语言处理领域十分重要的一类任务。文本摘要、语法纠错、人机对话等很多自然语言处理任务都可以被视为文本生成任务。GPT-2、BART、T5等文本生成相关的技术也在这些任务上取得了较好的效果。

受控文本生成任务与常规的文本生成任务有一些不同。常规的文本生成任务对生成文本的内容(Content)通常没有强制性的约束,而受控文本生成任务会要求生成文本的内容必须满足一些既定的约束条件,如风格(Style)、主题(Topic)等。

例如,文本风格转换(Text Style Transfer)就是一类十分经典的受控文本生成任务,该任务要求生成文本的内容在语义上需要与转换前保持一致,在风格上需要转换为预定义好的目标风格。从应用的角度来看,受控文本生成技术更有希望构建出场景适配的、用户可接受的文本生成系统。因此,受控文本生成技术已经被越来越多的研究者关注。

1. 受控文本生成模型的一般架构

CMU的一些研究者们发表在COLING 2020的一篇论文对受控文本生成模型的一般架构(见图1)进行了比较细致的描述。受控文本生成模型在生成受控文本时可以通过5个子模块对生成文本进行控制。

第一个模块称为额外输入模块(External Input module),该模块负责提供生成受控文本时的初始信号

第二个模块称为序列输入模块(Sequential Input module),该模块负责提供生成受控文本时每个时间步上的输入。

第三个模块称为生成操作模块(Generator Operations module),该模块决定每个时间步向量表示的计算方式,即是使用RNN计算,还是使用Transformer计算,亦或是使用其他计算方式。

第四个模块称为输出模块(Output module),该模块负责将每个时间步的向量表示映射为输出结果。

第五个模块称为训练目标模块(Training Objective module),该模块负责损失函数的计算。

其中额外输入模块,是受控文本生成模型中比较特殊且重要的一个模块,该模块通常会提供一个与控制目标相关的向量表示作为受控文本生成的初始信号,从而保证生成的文本满足预定义的控制目标。另外,输出模块也是受控文本生成模型致力于改进的一个模块。常规的文本生成任务只需要将每个时间步的向量表示映射为词表分布作为输出空间即可,而在受控文本生成模型中就需要通过某种方式改变输出空间的分布去获得期望的输出结果。

2. 受控文本生成技术在故事生成任务上的应用

本节介绍一个发表在EMNLP 2020上的利用受控文本生成技术改进故事生成的工作。该工作使用的数据集为ROCStories dataset(该数据集中的每个故事都由5个句子组成),其任务设定为给定故事的第一个句子,机器自动生成后面的句子。

如果不使用受控文本生成技术,该任务就是一个简单的语言模型式的文本生成任务,直接使用GPT-2就可以完成。但是,直接使用GPT-2生成的故事很难保证生成的结果是语义连贯且逻辑自洽的。因此,将受控文本生成技术引入到故事生成任务中就有可能控制故事生成的内容,从而改进故事生成的效果。

该工作首先使用一个基于GPT-2的关键词预测模型预测出与下一句相关的关键词,然后使用这些关键词去大规模的知识库中检索出与这些关键词相关的三元组,这些三元组会通过一些模板被转化为句子。

由于这些由三元组转化的句子数量较多且可能存在大量的噪音,因此,还需要一个与下一句信息相关联的基于BERT的排序模型对这些句子进行排序,从而选择出与下一句信息最相关的TopN个句子。在获得这些来源于知识库的句子后,我们就可以将这些句子作为控制信息并与当前句进行拼接一起作为GPT-2的输入去生成下一句。上述流程需要循环进行直到生成故事中所有的句子。图2是该工作整体的流程图。

e3bc4c42-14b5-11ec-8fb8-12bb97331649.png

图2 基于知识库信息控制的故事生成流程图

这个工作虽然没有对受控文本生成模型进行改进,但是从大规模知识库中获取控制信息进行文本生成的思路还是有一定借鉴意义的。

3. 受控文本生成技术在常识生成任务上的应用

本节介绍一个发表在ACL 2021上将受控文本生成技术应用在常识生成任务上的工作。常识生成任务是一项比较新颖的文本生成任务。该任务的设定为给定一个概念集合,机器需要自动生成一个能够描述这个概念集合的句子,并且生成的句子不能违背常识。例如,给定一个概念集合{apple, bag, put},理想情况下机器应该生成“A girl puts an apple in her bag”这样的句子。如果机器生成了“A girl eats an apple”或者“A girl puts a bag in her apple”,都不能算是一个合格的生成结果。因此,要想获得一个较好的生成结果,我们首先需要保证的就是概念集合里的概念都要出现在输出结果中。

本节介绍的工作提出了一种名为“Mention Flags”的方法,通过在解码端引入一个提及标记矩阵(Mention Flag Matrix)来标记输入项与输出项的提及关系,从而控制每个时间步解码时的输出。提及标记矩阵中的元素共有3种不同的取值,取0时表示该输入项不是控制项,取1时表示该输入项是控制项,但在输出项中未出现。取2时表示该输入项是控制项,并已经在输出项中出现。以输入为{apple, bag, put},输出为“A girl puts an apple in her bag”为例。

在训练时,提及标记矩阵可以通过输入与输出的对齐数据直接转换得到。在推理时,我们只需要在每个时间步递增式地扩充提及标记矩阵的每一列即可。

最后是如何将提及标记矩阵融入到模型中的问题。由于该工作使用的是基于Transformer的文本生成模型,其作者将提及标记矩阵视为输入项与输出项的相对位置(Relative Position),在计算输出项与输入项的交叉注意力(Cross Attention)时将相对位置信息融入到模型计算中。

4. 小结

本文简单介绍了受控文本生成与常规文本生成任务的区别,并对受控文本生成模型的一般架构进行了阐述。受控文本生成的特殊点主要在于受控信息的获取以及对输出结果的控制。因此,要想获得一个较好的受控文本生成系统,就可以从这两点上对文本生成的模型或方案进行改进。另外,文本还介绍了受控文本生成技术在故事生成任务和常识生成任务上的应用,这些方法和思想同样可以借鉴到其他受控文本生成任务中。

编辑:jq

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

    关注

    0

    文章

    19

    浏览量

    15129
  • 数据集
    +关注

    关注

    4

    文章

    1179

    浏览量

    24356
  • GPT
    GPT
    +关注

    关注

    0

    文章

    302

    浏览量

    14869
  • nlp
    nlp
    +关注

    关注

    1

    文章

    463

    浏览量

    21824

原文标题:受控文本生成任务简述

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

收藏 人收藏

    评论

    相关推荐

    OpenVINO™协同Semantic Kernel:优化大模型应用性能新路径

    作为主要面向 RAG 任务方向的框架,Semantic Kernel 可以简化大模型应用开发过程,而在 RAG 任务中最常用的深度学习模型就是 Embedding 和 Text com
    的头像 发表于 03-08 10:41 204次阅读
    OpenVINO™协同Semantic Kernel:优化大<b class='flag-5'>模型</b>应用性能新路径

    OpenAI新年开出王炸,视频生成模型Sora问世

    近日,OpenAI在AI生成视频领域取得重大突破,发布了全新的生成式人工智能模型“Sora”。该模型在视频生成方面展现出了惊人的能力,通过
    的头像 发表于 02-20 11:46 379次阅读

    高级检索增强生成技术(RAG)全面指南

    ChatGPT、Midjourney等生成式人工智能(GenAI)在文本生成文本到图像生成任务中表现出令人印象深刻的性能。
    的头像 发表于 12-25 15:16 2139次阅读
    高级检索增强<b class='flag-5'>生成</b>技术(RAG)全面指南

    从HumanEval到CoderEval: 你的代码生成模型真的work吗?

    项目中的选取了代码生成任务来构建CoderEval,并根据对外部依赖的程度为标准将这些任务分为6个等级、根据生成的目标分为3类生成
    的头像 发表于 11-25 15:55 768次阅读
    从HumanEval到CoderEval: 你的代码<b class='flag-5'>生成</b><b class='flag-5'>模型</b>真的work吗?

    LLM在生成摘要方面效果到底如何?

    文本摘要,作为自然语言生成(NLG)中的一项任务,主要用来将一大段长文本压缩为简短的摘要,例如新闻文章、源代码和跨语言文本等多种内容都能用到
    发表于 09-21 11:34 327次阅读
    LLM在<b class='flag-5'>生成</b>摘要<b class='flag-5'>方面</b>效果到底如何?

    盘古大模型和文心一言哪个更好?

    盘古大模型和文心一言哪个更好? 盘古大模型和文心一言都是非常优秀的文本生成模型,它们都具有很高的准确性和流畅性,但就其在某些方面的表现和应用
    的头像 发表于 08-31 09:01 3860次阅读

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

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

    通过循环训练实现忠实的低资源数据文本生成

    从结构化数据中自然语言生成(NLG)往往会产生多种错误,从而限制了这些模型在面向客户的应用中的实用性。当NLG 模型生成的输出文本时注入与
    的头像 发表于 08-24 14:53 269次阅读
    通过循环训练实现忠实的低资源数据<b class='flag-5'>文本生成</b>

    基于扩散模型的图像生成过程

    近年来,扩散模型文本到图像生成方面取得了巨大的成功,实现了更高图像生成质量,提高了推理性能,也可以激发扩展创作灵感。 不过仅凭文本来控制图
    的头像 发表于 07-17 11:00 2110次阅读
    基于扩散<b class='flag-5'>模型</b>的图像<b class='flag-5'>生成</b>过程

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

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

    语音领域的GPT时刻:Meta 发布「突破性」生成式语音系统,一个通用模型解决多项任务

    ,而且它们有个重要特点就是「通才」,可以解决没训过的任务。相比之下,语音生成模型在规模和任务泛化方面一直没有「突破性」成果。 今日,Meta
    的头像 发表于 06-18 21:30 442次阅读
    语音领域的GPT时刻:Meta 发布「突破性」<b class='flag-5'>生成</b>式语音系统,一个通用<b class='flag-5'>模型</b>解决多项<b class='flag-5'>任务</b>

    基于文本到图像模型的可控文本到视频生成

    文本到视频模型需要大量高质量的视频和计算资源,这限制了相关社区进一步的研究和应用。为了减少过度的训练要求,我们研究了一种新的高效形式:基于文本到图像模型的可控
    的头像 发表于 06-14 10:39 587次阅读
    基于<b class='flag-5'>文本</b>到图像<b class='flag-5'>模型</b>的可控<b class='flag-5'>文本</b>到视频<b class='flag-5'>生成</b>

    Meta开源文本如何生成音乐大模型

    年初,谷歌推出了音乐生成模型 MusicLM,效果非常不错。有人称这比大火的 ChatGPT 还重要,几乎解决了音乐生成问题。近日,Meta 也推出了自己的文本音乐
    的头像 发表于 06-12 15:11 549次阅读
    Meta开源<b class='flag-5'>文本</b>如何<b class='flag-5'>生成</b>音乐大<b class='flag-5'>模型</b>

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

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

    大型语言模型能否捕捉到它们所处理和生成文本中的语义信息

    确实能学习和表示文本的意义。 虽然大型预训练语言模型(LLM)在一系列下游任务中展现出飞速提升的性能,但它们是否真的理解其使用和生成文本
    的头像 发表于 05-25 11:34 487次阅读
    大型语言<b class='flag-5'>模型</b>能否捕捉到它们所处理和<b class='flag-5'>生成</b>的<b class='flag-5'>文本</b>中的语义信息