专利名称:使用隐轨迹和隐马尔可夫模型进行语音识别的方法
技术领域:
本发明涉及模式识别。特别的,本发明涉及语音识别。
背景技术:
模式识别系统,例如语音识别系统,获取一输入信号并且尝试将该信号解码以得到一种由该信号代表的模式。例如,在一语音识别系统中,由该识别系统接收一语音信号(通常称作测试信号),并且将其解码以对该语音信号所代表的字串进行识别。
许多语音识别系统都利用隐马尔可夫模型,其中语音单元,又称作声学单元或语言单元,由单层连接状态表示。通过使用训练信号,为每一个语音单元确定状态占用以及状态之间转移的概率分布。为了将一语音信号解码,该信号被分解为若干帧,并且每一帧被转换为一个特征向量。这些特征向量继而与所述状态的分布相比较,以识别可以由帧表示的最可能的HMM状态序列。然后选择对应于该序列的语音单元。
虽然基于HMM的识别系统在许多相对简单的语音识别任务中运行良好,但是它们不直接建模语音的一些重要的动态方面(并且已知对于执行如会话式语音这样的复杂任务时是拙劣的)。结果,它们不能调节在用于训练的语音信号与被解码的语音信号之间的动态清晰度差异。例如,在非正式的谈话环境下,说话者往往发音不太清楚或者不清楚。这意味着用户语音清晰度的轨迹在它被重新指向另一个目标之前可能达不到期望的目标。因为训练信号一般情况下是由语音的“读”格式构成的,在该格式中说话者提供比在不太清晰发音的语音中更充分的发音清晰的语音材料,而所述不太清晰发音的语音与训练后的HMM状态不匹配。结果,识别器为非正式语音提供了很不理想的识别结果。
类似的问题伴随超清晰语音而出现。在超清晰语音中,说话者努力使他们发出的不同声音可以分辨得出。这种额外的努力可以包括改变某些语音单元的声音使得它们从相似的发声语音单元中更易分辨得出;将某些语音单元的声音保持得更久;或者在声音之间更突然地过渡,以便于每一个声音均被察觉与其相邻声音不同。这些机制中的每一个都使得使用HMM系统识别语音变得更加困难,因为每一项技术都会导致语音信号的一组特征向量,该组特征向量通常无法很好地与训练数据中存在的特征向量相匹配。即使对应于超清晰或不太清晰语音的特征向量与训练数据中的特征向量(得到它们可能是非常昂贵的)相匹配,但是由于常规的HMM系统没有考虑到由超清晰度或不太清晰度引起的特征向量轨迹中潜在的变化原因,使得HMM系统的语音易混淆性增加,因此常规的HMM技术仍然表现拙劣。
HMM系统在处理以人们说话的速率发生的变化中也存在麻烦。因此,如果某人说话比训练信号慢或快,HMM系统就会在对语音信号解码时易于产生更多的错误。
对HMM系统提出了一些可供选择的方法。特别是,提出了应当对语音信号的与生成相关的参数的轨迹或者行为直接建模。但是,这些模型没有提供有效的手段来基于所述轨迹进行解码。
据此,需要一种语音识别体系,允许更快的解码,同时考虑到由于说话风格的多种多样而由语音生成机制产生的语音特征轨迹的变化。
发明内容
本发明提供一种语音识别方法,其基于为前面的帧所确定的与生成相关的值来为特定帧中的状态确定与生成相关的值,尤其是声道共振频率。该与生成相关的值用于确定所述状态的概率分布。然后从该概率分布中确定该帧接收的观察值的概率。在一个实施例中,与生成相关的值是用该值的无噪声递归定义来确定的。递归的使用大大改善了现有技术的解码速度。
在本发明的某些方面,使用组合的隐轨迹和隐马尔可夫模型对训练声学数据进行解码,该数据具有已知的标音或者HMM状态序列,从而在训练数据与一组状态之间产生对准(alignment)。该强制对准改善了语音的分割,语言分割继而被用来以迭代方式来训练该组合模型。
在本发明更进一步的方面,基于多个目标(target)中的一个目标来计算与生成相关的值,其中多个目标中的所有目标都被同步训练。
附图1为本发明可以应用于其中的一个计算环境的方块图。
附图2为本发明可以应用于其中的另一个计算环境的方块图。
附图3为一个简单的有限状态图。
附图4为本发明的一个实施例中的解码方法的流程图。
附图5为本发明的一个实施例中的语音识别系统的方块图。
具体实施例方式
附图1示出了本发明可以在其上实现的一种适当的计算系统环境100的范例。计算系统环境100仅是适当计算系统环境中的一个范例,它并不打算对本发明的使用范围或功能提出任何限制。计算环境100也不应被解释为具有与所述示例性操作环境100中所示的任何一个组件或组件组合有关的任何依赖或需求。
本发明可以与许多其他通用或者专用计算系统环境或者配置一起使用。众所周知的适合本发明使用的计算系统、环境和/或配置的范例包括但不局限于个人电脑、服务器、手提或者膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子设备、网络PC、小型计算机、大型计算机、电话系统、包括上述系统或设备的任何一种的分布式计算环境等等。
本发明可以在计算机可执行指令的一般语境中描述,比如由计算机执行的程序模块。一般情况下,程序模块包括例程、程序、对象、组件、数据结构等等,它们执行特殊的任务或者实施特殊的抽象数据类型。本发明也可以应用在分布式计算环境中,其中通过经通信网络连接的远程处理设备来执行各项任务。在分布式计算环境中,程序模块可以位于本地和远程的包括存储设备的计算机存储媒质中。
参考附图1,用于执行本发明的示例性系统包括以计算机110为形式的通用计算设备。计算机110的组件可以包括但不局限于处理单元120,系统存储器130和系统总线121,系统总线121将包括系统存储器在内的各种系统组件耦合到处理单元120。系统总线121可以是几种总线结构类型中的任一种,包括存储器总线或存储控制器、外围总线以及使用多种总线结构中的任一种结构的局域总线。举例来说,但不作限制,这样的结构包括工业标准结构(ISA)总线、微通道结构(MAC)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局域总线以及外围组件互联(PCI)总线(也称为Mezzanine总线)。
计算机110一般包括多种计算机可读媒质。计算机可读媒质可以是可由计算机110进行存取的任何可用的媒质,并且兼含易失性和非易失性的媒质,可移动和不可移动的媒质。例如,但不局限于此,计算机可读媒质可以包含计算机存储媒质和通信媒质。计算机存储媒质包括易失性和非易失性的、可移动和不可移动的媒质,它们可以实施于用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术中。计算机存储媒质包括,但不限于RAM、ROM、EEPROM、闪存或者其他的存储技术,CD-ROM、数字化视频光盘(DVD)或者其他的光盘存储器、盒式磁带、磁带、磁盘存储器或者其他的磁性存储设备,或者可以被用于存储所期望的信息并且可以被计算机110存取的任何其他的媒质。通信媒质一般把计算机可读指令、数据结构、程序模块或者其他数据包括在例如载波或者其他传送机制这样的已调数据信号中,并且包括任何信息传送媒质。术语“已调数据信号”是指这样一种信号,其一个或多个特性以如对该信号中的信息进行解码的方式被设置或改变。例如,但不作限制,通信媒质包括有线媒质,比如有线网络或者直线连接,还包括无线媒质,比如声音、射频、红外以及其他的无线媒质。以上任何媒质的组合也应当包括在计算机可读媒质的范围内。
系统存储器130包括以易失性和/或非易失性存储器为形式的计算机存储媒质,例如只读存储器(ROM)131以及随机存取存储器(RAM)132。基本输入/输出系统133(BIOS)包含例如在启动期间帮助在计算机110内的元件间传送信息的基本例程,基本输入/输出系统133一般被存储在ROM131中。RAM132一般包含可以被处理单元120立即存取和/或当前正操作的数据和/或程序模块。例如,但不作限制,图1示出了操作系统134、应用程序135、其他程序模块136以及程序数据137。
计算机110也可以包括其他的可移动/不可移动的、易失性/非易失性的计算机存储媒质。仅仅为了举例,图1示出了对不可移动的、非易失性的磁性媒质读写的硬盘驱动器141,对可移动的、非易失性的磁盘152读写的磁盘驱动器151以及对可移动的光盘156例如CD ROM或者其他的光学媒质读写的光盘驱动器155。可以被用在示范的工作环境中的其他可移动/不可移动、易失性/非易失性的计算机存储媒质包括,但不局限于盒式磁带、闪存卡、数字化视频光盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器141一般通过不可移动的存储接口比如接口140连接到系统总线121上,而磁盘驱动器151和光盘驱动器155一般通过可移动的存储器接口例如接口150连接到系统总线121上。
上面讨论的并且在图1中图解的这些驱动器以及与它们相关联的计算机存储媒质为计算机110的计算机可读指令、数据结构、程序模块以及其他数据提供存储。在图1中,例如,硬盘驱动器141被图解为存储操作系统144、应用程序145,其他程序模块146以及程序数据147。请注意,这些组件可以是与操作系统134,应用程序135,其他程序模块136以及程序数据137相同的,也可以是不同的。这里为操作系统134,应用程序135,其他程序模块136以及程序数据137给出不同的标号来最小限度地说明它们是不同的副本。
用户可以通过输入设备,例如键盘162、麦克风163以及象鼠标、轨迹球或者触摸板之类的指示设备161来将命令和信息输入到计算机110中。其他的输入设备(未示出)可以包括游戏杆、游戏板、圆盘式卫星天线、扫描仪等等。这些及其他输入设备常常通过一个用户输入接口160连接到处理单元120上,该接口被耦合到系统总线上,但是也可以通过其他接口和总线结构连接,例如并行端口、游戏端口或者通用串行总线(USB)。监视器191或者其他类型的显示设备也通过一个接口,例如视频接口190连接到系统总线121上。除监视器之外,计算机还可以包括其他的外部输出设备,例如扬声器197和打印机196,它们可以通过一个输出外围接口190连接。
计算机110可以操作于一个网络环境中,该环境使用逻辑连接方式连接到一个或多个远程计算机例如远程计算机180。远程计算机180可以是个人电脑、手提设备、服务器、路由器、网络PC、对等设备或者其他的公共网络节点,并且一般包括上述关于计算机110的多数或者全部元件。在附图1中所述的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可以包括其他网络。这样的网络环境在办公室、企业范围计算机网络、企业内部互联网和国际互联网中是常见的。
当用在LAN网络环境中时,计算机110通过网络接口或适配器170连接到局域网170中。当用在广域网网络环境中时,计算机110一般包括调制解调器172或者其他用于在广域网173上建立通信的手段,例如互联网。调制解调器172可以是内部的或外部的,其可以通过用户输入接口160或者其他合适的机制连接到系统总线121上。在网络环境中,相对于计算机110描述的程序模块或其部分可以存储在远程存储设备中。例如,但不作限制,图1示出了驻留在远程计算机180上的远程应用程序185。可以理解,所示的网络连接是示范的,也可以采用其他在计算机之间建立通信链路的装置。
图2是移动设备200的方块图,它是一个示例性的计算环境。移动设备200包括微处理器202、存储器204、输入/输出(I/O)组件206以及用于与远程计算机或者其他移动设备进行通信的通信接口208。在一个实施例中,前述的组件通过适当的总线210耦合以相互通信。
存储器204被实现为非易失性电存储器,例如带有电池后备模块(未示出)的随机存取存储器(RAM),以便存储在存储器204中的信息在向移动设备200供电的普通电源被切断时不会被丢失。最好分配存储器204的一部分作为用于程序执行的可寻址存储器,同时存储器204的另一部分最好用作存储器,例如用于模拟磁盘驱动器上的存储器。
存储器204包括操作系统212、应用程序214以及对象存储器216。在操作期间,来自于存储器204中的操作系统212最好由处理器202执行。在一个优选实施例中,操作系统212为微软公司的在商业上可用的WINDOWSCE操作系统。操作系统212最好设计为用于移动设备,并且实现可以由应用程序214通过一组显露的应用程序编程接口和方法所利用的数据库特征。对象存储器216中的对象由应用程序214以及操作系统212维护,至少部分地响应对所述显露的应用程序编程接口和方法的调用。
通信接口208代表允许移动设备200发送并接收信息的众多设备和技术。这些设备列举几个包括有线和无线调制解调器、卫星接收机以及广播调谐器。移动设备200也可以直接连接到计算机上与之交换数据。在这种情况下,通信接口208可以为红外收发机或者串行或并行的通信连接,它们全都能够发送流化的信息。
输入/输出组件206包括诸如触摸感应屏、按钮、滚轮和麦克风这样的多种输入设备,以及包括音频发生器、振动设备和显示器在内的多种输出设备。上面列出的设备是为了举例并不需要所有都存在于移动设备200中。另外,在本发明范围内的移动设备200中也可以附加或找到其他的输入/输出设备。
本发明提供一种语音的生成模型。在该模型下,语音被表示为说话者尝试根据语音来实现一音位单元序列的语言定义的输出。在尝试期间,说话者产生一与生成相关的值,该值沿着朝向与当前音位单元相关联的目标的轨迹而行。在本发明的实施例中,该轨迹被建模化为一种无噪声的二次离散时间、临界衰减的具有单位增益的低通滤波器。
本发明的模型是一种特殊形式的隐轨迹模型。该隐轨迹模型包括两层一个动态或者轨迹模型部分,其描述了隐藏的与生成相关的参数(比如声道共振频率),以及一个映射模型部分,其将与生成相关的参数转化为像麦尔—频率倒谱系数(Mel-Frequency Cepstrum Coefficient)这样的可观察到的声学特征。所述轨迹模型为所述与生成相关的参数预测了一轨迹值序列(z(1),...,z(t),...,z(T))。给定轨迹值序列,所述映射模型预测了声学观察向量o(t)的序列。
所述轨迹和映射模型可以简明地以两个等式来表示z(1)=gu(1...t)(t)+w(t) 等式1o(t)=hu(t)(z(t))+v(t)等式2其中gu(1...t)(t)为依状态而预期的轨迹(在下文中为了简便称作g(t)),z(t)为隐藏的真实轨迹,u(t)为在帧t中的离散语音状态或语音单元,u(1...t)为从时间1到时间t的离散语音状态或语音单元的序列,而hu(t)为依状态的映射函数,用于将与生成相关的参数映射到特征空间中。实际上,每一个语音单元u都被分解为一些象HMM的从左至右顺序连接的较小的单元(由如一些后来的等式中的s所指示)。
被加数w(t)和v(t)分别指示具有零均值的以及协方差矩阵Q=Cww和R=Cvv的i.i.d.高斯噪声,它们建模实际观察与期望值的偏差。即p(z(t)|gu(t)(t))=N(z(t);gu(t)(t),Q) 等式3p(o(t)|z(t),s(t))=N(o(t);hu(t)(z(t)),R) 等式4在本发明中,在任何时间t的轨迹都使用一递归无噪声函数来计算,该函数定义为g(t)=2γu(t)g(t-1)=γu(t)2g(t-2)+(1-γu(t))2Tu(t)]]>等式5其中Tu(t)为在时间t处语音单元u的轨迹的目标,γu(t)为与语音单元u相关的时间常量,g(t-1)为前一个帧处的轨迹值,以及g(t-2)是前两个帧处的轨迹值。请注意g(t-1)和g(t-2)可以使用γu(t)和Tu(t)的不同值来计算,因为它们可能已针对不同的语音单元u而计算。
请注意,等式5的递归计算不包括噪声项。本发明通过消除噪声项来简化训练和解码。
等式5可以被重写为正则形式G(t)=Φu(t)G(t-1)+Vu(t)等式6其中,
Φu(t)=2γu(t)-γ2u(t)10]]>等式7G(t)=g(t)g(t-1)]]>等式8G(t-1)=g(t-1)g(t-2)]]>等式9Vv(t)=(1-γu(t))2g(t)g(t-1)]]>等式10在本发明的一个实施例中,用于将与生成相关的轨迹映射到声学特征上、取决于状态的映射函数hs(t)是一个泰勒级数形式hs(t)(z(t))=μm,s+Hm,s·(z(t)-zm,s)+余项(z(t)-zm,s)等式11其中m为一个混合下标,zm,s为期望的轨迹值。在一个实施例中,μm,s,最初被设置为等于独立于环境的隐马尔可夫模型(HMM)状态的混合数m的平均值,s为HMM状态。这样,该实施例提供了—种组合的隐轨迹和隐马尔可夫模型。
在本发明的一个方面,无声和噪声听筒的预测向量由假设Hm,s=O来构成。结果,为无声和噪声预测的特征向量不取决于与生成相关的值的轨迹。这与生成模型—致,在该模型中无声和噪声代表—种在语音生成过程中的中断。
使用该映射函数并合并剩余项和噪声项,等式2和4变为o(t)=μm,s+Hm,s·(z(t)-zm,s)+v’(t)等式12p(D(t)Iz(t),s,m)=N(o(t);μm,s+Hm,s(z(t)-zm,s),Rm,s)等式13模型参数Tu(t)、γu(t)、Hm,s`μm,s`zm,sQ、Rm,s使用一个预期最大化训练算法来进行训练,其中μm,s被任意选择以与HMM平均值估计相一致。该算法包括一个E步骤,在该步骤中,一组训练观察向量与模型参数的初始估计一同使用,以导出足够的统计量来对包括混合权重、轨迹和轨迹平方在内的某些隐变量的伯二进行预测。
为了执行E步骤的第一次迭代,必须提供模型参数的初始估计。在一个实施例中,使用克拉特(Klatt)语音合成器以及某些频谱分析结果的组合知识来选择Tu(t)和γu(t)的初始估计。另外,在本发明的一个实施例中,首先将用于训练模型的该组训练数据应用于现有的隐马尔可夫模型以识别该隐马尔可夫模型的状态与训练数据的帧之间的对准。
通过使用目标Tu(t)、时间常量γu(t),以及由月HMM模型设置的对准边界,利用上述等式5来估算一组轨迹g(t)。前面训练的HMM中的HMM状态的平均值被用作μm,s的初始估计。
假设在确定每一个轨迹时的噪声w(t)为零,并且随机地为混合数指定观察向量,估算每个状态的每个混合数的Hm,s和zm,s,以使观察特征向量o(t)和估算的特征向量之间的均方误差之和最小,这里该误差这样计算v(t)=o(t)-(μm,s+Hm,s·(g(t)-zm,s)) 等式14一旦已为每个混合数和每个状态确定了Hm,s和zm,s,就可以为每个状态中的每个混合数估算协方差矩阵Rm,sRm,s=E{VVtrans}]]>=1TΣtv(t)·v(t)trans]]>=1TΣt(o(t)-(μ‾m,s+Hm,s(g(t)-z‾m,s))·(o(t)-(μ‾m,s+Hm,s(g(t)-z‾m,s))trans]]>等式15通过首先在确定轨迹g(t)时估计噪声w(t)来确定Q的估计,以便使观察噪声v(t)最小,这导致W(t)=(Hm,steansHm,s)-1Hm,strans·(o(t)-(μ‾m,s+Hm,s(g(t)-z‾m,s))]]>等式16Q继而被初始化为Q=E{WWtrans}]]>=1TΣtw(t)·w(t)trans]]>等式17在一个实施例中,假定Rm,s和Q为对角矩阵,所以仅计算矩阵的对角线。
在初始化之后,E步骤包含以下计算ωm,s(t)=P(m|o(t))=p(o(t)|m)P(m)Σm′=1Mp(o(t)|m′)P(m′)]]>等式18p(o(t)m)=N(o(t);μm,s)+Hm,s(g(t)-zm,s),Sm,s等式19E[zt]=[Hm,sTRANSRm,s-1Hm,s+Q-1]-1[Hm,sTRANSRm,s-1(o(t)-μ‾m,s+Hm,sz‾m,s)+Q-1g(t)]]]>等式20E[ztzttrans]=[Hm,sTRANSRm,s-1Hm,s+Q-1]-1+E[zt]E[zt]TRANS]]>等式21其中Sm,s=Hm,sQHm,sTRANS+Rm,s]]>等式22ωm,s为状态S和混合值m的混合加权,o(t)为时间t处观察到的训练向量,g(t)为时间t处期望的轨迹值,
zt为时间t处的真实轨迹值,m为一混合分量,M为与状态s相关联的混合分量的数量,每一个混合分量的概率P(m)都相同且等于1/M,“trans”代表矩阵的转置,以及E[x]代表x的期望值,上述计算完成了EM算法中的E步骤。
然后使用初始模型参数和由E步骤得出的结果在M步骤中对模型参数进行重新估计。具体地,模型参数如下计算H^m,s={Σt=1T[ωm,s(t)·(v^(t)·E{zi}Trans)]}·{Σt=1T[ωm,s(t)·E{zt·ztTrans}]}-1]]>等式23μ‾^m,s=Σt=1Tωm,s(t)·o(t)Σt=1Tωm,s(t)]]>等式24z‾^m,s=Σt=1Tωm,s(t)·E{zt}Σt=1Tωm,s(t)]]>等式25R^m,s=Σt=1T[ωm,.s(t)1TΣt(o(t)-μ‾m,s+Hm,s(g(t)-z‾m,s))·(o(t)-μ‾m,s+Hm,s)(g(t)-z‾m,s)transΣt=1Tωm,s(t)]]>等式26Q^=Σt=1T(E{zt}-g(t))(E{zt}-g(t))transT]]>等式27 使用一梯度下降算法来确定,其中 被逐渐的更新,直到它变为比迭代之间的阈值量小为止。具体地, 使用下式更新 等式28本发明的一个方面为用于可能的语音单元u的目标Tu(t)被同步地训练而不是分别的训练。这样做是因为改变一个语音单元的目标会改变下一个语音单元的g(t)值。训练使用如下矩阵等式执行T^=[Σt=1TΣm=1Mωm,s(t)·E{zt}·(b^(t))u(t)]·[Σt=1TΣm=1Mωm,s(t)·b^(t)·(b^(t))u(t)]-1]]>等式29其中
T^=(T^1,T^2,...)]]>等式30b^(t)=2γu(t)b^(t-1)-γu(t)2b^(t-2)+(1-γu(t))2eu(t)]]>等式31eu(t)=(0,0,...,1,...,0,0)Trans,其中1在位置u处等式32 为矩阵 的单个元素,该元素与语音单元u(t)相关联。
E步骤和M步骤可以迭代多次以达到模型参数的最终集合。在一个实施例中,在E步骤和M步骤的每一次迭代之后,使用当前形式的隐马尔可夫模型对训练向量o(t)的序列进行解码。该解码提供了新的状态边界集合,所述新的状态边界集合可以用在EM算法的下一次迭代中。一旦参数的最终集合被确定,它们就可以被用于对一组观察到的声学向量进行解码。
训练完成之后的解码任务涉及查找最有可能生成声学观察序列的字序列。训练期间的解码的任务涉及为给定的字序列的声学观察序列查找最有可能的时间对准。在本发明的一个实施例中,使用有限态变换器来执行解码,该变换器由连接状态的网络构成。该网络中的每一个状态均代表一种HMM状态,并且状态之间的连接是基于一本辞典,在该辞典中,为每一个字均定义了一状态序列。这样,经过状态网络的每条路径都代表辞典中的一个字。该网络本身是闭环的,这样,在辞典中每个字的结束状态都连接到每个字的开始状态。
图3中示出了一个简单的状态网络范例。图3的状态网络代表四个字“slow”、“sit”、“cat”以及“can”。虽然没有示出,每一个结束状态300、302和304都连接到每一个开始状态306和308。请注意每一个状态均包括自转移,比如转移310。
解码涉及通过给定输入特征向量的网络查找最高概率的路径。对于每一个输入特征向量而言,基于达到并且包括该状态的完全路径的概率来选择达到每个可用状态的最有可能的转移。在所有特征向量都被处理后,选择以最高概率在一个字的结尾处结束的路径作为已解码的字序列。
在一个实施例中,路径的概率取决于多个独立的概率,包括语言模型概率,其提供了在沿着该路径的语言模型状态h之间进行转移的概率;HMM转移概率,该概率指示在沿着该路径的状态s之间进行转移的似然性;以及状态概率,其取决于时间帧t处在状态s处的当前轨迹值G。
图4提供了本发明解码方法的流程图。在步骤400,解码系统被初始化。这包括为开始状态s=0、h=0以及G(0,-1)=target_relaxed创建一个单一活动路径,G(0,-1)是时间点t=0处的target_relaxed,其中“target_relaxed”代表一个与放松状态下的发音者相关的轨迹值。
在步骤402,从输入信号选择一个输入值。如下面进一步讨论的那样,这包括将输入信号分解为若干帧,将每一帧转变为一个特征向量,比如麦尔频率倒谱系数,以及在每一个时间点t处选择一个特征向量来进行解码。
在步骤404,使用所选择的特征向量来计算一组状态概率。特别是,为HMM状态s、语言模型状态h以及在时间t处活动的轨迹类c(G)的每一个组合计算一个单独的状态概率。在本发明的一个实施例中,连续轨迹值G被指定给224个可能的类别之一。这样做使得解码变得可行。如果没有使用类,则必须为所有可能的G值计算单独的状态分数。请注意轨迹的类仅用于限制搜索空间,而并不用于本身的概率计算。对于概率计算而言,直接使用连续的G值。
活动的[s,h,c(G)]集合的状态概率计算如下p(o(t)|g(t),s)=logΣm=1Mωm,sN(o(t);μ‾m,s+Hm,s(g(t)-z‾m,s),Rm,s)]]>等式33它与上面的等式13是相似的,除了用估算后的轨迹g(t)代替实际轨迹z(t)以外,并且概率在所有可能的混合分量上相加。这样,通过为每个混合分量的正态分布应用观察特征向量o(t)来确定概率,其中每个正态分布具有一个实质上为HMM平均值的平均值,μm,s,它已经基于时间t时状态s中当前的轨迹值g(t)而被动态地调整。请注意,概率的对数值用于避免数值下溢。
每一个状态概率与通向该状态的路径的路径概率相结合,以构成每个集合[s,h,c(G)]的全概率。所有活动集合中间的最高全概率在步骤406中被确定。
在步骤408,该方法确定是否有更多的输入信号帧要处理。如果有,则在步骤410继续处理,其中那些不在最高全概率的阈值内的集合被删除。
对于在步骤410没有被删除的每一个集合[s,h,c(G)]而言,在步骤412识别一个后继集合[s’,h’,c’(G)]。所述辞典用于从已有状态s和语言模型状态h中识别每一个可能的后继状态s’以及每一个可能的语言模型状态h’。通过首先利用与当前集合[s,h,c(G(t))]相关的后继状态s’及轨迹连续值G(t)来确定后继状态中的轨迹值G(t+1),从而确定轨迹的后继类。特别的,轨迹值G(t+1)计算如下G(t+1)=Φu(t+1)G(t)+Vu(t+1)等式34其中,在矩阵Φu(t+1)和Vu(t+1)中的参数基于语音单元被选择,使后继状态s’是集合[s,h,c(G(t)]的一部分,而G(t+1)是集合[s,h,c(G(t))]的轨迹G的当前连续值。
然后确定连续值G(t+1)的类以确定轨迹的后继类c’(G),并且由此定义后继集合[s’,h’,c’(G)]。
从当前集合到后继集合转移的对数概率于是被加到在集合[s,h,c(G)]结束的最佳路径的对数概率,以产生进入后继集合[s’,h’,c’(G)]的路径的概率。对于字的转移范围内,集合转移概率仅仅基于从状态s转移到状态s’的HMM转移概率。但是,当转移是在字之间时,转移概率是由HMM提供的在状态s和s’之间转移的对数概率与由一个语言模型提供的从状态h转移到h’的转移的对数概率之和,所述语言模型描述了特殊字序列的似然性。
如果前面已产生该后继的状态,则将进入后继集合的当前路径的概率与进入该集合的已有路径的概率进行比较。如果当前路径的概率比已有路径的概率要大,则用当前路径替代已有路径。但是,如果进入后继集合[s’,h’,c’(G)]的已有路径的概率比当前路径要大,则保留已有路径并删除当前路径。这样,在步骤412,仅保留进入每个可能的后继集合的最高概率路径。
在步骤412之后,已为下一个输入帧识别了一组后继集合,并且每一个后继集合仅有一条进入其中的路径。另外,每一个后继集合包括一个后溯数据结构,它能恢复由进入后继状态的路径所表示的字序列或者状态序列。当在训练完成之后解码时,该数据结构包括沿着该路径识别的最后一个字、为最后一个字前的一个字所构造的指向前面数据结构的指针、以及任选地,包括最后一个字所结束的时间点。这样,存在一个数据结构链,沿该路径每一个字有一个数据结构,该数据结构链可以使用数据结构中的指针进行后溯以恢复该路径上的字序列,并且根据需要,可以恢复有关输入帧的字序列的分段。当在训练期间解码时,该数据结构包括状态而不是字的标识。
当在步骤408中没有更多的帧要处理时,在步骤414中,系统选择在字的末尾结束的最高概率的路径来表示输入信号。然后后溯该路径的向后指针数据结构以查找由该路径表示的字序列或状态序列。该字或状态序列然后被用作经解码的输出。
图5提供了本发明可以应用于其中的语音识别系统的方块图。在图5中,说话者500,或者是训练者或者是用户,向麦克风504说话。麦克风504还从一个或多个噪声源502接收到加性噪声。由麦克风504检测到的音频信号被转化成电信号,电信号被提供给模数转换器506。
模数转换器506将来自于麦克风504的模拟信号转化为一系列数字值。在一些实施例中,模数转换器506以16kHz和每样本16比特对模拟信号进行采样,由此每秒产生32千字节的语音数据。这些数字值被提供给帧构造器507,在一个实施例中该帧构造器507将这些值分组成多个25毫秒帧,每隔10毫秒开始。
由帧构造器507产生的数据帧被提供给特征提取器508,后者从每一帧中提取特征。特征提取器模块的范例包括用于执行线性预测编码(LPC)、LPC导出倒谱、知觉线性预测(PLP)、听觉模型特征提取以及麦尔频率倒谱系数(MFCC)的模块。请注意,本发明并不限于这些特征提取模快,其他的模块也可以被用在本发明的范围内。
如果输入信号为一个训练信号,这个特征向量序列就被提供给训练器524,后者使用这些特征向量和训练文本526来训练本发明的生成模型526。例如,上面描述的EM训练算法可以用于训练该生成模块。
如上所提到的,EM训练算法可以是迭代的。在这种情况下,在EM算法的每一次迭代之后,训练特征向量被提供给解码器512,用于识别在生成模型中的训练信号帧和状态之间的对准边界。这些对准边界继而被提供给训练器524用于训练的下一次迭代。在这样的训练解码期间,状态网络被限定于在训练文本526中定义的状态序列。这样,在训练解码期间不使用辞典514。
解码器512基于所述特征向量、辞典514或训练文本526、语言模型516以及生成模型528的流来识别最可能的字序列。在一个实施例中,辞典514定义了有限的状态网络,该网络被解码器512遍历来从特征向量序列中识别出一个字。
最有可能的假设字的序列被提供给置信度度量模块520。置信度度量模块520部分地基于次级声学模型(未示出),来识别哪些字最可能被语音识别器不正确地识别。与识别器指出哪些字可能被不正确地识别一起,置信度度量模块520把这些假设字的序列给输出模块522。本领域的普通技术人员将会认识到,置信度度量模块520在本发明的实施中并不是必要的。
虽然已参考特定实施例对本发明进行了说明,本领域的技术人员将会认识到在不脱离本发明的精神和范围的情况下可以在形式及细节上对其做出各种修改。
权利要求
1.一种语音识别方法,该方法包括使用递归定义,基于为至少一个前面帧确定的与生成相关的值,确定输入信号帧和解码状态的与生成相关的值;使用所述状态的与生成相关的值来确定该状态的概率分布;以及基于该状态的概率分布确定与所述帧相关的观察值的概率。
2.如权利要求1所述的方法,其中确定状态的概率分布的步骤包括使用与生成相关的值来确定该分布的平均值。
3.如权利要求2所述的方法,其中确定所述分布的平均值的步骤还包括使用为所述状态训练的值来确定该平均值。
4.如权利要求3所述的方法,其中为所述状态训练的值最初被设置为等于与隐马尔可夫模型的状态相关联的平均值。
5.如权利要求3所述的方法,其中为所述状态训练的值包括与生成相关的值的期望值,其中确定所述平均值的步骤包括确定所述期望值与所述与生成相关的值之间的差值。
6.如权利要求5所述的方法,其中确定所述平均值的步骤还包括将所述差值乘上与所述状态相关联的值以产生一个乘积。
7.如权利要求6所述的方法,其中确定所述平均值的步骤还包括将所述乘积加上与所述状态相关联的附加值。
8.如权利要求1所述的方法,其中确定与生成相关的值的步骤包括基于两个前面确定的与生成相关的值来确定所述与生成相关的值。
9.如权利要求8所述的方法,其中确定与生成相关的值的步骤还包括基于一个目标确定所述与生成相关的值。
10.如权利要求9所述的方法,其中所述目标与语音单元相关联,它由所述状态部分构成。
11.如权利要求10所述的方法,其中所述目标为多个目标之一,每个目标均与单独的语音单元关联。
12.如权利要求11所述的方法,其中所述多个目标被训练成使所有的目标均被同时更新。
13.如权利要求1所述的方法,还包括使用所述概率来确定由观察值序列代表的字序列。
14.如权利要求1所述的方法,还包括使用所述概率来识别训练脚本中的音素序列的时间边界。
15.如权利要求1所述的方法,其中确定与生成相关的值的步骤包括在所述确定中不包括噪声项。
16.一种具有用于执行以下步骤的计算机可执行指令的计算机可读媒质,所述步骤包括为时间上的第一个点确定第一与生成相关的值;使用所述第一与生成相关的值为时间上的第二个点确定第二与生成相关的值;使用所述第一和第二与生成相关的值为时间上的第三个点确定第三与生成相关的值,而不使用噪声项。
17.如权利要求16所述的计算机可读媒质,其中确定第三与生成相关的值的步骤还包括使用一个目标。
18.如权利要求17所述的计算机可读媒质,其中所述目标为多个目标之一,每个目标均与一个不同的音位单元相关联。
19.如权利要求18所述的计算机可读媒质,其中所述多个目标被同步的训练。
20.如权利要求16所述的计算机可读媒质,其中所述步骤还包括使用所述第三与生成相关的值来确定解码状态的概率分布。
21.如权利要求20所述的计算机可读媒质,其中所述步骤还包括将一个观察值应用于所述状态的概率分布以确定状态给定时观察值的概率。
22.如权利要求21所述的计算机可读媒质,其中所述状态包括隐马尔可夫模型状态。
23.如权利要求21所述的计算机可读媒质,其中所述步骤还包括对观察值序列进行解码以确定所述观察值与状态集合之间的对准边界。
24.如权利要求23所述的计算机可读媒质,其中所述步骤还包括使用所述对准边界来训练一组模型参数。
25.如权利要求24所述的计算机可读媒质,其中所述模型参数中的至少一个用于定义状态的概率分布。
26.如权利要求23所述的计算机可读媒质,其中所述解码步骤包括识别通过集合网络的路径,每一个集合包括状态和与生成相关的值的类。
27.如权利要求26所述的计算机可读媒质,其中所述的每一个集合还包括语言模型状态。
28.一种训练语音识别模型的方法,该方法包括为一组训练数据帧的每一个帧确定隐轨迹参数值;使用所述隐轨迹参数值设置所述隐轨迹参数中多个目标中的所有目标。
29.如权利要求28所述的方法,其中所述每一个目标都与一个不同的语音单元相关联。
30.如权利要求28所述的方法,其中每一个隐轨迹参数都取决于前一个帧中的隐轨迹参数值。
31.如权利要求30所述的方法,其中每一个隐轨迹参数值还取决于与所述帧相关联的前面确定的目标。
32.如权利要求31所述的方法,其中预所述前面确定的目标与语音单元相关联,所述语音单元与所述帧对准。
33.如权利要求32所述的方法,其中通过对训练数据帧进行解码而使所述语音单元与所述帧对齐。
34.如权利要求33所述的方法,还包括利用所述目标对训练数据帧进行解码。
全文摘要
提供一种语音识别方法,其使用递归,基于与前两个帧相关联的与生成相关的值,为特定帧中的状态确定与生成相关的值,尤其是声道共振频率。与生成相关的值用于为所述状态确定观察到的特征向量的概率分布。然后从该概率分布中确定该帧所接收的观察值的概率。在一个实施例中,所述与生成相关的值使用该值的无噪声递归定义来确定。递归的使用大大改善了解码速度。当将解码算法应用于具有已知标音的训练数据时,产生强制对准,这改善了从现有技术中获得的语音分割。
文档编号G10L15/14GK1521729SQ20041000591
公开日2004年8月18日 申请日期2004年1月21日 优先权日2003年1月21日
发明者L·邓, J·L·周, F·T·B·西德, B 西德, L 邓, 周 申请人:微软公司