在小样本学习中的数据增强方法,基于实体的数据增强和基于非实体的数据增强方法
。
跨域是怎么体现的呢?
FactMix方法自动为标准微调和提示调优生成半事实和反事实的示例。我们的方法如图3所示,由三个部分组成:(1)反事实实例生成器;(2)半事实实例生成器;(3)增强数据选择和混合。
1.1 Semi-factual Generation-半事实生成
我们在每句话中随机删除一个 (非实体)符号。具体来说就是通过随机mask一个非实体词来引入上下文之外的信息,然后使用掩码语言模型(MLM)填充span。直观地说,我们可以生成大量的半事实样本,因为MLM模型可以用多个预测填充masked span。更重要的是,选择所选词的数量和顺序是一个组合排列问题。然而,在实践中,作者发现替换更多的非实体数据并不总是能得到更好的结果;因此对于每个半事实样本,作者只在句子中替换一个或两个词短语。形式上,给定输入NER为 ,其中 是选中的非实体词。首先mask ,用 标记替换它,从而得到 然后填充 标记,最终得到半事实实例 。如图3所示,“sheep”可能先被mask,然后被一个脱离上下文的单词coffee填充,这个词可以由预训练语言模型PLMs生成。所选单词可能会影响其他单词的实体标记,并向数据集引入额外的噪声。因此,作者采用一种去噪机制,通过利用在包含NER任务先验知识的原始数据集上训练的预测模型,过滤掉有噪声的示例。
1.2 Entity-level Semi-fact Generation - 反事实生成器
通过干预现有的实体词来生成反事实的实例。具体来说,对于每个训练样本,随机选择其中一个实体单词,并将其替换为准备好的Entity_Base中相同类型的单词。对于数据不是非常稀缺的情况,例如在我们的Fine-tuning实验设置中,Entity_Base可以通过提取和分类原始数据集中的所有实体词来构建。但是在5-shot设置的Prompt-tuning实验中,Entity_Base从其他可用的数据集构造。
形式上,假设输入为 , 作为所选的实体词。我们假设 的标签是B-LOC,并提取Entity_Base中的所有B-LOC实体,并将它们表示为B-LOC Set。接下来,在B-LOC Set中选择一个词替换 ,记为 。这样,生成的反事实样本为 。例如,如图3所示,B-LOC集合中的B-LOC实体词German被替换为Israel。所有增强的样本都被标记为与原始样本相同的标签,以节省人工工作量。
1.3 数据混合
在最后一步中,作者通过混合策略将两种自动生成的数据组合在一起。尽管从理论上讲,FactMix方法可以生成无限数量的数据,但过去的经验表明,更多基于事实的数据实例并不总是能带来相应的性能优势。作者将反事实数据生成的最大扩充比例设置为1:8。而对于半事实数据,作者将比例设置为1:5,得到最终的FactMix增强训练数据。