基于CTC转换器的自动拼写校正端到端语音识别

                           基于CTC转换器的自动拼写校正端到端语音识别

                                   Automatic Spelling Correction with Transformer for CTC-based End-to-End

                                                                             Speech Recognition

                                                               Shiliang Zhang, Ming Lei, Zhijie Yan

                                                       Machine Intelligence Technology, Alibaba Group

                                                      {sly.zsl, lm86501, zhijie.yzj}@http://alibaba-inc.com


原文请参见:https://arxiv.org/pdf/1904.10045.pdf ,感谢原作者因译者才疏学浅,偶有纰漏,望不吝指出。其中因zh垃圾无法显示数学符号,若需完整版可以在群内获取。

本内容由灵声讯音频-语音算法实验室整理翻译,转载和使用请与“灵声讯”联系,联系方式:音频/识别/合成算法QQ群(696554058)


摘要

基于CTC(Connectionist Temporal Classification)的端到端语音识别系统为了获得令人满意的结果,通常需要使用基于WFST解码的外部语言模型。这对普通话语音识别更为重要,因为普通话含同音异义词,这会导致很多替换错误。语言模型引入的语言信息将有助于区分这些替换错误。 在这项工作中,我们提出了一种基于转换器的拼写校正模型,以此能自动纠正错误,尤其是基于CTC的普通话语音识别系统所产生的替代错误。具体来说,我们研究了使用基于CTC的系统生成的识别结果作为输入,并以真实录音副本作为输出来训练具有编解码器结构的转换器,这与机器翻译非常类似。在一个2万小时的普通话语音识别任务中,结果表明,所提出的拼写纠正模型的CER(字符错误率)为3.41%,与基于CTC的基线系统分别采用和不采用语言模型解码相比,分别提高了22.9%和53.2%。

索引术语:语音识别,拼写校正,CTC,端到端,转换器

1.引用

传统的基于混合DNN-HMM的语音识别系统通常由声学模型、词典和语言模型组成。每个模块都是单独训练的,且都有不同的目标,然后在模型推理过程中将其结合在一起。在最近的研究中,该领域试图通过在所谓的端到端框架中构建语音识别系统来纠正这种不相交的训练问题并简化训练过程。当前两种流行的方法是CTC和基于注意力的编解码器模型。两种方法都将语音识别看作是一个序列到序列的映射问题,并解决了可变长输入和输出序列的问题。一方面,CTC使用的中间标签,允许重复标签和空白标签的出现,用于识别信息量较少的帧,这使得基于CTC的声学模型能够自动学习语音帧和目标标签之间的对齐。另一方面,基于注意力模型使用注意力机制来实现声学帧和识别字符之间的对齐。两种方法都不需要帧级训练目标,简化了语音识别系统的训练过程。

CTC假设输出标签是条件相互独立的,这可以看作是一个声学模型。虽然基于CTC的模型可以通过贪婪搜索解码算法直接生成识别结果,但是使用基于WFST的解码在字符或单词级别结合外部语言模型会更好。另一方面,基于注意力的模型与编解码器框架可以共同学习声学、发音和语言模型。因此,人们普遍认为基于注意力模型在没有外部解码的语言模型情况下将比基于CTC的模型获得更好的性能。然而,基于注意力模型中的语言模型模块仅在转录的音频文本对上进行训练。通过在推理时结合外部语言模型可以实现进一步的改进。

普通话是一种声调语言,具有一种特殊的现象,即同音现象,许多汉字具有相同的发音。因此,替代错误是汉语语音识别系统产生的主要错误。这些替代错误需要语言信息才能有效区分。 因此,语言模型是基于CTC的普通话语音识别模型的基础。 如[13]所示,基于CTC的模型分别采用和不采用语言模型解码,其性能差距是非常大的。然而,伴随基于CTC的声学模型的语言模型通常是n-gram语言模型,其历史语境信息有限。使用具有RNN-LM的N-best打分算法,可以得到进一步的改进。

在这项工作中,我们提出了基于拼写校正模型的转换器,它能纠正基于CTC语音识别系统产生的错误。具体来说,我们研究了使用基于CTC系统生成的结果作为输入,以实际本地转录作为编解码结构转换器的输出进行训练,这类似于机器翻译。在推理期间,拼写校正模型将初步识别结果作为输入,使用贪婪搜索算法生成最终结果。 我们有调查了各种基于CTC的系统作为前端:不同声学建模单元(音节,2000字,4000字,6000字),不同的优化标准(CTC,CTC-sMBR)和解码方法(贪婪搜索,WFST搜索)。此外,我们建议扩增多样性训练数据,使用N-best列表和SGDR [19]优化,这将使性能有显著提高。

我们评估了一项2万小时的普通话语音识别任务,该任务由大约2000万个成对的句子组成。研究结果表明,所提出的拼写校正模型能使贪婪搜索的CTC系统的字错误率从7.28%提高到4.89%。通过扩展N-best列表作为训练数据,它可以进一步提高到4.21%。作为比较,使用基于WFST的解码与外部词级语言模型的训练的CTC-sMBR系统的CER为4.42%。此外,通过联合使用基于字的声学建模单元、DFSMN-CTC-sMBR声学模型、基于WFST的解码和N-best数据扩展,所提出的拼写纠正模型可以实现CER为3.41%,相对提高22.9%。我们的分析表明,基于转换器的拼写纠正模型能够利用句子级的语言信息,显著降低识别结果中的替换错误。

2.相关工作

识别错误的自动校正不仅对提高ASR系统的性能至关重要,而且对避免错误向后处理(如机器翻译、自然语言处理)的传播也至关重要。[20]概述了以前关于ASR纠错的工作。 然而,大多数研究仅限于检测错误[21,22,23],且很少有研究涉及ASR误差的校正过程。在[24]中,利用共现分析方法建立了ASR误差检测器和校正器。[25]提出了一种基于Microsoft N-gram数据集的ASR后期编辑纠错方法。最近,[26,27]提出使用基于注意力的序列到序列模型自动纠正ASR错误,这与我们的工作非常相似。

3.我们的方法

                            

图1展示了所提出的方法的整个系统,它由三个部分组成:监听器,解码器和拼写器。对于监听器,我们使用基于DFSMN-CTC-sMBR [15]的声学模型。对于解码器,在给定监听器生成的概率序列的情况下,基于解码策略生成初步的识别结果,对贪婪搜索[10]和WFST搜索进行了比较。此外,我们还研究了如何利用候选N-best扩展初步识别结果的多样性。最后,解码器产生的输出用于训练基于转换器的拼写器。

3.1 监听器

3.1.1 DFSMN-CTC-SMBR

DFSMN[28]是一种改进的FSMN[29]结构,它能够通过引入跳过连接来构建极深的体系结构。如图2所示,它是一个DFSMN,包含10个DFSMN组件,然后是两个全连接的ReLU层、一个线性层和一个softmax输出层。对于基于CTC的声学模型,softmax输出对应于声学模型单元和空白单元。 DFSMN中的关键元素是可学习的类FIR存储块,用于将长上下文信息编码为固定大小的表示。 因此,DFSMN能够在不使用循环反馈的情况下对连续信号中的长期依赖性进行建模。l-th内存块中的操作采用以下形式:

                                             

这里,表示线性投影层的输出,表示存储块的输出。 和 分别记录了存储块的回顾顺序和先行顺序。 s1是回望滤波器的步长因子,s2是超前滤波器的步长因子。

                                                      

CTC [10]是序列标记问题的损失函数,其通过去除定时和对齐信息将具有定时信息的标签序列转换为较短的标签序列。主要思想是在训练期间引入额外的CTC空白( - )标签,然后移除空白标签并合并重复标签以在解码期间获得唯一的相应序列。 对于一组目标标签,Ω及其扩展CTC目标集定义为。给定输入序列x及其对应的输出标签序列y。 CTC路径,π定义为Ω上的序列其中T是输入序列x的长度。 标记序列y可以由一组所有可能的CTC路径表示,其被映射到具有序列到序列映射函数F的y,。 因此,给定输入x的参考标记序列y的对数似然可以被计算为所有可能CTC路径的概率的集合:

                                                               

然后可以通过最小化最大似然估计来进行模型训练。此外,利用序列级判别训练准则,如sMBR准则等,可以进一步优化CTC训练后的声学模型[30,28]。

3.1.2 声学建模单元

在[15]中,研究了以CI-IF、CD-IF、音节和混合字符-音节为建模单元的DFSMN-CTC-sMBR声学模型在普通话语音识别中的性能。实验结果表明,混合高频汉字和音节的混合字音节建模单元是汉语语音识别的最佳选择。对于混合字符音节,将低频字符映射到音节中来处理OOV问题。在这项工作中,我们不把低频字符映射成音节,而是把它们映射成具有相同发音的高频字符。因此,我们提出了一个纯粹的基于汉字的建模单元,没有OOV用于普通话语音识别。具体而言,我们将前2000、4000和6000个汉字作为声学建模单元,分别表示为char- 2k、char-4k和char-6k。在我们的文本数据集中,覆盖率分别为95.58%、99.54%和99.86%。

3.2 解码器

3.2.1 贪婪搜索

对基于贪婪搜索[10]的解码,选择每个时间步的最可能符号作为输出。 最佳CTC路径可以用如下公式生成:

                                                

此外,CTC路径可以通过映射函数F映射到令牌序列。

                                                         

对于基于CTC声学模型的汉字单元,令牌序列是最终识别结果。 对于音节或其他建模单元,它仍然需要另一个映射函数。

3.2.2 WFST搜索

在[12]中提出了一种基于WFST的译码方法,该方法能够有效地将词汇和语言模型结合到CTC译码中。搜索图由语言模型WFST G、词汇表WFST L和令牌WFST T组成。令牌WFST T将一系列帧级CTC标签映射到单个词汇单元。FST操作的总体顺序(oder/order)为:

                                                     

其中o、det、min分别表示组成、确定和最小化。搜索图S编码从语音帧上发出的CTC标签序列到最终的转录的映射。然后使用波束搜索从搜索图中导出最佳解码路径。

3.2.3 N-best数据扩展

对于贪婪搜索和基于WFST搜索的解码,我们通常将最佳路径作为识别结果。 在我们的工作中,我们发现训练数据的多样性对拼写校正模型的性能很重要。 因此,我们研究使用N-best列表来扩展训练数据的多样性。 对基于WFST的解码,我们可以轻松地从解码点阵中获得前N个路径。 而对基于贪婪搜索的解码,我们提出了一种基于阈值的路径保留方法。 在每个时间步骤,除了保留具有最高后验概率(p1)的令牌之外,我们还基于两个阈值(upper_th; lower_th)判断是否保留第二令牌(后验概率,p2)。 如果lower_th <p1 <upper_th且lower_th <p2,我们将保留两个令牌。 否则,我们只保留前一个令牌。 基于不同的阈值,我们将生成不同的CTC路径,这些路径可以使用公式(4)进一步映射到令牌序列。

在我们的工作中,我们还研究使用仅文本数据的数据扩充来扩展训练数据。 我们尝试根据概率分布向原始文本添加插入,删除和替换错误。 不幸的是,这种方法效果不佳。 我们怀疑构造的错误不能真正模拟声学模型产生的错误类型。

3.3拼写器

对于拼写校正模型(拼写器),我们使用具有编码 - 解码器架构的转换器,这与[18]中的机器翻译模型非常相似。基于CTC的前端声学模型,采用不同的解码和数据扩展方法,得到初步的识别结果作为输入,并以真实录音副本作为输出,对拼写器进行训练。我们使用OpenNMT工具包[31]来训练具有默认设置的基于Transformer的拼写器。特别地,我们比较了两种转换器结构,即小转换器和大转换器。具体配置如表1所示。

                                    

4.实验

4.1 实验装置

我们在大规模普通话语音识别任务上进行实验,该任务包括大约2万小时的训练数据和大约2000万个句子。测试集包含大约10小时的数据用于评估所有模型的性能。所有实验中使用的声学特性都是在25ms窗长上以10ms帧移计算的80维log-mel滤波器组(FBK)能量。我们将连续的帧叠加在一个5(2+1+2)的上下文窗口中,生成400维的特性,然后将输入帧率下采样到30ms。在基于WFST的解码中,使用了一种经过文本数据训练的删减三元语言模型。根据字错误率(CER)进行评估。对于所有的实验,我们使用与[32]相同的DFSMN架构。基于CTC的声学模型使用16个GPU进行分布式训练,基于转换器的拼写器使用2个GPU进行训练。

4.2 CTC基线系统

表2中显示了具有不同声学建模单元和解码方法的各种基于CTC的基线ASR系统的性能。基于CTC的WFST搜索模型比贪婪搜索模型的性能要好得多,说明了语言信息的重要性。基于汉字建模单元的CTC模型具有不同的字符数(2k、4k、6k),在使用基于WFST的解码时可以达到相似的性能,均优于基于音节的CTC模型。然而,当使用贪婪搜索进行解码时,基于char4k和char6k的CTC模型明显优于基于char2k的CTC模型。这一实验结果也说明了语言信息的重要性。在sMBR训练中,我们发现基于WFST的译码提高了性能,而基于贪婪搜索的译码降低了性能。这是由于训练和解码之间的不匹配,因为基于sMBR的训练使用基于WFST的解码来生成训练格。

                                            

4.3 带拼写器的贪婪搜索CTC

首先,我们使用基于贪婪搜索的解码来评估表2中基线CTC模型输出训练的拼写者的表现。表3和表2中exp2和exp3的实验结果的比较表明,良好的初步识别结果将导致更好的最终结果。此外,训练数据的数量对性能至关重要。如表3所示,将训练数据从100万(1M)句增加到2000(20M)万句,相对提高20%以上。因此,我们也研究了如何在这项工作中扩展训练数据。由于基于转换器的大型拼写器性能优于小型拼写器,我们将在接下来的实验中使用大型拼写器。

在3.2.3节中,我们引入了基于阈值的数据扩展方法,用于基于CTC的声学模型和贪婪搜索。在该实验中,我们使用表3中具有不同阈值的基线模型来生成各种训练数据,表示为D(AM upper_th lower_th)。尤其,我们使用CTC模型(exp3)和CTC-sMBR模型(exp4)生成六个数据集,表示为D1(CTC 1.0 1.0),D2(CTC 0.5 0.1),D3(CTC 0.6 0.1),D4(CTC- sMBR 1.0 1.0),D5(CTC-sMBR 0.5 0.3),D6(CTC-sMBR 0.6 0.3)。 不同的数据配置和实验结果如表4所示。受SGDR[19]的启发,我们建议用拼写器训练4遍,并在每次通过后进行重置。

每次通过的训练步骤由训练数据量确定。 对于模型推理,我们使用基于CTC的模型的结果和贪婪搜索作为输入,并通过使用贪婪搜索生成最终识别结果。 结果表明,该优化方法将实现更好的收敛性能。 更重要的是,即使使用CTC-sMBR模型生成的训练数据,数据扩展也将显着提高拼写器的性能。结果,我们可以实现4.21%的字符错误率(CER),相对于基线贪心搜索解码CTC模型(表4.2中的exp3)有42.17%的相对改进。它也可以优于使用基于WFSTb解码的外部语言模型解码的CTC-sMBR模型。

                              

4.4 WFST用拼写器搜索CTC

在本实验中,我们使用DFSMN-CTC-sMBR监听器(表4.2中的exp4)和基于WFST的解码器来生成初步识别结果,然后将其与地面实况转录配对以训练拼写器。我们还使用解码格中的N最佳列表扩展训练数据。特别地,我们保留了导致三个训练集的前1,5和10路径,表示为N-best(1),N-best(5)和N-best(10)。这三个训练集分别包含大约2000万(20M),55M和84M的句子。我们在表5中列出了实验配置和结果。在推理期间,来自基于WFST的解码器的最佳路径被馈送到拼写器中以通过贪婪搜索生成最终识别结果。实验结论与第3.4节中基于贪婪搜索CTC的实验相同,即基于N-best的数据扩展方法和基于SGDR的多遍训练都可以显着提高性能。 最终,用N-best(10)训练集训练的拼写器的CER达到3.41%,而基于WFST的解码的基线DFSMN-CTC-sMBR系统的为4.42%(表2)。

4.5 分析

为了理解拼写器的作用,如图3所示,我们绘制了有拼写器和没有拼写器的系统识别结果中的插入,删除和替换错误的数量。结果表明,无论是否使用外部语言模型进行解码,拼写器都可以自动纠正前端监听器所产生的许多替换错误。图4显示了测试集中的一些代表性示例。结果表明,拼写器能够利用句子层面的语言信息,从训练集中学习知识库,这有助于区分普通话中的同音词。此外,我们还对拼写器进行了广泛的评估。图5显示了13个测试集中有和没有拼写器的基线DFSMN-CTC-sMBR系统的性能。我们将测试集与基线系统的CER(%)从高到低排序。结果表明,通常基线越好,使用拼写器就可以获得越多的性能提升。这是因为拼写者需要利用上下文信息。如果原始识别结果中存在许多错误,则会增加纠错的难度。

                            

                         

5.总结

在这项工作中,我们提出了一种基于转换器的拼写校正模型,该模型具有编码 - 解码器架构,可自动校正基于CTC的语音识别系统所产生的错误。 实验结果表明,拼写器能够利用句子级语言信息,有助于显着减少识别结果中的替换误差。 此外,我们建议使用基于N-best的数据扩展方法扩展训练数据的多样性,从而获得超过10%的相对改进。在一个2万小时的普通话语音识别任务中,结果表明,所提出的拼写纠正模型的误码率为3.41%,相对于分别使用和不使用语言模型解码的基于CTC的基准系统,分别提高了22.9%和53.2%。至于今后的工作,我们将研究如何利用纯文本数据,这将极大地扩展训练数据的多样性。

 

灵声讯

译于:2019-09-20


音频/识别/合成算法QQ群(696554058),具体资料在群文件中;

本内容由灵声讯音频-语音算法实验室整理创作,转载和使用请与“灵声讯”联系,要是觉得回答满意请点赞加关注,灵声讯为你提供专业的音频服务。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值