2014-7-29 13:04| 发布者: tianzc| 查看: 243| 评论: 0
自从智能手机的兴起以及siri 推出以来,大量的语音识别相关的产品开始进入普通用户的生活之中,像讯飞,腾讯,百度都推出了自己的语音产品。随着不同生活背景不同层次的用户越来越多,语音识别准确率始终是一个不得不说的伤心问题,老张家住在开新小区,每次用语音识别的时候都识别成开心小区,结果他变的很不开心。老王是个中药迷,稀奇古怪的药名连他小孙子都记不住,每次要和谁交流交流都得费劲的手动输入,因为语音识别总是很难准确完整的识别出来。正所谓众口难调,光靠一个公用模型来解决广大群众的各种需求是比较困难的,因此,为了更好的适应广大人民群众的各种需求,我们采用一种并行语音识别解码系统。 图1为通用的语音识别解码器框架,声学模型我们采取的是隐马尔可夫模型模型,其发射概率为混合高斯矩阵。 语言模型我们采用的是n-gram的方式。这里声学模型和语言模型都为单一的一个模型。 图1 通用的语音识别系统框架 这种方式为目前通用的识别框架,为了解决不同用户不同的需求。我们将解码器展开为并行解码空间。在这里我们假设用户的口音区别不大,主要区别在于具体说什么内容, 基于这个假设,我们保持声学模型不变,生成不同垂直领域的语言模型。每个语言模型挂载到一个在线的解码器上。通过竞争打分来实现最终的结果输出。其框架如图2 所示。
图2 并行解码空间的系框框架
多路解码空间&多路语言模型。语言模型训练一共分为三个模块,其中包括分类语料训练模块,模板语料训练模块,词表语料训练模块三个模块。具体步骤如下:
解码器空间采用的是wfst(加权有限状态机),将声学模型,语言模型和词典构建wfst网络图,并将其compose到一张wfst图上, 具体做法如图三所示: 图三 wfst 网络构建框架图 语言模型wfst中,通过将模板语言模型,词表语言模型,分类语言模型的融合生成一张带label的wfst图。 表1
对表1 左边,我们按正常的语言模型训练方式,输入输出都为词或者label, 表1 右边,在每个词的前面增加一个输入变 label: eps 。通过这种方式将两个语言模型组合在一起。如图4所示
图4
和关键词级别的置信度计算如下式:
2) 语言模型分数
竞争 通过大语料的训练获取一个50G的大语言模型,通过该语言模型计算各路语音解码器识别结果的ppl(困惑度)分数值。 其公式如下
3) 语义层面分数竞争,通过对语音识别结果的语音层面分析来计算打分结果
用户主题判定,根据用户的历史语音输入记录,我们通过主题建模,选择相应的几路语音识别解码器来进行语音识别,并且根据用户输入习惯,对不同类别的解码器给予不同的权重。
|