发布人:Google Research 研究员 Jonathan Mallinson 和 Aliaksei Severyn
序列到序列 (seq2seq) 模型已经成为处理自然语言生成任务的一种备受青睐的方法,其应用范围囊括了从机器翻译到单一语言生成任务等多个方面,如总结、句子合并、文本简化和机器翻译后期编辑。然而,这些模型对于许多单一语言任务来说似乎是一个次优选择,因为所需的输出文本往往仅会对输入文本作出小幅改写。在完成这样的任务时,因为 seq2seq 模型一次只会生成一个单词的输出(即自回归:Autoregressive model),而且大部分的输入标记会被简单地复制到输出中,所以它既费时又费力。
机器翻译
https://ai.googleblog.com/2020/06/recent-advances-in-google-translate.html
句子合并
https://research.google/tools/datasets/discofuse/
相反,随着文本编辑模型在最近提出了预测编辑操作(如单词删除、插入或替换),在输入中加以应用来重构输出,而受到了极大的关注。然而,之前的文本编辑方法存在局限性。他们要么速度快(非自回归),但因所用编辑操作数量有限而不灵活;要么很灵活,支持所有可能的编辑操作,但速度慢(自回归)。无论是哪种,这些方法都未曾关注大型结构(句法)转换的建模,例如从主动语态“They ate steak for dinner”切换到被动语态“Steak was eaten for dinner”。相反,其重点都在于局部转换,删除或替换短语。当需要进行大的结构性转换时,这些方法要么无法成行,要么需要插入大量的新文本,这样做速度很慢。
在“FELIX :通过标记和插入进行灵活的文本编辑”中,我们推出了 FELIX ,一个快速灵活的文本编辑系统,它可对大型结构变化进行建模,相比于 seq2seq 方法,速度上实现了 90 倍的提升,同时在四个单一语言生成任务中取得了令人瞩目的结果。与传统的 seq2seq 方法相比,FELIX 有以下三大关键优势:
采样效率:训练一个高精度的文本生成模型通常需要大量的高质量监督数据。FELIX 使用三种技术来尽量减少所需的数据量:(1) 微调预训练的检查点,(2) 学习少量编辑操作的标记模型以及 (3) 与预训练任务非常相似的文本插入任务。
推理时间快: FELIX 是完全非自回归的,避免了由自回归解码器造成的漫长推理时间。
灵活的文本编辑:FELIX 在所学编辑操作的复杂性和所建模转换的灵活性之间取得了平衡。
FELIX:通过标记和插入进行灵活的文本编辑
https://www.aclweb.org/anthology/2020.findings-emnlp.111/
简而言之,FELIX 旨在从自监督的预训练中获得最大收益,在资源匮乏且训练数据寥寥无几的环境中实现高效运行。
为了实现上述目标,FELIX 将文本编辑任务分解为两个子任务:标记,用以决定输入单词的子集和它们在输出文本中的顺序,以及插入,即插入输入中不存在的单词。标记模型采用了一种支持结构转换的新指针机制,而插入模型则是基于了掩码语言模型。这两个模型都是非自回归的,确保了模型的高效运行。FELIX 的示意图如下。
在文本简化任务数据上训练 FELIX 的示例。系统首先会将输入的词标记为 KEEP (K) 、 DELETE (D) 或 KEEP 和 INSERT (I) 。标记之后,对输入进行重新排序。然后,会将这个重新排序的输入馈送到掩码语言模型之中
FELIX 的第一个步骤是标记模型,该模型由两个部分组成。首先,标记器决定应该保留或删除哪些单词,以及应该在哪些地方插入新单词。当标记器预测到一个插入词时,系统则会将一个特殊的 MASK 符号添加到输出中。标记完成后,下一步是重新排序,即指针对输入进行重新排序以形成输出,在这个步骤中系统会重用输入的一部分来代替插入新的文本。重新排序步骤支持任意改写,因此可以对大的变化进行建模。指针网络经过训练,因此输入的每个单词都指向输出中出现的下一个单词,如下图所示。
指针机制的实现过程,将“ There are 3 layers in the walls of the heart ”转换为“ the heart MASK 3 layers ”
标记模型的输出是经过重新排序的输入文本,其中包含被删除的单词以及由插入标记预测的 MASK 符号。插入模型必须预测 MASK 符号的内容。因为 FELIX 的插入模型与 BERT 的预训练目标非常相似,所以它可以直接利用预训练的优势,这在数据有限时尤为有利。
插入模型的示例,在这个示例中,标记器预测将需要插入两个单词,插入模型则会预测 MASK 符号的内容
我们对 FELIX 在句子合并、文本简化、抽取式摘要和机器翻译后期编辑方面的表现进行了评估。这些任务视所需的编辑类型和操作的数据集大小而大相径庭。下图是句子合并任务(即把两句话合并为一句)的结果,我们针对大小各异的数据集,将 FELIX 与大型预训练 seq2seq 模型 (BERT2BERT) 和文本编辑模型 (LaserTager) 的表现情况进行了比较。我们发现,FELIX 的表现优于 LaserTagger,而且只需几百个训练样本就可以进行训练。对于完整的数据集,自回归的 BERT2BERT 的表现优于 FELIX。然而,在推理过程中,这个模型需要的时间明显更长。
使用 DiscoFuse 数据集比较模型在大小不一的训练数据集上的表现。我们将 FELIX(使用性能最佳的模型)与 BERT2BERT 和 LaserTagger 进行了比较
在 Nvidia Tesla P100 上 32 个批次的延迟,单位为毫秒
FELIX 现已推出,它是完全非自回归的,推理时间更快并取得了最前沿(SOTA)的结果。FELIX 还通过以下三种技术最大限度地减少了所需的训练数据量:微调预训练的检查点,学习少量的编辑操作,以及模仿预训练中掩码语言模型任务的插入任务。最后,FELIX 在学习编辑操作的复杂性和它能处理的输入输出转换百分比之间取得了平衡。我们已经开放了 FELIX 的源代码,希望研究人员能借此得到一个更快、更有效、更灵活的文本编辑模型。
代码
https://github.com/google-research/google-research/tree/master/felix
这项研究由 Jonathan Mallinson、Aliaksei Severyn(同等贡献作者)、Eric Malmi、Guillermo Garrido 共同完成。感谢 Aleksandr Chu这项研究由 Jonathan Mallinson、Aliaksei Severyn(同等贡献作者)、Eric Malmi、Guillermo Garrido 共同完成。感谢 Aleksandr Chuklin、Daniil Mirylenka、Ryan McDonald 和 Sebastian Krause 为我们提供实用意见和论文建议并运行早期实验。klin、Daniil Mirylenka、Ryan McDonald 和 Sebastian Krause 为我们提供实用意见和论文建议并运行早期实验。
点击“阅读原文”访问 TensorFlow 官网
不要忘记“一键三连”哦~
分享
点赞
在看