基于编辑方法的文本生成(下)

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

上一期介绍了在文本生成任务中引入编辑方法,以及Google Research的两篇工作——LaserTagger和Seq2Edits。本期将继续介绍Google的第三篇工作FELIX以及三篇工作的实验评价部分和总结。

···

4. FELIX

FELIX是Google Research在 “FELIX: Flexible Text Editing Through Tagging and Insertion” 一文中提出的文本生成模型,该论文发表于EMNLP 2020 Findings。
受限于有限的编辑操作标签,LaserTagger、Seq2Edits主要进行单词或短语的保留、删除、替换操作,更多的是对文本的局部编辑,无法直接改变文本的结构特征(例如主动句改被动句:“They ate steak for dinner.” “Steak was eaten for dinner.”)。同时,受限于词典规模,LaserTagger与Seq2Edits也不支持大量插入新文本。而如果使用自回归的方法来支持大量插入新文本,势必大大降低模型的推理速度。所以,FELIX希望能够兼顾文本生成的推理速度和灵活性。

本篇工作的主要改进有:
(1)在保留、删除等基本编辑操作上引入重排序(reorder)操作。通过重排序操作,在复用重复文本的同时实现文本结构特征的改变,提高文本生成的灵活性。
(2)受BERT自监督预训练任务启发,通过引入Masked Language Model(MLM)来预测待插入的新词。

4.1 主要方法

FELIX将文本生成分为两步:通过标注模型(tagging model)对源文本标注编辑标签后进行重排序,然后输入插入模型(insertion model)对要插入的新文本进行预测。

图 9 FELIX主要结构与生成过程

  • 标注

    以图10为例,源文本为 “The big very loud cat.” ;目标文本为 “The noisy large cat.” 。其中为tagger模块预测的标签序列;为经过Pointer重排序后加入特殊标签(, )得到的序列,将输入插入模型预测得到最终结果。

    图 10 FELIX对插入文本的两种预测方式

    FELIX对编码后的源文本进行标注,保留操作和删除操作标签仍为和。结合MLM,FELIX设计了两种方式预测要插入的新文本:Masking 和 Infilling 。Masking 方式不仅需要模型预测插入内容,还需要模型预测插入文本的长度(如,对应中加入两个标签)。Infilling 方式直接让模型预测待插入的新文本的内容,不需要模型预测插入文本的长度。即,在中插入固定个数的标签(实验中插入8个即可覆盖99%的样本),预测插入内容时多余的标签使用标签覆盖。
    需要注意的是,在将输入到MLM进行预测时,FELIX保留了待删除的span(用一对特殊的token 和 将span括起来,而非直接将待删除部分替换为标签)。即使这样做会导致fine-tuning和pre-training的不一致,但能够保留更多的语义信息,提高模型预测的准确性。

  • 重排序

    为了保证推理效率,FELIX的重排序也是非自回归(non-autoregressive)的,类似于non-projective dependency parsing。具体实现时使用constrained beam search来保证除了待删除的token外,每一个token都会被指向,且避免有token被指向两次而产生循环。

图 11 FELIX Reorder 实现过程

4.2 模型概述

FELIX tagging model:

  • Encoding: 使用12层的BERT-base模型对源文本进行编码。
  • Tagging: 使用一层feed-forward layer预测标签。
  • Pointing: 基于注意力机制的pointer network进行重排序。

FELIX insertion model:

  • 12层的BERT-base模型。并使用预训练权重进行初始化。

5. 实验评价

三篇工作分别在句子融合、句子分割复述、语法纠错等多种文本生成任务上进行了实验,主要验证了模型在三方面的性能:生成文本的质量、模型推理效率以及模型在小样本上的表现。

LaserTagger Seq2Edits FELIX
句子融合(Sentence Fusion)
句子分割复述(Split & Rephrase)
文本摘要(Summarization)
语法纠错(Grammatical Error Correction)
文本规范化(Text Normalization)
文本简化(Text Simplification)
自动后编辑(Automatic Post-Editing)

5.1 生成质量

  • 句子融合 & 分割复述

    三篇工作均在句子融合任务上进行了实验,使用数据集为DiscoFuse,评价指标为SARI、Exact。其中SARI将预测输出与输入文本以及reference比较,评价模型对源文本进行各种编辑操作后生成文本的“好坏”;Exact主要评价模型生成的文本和标准答案之间“有多接近”。

    SARI Exact
    full sequence model BERT2BERT 89.52 63.90
    Seq2SeqBERT 85.30 53.60
    edit-based model LaserTagger 85.45 53.80
    Seq2Edits 88.73 61.71
    FELIX 88.78 61.31

    从上表中可以看出,基于编辑方法的生成模型较之传统full sequence model在生成文本的质量上有下降,但改进后的Seq2Edits和FELIX在两项指标上已经和full sequence model十分接近。

    LaserTagger和Seq2Edits均在句子分割复述任务上进行了实验。该任务为句子融合任务的逆任务,使用数据集为WikiSplit  。Seq2Edits在该项任务上表现较优。

    SARI Exact
    full sequence model Seq2SeqBERT 62.3 15.1
    edit-based model LaserTagger 61.7 15.2
    Seq2Edits 63.6 17.0
  • 文本简化

    Seq2Edits和FELIX均在文本简化任务上进行了测试,并与LaserTagger进行了对比。该任务需要在保持源文本基本语义的情况下,通过改写降低源文本的复杂度,以方便儿童等特殊群体阅读。实验使用数据集为WikiLarge,评价指标为SARI。在该项任务上FELIX有着较好的表现。

    SARI
    edit-based model LaserTagger 32.31
    Seq2Edits 37.16
    FELIX 38.13

5.2 推理效率

在推理效率方面三篇工作均与传统full sequence model进行了对比实验,结果证明相较于传统seq2seq方法,基于编辑方法确实能够大大提高模型的推理速度。在推理速度上对三种模型进行横向对比,FELIX最优,而Seq2Edits由于模型本身的复杂性,在三者中速度最慢(FELIX > LaserTagger > Seq2Edits)。

表 5  LaserTagger不同batch size推理时间(单位:ms;on NVIDIA Tesla P100)

表 6  Seq2Edits 在语法纠错任务(on BEA-dev)上的CPU decoding速度。括号中为相比full sequence model的加速倍数。

图 12  FELIX推理时间与LaserTagger、BERT2BERT对比
(单位:ms;batch size = 32;on NVIDIA Tesla P100)

5.3 小样本表现

LaserTagger和FELIX两篇工作均在小样本训练数据上测试了模型性能。相比full sequence model而言,LaserTagger和FELIX两者对训练数据规模变化并不敏感(训练数据规模从45k缩小到4.5k时full sequence model性能出现了较大下降),且在小样本数据上FELIX表现要好于LaserTagger。

图 13 不同训练集大小对模型性能的影响(句子融合任务 DiscoFuse数据集)

6. 总结

模型 编辑操作 插入新文本 推理方式 推理效率
LaserTagger token-level;
保留、删除、插入
根据训练数据构造短语词典,从词典中直接选择。 一轮序列标注;
非自回归;
加速10x-100x (相比 SEQ2SEQBERT
Seq2Edits span-level;
三元组
不同任务有不同tag vocabulary
open-vocab 预测N个三元标签组;
自回归;
加速5.2x(相比 full sequence model)
FELIX token-level;
保留、删除、MASK、重排序
open-vocab
用MLM预测MASK对应的token
标注+重排序+MLM;
非自回归;
加速100x(相比 full sequence model)

基于编辑方法的文本生成优势与不足主要如下:

Pros Cons
与full sequence models相比,推理速度大大加快。
模型输出可解释性强。
对训练数据规模较不敏感;在小样本上表现较好。
遵循较弱的语言模型。
生成的灵活性不足。

未来工作的关键在于生成质量和推理效率的对立统一。目前基于编辑方法使用非自回归预测输出时,虽然能够提高推理效率,但势必会损失生成文本的质量。因此,质量和效率尽量做到“鱼与熊掌二者兼得”将成为未来研究工作的希冀。

References

[1] Malmi, Eric, et al. 'Encode, tag, realize: High-precision text editing.' arXiv preprint arXiv:1909.01187 (2019).
[2] Stahlberg, Felix, and Shankar Kumar. 'Seq2Edits: Sequence Transduction Using Span-level Edit Operations.' arXiv preprint arXiv:2009.11136 (2020).
[3] Mallinson, Jonathan, et al. 'Felix: Flexible text editing through tagging and insertion.' arXiv preprint arXiv:2003.10687 (2020).
[4] https://ai.googleblog.com/2020/01/encode-tag-and-realize-controllable-and.html
[5] https://ai.googleblog.com/2021/05/introducing-felix-flexible-text-editing.html
[6] https://thinkwee.top/2021/05/11/text-edit-generation/

原文:吴珂

编辑:HFL编辑部

(0)

相关推荐