基于RNN和CTC的语音辨认模型,探求语境偏移处理之道
作者头像
  • 兰州小传达
  • 2021-07-20 12:13:04 23

此账号为华为云开发者社区官方运营账号,提供全面的云计算知识、丰富的技术干货及程序示例,分享华为云的最新动态。

本文将探讨一种结合CTC(Connectionist Temporal Classification)与WFST(加权有限状态转换器)的工作:《EESEN: END-TO-END SPEECH RECOGNITION USING DEEP RNN MODELS AND WFST-BASED DECODING》。该研究介绍了一种创新的解码方法,利用WFST将词典和语言模型融入CTC解码过程。这种方法通过将CTC标签、词典和语言模型编码到一个WFST中,形成一个综合搜索图,从而简化了处理CTC中的空白标签和执行束搜索的过程。

本篇重点讨论WFST在解码中的应用,而不涉及RNN和CTC的具体细节。WFST是一种有限状态接受器(Finite State Acceptor, FSA),其中每个转换状态都包含一个输入符号、一个输出符号和一个权重。

接下来,我们将详细介绍如何构建单个WFST:

  1. 语法(Grammar):语法WFST编码了允许的单词序列。例如,一个简单的语言模型可能包含两句话:“how are you”和“how is it”。这种WFST的基本符号单位是单词,弧上的权重代表语言模型的概率。使用这种方式,CTC解码规则可以应用任何能转化为WFST的语言模型。按照Kaldi的表示方式,这个语言模型的WFST表示为G。

  2. 词典(Lexicon):词典WFST编码了从词典单元序列到单词的映射。根据RNN的建模单元,词典有两种形式:音素词典和字符词典。音素词典类似于传统的混合模型,而字符词典则包含了每个单词的拼写。字符词典更容易扩展到包含任何未知词汇(OOV)。此外,我们还将展示一个中文词典的条目。

  3. 令牌(Token):第三个WFST将帧级别的CTC标签序列映射到单个词典单元(音素或字符)。对于每个词典单元,token级的WFST将所有可能的帧级标签序列纳入考虑。例如,输入5帧后,RNN模型可能会产生三种标签序列:“AAAAA”、“∅∅AA∅”、“∅AAA∅”。Token WFST将这些序列映射到一个词典单元:“A”。

  4. 搜索图:在分别编译完三个WFST后,将它们合并成一个完整的搜索图。首先合成词典WFST L和语法WFST G,在这个过程中会应用确定性和最小化操作来压缩搜索空间并加速解码。然后,将这个合成的WFST LG与token WFST T合并,生成最终的搜索图。搜索图编码了从语音帧对应的CTC标签序列映射到单词序列的过程。

在解码过程中,为了提高准确性,我们使用了从训练集中估计的标签先验。具体来说,我们从增强后的标签序列中计算先验,例如将原始标签“IH Z”转换为“∅IH ∅ Z ∅”。通过统计每帧上的标签分布,我们获得了标签的先验信息。

实验结果显示,基于WFST的方法在某些数据集上表现良好。在WSJ数据集上,使用词典和语言模型的模型达到了7.87%的字错率(WER),而在只使用词典的情况下,WER上升到26.92%。相比之下,Eesen模型在更大数据集如Switchboard上的表现优于传统模型。

Eesen的一个显著优势是其解码速度大幅提升,达到3.2倍以上。此外,所使用的TLG图比传统的HCLG图小得多,节省了存储空间。

总的来说,本文介绍了一种基于RNN和CTC的语音识别模型,该模型利用WFST解码方法有效地融合了词典和语言模型。

    本文来源:图灵汇
责任编辑: : 兰州小传达
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
偏移语境探求辨认语音模型基于处理CTCRNN
    下一篇