文本生成任务中引入编辑方法的文本生成

描述

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)对要插入的新文本进行预测。

标注

以图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被指向两次而产生循环。

4.2 模型概述

FELIX tagging model:

Encoding: 使用12层的BERT-base模型对源文本进行编码。

Tagging: 使用一层feed-forward layer预测标签。

Pointing: 基于注意力机制的pointer network进行重排序。

FELIX insertion model:

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

5. 实验评价

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

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

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.3 小样本表现

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

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)
模型 编辑操作 插入新文本 推理方式 推理效率

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

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

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

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/

编辑:jq

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分