基于深度神经网络的模型往往需要大量标记数据才能够成功, 然而在意图识别等诸多仅包含少量标注数据的小样本任务中训练数据的有限使得模型容易过拟合, 导致泛化能力的丧失. 为解决这一问题, 采用数据增强的方式在不显式地收集新数据的情况下增加训练实例的多样性是一个有效的方法. 虽然在计算机视觉和语音领域应用数据增强已经取得了一定成功, 但是由于文本数据的离散性, 图像和语音领域一些通用的数据增强技术并不能确保在自然语言处理领域中文本数据的语义不变性和标签正确性. 近年来, 人们开始关注在低资源、小样本情境下如何在自然语言处理领域进行高效的数据增强[1-3], 以此缓解由于资源稀缺导致诸多任务无法高质量完成的现象, 其中就包含对话系统中的诸多任务. 由于某些领域的对话数据资源稀缺, 如何在训练数据稀少的情况下提高对话系统的性能显得尤为重要, 又因为意图识别的准确性直接影响着对话系统的性能, 因此利用数据增强技术提升小样本情境下的意图识别准确性具有很高的研究价值.
数据增强方法大致分为基于生成和基于编辑两类. 利用受限变分自编码器[4]进行文本数据增强的方式属于基于生成的方法. 随着对抗神经网络[5]的发展以及不断进步. 对抗生成技术也被应用于数据增强方面, 如利用一阶扰动进行多次迭代寻找最优扰动的对抗训练算法PGD[6]以及针对生成对抗示例所需的时间开销进行改进的FreeAT[7]都在图像领域取得了较好的成果, 在文本的词嵌入上增加扰动便可以将PGD、FreeAT等数据增强方法应用于自然语言处理领域. Zhu等人[8] 提出了对抗性训练方法FreeLB, 通过在词嵌入中添加对抗性扰动并最小化输入样本周围区域内的对抗性风险来提高嵌入空间的不变性, 从而提高模型的泛化能力和自然语言理解能力. Zhang等人[9]提出了一种基于模型的对抗性文本生成学习框架, 引入引导网络对生成环境进行建模, 从而为下一个词的选择提供指导, 以此缓解奖励稀疏问题, 进一步优化了生成器. 随着预训练语言模型的发展, 条件生成方法也相继产生. Wu等人[10]提出了条件生成模型CBERT, 在BERT[11]微调阶段引入类标签信息预测提前设定的单词, 以此得到广泛的替换词修改原始语句, 生成新的文本数据. Anaby-Tavor 等人[12]提出了一种LAMBADA的方法, 通过利用现有的标记数据进行模型初始训练, 将语言生成器微调到特定任务, 使用微调模型和类标签来生成新的句子, 其中通过提供的类别信息作为微调模型的输入来为给定类生成示例.
在上述基于生成的方法中, 模型预训练和解码的成本太高, 并且只适用于特定任务, 一旦任务改变, 则需要重新微调、训练. 相比于此, 基于编辑的文本数据增强方法成本低, 可操作性较强. Wei等人[13]提出了一种称为简单数据增强算法, 利用一组词级的随机扰动操作如同义词替换、随机插入和随机交换实现数据增强. Xie等人[14]提出无监督数据增强方法, 该技术的核心思想是将无标签文本数据中一定比例的不重要的词替换为字典中的词, 从而产生新的文本. Haralabopoulos等人[15]使用句子排列来扩充初始数据集, 同时保留数据集的关键字统计属性.
上述方法大多只对句子进行一次操作, 扩充数量有限, 若对同一句子的操作次数过多, 则会改变原有的标签类别, 从而导致更差的结果. 此外, 在上述方法的训练过程中, 原始数据和利用数据增强技术获得的数据均被平等对待, 并以完全随机的顺序呈现, 并未充分考虑二者之间的差异, 在一定程度上限制了性能的增益.
本文针对基于编辑的数据增强方法受标签类别约束而对原始语句扩充次数受限以及在训练过程中忽视了增强数据和原始数据差异的问题, 提出了一种应用于小样本意图识别任务的分步式数据增强和阶段性训练策略相结合的方法. 该方法首先从全局角度对原始数据进行初步扩充, 然后以类为单位, 依次在每个类的内部选取成对样本进行数据增强, 以此解决扩充次数过多使得标签发生迁移从而导致最终结果下降的问题. 其次, 在模型训练过程中, 因利用数据增强技术获得的数据相较于原始数据含有更多的噪声, 本文将原始数据和分布式阶段性增强的数据按照批次划分, 逐步输入模型, 使得模型在噪声的波动下表现得更为稳健, 从而提高了模型性能.
1 分步式阶段性数据增强 1.1 分步式阶段性数据增强处理流程首先从全局考虑, 利用常规的基于编辑的数据增强技术进行限量增强. 本文选取EDA技术并按照1:4的原始数据与增强数据比例对原始数据进行同义词替换、随机交换、插入和删除操作, 从而得到初步增强的数据. 随后从局部角度出发, 在每个类的内部多次随机选择两个样本, 在嵌入层利用样本对进行线性插值MixEmb操作, 从而得到进一步的增强数据.
由于原始数据和增强数据之间存在的差异性, 模型的训练过程分3个阶段进行. 首先将原始数据输入意图识别模型进行训练, 当初始迭代次数达到指定数值时加入初步增强的数据进行第2阶段训练, 直至达到指定的二次迭代次数后加入MixEmb增强的数据开始模型的第3阶段训练, 当模型完成指定迭代次数后, 整个训练过程结束.
整体流程图如图1所示.
1.2 分步式数据增强由于常规的基于编辑的数据增强方法是在语义层面对原始数据进行扩充, 若操作次数过多则会直接改变原有语义, 并且有研究表明[16]更高级别的表示扩展了特征空间中合理数据点的相对体积, 从而缩小了分配给不太可能的数据点的空间, 因此与输入空间相比, 数据增强更可能在特征空间中获得更真实的样本. 由于在小样本情境下过渡缺乏原始数据, 因此本文提出的分步式数据增强在对原始语句进行限量的基于编辑的数据增强后, 再利用数据在特征空间中的区域性进一步得到标签不变的增强数据.
分步式数据增强首先从全局角度利用常规的基于编辑的数据增强方法对原始数据进行初步扩充, 以得到部分既保留原有语义又具有正确标签的增强数据, 随后为了在保证标签准确性的同时增加训练样本的数量, 本文在每个类的内部, 利用样本对进行MixEmb操作来合成新数据. MixEmb操作是对图像分类中的mixup[17]方法的扩展. Mixup的主要思想是通过线性插入一对训练样本来生成合成样本. 具体来说就是给定两个已标记的数据点(xi,yi)和(xj,yj), 其中x可以是一幅图像, y是标签的表示, 算法通过线性插值创建虚拟训练样本训练神经网络模型:
$ \left\{ {\begin{split} & {x{'}} = mix({x_i}, {x_j}) = \lambda {x_i} + (1 - \lambda ){x_j} \\ & {y{'}} = mix({y_i}, {y_j}) = \lambda {y_i} + (1 - \lambda ){y_j}\; \end{split} } \right.$ | (1) |
其中, λ∈[0, 1].
直接在原始数据上进行的数据增强操作具有高度的领域相关性, 而在特征空间上进行增强操作则是与领域无关的. Mixup操作就是在特征空间上减少了部分数据盲区, 因此本文将文本数据映射到特征空间之后为保证增强数据的标签准确性, 选取同类别中的样本对在特征空间中进行MixEmb操作, 这样便扩展了特征空间内合理数据点的相对数量, 与在原始空间中的数据增强形成了互补. MixEmb操作如下:
$ \left\{ {\begin{split} & \tilde x = \lambda E({x_i}) + (1 - \lambda )E({x_j}) \\ & \tilde y = {y_i} = {y_j}\;\;\;\;\;\; \end{split}} \right. $ | (2) |
其中, E(xi)表示xi通过预训练语言模型映射到特征空间后的表示, λ是样本对的混合比率, 并且λ是从具有超参数α的Beta(α, α)分布中采样的. 因为此时是在同类别中选取样本对进行线性插值, 所以得到的训练样本的标签类别保持不变.
1.3 阶段性训练策略现有研究表明[18], 当示例不是随机呈现时, 而是以有意义的顺序组织起来, 逐渐显示出更多的概念和复杂性, 可以有效引导训练过程在参数空间中向更好的局部最小值学习, 从而使得神经网络训练得更好. 一般假设数据中存在一系列示例难度, 然后根据难度系数进行排序, 逐步增加困难数据训练模型.
在本文提出的分步式数据增强方法中, 将示例难度的评判指标设定为训练数据中所含有的噪声量. 由于初步增强的数据是按照一定的扰动比例获得的, 所以相比于原始数据而言具有一定的噪声, 属于较为困难的训练示例. 利用MixEmb获得的增强数据是在初步增强的基础上进行扩充, 噪声含量存在叠加现象, 从而进一步加大了模型学习的难度. 由此可见, 在整个分步式数据增强的过程中, 训练数据的学习难度随着数据增强深度的增加而增加.
因此为了从简单训练数据开始, 逐步过渡到困难数据, 本文根据数据增强的递进程度将训练数据划分成原始数据、初步增强数据和利用MixEmb增强的数据3个层次. 在模型训练初期, 选择难度系数较低的原始数据进行训练, 当迭代次数达到指定数值后, 加入较难学习的初步增强数据进行第2阶段的训练, 在第2阶段训练完成后加入学习难度最高的MixEmb增强数据进行第3阶段的训练, 从而完成整个阶段性训练的过程.
1.4 分步式数据增强与阶段性训练策略相结合的实现步骤分步式数据增强和阶段性训练策略相结合则是从数据本身以及模型训练两个角度进行了数据增强. 二者结合的具体步骤如下.
步骤1. 输入原始数据data, 初始迭代次数n1, 2次迭代次数n2, 3次迭代次数n3.
步骤2. 分步式数据增强.
(1) 利用EDA技术[13]对原始数据进行初步增强, 得到初步增强数据data1, 初步增强数据和原始数据的数量比是4:1.
(2) 利用预训练语言模型BERT-base对原始数据data和初步增强数据data1进行处理, 从而得到相应的词向量.
(3) 随机选取同类别中源自不同原始数据的词向量对进行MixEmb操作, 从而得到最终的增强数据data2, 其中操作次数是原始数据的类别数乘以初步增强数据和原始数据的比例.
步骤3. 搭建三元组网络作为意图识别模型, 三元组网络结构图如图2所示.
三元组网络由3个相同的子网络组成, 每次输入3个样本x、x+ 和x− , 其中x+和x属于同一类的样本, 而x和x−属于不同类的样本. 三元组网络输出两个中间值, 分别是相同类别样本x、x+通过网络表示后二者的距离和两个不同类样本x和x−通过网络表示后的距离. 将子网络表示为Net, 则三元组网络在倒数第二层输出的将是两个向量:
$ {{TripletNet}}(x, \; {x^ + }, \; {x^ - }) = \left[ \begin{gathered} \cos ({\textit{Net}}(x), {\textit{Net}}({x^ + })) \\ \cos ({\textit{Net}}(x), {\textit{Net}}({x^ - })) \\ \end{gathered} \right]\; $ | (3) |
损失函数为:
$ Loss({d^ + }, {d^ - }) = {d^ + } - {d^ - } + margin $ | (4) |
其中,
$ {d^ + } = \cos (Net(x), Net({x^ + }))\;\;\; $ | (5) |
$ {d^ - } = \cos (Net(x), Net({x^ - }))\;\;\; $ | (6) |
通过训练, 让同类样本之间的距离尽可能小, 不同类样本之间的距离尽可能大, 并且要让上述两个距离之间有一个最小的间隔margin.
步骤4. 阶段性训练策略.
(1) 输入原始数据data对模型进行训练, 优化器采用Adam优化器.
(2) 当迭代次数达到n1时, 将初步增强的数据data1加入模型进行训练.
(3) 当迭代次数达到n2时, 将利用MixEmb增强的数据data2加入模型进行训练, 直到迭代次数达到n3时, 模型的整个训练过程结束.
2 实验分析 2.1 数据集本文首先在SNIPS、NLUE、ATIS三个意图识别任务的基准数据集上评估本文的方法, 其中SNIPS和NLUE是在人机交互过程中收集的数据, 分别含有7个和64个类别的意图. ATIS是有关航班信息查询的数据, 含有17个意图类别信息, 特点是数据分布不平衡. 此外, 为了进一步验证所提出的方法是否适用于关系分类和问题分类, 本文附加使用了关系分类数据集FewRel和问题分类数据集TREC.
2.2 实验设置本文的实验是基于PyTorch实现, 使用标准的BERT-base对句子进行编码, 选取三元组网络为分类器, 三元组网络的架构参考文献[19]实现, 采用余弦距离表示样本之间的关系, 阈值设定为0.4, 学习率设定为2×10−5, 批量大小设定为64. 在验证分步式数据增强有效性时, 初步的常规数据增强本文采用的是EDA[14]数据增强技术, 扰动比例设置为0.2, MixEmb操作中混合比例λ来自Beta(α, α)分布, α设定为0.2. 在进行阶段性训练时, 3个阶段的迭代次数比是1:1:1. 此外, 本文每个类仅选取10个训练示例来构建小样本场景, 其中由于ATIS数据集中有的类别所含有的示例不足5个, 故每个类选取的是4个示例.
2.3 实验结果与分析 2.3.1 分步式数据增强和阶段性训练策略的有效性本文对比了在小样本意图识别情境下, 无数据增强、常规的数据增强、分步式数据增强以及分步式数据增强和阶段性训练策略相结合时模型效果的不同, 并且本文还额外验证了在小样本情境下的关系分类和问题分类任务中所提出的方法对模型的性能是否有增益.
表1总结了在多种常规的数据增强情况下同一模型在不同数据集中的分类准确率. 其中, EDA技术[13]是对原始语句进行同义词替换、随机交换、插入和删除操作, SwitchOut[20]是从词汇表中均匀采样的随机单词替换原始语句中的单词, Permutation[15]操作则是在保留原始数据集的关键统计属性的前提下对每句话进行重新排列.
首先, 在小样本情境下, 与未使用任何数据增强技术相比, 意图识别模型在使用本文提出的分步式数据增强和阶段性训练策略相结合的方法后, 准确率最高提升了4.8%, 并且模型在关系分类数据集FewRel和问题分类数据集TREC上的分类准确率也得到了一定的提升, 这说明本文提出的方法可以明显提高模型的分类准确率. 其次, 相较于EDA、SwitchOut和Permutation这类常规的数据增强策略, 本文提出的数据增强方法在5个数据上平均准确率分别高出了1.54%、2.88%、2.74%, 这说明本文提出的数据增强方法在模型分类准确率上普遍优于EDA、SwitchOut和Permutation这类常规的数据增强策略.
表2总结了本文方法中的分步式数据增强和阶段性训练两种策略在同一模型不同数据集中的分类准确率. 与未使用任何数据增强技术相比, 分步式数据增强在5个数据集上的平均准确率高出了1.56%, 当分步式数据增强策略和阶段性训练策略相结合时, 模型的平均准确率再次提升了0.4%. 这表明, 分步式数据增强和阶段性训练策略对模型性能的提升都有一定的促进作用, 并且相比较阶段性训练策略, 分步式数据增强方法对模型性能的增益更为显著.
此外, 对于ATIS数据集, 本文提出的方法与没有使用数据增强相比模型的分类准确率提高了4.5%, 与常规的数据增强策略相比模型的分类准确率增长了2.6%. 然而ATIS数据集的类别信息很不平衡, 与飞行航班相关的意图具有充足的训练数据, 但是其他个别种类只有几个标注数据. 这说明本文的数据增强方法对于处理数据不平衡的问题有一定的帮助, 缓解了数据信息失衡的问题.
2.3.2 数据集大小对实验结果的影响本文研究了在不同数据集大小的情况下所提出的方法对于模型意图识别准确率的影响情况. 表3 显示了在SNIPS数据集上进行实验的结果, 其中N的数值代表每个意图类别中含有的训练示例数量.
从表3可以看出, 随着训练数据的增多, 本文的数据增强方法对于模型性能的提升作用也会越来越弱. 这说明在小样本情境下, 通过本文的数据增强方法可以有效地增加模型所需学习的数据信息, 当有效的训练数据相对充分时, 所提供的信息也较为完整, 数据增强所带来的效益也就随之减弱.
2.3.3 增强数据的扰动程度对实验结果的影响利用数据增强技术获得的数据具有一定的噪声, 在本文的设置中扰动系数的大小代表了最终获得的增强数据的学习难度. 因此, 本节研究了增强数据的扰动程度对于实验结果的影响, 比较了不同扰动情况下, 模型在常规数据增强EDA方法与分步式数据增强和阶段性训练策略相结合的方法作用下分类准确率的变化情况. 图3显示了在不同扰动情况下, 模型在5个数据集上分类准确率的平均值.
在扰动较低时, 常规的数据增强方法EDA和本文的方法所获取到的数据和原始数据都非常相似, 因此在模型效果的改进上差异并不是特别明显. 但是随着扰动的增加, 本文提出的方法对于模型的分类准确率影响要明显高于常规的数据增强方法. 从整体来看, 本文提出的方法随着扰动系数的增加性能的波动也更为平缓, 能够使模型保持较为稳健的改进.
2.3.4 数据增强的迭代轮次对实验结果的影响本文研究了数据增强的迭代轮次对于本文方法的影响. 表4总结了在不同数据集上进行实验的结果, 其中I=1代表只进行一次分步式数据增强. 从表4可以看出迭代轮次的增加并不能提高意图识别模型的分类准确率. 这说明迭代多轮次的分步式数据增强, 虽然样本总量会得到大幅度的增加, 但是得到的样本所代表的信息会有大量重叠, 从而使得模型出现过拟合现象, 最终导致意图识别模型的分类准确率降低.
2.3.5 数据可视化
为了清晰的展示利用分步式数据增强获得的数据, 本文利用t-SNE对分步式增强的数据进行可视化处理. 图4展示了SNIPS数据集在分步式数据增强过程中的可视化效果. 图中的聚类代表着不同的样本类别, 从图中可以看出, 初步的数据增强增加了一定的样本量, 当完成整个分步式数据增强后, 样本在保持原有聚类的基础上得到了进一步扩充.
3 总结
本文针对在文本领域的小样本意图识别任务中训练数据不足的问题提出了一种分步式数据增强与阶段性训练策略相结合方法, 首先从全局角度对整体数据进行统一的数据增强获得初步的增强数据, 之后利用同类别样本对之间标签的一致性, 在嵌入层进行数据增强, 从而在保留原有标签的基础上达到数据增强效果. 最后, 将最终获得的所有数据依据分步式数据增强的不同阶段进行划分, 逐步输入意图识别模型进行训练. 实验结果表明, 在小样本意图识别任务中, 本文提出的方法可以有效提高意图识别模型的分类准确率, 并且模型的稳定性也有一定的提升.
[1] |
Hou YT, Lai YK, Wu YS, et al. Few-shot learning for multi-label intent detection. Proceedings of the 35th AAAI Conference on Artificial Intelligence. Online: AAAI Press, 2021. 13036–13044.
|
[2] |
Dopierre T, Gravier C, Logerais W. Protaugment: Unsupervised diverse short-texts paraphrasing for intent detection meta-learning. Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing. Stroudsburg: Association for Computational Linguistics, 2021. 2454–2466.
|
[3] |
王新哲, 于泽沛, 时斌, 等. 基于元学习的小样本数据生成算法. 计算机系统应用, 2021, 30(9): 161-170. DOI:10.15888/j.cnki.csa.008063 |
[4] |
Malandrakis N, Shen MM, Goyal A, et al. Controlled text generation for data augmentation in intelligent artificial agents. Proceedings of the 3rd Workshop on Neural Generation and Translation. Hong Kong: Association for Computational Linguistics, 2019. 90–98.
|
[5] |
Goodfellow IJ, Pouget-Abadie J, Mirza M, et al. Generative adversarial nets. Proceedings of the 27th International Conference on Neural Information Processing Systems. Montreal: MIT Press, 2014. 2672–2680.
|
[6] |
Madry A, Makelov A, Schmidt L, et al. Towards deep learning models resistant to adversarial attacks. Proceedings of the 6th International Conference on Learning Representations. Vancouver: OpenReview.net, 2018. 1–28.
|
[7] |
Shafahi A, Najibi M, Ghiasi A, et al. Adversarial training for free! Proceedings of the 33rd Conference on Neural Information Processing Systems. Vancouver: Curran Associates Inc., 2019. 3358–3369.
|
[8] |
Zhu C, Cheng Y, Gan Z, et al. FreeLB: Enhanced adversarial training for natural language understanding. Proceedings of the 8th International Conference on Learning Representations. Addis Ababa: OpenReview.net, 2020. 1–14.
|
[9] |
Zhang RY, Chen CY, Gan Z, et al. Improving adversarial text generation by modeling the distant future. Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics. Stroudsburg: Association for Computational Linguistics, 2020. 2516–2531.
|
[10] |
Wu X, Lv SW, Zang LJ, et al. Conditional BERT contextual augmentation. Proceedings of the 19th International Conference on Computational Science. Faro: Springer, 2019. 84–95.
|
[11] |
Devlin J, Chang MW, Lee K, et al. BERT: Pre-training of deep bidirectional transformers for language understanding. Proceedings of 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Minneapolis: Association for Computational Linguistics, 2019. 4171–4186.
|
[12] |
Anaby-Tavor A, Carmeli B, Goldbraich E, et al. Do not have enough data? Deep learning to the rescue! Proceedings of the 34th AAAI Conference on Artificial Intelligence. New York: AAAI Press, 2020. 7383–7390.
|
[13] |
Wei J, Zou K. EDA: Easy data augmentation techniques for boosting performance on text classification tasks. Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing. Hong Kong: Association for Computational Linguistics, 2019. 6382–6388.
|
[14] |
Xie QZ, Dai ZH, Hovy E, et al. Unsupervised data augmentation for consistency training. Proceedings of the 34th Conference on Neural Information Processing Systems. Vancouver: Curran Associates Inc., 2020. 6256–6268.
|
[15] |
Haralabopoulos G, Torres MT, Anagnostopoulos I, et al. Text data augmentations: Permutation, antonyms and negation. Expert Systems with Applications, 2021, 177: 114769. DOI:10.1016/j.eswa.2021.114769 |
[16] |
DeVries T, Taylor GW. Dataset augmentation in feature space. Proceedings of the 5th International Conference on Learning Representations. Toulon: OpenReview.net, 2017. 1–12.
|
[17] |
Zhang HY, Cissé M, Dauphin YN, et al. Mixup: Beyond empirical risk minimization. Proceedings of the 6th International Conference on Learning Representations. Vancouver: OpenReview.net, 2018. 1–13.
|
[18] |
Xu BF, Zhang LC, Mao ZD, et al. Curriculum learning for natural language understanding. Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics. Stroudsburg: Association for Computational Linguistics, 2020. 6095–6104.
|
[19] |
Wei J, Huang CY, Vosoughi S, et al. Few-shot text classification with triplet networks, data augmentation, and curriculum learning. Proceedings of 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Stroudsburg: Association for Computational Linguistics, 2021. 5493–5500.
|
[20] |
Wang XY, Pham H, Dai ZH, et al. SwitchOut: An efficient data augmentation algorithm for neural machine translation. Proceedings of 2018 Conference on Empirical Methods in Natural Language Processing. Brussels: Association for Computational Linguistics, 2018. 856–861.
|