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/
薄膜表面检测系统的检测原理是怎样的
独立式光电感烟火灾探测报警器
人脸识别图像技术的原理及其应用
拼多多2020年股价接近翻10倍
微型水质监测站——便捷高效的水质监测解决方案
文本生成任务中引入编辑方法的文本生成
行业翘楚论道未来想象|2023开放原子全球开源峰会云原生分论坛圆满落幕
华为CEO表示:前三季度手机全球出货量1.12亿部 收入增长30%
2020年“互联网之光”博览会于11月22日在乌镇开幕
无人机需要驾驶证吗
海信推出了一款采用E-ink彩色墨水屏制作工艺的水屏手机
在网吧里用公共电脑如何才能更安全?
对干扰SAY NO!虹科Safran GNSS模拟将提供伽利略OS-NMA功能(二)
人工智能助手为什么有性别
华为鸿蒙OS背后的IoT野心
五相混合式步进电动机走步均匀性分析
Imagination全新PVRStudio IDE提供的GPU调试功能可简化应用与游戏开发
Type-c接口无线充取电方案
安卓禁用怎么办 除了芯片还有操作系统
信号地和电源地的概念和区别