改进依赖上下文的语音识别器对环境变化的鲁棒性
2020-01-15

改进依赖上下文的语音识别器对环境变化的鲁棒性

本发明涉及改进依赖上下文的语音识别器对环境变化的鲁棒性。一种改进用于应用的依赖上下文的语音识别器对环境变化的鲁棒性的装置,其包括存储用于语音识别训练的声音的训练数据库,存储语音识别器所支持的单词的字典,以及利用训练数据库和字典对一个或多个多状态隐马尔可夫模型(HMM)的集合进行训练的语音识别器训练模块。所述语音识别器训练模块对每个HMM的每个状态执行非统一状态集群化过程,其中包括对每个HMM的至少一些状态使用不同的非统一集群阈值以更重度地集群化并相应减少在经验上受一种或多种上下文依赖性影响较小的每个HMM的状态中的那些状态的观察分布数目。

在框1225,语音识别器1130使用来自经训练HMM存储145的一个或多个经训练的HMM从所述特征矢量标识语音单位。所述(一个或多个)经训练的HMM是参见3-10更为详细地描述的(一个或多个)增强型HMM。流程接着进行至1230,其中语音识别器1130针对字典1140对语音单位进行评估以标识单词。流程接着进行至框1235,其中语音识别器1130使用语法1145或语言模型1150将所述单词形成为句子、短语、命令等以便供应用1165使用。流程接着进行至框1240,其中应用1165基于所识别的句子、短语、命令等来执行动作。

流程接着进行至框240,其中语音识别器训练模块150使用来自训练数据库120和字典130的语音数据根据HMM配置规范中所定义的参数对HMM进行训练。

在一些实施例中,使用并行系统组合N状态三音HMM,其将以下中的一个或多个进行组合:N状态左双音(典型或增强型)、N状态右双音(典型或增强型)、N状态三音(典型或增强型)以及单音。在并行系统组合N状态三音HMM中,建立了新的状态连接以允许语音训练模块为匹配和/或不匹配条件自动搜索和选择最佳的依赖上下文的HMM拓扑;并且允许语音识别器动态确定跨不同HMM的最佳路径。

描述了一种用于在保持低存储器占用(footprint)且计算高效的同时改进依赖上下文的语音识别器对环境变化的鲁棒性的方法和装置。在一个实施例中,定义或训练增强型多状态依赖上下文的隐马尔可夫模型(HMM)以具有减少的受(一种或多种)上下文依赖性影响较小的那些状态的可能观察分布的数目。

在一些实施例中,使用并行系统组合N状态三音HMM,其将以下中的一个或多个进行组合:N状态左双音(典型或增强型)、N状态右双音(典型或增强型)、N状态三音(典型或增强型)以及单音。在并行系统组合N状态三音HMM中,建立了新的状态连接以允许语音训练模块为匹配和/或不匹配条件自动搜索和选择最佳的依赖上下文的HMM拓扑;并且允许语音识别器动态确定跨不同HMM的最佳路径。

在一些实施例中,定义或训练右和/或左双音HMM以大大减少在经验上关于(一种或多种)上下文音素依赖性不明显(insignificant)的那些状态的可能观察分布的数目(例如,通过消除那些状态的那些上下文依赖性或者更重度地结合那些状态)。如通过三音集群化决策树的分析所指示的,三音HMM的初始状态主要依赖于之前的音素,而最终状态则主要依赖于后续音素。此外,通过光谱分析,音素的结尾更明显地依赖于后续音素,而音素的开头则依赖于之前的音素。

图2是图示根据一个实施例的在HMM的训练期间所执行的示例性操作的流程图。图2的操作将参考图1的示例性实施例进行描述。然而,应当理解的是,图2的操作可以由与参见图2所讨论的那些实施例所不同的实施例来执行,并且参见图1所讨论的实施例可以执行与参见图2所讨论的那些操作所不同的操作。 在框210,语音识别器训练模块150接收训练HMM(例如,增强型左或右双音HMM、增强型三音HMM、增强型半音HMM、并行系统组合HMM等)的选择。该选择可以从人接收,或者其可以从自动程序接收。例如,虽然出于简要原因而没有在图1中示出,但是训练系统可以包括允许用户对训练进行配置(包括选择要进行训练的HMM)的界面(例如,命令行界面、图形用户界面)。根据一个实施例,HMM在HMM配置规范存储140中进行定义。根据本发明实施例的示例性HMM将参见图3-10进行描述。流程接着进行至框220。

在一个实施例中,选择用于训练的特定HMM(例如,增强型左或右双音、增强型三音等),并且语音识别器训练模块150训练HMM以估计所述HMM的参数并且将经训练的HMM存储在经训练HMM存储145中。在一个实施例中,语音识别器训练模块150包括非统一状态集群模块155,其使用非统一集群阈值对听上去相似的观察分布进行集群化以便减少状态中观察分布的数目,所述集群化在这里有时也被称作结合。

典型的语音识别器使用独立于上下文的HMM(例如,单音HMM)或依赖上下文的HMM(例如,双音(左或右)HMM、半音HMM、三音HMM等)。独立于上下文的HMM在处理每个基本语音单位时并不考虑相邻的语音单位。相反,依赖于上下文的HMM在处理每个基本语音单位时考虑相邻的语音单位。例如,典型的双音HMM考虑单个相邻音素(在左双音HMM中考虑之前的音素,而在右双音HMM中考虑后续的音素)。典型的三音HMM中的每个状态考虑之前和后续的音素。之前对初始状态、主体状态和最终状态的定义对于所有从左至右的HMM单音、双音和三音都是有效的。其它依赖上下文的HMM包括半音,其是两个相连接的子音素上下文单位。半音包括左半音部分和右半音部分。每个半音部分对音素的一部分进行建模,仅具有一种上下文依赖性,并且是正常HMM。左半音部分对音素开头进行建模并且考虑之前的音素,而右半音部分对音素结尾进行建模并且考虑后续的音素。半音能够对音素区域进行均匀或非均匀建模。当半音对音素区域进行非均匀建模时,半音部分之一是支配性的(dominant)并且具有比其它部分更多的状态。例如,在左支配性半音中,左半音部分具有比右半音部分更多的状态。在右支配性半音中,右半音部分具有比左半音部分更多的状态。半音的初始状态是左半音部分中的入口模型状态,并且不连接自除其自身之外的任何其它入口状态。半音的最终状态是右半音部分中的终点模型状态并且不连接到除其自身之外的任何其它状态。半音的(一个或多个)主体状态是半音的(不同于初始状态和最终状态)的其它状态,并且可以包括在左半音部分和/或右半音部分中。

在一个实施例中,非统一状态集群化为非统一数据驱动集群化技术。使用上下的分层过程来执行所述非统一数据驱动集群化技术从而以非统一的方式对每个状态进行集群化。在非统一数据驱动集群化技术的一个实施例中,最初所有可能的状态都被置于单独集群中。使用距离量度反复将最为接近的集群融合在一起。重复该过程直至两个集群之间的距离达到所定义的每个状态的非统一阈值或者直至获得每个状态的非统一集群数目。

具体实施方式

图1是图示根据一个实施例的计算设备110的示例性组件的框图,所述计算设备110被用来为语音识别应用训练数据。根据一个实施例,训练在实验室条件下执行并且不需要由终端用户来执行(然而,可以由终端用户执行训练以使得所述训练与其特定环境相适应)。

在一些实施例中,使用非统一状态的集群化过程,其对不同状态使用不同集群阈值。对于受上下文依赖性影响较小的那些状态而言,作为所执行的非统一状态的集群化过程的结果,集群阈值的值使得更多观察分布被结合(集群化),由此减少了那些状态的观察分布的总数。在其它实施例中,多状态依赖上下文的HMM的受上下文依赖性影响较小的一个或多个状态被定义为独立于上下文,由此将那些状态的可能观察分布的数目减少为单独一个。

如图10所示,并行系统组合HMM1010组合了单音HMM(包括初始状态1020、主体状态1030和最终状态1040)、右双音HMM(包括初始状态1022、主体状态1032和最终状态1042)、左双音HMM(包括初始状态1024、主体状态1034和最终状态1044)以及三音HMM(包括初始状态1026、主体状态1036和最终状态1046)。初始状态1020是独立于上下文的,初始状态1022上下文依赖于后续音素,初始状态1024上下文依赖于之前音素,而初始状态1026则上下文依赖于之前和后续的音素。每个初始状态1020、1022、1024和1026具有到每个主体状态1030、1032、1034和1036的转移。主体状态1030是独立于上下文的,主体状态1032上下文依赖于后续音素,主体状态1034上下文依赖于之前音素,而主体状态1036则上下文依赖于之前和后续的音素。每个主体状态1030、1032、1034和1036具有到每个最终状态1040、1042、1044和1046的转移。最终状态1040是独立于上下文的,最终状态1042上下文依赖于后续音素,最终状态1044上下文依赖于之前音素,而最终状态1046则上下文依赖于之前和后续的音素。