高效的文本生成方法 — LaserTagger 现已开源

2020 年 2 月 27 日 TensorFlow
文 / Eric Malmi 和 Sebastian Krause,SE,Google Research

序列到序列 (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 合并句子。预测的编辑操作为:删除“.Turing”并在其之前添加“and he” (Delete-AddX)。请注意输入和输出文本之间的高重合度


所有添加的词组均来自一个限制词汇表。词汇表被优化过,目的是:
  1. 最小化词汇表规模;
  2. 最大化训练样本数量,仅包含需要添加到目标文本的必要单词。


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



实验结果

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


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


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

在包含 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



— 推荐阅读 —





登录查看更多
30

相关内容

在自然语言处理中,另外一个重要的应用领域,就是文本的自动撰写。关键词、关键短语、自动摘要提取都属于这个领域的一种应用。
【斯坦福CS520】向量空间中嵌入的知识图谱推理,48页ppt
专知会员服务
101+阅读 · 2020年6月11日
【CVPR2020-Facebook AI】前置不变表示的自监督学习
专知会员服务
46+阅读 · 2020年4月19日
Transformer文本分类代码
专知会员服务
116+阅读 · 2020年2月3日
Facebook开源增强版LASER库,包含93种语言工具包
机器之心
5+阅读 · 2019年1月23日
用于神经网络机器翻译的全并行文本生成
快讯 | Facebook开源语音识别工具包wav2letter
大数据文摘
6+阅读 · 2018年1月2日
用于神经机器翻译的全并行文本生成
全球人工智能
7+阅读 · 2017年11月13日
现代情感分析方法
Python开发者
13+阅读 · 2017年7月9日
Arxiv
6+阅读 · 2020年4月14日
Neural Approaches to Conversational AI
Arxiv
8+阅读 · 2018年12月13日
Arxiv
5+阅读 · 2018年1月29日
Arxiv
4+阅读 · 2015年8月25日
VIP会员
相关资讯
Top
微信扫码咨询专知VIP会员