目录
前言
当前文本顺滑任务基于昂贵的标注语料,本文提出了一种基于半监督的noise student training方法可以通过无标注语料进行学习,且结果与当前的有监督模型(Bert、Electra)相比表现也有一定竞争性;
ASR任务中的输出结果往往存在一些冗余不流畅现象,不利于下游文本处理任务处理;
其中RM是想要撤销的短语,IM是打断位置,RP是补充修改的短语;IM通常很好识别,但是RM与RP容易出现错误;disfluency主要有三种:修正、重复、重启,其语料标注格式如下:
文本顺滑任务想要做的就是去除RM与IM,提高ASR输出的质量;
模型方法
先前的工作高度依赖标注语料,本文模型参考19年的Noisy Student Training模型进行半监督学习:
- 中心思想先通过有限的标注数据训练出一个对应任务的教师模型以及一个判别样本是否合理的判别模型,再在大量的无标注语料上用教师模型标注数据,通过判别模型一定程度上过滤掉不合理(标错)的数据,再使用这些标注数据训练学生模型,如此反复,最终在大量的无标注语料上学到一个理想的模型;
对应到本次文本顺滑任务,主要流程如下:
伪数据训练teacher模型
通过构造的伪数据训练出teacher模型,本质上是一个序列标注问题,本文采用finetune Electra模型实现;
伪数据训练grammaticality judgment模型
通过伪数据训练出判别模型,本质是一个文本分类问题;
训练student模型
- 先通过teacher模型标注语料
- 再通过判别模型过滤语料
- 最后进行student模型学习,直接finetune伪数据上的teacher模型
将训练完成的student模型当做teacher继续训练;
实验&实验结果
英文(作者)
数据集介绍
dev集上结果
可以看到这种半监督学习方法使用无标注数据使指标上升了17个点左右,效果很不错,媲美有监督方法
test集上结果
select消融实验
可见select操作还是有很大作用的
中文(复现)
尝试在中文数据集上进行复现,具体需要解决的问题如下:
伪数据的构造
对伪数据构造来训练judge,模仿论文中的三种构造方式:repetition、inserting和delete;缺乏相应语料,判别器数据的构造方式如下:
- 重复:
- 删除:
- 重复+删除:
先前字级别的伪数据构造的judge用于半监督学习效果并不理想,因此最终选择使用token级别的,目前还在测试
目前的结果
模型 | 语料类型 | p_score | r_score | f_score |
---|---|---|---|---|
Electra-finetune | 标注语料 | 72.4 | 73.3 | 72.8 |
– | – | – | – | – |
pesudo-teacher | 无标注语料 | 34.6 | 42.3 | 38.1 |
Our unsupervised (w o judge) | 无标注语料 | 67.0 | 63.0 | 64.8 |
Our unsupervised (w judge) | 无标注语料 | - | - | - |
总结
目前来看该方法是具有普适性的,在中文上也能有很好的效果,在无标注数据上的表现基本媲美有标注数据;