[译] 高效的文本生成方法:LaserTagger 现已开源

栏目: IT技术 · 发布时间: 6年前

内容简介:文 / Eric Malmi 和 Sebastian Krause,SE,Google Research序列到序列 (seq2seq) 模型为机器翻译领域带来了巨大变革,并成为完 成摘要生成 、 句子合并 和 语法纠错 等多种文本生成任务的首选工具。近几年,由于从模型架构(例如 Transformer )和无监督预训练样本能力(大型无标注文本语料库)的改进,基于神经网络方法的文本生成质量得到了提升。

文 / Eric Malmi 和 Sebastian Krause,SE,Google Research

[译] 高效的文本生成方法:LaserTagger 现已开源

序列到序列 (seq2seq) 模型为机器翻译领域带来了巨大变革,并成为完 成摘要生成 、 句子合并 和 语法纠错 等多种文本生成任务的首选工具。近几年,由于从模型架构(例如 Transformer )和无监督预训练样本能力(大型无标注文本语料库)的改进,基于神经网络方法的文本生成质量得到了提升。

时至今日,使用 seq2seq 模型生成文本时对于某些用例依然存在多种重大缺陷,例如“ 幻象 ”(Hallucination,即模型的部分输出不存在与之对应的输入信息),并且需要大量训练数据才能达到出色性能。此外,seq2seq 模型通常逐字生成输出内容,所需推理时间较长。

在《 编码、标记、实现:高精度文本编辑 》 ( Encode, Tag, Realize: High-Precision Text Editing) 一文中,我们展示了一种新型、 开源 的文本生成方法,旨在解决上述的三种缺陷。由于新方法速度快、精度高,我们将其命名为为 LaserTagger。LaserTagger 使用预测的编辑操作标记单词而不是从头开始生成输出文本,然后在独立的 实现 步骤 (Realization) 中将这些操作应用于输入单词,进而生成输出。使用这种方法生成文本不易出错,且模型架构训练更简单、执行更快速。

LaserTagger 的设计与功能

许多文本生成方法都有一个显着特征:输入与输出常有高度重合。例如,在检测和修复语法错误或合并句子时,大部分输入文本能够保持不变,仅有一小部分单词需要修改。因此,LaserTagger 生成的是一系列编辑操作,而不是真实的单词。我们使用以下四类编辑操作: Keep (将单词复制到输出)、 Delete (移除单词)、Keep-AddX (在已标记单词前添加词组 X) 和 Delete-AddX(在已标记单词前添加词组并删除已标记单词)。下图展示了 LaserTagger 是如何合并句子:

[译] 高效的文本生成方法:LaserTagger 现已开源

使用 LaserTagger 合并句子。预测的编辑操作为:删除“.Turing”并在其之前添加“and he” (Delete-AddX)。请注意输入和输出文本之间的高重合度

所有添加的词组均来自一个限制词汇表。词汇表被优化过,目的是:

最小化词汇表规模;

最大化训练样本数量,仅包含需要添加到目标文本的必要单词。

限制词汇表的词组数量可以减少 相应 输出的决策量,并防止模型随意添加单词,进而缓解“幻象”问题。由于输入和输出文本高度重合,我们只需要修改部分单词。这意味着我们可以并行准确的预测编辑操作,相较于需要顺序进行(依赖上一步操作)的 seq2seq 模型,带来了显着的端到端速度的提升。

实验结果

我们通过四项任务来评估 LaserTagger 的性能:句子合并、句子的拆分和改述、提炼摘要和语法纠正。

在这些任务中,LaserTagger 的表现可媲美基于 BERT 的 seq2seq 基准模型 (Baseline Model),后者采用大量训练样本且性能出色;而当训练样本有限时,LaserTagger 的性能明显优于基准模型。

下图展示的是模型在 WikiSplit 数据集上的训练结果,任务是将一个长句子改述为两个连贯的短句:

[译] 高效的文本生成方法:LaserTagger 现已开源

在包含 1 百万个样本的完整数据集上训练模型时,LaserTagger 和基于 BERT 的 seq2seq 基准模型性能相当,但当训练的子样本降低至 10000 个时,LaserTagger 的性能明显优于该基准模型( SARI 分数 越高,性能越高)

LaserTagger 的主要优势

与传统的 seq2seq 方法相比,LaserTagger 具备以下优势:

可控:通过控制输出词组词汇表(我们也可以手动编辑或管理),LaserTagger 相较于 seq2seq 基准更不易产生幻象。

快速:LaserTagger 计算预测的速度是 seq2seq 基准的 100 倍,因此适合实时应用。

高效:即使训练样本量在几百至几千,LaserTagger 也能生成合理的输出。在我们的实验中,用于对照的 seq2seq 基准则需要数万个样本才能获得同等水准的性能。

LaserTagger 的意义

在大规模应用中,LaserTagger 的优势更加明显,比如通过缩短回复内容的长度、减少重复表述来改进语音应答等服务。LaserTagger 模型的快速推理能力可与现有技术栈良好结合,客户端不会感到明显延迟。它的高效率同时能收集多种语言的训练数据,让来自不同语言背景的用户受益。

在目前的工作中,我们致力于对其他有关生成自然语言的 Google 技术进行类似改进。此外,我们也正在探索, 当用户规模越大、成分越来越复杂,且作为对话的一方出现时 ,这种编辑文本(而不是从头生成文本)的方式将如何帮助我们更好地理解用户诉求。我们已通过 GitHub 代码库 向社区开放了 LaserTagger 源代码。

致谢

此项研究由 Eric Malmi、Sebastian Krause、Sascha Rothe、Daniil Mirylenka 和 Aliaksei Severyn 共同完成。感谢 Enrique Alfonseca、Idan Szpektor 和 Orgad Kelle 参与探讨,令我们收获颇多。

如果您想详细了解 本文提及 的相关内容,请参阅以下文档。这些文档深入探讨了这篇文章中提及的许多主题:

句子合并

https://ai.google/tools/datasets/discofuse/

Transformer

https://ai.googleblog.com/2017/08/transformer-novel-neural-network.html

幻象

https://arxiv.org/abs/1910.08684

编码、标记、实现:高精度文本编辑

https://ai.google/research/pubs/pub48542/

开源

http://lasertagger.page.link/code

BERT

https://ai.googleblog.com/2018/11/open-sourcing-bert-state-of-art-pre.html

WikiSplit

https://ai.google/tools/datasets/wiki-split/

seq2seq

https://ai.googleblog.com/2018/11/open-sourcing-bert-state-of-art-pre.html

SARI 分数

https://www.aclweb.org/anthology/Q16-1029/

当用户规模越大、成分越来越复杂,且作为对话的一方出现时

https://blog.google/products/search/search-language-understanding-bert/

GitHub 代码库

https://github.com/google-research/lasertagger


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

通灵芯片

通灵芯片

Daniel Hillis / 崔良沂 / 上海世纪出版集团 / 2009-1 / 19.80元

本书深入浅出地阐述了计算机科学中许多基本而重要的概念,包括布尔逻辑、有限自动机、编程语言、图灵机的普遍性、信息论、算法、并行计算、量子计算、神经网络、机器学习乃至自组织系统。 作者高屋建瓴式的概括,既不失深度,又妙趣横生,相信读者读后会有很多启发。 目录: 序言:石的奇迹 第一章 通用件 第二章 万能积木 第三章 程序设计 第四章 图灵机的普适性 第......一起来看看 《通灵芯片》 这本书的介绍吧!

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具