一种语音识别解码效率优化方法技术

技术编号:8626851 阅读:232 留言:0更新日期:2013-04-26 00:15
本发明专利技术涉及一种语音识别解码效率优化方法,实现为:对于每三帧语音特征矢量,先在弧内进行Viterbi动态规划,每一条弧上最多能够输出三个得分和对应的路径,三个得分和路径分别对应三个连续不同帧的输出;根据Viterbi算法,该三个得分和对应的路径传递到该弧的后续节点上进行竞争;保留到节点上的优胜者,在下三帧到来时继续扩展到该节点的后续出弧上去;对于最后一帧语音特征矢量,传递到解码网络最后一个节点并胜出的路径即为最优路径;回溯最优路径,得到对应的词序列,即为识别结果。本发明专利技术通过[采用效率优化的帧半同步方法,节省了识别过程中的内存访问量,提升了整个系统的效率。

【技术实现步骤摘要】

本专利技术涉及一种在连续语音识别系统中进行语音识别解码效率优化方法,用于提升基于云计算的语音识别系统的并发路数以及识别速度。
技术介绍
随着手机等智能终端上语音输入功能和应用的普及,用户在手机等智能终端上使用语音输入的场景越来越多。而这些应用场景多是基于云计算进行,智能终端负责录音及音频数据压缩,然后将数据发送到云端的识别服务器上进行识别,识别结果再返回给智能终端。对于基于云计算的语音识别系统,如果能够提升单台识别服务器的并发路数和识别速度,相同数量的识别服务器可以同时支持更多用户的使用,从而可以为整个云计算平台节省大量硬件成本。然而,为了提升语音识别效果,往往会训练出规模庞大的语言模型和声学模型,由这些模型构建的解码网络加载起来常常需要几十G的内存。语音识别过程需要频繁地在几十G的内存中做查询,特别是在多路并发的情况下,内存读取的带宽会成为制约系统效率(并发路数和识别速度)的瓶颈。目前的连续语音识别系统如图1所示,包括如下几个部分端点检测、特征提取、解码以及结果输出。在连续语音识别系统的几个模块中,解码模块计算量占比最大(占80%以上),内存读取也最频繁,是影响整个系统效率(并发路数和识别速度)的最关键模块,也是最需要进行效率优化的核心模块。目前的解码方案,是基于帧同步的Viterbi解码。系统首先将语言模型的语义网络通过声学模型扩展成基于模型状态层的搜索网络,其示意图如图2所示。在这种基于状态节点的搜索网络中所有声学模型状态按时间顺序重复排列,使得每一时间点的状态列都对应于一帧语音特征矢量。搜索时,分别计算每一列状态节点相对于输入语音帧的累积路径概率。在搜索到最后一帧语音时,具有最大累积概率的状态节点即为最优节点,通过从该节点执行状态回溯就可以得到最优解码状态序列,从而得到对应的单词序列。一个实际的解码网络如图3所示其中,每一个红点代表解码网络中的一个节点,每一个矩形代表解码网络中的一条弧,而每一条弧上又包含3个状态,该状态对应图2中的状态。具体的算法流程如下(1)对于每一帧语音特征矢量,先在弧内进行动态规划,每一条弧上最多可以输出一个得分和对应的路径;(2)根据Viterbi算法,该得分和路径传递到该弧后续节点上进行竞争,保留优胜者;(3)保留到节点上的优胜者,在下一帧到来时继续扩展到该节点的后续出弧上去;(4)对于最后一帧语音特征矢量,传递到解码网络最后一个节点(Final)并胜出的路径即为最优路径;(5)回溯最优路径,可以得到对应的词序列,即为识别结果。对于现有的解码技术,每一帧特征矢量到来的时候,解码网络上的节点都要访问其所有出弧,并将该节点上竞争胜出的得分和对应的Viterbi路径传递到后续的弧上去。对于特别是基于语音云的连续语音识别系统,其解码网络会占用几十G的内存,访问节点的出弧即代表着要访问其出弧对应的所有内存,在多路并发的情况下(即多个用户同时使用同一台识别服务器使用识别服务),同时访问不同位置的内存的节点会有几十万甚至是上百万个,这样巨大的内存访问对于目前主流配置的服务器的内存带宽是一种挑战。由于内存带宽不足,造成了内存访问时的等待,从而影响了整个识别系统的识别速度。
技术实现思路
本专利技术技术解决问题克服现有技术的不足,提供,在大内存的解码网络上进行解码的时候,能够减少内存访问次数,避开内存带宽不足的瓶颈,从而优化连续语音识别系统的识别效率。本专利技术技术解决方案,其特点在于与传统的帧同步解码算法相比,最大不同之处在于不是每一帧语音特征矢量都要进行Viterbi,而是每三帧进行一次Viterbi,称作帧半同步的解码算法,其实现流程如下(I)对于每三帧语音特征矢量,先在弧内进行Viterbi动态规划,每一条弧上最多能够输出三个得分和对应的路径,三个得分和路径分别对应三个连续不同帧的输出;(2)根据Viterbi算法,该三个得分和对应的路径传递到该弧的后续节点上进行竞争(和对应帧的得分和路径竞争);(3)保留到节点上的优胜者,在下三帧到来时继续扩展到该节点的后续出弧上去;(4)对于最后一帧语音特征矢量,传递到解码网络最后一个节点(Final)并胜出的路径即为最优路径;(5)回溯最优路径,得到对应的词序列,即为识别结果。所述步骤(2)中竞争过程实现步骤如下对于每一个节点,会有一条或者多条弧与之连接;在某一时刻t,会有一条或者多条弧向该节点传递路径(每条路径带有一个得分,该得分刻画该路径的可能性),每一个弧上会传递三个路径到该节点,分别对应t-2,t-1和t时刻的路径;所有弧上所传递过来的同一时刻的路径根据得分进行竞争,得分最高的路径得以保留,其余路径被删除。本专利技术与现有技术相比的优点在于本专利技术在语音识别解码过程中,采用了帧半同步方法,对于大内存的解码网络,能够有效地降低内存访问次数,从而在内存访问带宽受限的情况下,能够大幅度的提升语音识别解码的效率,提升并发路数和识别速度,为基于云计算的语音识别节约硬件成本,优化用户体验。附图说明图1为连续语音识别系统示意图;图2为每一条弧上包含3个状态的示意图;图3为一个实际的简单解码网络;图4为本专利技术的实现流程图。具体实施例方式本专利技术采用了一种针对大内存的语音识别中(特别是基于云计算的语音识别)进行效率优化的帧半同步方法,以节省识别过程中的内存访问量,从而提升整个系统的效率。和传统的帧同步算法相比,帧半同步算法的最大不同就是每三帧进行一次Viterbi动态规划算法,其实现流程如图4所示1.先进行t+1时刻的规划,每一个状态的更新如下本文档来自技高网
...

【技术保护点】
一种语音识别解码效率优化方法,其特征在于实现步骤如下:(1)对于每三帧语音特征矢量,先在弧内进行Viterbi动态规划,每一条弧上最多能够输出三个得分和对应的路径,三个得分和路径分别对应三个连续不同帧的输出;(2)根据Viterbi算法,该三个得分和对应的路径传递到该弧的后续节点上进行竞争,产生新的三个最优路径往下传递,直到传递到解码网络的最后一个节点,产生最优识别结果;所述部分是指和对应帧的得分和路径竞争;(3)保留到节点上的优胜者,在下三帧到来时继续扩展到该节点的后续出弧上去;(4)对于最后一帧语音特征矢量,传递到解码网络最后一个节点(Final)并胜出的路径即为最优路径;(5)回溯最优路径,得到对应的词序列,即为识别结果。

【技术特征摘要】
1.一种语音识别解码效率优化方法,其特征在于实现步骤如下 (1)对于每三帧语音特征矢量,先在弧内进行Viterbi动态规划,每一条弧上最多能够输出三个得分和对应的路径,三个得分和路径分别对应三个连续不同帧的输出; (2)根据Viterbi算法,该三个得分和对应的路径传递到该弧的后续节点上进行竞争,产生新的三个最优路径往下传递,直到传递到解码网络的最后一个节点,产生最优识别结果;所述部分是指和对应帧的得分和路径竞争; (3)保留到节点上的优胜者,在下三帧到来时继续扩展到该节点的后续出弧上去; (4)对于最后一帧语音特...

【专利技术属性】
技术研发人员:鹿晓亮赵志伟陈旭尚丽吴晓如于振华潘青华
申请(专利权)人:安徽科大讯飞信息科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1