全文框架概览
摘要
本文旨在利用数据增强的方法提升电话场景下的意图识别准确率,大部分的数据增强方法都是直接对有标签数据进行操作,本文探究的是利用无标签数据的UDA方法。实验结果表明,相比于base版本,采用UDA方法的意图识别准确率有较明显的提升。
1、背景介绍
在保险各个业务中有很多AI外呼的应用场景,如客服、回访、续期。本文主要介绍续期场景下的AI电话外呼语义理解实践。
续期,即在保险即将到期时提醒客户按时续费。传统的保险续期方式有短信、函件、人工电话等,短信、函件的用户触达率低,续期效果不佳;而人工电话外呼时间成本高,一般人工外呼的接通率低于50%,这意味着人工的大部分时间都耗在等待电话接通过程,因此业务急需引入电话外呼机器人以解决人工电话外呼成本高的问题。
意图识别是外呼机器人的核心模块,其准确率的高低直接影响用户的体验,因此提升意图识别模型准确率是十分有必要的。
考虑到电话续期场景中存有大量无标签的历史对话数据,本文旨在从这些无标签数据获取信息用于提升意图识别模型准确率,下文将介绍通过UDA的方法提升意图识别准确率。
2、UDA介绍
2.1 总体流程
UDA,即 Unsupervised Data Augmentation,由谷歌于2019年提出,其大致思想如下图所示。
首先是利用有标签数据训练出一个分类模型M,接着对无标签数据进行数据增强得到增强数据,数据增强前后的无标签数据输入模型M,得到相应的概率分布,计算这两个概率分布之间的KL散度作为无标签损失。同时,计算有标签数据与真实标签之间的交叉熵作为有标签损失。最终用于训练的模型的损失由有标签损失和无标签损失的加权求和组成。具体公式如下:
2.2 UDA训练技巧
UDA文中还提到三种重要的训练技巧:TSA、数据锐化、类别外数据筛选。下面逐一介绍。
TSA(Training Signal Annealing)
即有监督训练信号逐步释放。一般情况下无标签数据会远多于有标签数据,为充分利用无标签数据信息需要引入较复杂的模型,而复杂模型容易对有标签数据过拟合,为解决这个问题,文中就引入了TSA。大致的步骤是:在训练的第t步设置一个阈值
(K表示类别),如果有标签样本的预测概率
大于该阈值,那么在计算有标签损失时就剔除该样本,公式如下:
有标签数据损失计算:
其中Z是归一化因子,I是指示函数。
为了使TSA在不同的数据场景下都有效,文中提出了三种阈值的选取方式。如下图所示,其中有
文中指出如果有标签数据较少,容易过拟合的情况下选择exp型阈值效果会好一点。个人理解是因为exp型阈值在训练初期比较低,有标签样本的预测概率比较容易高于该阈值,以致于大部分的有标签样本计算损失的时候被剔除,无法参与模型训练。
随着训练过程的深入,模型已经从无标签数据中学习了较多信息,此时模型效果较初期已有提升,对有标签数据更不容易过拟合,而此时的阈值较高,大于该阈值的有标签样本较少,也即大部分的有标签样本在训练后期才参与模型训练,这就是所谓的有标签信号逐步释放过程。同理,如果是标签数据较多,不容易过拟合的情况选择log型阈值效果会好一点。
数据锐
如果带标签数据较少或者任务较复杂时,模型对无标签原始数据和增强数据的预测概率会比较平均,那么KL散度在总的损失中贡献较小。为了解决这个问题,需要数据锐化,文中介绍了三种数据锐化的方法:1)基于置信度的mask:如果预测概率小于一定阈值,那么不参与损失计算。2)最小化信息熵:将信息熵计入损失中。3)softmax温度控制:
,温度越低越锐化。
类别外数据筛选
在真实场景中,由于无标签数据没有经过人工筛选,因此数据中不可避免地会混入类别外的数据甚至领域外的数据,这些类别外的数据可能给模型带来的潜在影响。类别外的数据筛选大致流程是:运用当前训练的模型对于无标签数据进行类别预测。只保留那些预测概率值超过一定阈值的无标签数据。认为过滤后的无标签数据其分布特征与当前类别具有较高的相关度。
2.3 UDA在公共数据集效果
UDA在公共数据集的效果如下图所示,可以看出无论以何种方式初始化模型,采用UDA都能提升模型的效果。在只有少量有标签数据情况,UDA效果提升更明显。值得注意的是在IMDB数据集中,UDA只使用了20条数据就达到了state-of-art的效果。
3、在续期场景的应用
3.1 续期场景数据分布
续期场景中的各种数据分布情况如下表所示,可以看到数据是极端不均衡的。
3.2 UDA在续期场景效果
下表展示了UDA在续期场景的效果,这里不仅探究了不同大小数据集下UDA的效果,还探究了TSA对整体模型效果的影响。本文采用预训练好的bert模型接一个softmax,同时用不同大小的数据集对模型进行finetune,下表中的10表示每组实验的数据集中一个类别有10个有标签样本,总共25个类别就有250个有标签样本。
由表可知,在10个有标签样本时,UDA方法较base版本大约有16到19个点的提升,随着有标签样本的增加准确率提升幅度越小,但与base版本相比效果都有提升。这可能是因为在有标签样本较少时,无标签样本产生的梯度对模型参数更新的贡献大于有标签产生的梯度贡献,随着有标签样本的增加,有标签样本的贡献也增强,表现出来就是随着有标签样本的增加UDA方法提升效果越小。
关于TSA,当有标签数据充足时,采用TSA效果提升不明显,甚至有些许下降,这可能是因为在标签数据充足时模型不容易过拟合,但总体训练过程对有标签数据的利用率低于不使用TSA情况。在标签数据不足时(10、20、40个样本),并未表现出明显的效果提升,可能因为随机抽取的有标签样本存在一定噪声,后期应该多次实验取平均值。另外,除了在10个样本情况linear TSA的方法效果差一点外,在其余数据集下linear TSA都比exp TSA和log UDA效果更好,这与原论文的结论也有出入,后续也需继续探究。
4、总结与展望
一般的数据增强方法都是直接对有标签数据进行操作,例如EDA、回译、CBERT等,但UDA是充分利用无标签数据提升模型效果。两种的方式的比较如下图:
虽然上述两种模式利用的数据类型不同,但本质都是一样的,即将标签数据之外的先验信息注入模型。具体如下表所示。
本文主要探究了UDA在续期场景意图识别的效果,实验结果显示对模型提升有一定效果,这种利用无监督数据的方法普适性较强,但遗憾的是较少人将这种方法应用在非文本分类任务中,未来将进一步探究UDA方法在语义匹配的应用,这将涉及如何设计一致性损失函数的问题,后续有机会再讨论。
参考文献:
1、Xie Q , Dai Z , Hovy E , et al. Unsupervised Data Augmentation[J]. 2019.
2、Wei J W , Zou K . EDA: Easy Data Augmentation Techniques for Boosting Performance on Text Classification Tasks[J]. 2019.
3、Kobayashi S . Contextual Augmentation: Data Augmentation by Words with Paradigmatic Relations[J]. 2018.
4、Wu X , Lv S , Zang L , et al. Conditional BERT Contextual Augmentation[M]// Computational Science – ICCS 2019, 19th International Conference, Faro, Portugal, June 12–14, 2019, Proceedings, Part IV. 2019.
5、Anaby-Tavor A , Carmeli B , Goldbraich E , et al. Not Enough Data? Deep Learning to the Rescue![J]. 2019.
6、Hu, Zhiting, et al. "Learning Data Manipulation for Augmentation and Weighting." Advances in Neural Information Processing Systems. 2019.
更多干货内容欢迎关注「平安寿险PAI」(公众号ID:PAL-AI)。