语音处理方法、装置、用户设备及存储介质与流程

文档序号:17596543发布日期:2019-05-07 19:33阅读:211来源:国知局
语音处理方法、装置、用户设备及存储介质与流程

本发明涉及信息处理技术领域,具体地涉及一种语音处理方法、装置、用户设备及存储介质。



背景技术:

传统的语音识别系统包括解码器、语言模型和声学模型三部分。在获取到语音信号之后,在解码空间上构建多条解码路径,将语音信号遍历每一条解码路径,基于声学模型和语言模型打分,得到每一条解码路径的声学模型得分和语言模型得分,基于得分确定出最优解码路径,根据最优解码路径输出最终的识别结果。

在现有viterbi解码的过程中通常伴有剪枝算法,将一些分值较低的路径进行裁剪来加快解码速度。现有技术中主流剪枝算法有beam剪枝和直方图剪枝。beam剪枝是在确定解码路径分支后所有路径中声学得分和语言得分总分的最高分值,裁剪比最高分值低于一个预设范围的分值对应的路径。直方图剪枝是在确定解码路径分支后所有路径中声学得分和语言得分的总分之后,对预设数量内的较高分值对应的路径进行保留,裁剪其余路径。上述两种剪枝方法,均存在已经进行了大量计算的路径由于分值较低而被剪掉,浪费了之前所进行的计算量。



技术实现要素:

本发明的目的是为了克服现有技术存在的在解码过程中,仅依赖上文信息,而不能有效利用下文信息的问题,提供一种语音处理方法、装置、用户设备及存储介质,更好的利用下文信息,有效较少不必要的语言模型打分,提高解码速度,提升语音数据处理效率。

为了实现上述目的,本发明第一方面实施例提供一种语音处理方法,所述方法包括:获取语音数据;根据预先建立的声学模型,匹配得到所述语音数据中每个音节数据对应的声学得分以及所在的解码路径;当viterbi解码到所述解码路径的分叉点,且要根据预先建立的语言模型对所述解码路径的分叉点之后的音节数据进行匹配时,根据所述分叉点之后的音节数据对应的声学得分,对所述分叉点之后的解码路径进行裁剪;根据所述语言模型对裁剪后的解码路径上的音节数据进行匹配,得到语言得分;以及根据裁剪后的解码路径上的声学得分和语言得分,对所述语音数据逐帧进行viterbi解码。

进一步地,所述根据所述分叉点之后的音节数据对应的声学得分,对所述分叉点之后的解码路径进行裁剪包括:根据所述分叉点之后所有解码路径上的第一音节数据对应的声学得分,对所述分叉点之后的解码路径进行裁剪。

进一步地,所述根据所述分叉点之后所有解码路径上的第一音节数据对应的声学得分,对所述分叉点之后的解码路径进行裁剪包括:比较所述分叉点之后所有解码路径上的第一音节数据对应的声学得分,确定最高声学得分;以及裁剪低于所述最高声学得分的预设范围的声学得分对应的第一音节数据所在的解码路径。

进一步地,所述根据裁剪后的解码路径上的声学得分和语言得分,对所述语音数据逐帧进行viterbi解码包括:根据裁剪后的解码路径上的声学得分和语言得分,选择最优解码路径,并将所述最优解码路径输出为所述语音数据的识别结果。

本发明第二方面实施例提供了一种语音处理装置,所述装置包括:获取单元,用于获取语音数据;声学匹配单元,用于根据预先建立的声学模型,匹配得到所述语音数据中每个音节数据对应的声学得分以及所在的解码路径;裁剪单元,用于当viterbi解码到所述解码路径的分叉点,且要根据预先建立的语言模型对所述解码路径的分叉点之后的音节数据进行匹配时,根据所述分叉点之后的音节数据对应的声学得分,对所述分叉点之后的解码路径进行裁剪;语言匹配单元,用于根据所述语言模型对裁剪后的解码路径上的音节数据进行匹配,得到语言得分;以及解码单元,用于根据裁剪后的解码路径上的声学得分和语言得分,对所述语音数据逐帧进行viterbi解码。

进一步地,所述裁剪单元还用于根据所述分叉点之后所有解码路径上的第一音节数据对应的声学得分,对所述分叉点之后的解码路径进行裁剪。

进一步地,所述裁剪单元还用于比较所述分叉点之后所有解码路径上的第一音节数据对应的声学得分,确定最高声学得分;裁剪低于所述最高声学得分的预设范围的声学得分对应的第一音节数据所在的解码路径。

进一步地,所述解码单元还用于根据裁剪后的解码路径上的声学得分和语言得分,选择最优解码路径,并将所述最优解码路径输出为所述语音数据的识别结果。

本发明第三方面实施例提供一种用户设备,包括麦克风、处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序,所述麦克风用于获取语音信号,所述处理器执行所述程序时实现如上所述的语音处理方法。

本发明第四方面实施例提供一种存储介质,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如上所述的语音处理方法。

通过上述技术方案,在viterbi解码的过程中,利用下文信息中的声学得分预先进行剪枝,有效较少不必要的语言模型打分,提高解码速度,提升语音数据处理效率。

附图说明

图1是本发明实施例提供的一种语音处理方法的流程示意图;

图2是根据本发明一个实施例中解码网络的示意图;

图3为根据本发明一个实施例中另一解码网络的示意图;

图4是本发明实施例提供的一种语音处理装置的结构示意图。

具体实施方式

以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。

图1是本发明实施例提供的一种语音处理方法的流程示意图。如图1所示,所述方法包括如下步骤:

步骤101,获取语音数据;

步骤102,根据预先建立的声学模型,匹配得到所述语音数据中每个音节数据对应的声学得分以及所在的解码路径;

步骤103,当viterbi解码到解码路径的分叉点,且要根据预先建立的语言模型对所述解码路径的分叉点之后的音节数据进行匹配时,根据所述分叉点之后的音节数据对应的声学得分,对所述分叉点之后的解码路径进行裁剪;

步骤104,根据所述语言模型对裁剪后的解码路径上的音节数据进行匹配,得到语言得分;以及

步骤105,根据裁剪后的解码路径上的声学得分和语言得分,对所述语音数据逐帧进行viterbi解码。

在本发明的一个实施例中,可对接收的语音信号经过例如,前端处理、特征提取等预处理之后,得到与接收的语音信号相对应的语音数据,从而对语音数据进行声学模型和语言模型的匹配,最终得到所述语音数据的识别结果。

其中,现有的前端处理是指在特征提取之前,一般是先对接收到的语音信号进行处理,尽可能消除噪声和不同说话人带来的影响,使处理后的信号更能反映语音的本质特征。现有最常用的前端处理有端点检测和语音增强。端点检测是指在语音信号中将语音和非语音信号时段区分开来,准确地确定出语音信号的起始点。经过端点检测后,后续处理就可以只对语音信号进行,这对提高模型的精确度和识别正确率有重要作用。语音增强的主要任务就是消除环境噪声对语音的影响。

在本发明实施例中利用的前端处理等预处理技术可为现有的或者未来可能出现的技术,本发明对此不做限定。

在本发明的一个实施例中,预先建立的声学模型是基于ctc(connectionisttemporalclassification,连接时序分类)技术训练得到的。具体地,可对大量的语音数据进行特征提取,以得到各语音数据的特征向量。然后在特征向量中每隔预定数量的发音单元添加空白标签,并基于连接时序分类对添加所述空白标签后的语音数据进行训练,建立声学模型。其中,声学模型中包括多个音节数据。

声学模型中的多个音节数据及其之间的跳转关系可以形成大量的解码路径,这些解码路径即可构成解码网络。举例说明,图2为根据本发明一个实施例中解码网络的示意图。如图2所示,其中,圆圈表示解码网络中的音节数据,箭头表示音节数据之间的跳转关系。由图2可知,解码网络中存在多个解码路径。每条解码路径为对语音数据进行解码时的一种可能解码结果。在本发明实施例中,对语音数据进行viterbi解码的过程即为根据语音数据的特征向量帧从解码网络中的多个解码路径中选择最优解码路径的过程。

在本发明的一个实施例中,充分利用下文信息,从而减少了不必要的语言模型的打分。具体实现过程为,在根据如上所述的声学模型,匹配得到所获取的语音数据中每个音节数据对应的声学得分以及解码路径之后,在根据预先建立的语言模型对所述解码路径的音节数据进行匹配时,当viterbi解码到所述解码路径的分叉点时,根据所述分叉点之后的音节数据对应的声学得分,对所述分叉点之后的解码路径进行裁剪。具体是,当viterbi解码到达解码路径的分叉点时,先不计算后面路径上的语言模型的得分,而是先比较分叉点之后所有路径上的第一音节数据对应的声学得分,并确定最高声学得分。并根据所述预设范围,例如,所述预设范围为5%,则将低于最高声学得分的5%的声学得分对应的第一音节数据所在的解码路径裁剪掉,从而得到裁剪后的解码路径。其中,对于预设范围的设定形式在本发明中不做限定,可以是上述举例的百分比,也可以是数值范围,或者是其它形式,可根据具体需要来设置所述预设范围。

举例说明,图3为根据本发明一个实施例中解码网络的示意图。如图3所示,其中,当viterbi解码到达解码路径的分叉点a点时,先比较a点之后的da4与ren2的声学得分,从而确定最高声学得分。如果da4的声学得分最高,则将da4的声学得分确定为最高声学得分,如果ren2的声学得分低于da4的声学得分的预设范围,则将ren2对应的解码路径裁剪掉,即直接放弃掉从a点向“北京人”这条分叉去解码的路径。同理,如果ren2的声学得分为最高声学得分,而da4的声学得分低于ren2的声学得分的预设范围,则将da4对应的解码路径裁剪掉,放弃从a点向“北京大学”这条分叉去解码的路径。另外,如果da4的声学得分没有低于ren2的声学得分的预设范围,则可保留da4对应的解码路径。

通过上述利用下文信息进行预裁剪的方式,即当要对分叉点之后的音节数据进行语言模型打分时,则根据分叉点之后的解码路径上的声学得分,对解码路径进行预裁剪,然后再对裁剪后的解码路径进行语言模型打分,即减少了不必要的语言模型的打分(对应于裁剪掉声学得分低的解码路径),也保证了解码的准确性(对应于保留了声学得分较高的解码路径),从而提高viterbi解码速度。

在本发明的一个实施例中,经过上述裁剪后,可根据预先建立的语言模型对裁剪后的解码路径上的音节数据进行匹配,得到语言得分。本发明实施例中应用的语言模型为n-gram语言模型。

之后,根据裁剪后的解码路径上的声学得分和语言得分,选择最优解码路径,并将所述最优解码路径输出为所述语音数据的识别结果。其中,亦可利用现有技术中的剪枝技术,从裁剪后的解码路径上选择最优解码路径,此处不再赘述。

通过本发明实施例,在viterbi解码的过程中,利用下文信息中的声学得分预先进行剪枝,有效较少不必要的语言模型打分,提高解码速度,提升语音数据处理效率。

相应的,图4是本发明实施例提供的一种语音处理装置的结构示意图。如图4所示,所述装置包括获取单元41,用于获取语音数据;声学匹配单元42,用于根据预先建立的声学模型,匹配得到所述语音数据中每个音节数据对应的声学得分以及所在的解码路径;裁剪单元43,用于当viterbi解码到所述解码路径的分叉点,且要根据预先建立的语言模型对所述解码路径的分叉点之后的音节数据进行匹配时,根据所述分叉点之后的音节数据对应的声学得分,对所述分叉点之后的解码路径进行裁剪;语言匹配单元44,用于根据所述语言模型对裁剪后的解码路径上的音节数据进行匹配,得到语言得分;以及解码单元45,用于根据裁剪后的解码路径上的声学得分和语言得分,对所述语音数据逐帧进行viterbi解码。

进一步地,所述裁剪单元还用于根据所述分叉点之后所有解码路径上的第一音节数据对应的声学得分,对所述分叉点之后的解码路径进行裁剪。其中,所述裁剪单元还用于比较所述分叉点之后所有解码路径上的第一音节数据对应的声学得分,确定最高声学得分;裁剪低于所述最高声学得分的预设范围的声学得分对应的第一音节数据所在的解码路径。

进一步地,所述解码单元还用于根据裁剪后的解码路径上的声学得分和语言得分,选择最优解码路径,并将所述最优解码路径输出为所述语音数据的识别结果。

相应的,本发明实施例还提供一种用户设备,该设备包括麦克风、处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序,所述麦克风用于获取语音信号,所述处理器执行所述程序时实现如上所述的语音处理方法。

相应的,本发明实施例还提供一种存储介质,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如上所述的语音处理方法。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1