数据增广是在任务数据量稀缺时非常有用的方法。文章《Conditional BERT Contextual Augmentation》通过改变BERT的输入,在原始BERT模型上fine-tune,将预训练语言模型引入数据增广任务中,并取得了很好的效果。
论文地址:
https://arxiv.org/abs/1812.06705
引言
数据增广是深度学习中常用的技巧之一,主要用于增加训练数据集,让数据集尽可能的多样化,使得训练的模型具有更强的泛化能力,提升模型在任务上效果。
现有的文本数据增广的方法在特定领域和通用领域不同。在特定领域通常通过人工设定的规则来增广数据。在通用领域通常通过基于替换的方式来增广数据。这些方法不灵活,且不能保证增广的数据的质量。
本文通过改变BERT的输入,将句子的标签加入到输入中,fine-tune BERT模型,为文本分类任务做数据增广,在多个文本分类任务中达到目前最好效果。
数据集
作者在6中分类数据集上测试了条件BERT数据增广的效果,所用数据集如下所示:
模型
Conditional BERT
Conditional BERT的结构和BERT的结构是一样的,只是在输入和训练方式不同。
BERT的输入是词嵌入,段嵌入和位置嵌入三者的加和。但是段嵌入与句子的正在的标注label没有联系。所以MLM预测的词并不一定与原词是相同的label。
例如:this actor is good. 当把good 遮掉,预测出bad或boring等消极的词。这种情况对数据增广的效果是非常不利的。
Conditional Masked Language Model
通过将BERT的段嵌入替换为label 嵌入,把遮掉词的上下文和label都考虑进去,来预测该词。在有标签数据数据上通过conditional MLM任务来训练conditional BERT。
实验
作者分别做了基于CNN的分类器和基于RNN的分类器, 在6个数据集上,做数据增广,再做文本分类的实验。比较直接用BERT,conditional BERT和之前的方法的效果,发现conditional BERT做数据增广的效果最好,实验结果如下:
并且作者通过实验发现只需要经过少数几个epochs的fine-tune, conditional BERT的效果就超过了BERT,以下是conditional BERT在不同数据集上超过BERT所需要的epochs的实验结果
结论
本文通过新的conditional MLM任务fine-tune BERT模型,该方法在句子分类任务做数据增广,取得了很好的效果。未来,作者将:
- 探索在非均衡数据集上使用预训练语言模型做数据增广
- 将该方法应用到篇章以及文档级的数据增广中
扫码识别关注,获取更多论文解读