融合自训练和自监督方法,让文本丝般顺滑!|EMNLP 2020

2020-10-27 11:03:26 浏览数 (1)

原创作者:王少磊

文本顺滑(Disfluency Detection)的目的是删除自动语音识别(ASR)结果中的不顺滑的词,从而得到更自然和通顺的句子。

目前大部分在文本顺滑(Disfluency Detection)任务上的工作都严重依赖人工标注数据。

本文介绍一篇被EMNLP 2020录取的工作,在本工作中,作者首次尝试用无监督的方法来解决文本顺滑问题。

作者通过结合自训练(self-training)和自监督(self-supervised)两种方法,在不采用任何有标注训练数据的情况下,取得了跟目前最好的有监督方法接近的效果。

论文名称:

《Combining Self-Training and Self-Supervised Learningfor Unsupervised Disfluency Detection》

论文作者:王少磊,王重元,车万翔,刘挺

论文链接:http://ir.hit.edu.cn/~slwang/emnlp2020.pdf

以下是论文一作王少磊对本文的亲自解读。

1 任务简介及动机

自动语音识别(ASR)得到的文本中,往往含有大量的不流畅现象。这些不流畅现象会对后面的自然语言理解系统(如句法分析,机器翻译等)造成严重的干扰,因为这些系统往往是在比较流畅的文本上训练的。

不流畅现象主要分为两部分,一部分是ASR系统本身识别错误造成的,另一部分是speaker话中自带的。

NLP领域主要关注的是speaker话中自带的不流畅现象,ASR识别错误则属于语音识别研究的范畴。

顺滑(disfluency detection)任务的目的就是要识别出speaker话中自带的不流畅现象。

图1 顺滑示例

Speaker话中自带的不流畅现象主要分为两大类,分别为Filler类型和Edit类型。

以英文为例,Filler类型主要包括“uh”、“oh”等语气词,以及“so”、“well”等话语标记语。

Filler类型的一个特点是其对应的不流畅部分属于一个封闭的短语集合,因此,利用简单的规则或者机器学习模型就可以很好地识别Filler类型。Edit类型主要包括重复,以及被后面的短语所纠正的部分。

图1是一个英文顺滑任务的示例。在例句中,“um”,“I mean”属于Filler类型,“to Boston”则属于Edit类型,其被后面的“to Denver”所纠正。

Edit类型是顺滑任务中最难处理的类型,因为Edit类型的短语长度不固定,出现的位置比较灵活,甚至会出现嵌套的结构。因此,顺滑相关的研究主要集中在Edit类型的处理上(后面的内容默认处理的是Edit类型)。

对于顺滑任务,目前主要用到的语料是English Switchboard数据,在中文上还没有公开的语料。

目前大部分在文本顺滑任务上的工作都严重依赖人工标注数据。为了减少对有标注数据的依赖,我们发表在AAAI2020上的工作“Multi-Task Self-Supervised Learning for Disfluency Detection”尝试用自监督学习的方法来处理文本顺滑任务。

自监督学习方法能有效减少对有标注数据的依赖,但是其性能还需要依赖于有标注数据。

在本工作中,我们尝试融合自训练和自监督两种学习方法,探索无监督的文本顺滑方法。实验结果表明,我们的方法在不使用有标注数据进行训练的情况下,取得了非常不错的性能。

2 方法介绍

图2 方法整体框架

如图2所示,模型输入主要包含用于自监督学习的新闻领域数据和用于自训练的ASR输出结果。

我们首先在新闻数据上,利用简单的随机添加或者删除词组的方式构造了大规模的伪数据,并基于这些伪数据训练了一个句法判别器,用于判断给定的句子是否符合语法。

这个句法判别器主要用于自训练阶段筛选带有高质量伪标签的数据。之后,同样在新闻数据上,我们利用随机添加的方式构造了另外一组大规模伪数据,并利用这些伪数据来初始化自训练阶段的teacher模型。

训练好初始化的teacher模型后,我们用teacher模型对ASR输出结果打标签,判断输出结果中的每个词是否是冗余(非顺滑)的。

我们假定,一旦句子中的冗余成分被teacher模型正确识别后,那么删除这些冗余词之后剩下的句子是语法完整的。

基于这个假设,我们用之前训练好的句法判别器来帮助筛选句子,一旦句法判别器认为删除冗余成分(模型自动识别结果)后的句子是符合语法的,那么我们认为模型所预测的标签是正确的,并将该句抽取出来用作下一轮的训练。这个过程将被不断地循环,直到在开发集上的性能停止增长。

2.1 构造伪数据

我们构造了两类伪数据,是在正常句子(取自新闻语料)基础上随机增加一些词,是在正常句子基础上随机删除一些词。

对于类型,我们主要采用两种方式添加扰动:

  • Repetition(k):从第k个词的位置开始随机选取1到6个词进行重复操作。
  • Inserting(k):在第k个位置之前随机插入1到6个词(从新闻语料中选取的m-gram)
  • 对于一个正常的句子,我们一般随机选取1到3个位置,然后随机选取一种方式添加扰动。需要注意的是,添加扰动后的句子也有一定几率是正常的句子(比如在名词之前随机添加了一些形容词),这样可能会带来额外的噪声。 我们在构造数据的时候并没有针对这种情况进行特殊处理,因为在数据量足够大的时候,这些噪声带来的影响应该会非常小。

对于类型,我们一般随机选取1到3个位置,然后针对每个位置,随机删除掉1到6个词。

需要注意的是,在我们的实验过程当中,一个句子一般只被用来构造一种类型的非顺滑句子,以防止模型学习到一些统计性规律(比如中间长度的句子一般是顺滑的)。

2.2 模型细节

在输入层和中间表示层,我们采用与BERT(Devlin et al.,2019)类似的transformer结构。

我们发现在参数初始化的时候,ELECTRA模型相对于BERT等模型,在同样的参数规模情况下,性能表现更好,所以我们的实验都是基于ELECTRA Base来初始化的。

3 实验结果及分析

3.1 实验设置

我们主要在English Switchboard(SWBD)数据集上测试我们方法的性能。

为了验证我们模型的稳定性,我们也在另外三个测试集CallHome、SCOTUS、FCIC上做了测试。

我们用了500万数据来训练语法判别器,200万数据来初始化teacher模型。

3.2 实验结果

表1列出了我们方法在SWBD开发集上的性能。我们的方法相对于初始化的teacher模型,F1提高了17个点左右。这个结果也表明,在不利用有标注数据的情况下,单纯地利用自监督方法还不能取得很好的性能。

表2列出了跟之前方法对比的结果,从中可以看出,我们方法取得了非常不错的效果,尤其是其超过大规模预训练兴起之前的所有有监督方法。

表1 SWBD开发集上的结果,第一部分(第1到5行)表示有监督方法

表2 与之前最好方法的对比

3.3 跨领域实验

我们同时在另外的三个测试集上做了测试。

这一步我们是直接拿以上在SWBD无标注数据上训练的模型,对另外的三个测试集进行测试。

从表3可以看出,我们的模型取得了非常不错的效果,甚至已经超过了有监督的基于ELECTRA-Base进行finetune的模型。

表3 跨领域数据的结果(“Pattern-match”表示目前最好的跨领域的方法)

3.4 消融实验

这一块我们主要验证引入句法判别器的重要性。

从表4可以看出,句法判别器的引入带了了性能上的非常大的提升。

在本工作中,我们尝试融合自训练和自监督两种学习方法,探索无监督的文本顺滑方法。实验结果表明,我们的方法取得了非常不错的性能。

表4 消融实验 (“Teacher”表示初始化的teacher模型,“No-select”表示不用语法判别器进行筛选)

参考文献

[Devlin et al.2019] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. 2019. Bert: Pre-training of deep bidirectional transformers for language understanding. Proceedings of NAACL.

[Lou and Johnson2017] Paria Jamshid Lou and Mark Johnson. 2017. Disfluency detection using a noisy channel model and a deep neural language model. Proceedings of ACL.

[Wang et al.2017] Shaolei Wang, Wanxiang Che, Yue Zhang, Meishan Zhang, and Ting Liu. 2017. Transition-based disfluency detection using lstms. In Proceedings of EMNLP, pages 2785–2794.

[Wu et al.2015] Shuangzhi Wu, Dongdong Zhang, Ming Zhou, and Tiejun Zhao. 2015. Efficient disfluency detection with transition-based parsing. In Proceedings of the 53rd Annual Meeting of the Association for Computa- tional Linguistics and the 7th International Joint Conference on Natural Language Processing (Volume 1: Long Papers), pages 495–503. Association for Computational Linguistics.

[Zayats et al.2016] Vicky Zayats, Mari Ostendorf, and Hannaneh Hajishirzi. 2016. Disfluency detection using a bidirectional lstm. arXiv preprint arXiv:1604.03209.

[Wang et al.2020] Shaolei Wang, Wanxiang Che, Qi Liu, Pengda Qin, Ting Liu, and William Yang Wang. 2019. Multi-task self-supervised learning for disfluency detection. arXiv preprint arXiv:1908.05378.

[Bach and Huang, 2019] Nguyen Bach and Fei Huang. 2019. Noisy bilstm-based models for disfluency detection. Proc. Interspeech 2019, pages 4230–4234.

[Lou and Johnson, 2020]] Paria Jamshid Lou and Mark Johnson. 2020. Improving disfluency detection by self-training a self-attentive model. arXiv, pages arXiv–2004.


NeurIPS 2020论文接收列表已出,欢迎大家投稿让更多的人了解你们的工作~

0 人点赞