Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

拼写、常识、语法、推理错误都能纠正,云从提出基于BART的语义纠错方法

云从科技语音组提出了一种基于 BART 预训练模型的语义纠错技术方案,它不仅可以对 ASR 数据中常见的拼写错误进行纠正,还可以对一些常识错误、语法错误,甚至一些需要推理的错误进行纠正。

近些年来,随着自动语音识别(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% 的相对降低。

3,BART vs BERT 初始化

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

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

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

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

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

部分纠错示例如下:

5,误差分析

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

本文提出了一种基于 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.

理论语音识别云从科技
相关数据
云从科技机构

云从科技孵化于中国科学院,是一家提供高效人机协同操作系统和行业解决方案的人工智能企业,核心团队曾先后7次获得国内外智能感知领域桂冠,并受邀参与了人工智能国家标准、公安部行业标准等26项国家和行业标准制定工作。通过多年技术积累和业务深耕,云从科技在智慧金融、智慧治理、智慧出行、智慧商业领域已逐步实现成熟应用,智慧金融领域已覆盖六大国有银行在内超过400家金融机构,智慧治理领域已服务于全国30个省级行政区,智慧出行领域产品和解决方案已在包括中国十大机场中的九座在内的105座民用枢纽机场部署上线

http://www.cloudwalk.com/
权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

交叉熵技术

交叉熵(Cross Entropy)是Loss函数的一种(也称为损失函数或代价函数),用于描述模型预测值与真实值的差距大小

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

推荐文章
暂无评论
暂无评论~