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

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

内容简介:文 / 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


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

查看所有标签

猜你喜欢:

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

计算机科学概论(第7版) (平装)

计算机科学概论(第7版) (平装)

J.Glenn Brookshear / 王保江 / 人民邮电出版社 / 2003-9 / 49.0

《计算机科学概论(第2版)》更新了部分内容,使其更加贴近于计算机科学领域内的最新趋势,这包括了网络安全、开源运动、关联存储、公钥加密、XML、Java和C#等内容。扩充了网络和Internet所覆盖的内容。一个程序用C#语言编写,还有C、C++和Java,作为语言的例子。不过整个方法依旧保持语言的独立。一起来看看 《计算机科学概论(第7版) (平装)》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具