近些年来,随着自动语音识别(ASR)技术的发展,识别准确率有了很大的提升。但是,在ASR转写结果中,仍然存在一些对人类来说非常明显的错误。我们并不需要听音频,仅通过观察转写的文本便可发现。对这类错误的纠正往往需要借助一些常识和语法知识,甚至推理的能力。得益于最近无监督预训练语言模型技术的发展,基于纯文本特征的纠错模型可以有效地解决这类问题。本文提出的语义纠错系统分编码器和解码器两个模块,编码器着重于理解ASR系统输出文本的语义,解码器的设计重在使用规范的词汇重新表达。

 

论文链接:https://arxiv.org/abs/2104.05507

引言

文本纠错是一项提升ASR识别准确率的重要方法,常见的文本纠错有语法纠错,拼写纠错等。由于ASR系统转写的错误分布与上述的错误分布差异较大,所以这些模型往往并不适合直接用在ASR系统中。这里,云从科技语音组提出了一种基于BART预训练模型[1]的语义纠错(SC)技术方案,它不仅可以对ASR数据中常见的拼写错误进行纠正,还可以对一些常识错误、语法错误,甚至一些需要推理的错误进行纠正。在我们一万小时数据的实验中,纠错模型可以将基于3gram解码结果的错字率(CER)相对降低21.7%,取得与RNN重打分相近的效果。在RNN重打分的基础上使用纠错,可以进一步取得6.1%的CER相对降低。误差分析结果表明,实际纠错的效果比CER指标显示的要更好。

模型

1)ASR语义纠错系统设计

ASR语义纠错流程如图 1所示。语义纠错模块可以直接应用在第一遍解码结果上,作为重打分模块的替代方案。另外,它也可以接在重打分模型之后,进一步提升识别准确率。

Figure1 集成语义纠错模型的ASR系统

 

2)基线ASR系统

作者选取的baseline声学模型结构为pyramidal FSMN[2],在1万小时普通话音频数据上训练。在第一遍解码中使用的WFST由3gram语言模型、发音词典、双音素结构以及HMM结构构成。在重打分中分别使用4gram和RNN,训练数据为这些音频对应的参考文本。声学模型和语言模型使用Kaldi工具[3]训练。

3)语义纠错模型结构

研究者提出的语义纠错模型基于Transformer [4]结构,它包含6层encoder layer和6层decoder layer,建模单位为token。在使用Teacher forcing方法训练过程中,ASR输出的文本输入到模型的输入侧,对应的参考文本输入到模型的输出侧,分别使用输入嵌入矩阵和输出嵌入矩阵进行编码,使用交叉熵作为损失函数。在语义纠错模型推理过程中使用束搜索(beam search)进行解码,beam宽度设置为3。

Figure 2 基于Transformer的语义纠错模型

 实验

1、纠错训练数据准备

我们基线ASR模型的训练集为1万小时普通话语音数据,包含约800条转写文本。测试集由5小时混合语音数据组成,包含Aishell、Thchs30等测试集。为了对ASR系统识别的错误分布充分采样,我们在构建纠错模型训练数据集时采用了以下几个技巧:

1)使用弱声学模型生成纠错训练数据,这里采用10%的语音数据单独训练一个小的声学模型,用于生成训练数据;

2)对MFCC特征增加扰动,将MFCC特征随机乘上一个0.8到1.2之间的系数;

3)将带噪声的特征输入到弱声学模型,取beam search前20条结果,并根据错字率阈值筛选样本。最后,我们将筛选后的解码结果和他们对应的参考文本配对,作为纠错模型训练数据。通过对全量音频数据解码,将阈值设置在0.3,我们获得了约3千万纠错样本对。

2、输入输出表示层

在语义纠错模型中,输入和输出的文本使用相同词典。但是输入文本中的错字相对于其规范的用法蕴含更多的语义,而输出文本中仅使用规范的字词进行表达。因此,将输入和输出侧的token采用独立的表示,更符合纠错任务的需求。表一的结果证明了我们的这个推论。实验结果表明在输入输出嵌入矩阵共享权重时,纠错模型会带来负面效果。当输入输出token采用独立的表示时,系统的CER可以取得5.01%的相对降低。

Table.1 CER (%) of ASR system with SC model under different parameter sharing configuration

 

3gram

+SC_shared_emb

+SC_distinct_emb

CER

7.78

7.91

7.39

3、BART vs BERT初始化

这里,研究者预训练语言模型技术,将它从大规模语料中学习到的语义知识迁移到纠错场景中,使得纠错模型在相对较小的训练集上获得较好的鲁棒性和泛化性。我们对比随机初始化,BERT[5]初始化和BART[1]初始化方法。在初始化过程中,因为BART预训练任务和模型结构与Transformer相同,因此参数可以直接复用。在BERT初始化中,Transformer的编码器和解码器都适用BERT的前6层网络参数[6]。

Table.3 CER (%) of 3gram with SC model using different initialization

3gram

+SC_RAND

+SC_RoBERTa

+SC_BART

7.78

7.39

7.13

6.08

表二结果显示BART初始化可以将基线ASR的错字率降低21.7%,但是BERT初始化的模型相对随机初始化模型的提升非常有限。我们推测这可能是因为BERT和语义纠错模型的结构以及训练目标差异过大,知识没有得到有效地迁移。

此外,纠错模型对于语言模型重打分后的输出再进行纠正,识别率可以获得进一步提升。相对4gram,RNN重打分之后的结果,CER可以分别相对降低21.1% 和6.1%。

Table.3 CER of LM rescored output with SC model

Rescore

ASR outputs

+SC_BART

+ 4gram

7.43

5.86

+ RNN

5.66

4.92

4、纠错模型 vs 大语言模型

一般而言,ASR系统使用更大的语言模型可以获得更好的识别效果,但也会消耗更多的内存资源并降低解码效率。这里,我们在语音数据参考文本的基础上,加入大量爬虫或者开源的纯文本语料,重新训练3gram、 4gram和RNN语言模型,并称之为大语言模型。基线ASR系统中使用的称之为小模型。对比发现,在小模型基础上加上纠错的识别准确率超越了单独使用大模型的效果。另外,在大模型的基础上使用语义纠错,识别率可以获得进一步提升。

Table.4 Performance of SC model on ASR system with large LM

 

Small LM + SC

Large LM

Large LM + SC

3gram

6.08

6.43

5.42

+ 4gram

5.86

6.20

5.31

+ RNN

4.92

4.91

4.61

部分纠错示例如下:

ASR输出文本

纠正后结果

今早有一位非常特别的加币

今早有一位非常特别的嘉宾

这可能是因为汤米不再正确的地方

这可能是因为汤米不在正确的地方

这种办法往往使创立越多的银行留成比例相对越小亏损越多银行留成比例相对越大

这种办法往往使创利越多的银行留成比例相对越小亏损越多的银行留成比例相对越大

5、误差分析

在对300条纠正失败的例子进行误差分析时,我们发现语义纠错实际效果要比CER指标评估的明显要好,有约40%的错误几乎不影响语义,比如,一些音译的外国人名或者地名有多种表达方式,一些人称代词因为缺乏上下文,会造成“她他它“的混用,还有一些是不影响语义的语气词替换。另外有30%的错误是因为上下文信息不足,不适合基于纯文本特征的模型做纠正。剩下有30%的错误为语义纠错模型的语义理解或表达能力不足所致。

错误类型

比例

例子

上下文不足

32.6%

ASR out : 看起来还行吧

Reference : 我看起来还行吧

Correction: 看起来还行吧

专有名词

17.4%

ASR out : 那当克林发现整件事都是个谎言的时候

Reference : 那当柯林发现整件事都是个谎言的时候

Correction: 那当克林发现整件事都是个谎言的时候

等价表达

23.3%

ASR out : 几点了

Reference : 几点了

Correction: 几点啦

纠错模型能力不足

26.7%

ASR out : 以襄陵人注目的成就背后有太多的挫折

Reference : 一项令人注目的成就背后有太多的挫折

Correction: 以相邻人注目的成就背后有太多的挫折

总结

本文提出了一种基于BART的语义纠错模型,它具有良好的泛化性,对多种ASR系统的识别结果有一致性地提升。另外,研究者通过实验验证了在文本纠错任务中,输入输出采用独立表示的重要性。为了更充分地对ASR系统识别错误分布进行采样,本文提出了一种简单有效的纠错数据生成策略。

最后,我们提出的语义纠错方法虽然取得了一定收益,但还有可以优化的空间,比如:

  1. 引入声学特征,有助于模型辨识文本是否存在错误,降低误触率。
  2. 引入更多上下文信息,可以消除文本中一些语义上的歧义或者缺失的信息。
  3. 针对垂直业务场景进行适配,提升一些专业术语的识别准确率。

参考文献

[1] M. Lewis et al., “BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension,” 2019, [Online]. Available: http://arxiv.org/abs/1910.13461.

[2] X. Yang, J. Li, and X. Zhou, “A novel pyramidal-FSMN architecture with lattice-free MMI for speech recognition,” vol. 1, Oct. 2018, [Online]. Available: http://arxiv.org/abs/1810.11352.

[3] D. Povey et al., “The Kaldi Speech Recognition Toolkit,” IEEE Signal Process. Soc., vol. 35, no. 4, p. 140, 2011.

[4] A. Vaswani et al., “Attention Is All You Need,” Jun. 2017, doi: 10.1017/S0140525X16001837.

[5] J. Devlin, M.-W. Chang, K. Lee, and K. Toutanova, “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding,” 2018, [Online]. Available: http://arxiv.org/abs/1810.04805.

[6] O. Hrinchuk, M. Popova, and B. Ginsburg, “Correction of Automatic Speech Recognition with Transformer Sequence-to-sequence Model,” ICASSP 2020 - 2020 IEEE Int. Conf. Acoust. Speech Signal Process., pp. 7074–7078, Oct. 2019, [Online]. Available: http://arxiv.org/abs/1910.10697.

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐