专利名称:使用切换状态空间模型的多模变分推导的语音识别方法
技术领域:
本发明涉及模式识别,尤其涉及语音识别。
背景技术:
模式识别系统,例如语音识别系统,接受输入信号并试图对该信号进行解码以找到该信号所表征的模式。例如,在语音识别系统中,语音信号(通常被称为测试信号)由识别系统接收并解码以标识该语音信号表征的单词串。
许多语音识别系统使用隐含马尔可夫模型,其中语音单元,也被称为声学单元或语音单元,由单层连接状态所表征。使用训练信号,对每个语音单元确定占据状态以及状态间转移的概率分布。为了解码语音信号,该信号被划分成帧,而每个帧被变换成特征矢量。特征矢量然后被用来和状态的分布进行比较,以标识可以由该帧表征的最可能的HMM状态序列。然后选择对应这个序列的语音单元。
虽然基于HMM的识别系统在许多相对简单的语音识别任务中表现良好,但是它们没有直接为语音的某些重要动态方面建模(并且众所周知,对诸如对话语音这样的较难任务表现不好)。结果是,它们不能适应用来训练的语音信号和被解码的语音信号之间的动态清晰度差异。
HMM系统的替代已经被提出。具体地说,已经建议语音信号的统计定义轨迹或生成相关参数的行为应该被直接建模。由于生成相关值不能被直接测量,这些模型被称为隐含动态模型(HDM)。隐含动态模型是被称为切换状态空间模型的一类模型的一个例子,切换状态空间模型提供两种类型的隐含状态。两种隐含状态形成两个一阶马尔可夫链,其中,连续链在离散链上调节。
切换状态空间模型的一个问题是难以训练它们,因为诸如期望值最大化算法这样的普通训练算法对切换状态空间模型变得难以处理。具体地说,随着语音信号每个帧的增加,这个计算量以指数级上升。
所以,需要一种使切换状态空间模型的参数可以被有效训练的训练系统。
发明内容
一种为切换状态空间模型设置后验概率参数的方法以定义包含帧序列中至少两个但少于帧序列中所有帧的窗开始。为窗中每个帧确定单独的后验概率参数。然后该窗被移位,使得它包括帧序列中一个或多个后续帧。然后为移位后的窗中的每个帧确定单独的后验概率参数。
在本发明的另一个方面,切换状态空间模型的模型参数被存储,而语音信号被转化为一组观测矢量,其中每个矢量和语音信号的单独帧相关联。对语音信号的每个帧,该帧中离散隐含状态的每个路径的路径分数被确定。该路径分数然后用于选择该帧中每一离散隐含状态中的单个路径。
图1是可以在其中实现本发明的一个计算环境的框图。
图2是可以在其中实现本发明的另一个计算环境的框图。
图3是在本发明的实施例中使用重叠窗设置后验概率参数的方法的流程图。
图4是示出在本发明的实施例中的重叠窗的示意图。
图5是在本发明的一个实施例中的语音识别系统的框图。
具体实施例方式
图1示出可以在其中实现本发明的合适的计算系统环境100的例子。计算系统环境100只是合适的计算环境的一个例子,但不意味着是本发明的使用范围或功能的任何局限。计算环境100也不应该被解释为对示例性操作环境100中所示的任何一个组件或组件的组合有任何依赖或要求。
本发明在许多其它通用或专用计算系统环境或配置上可以运作。适合使用本发明的众所周知的计算系统、环境和/或配置的例子包括但不限于,个人计算机、服务器计算机、手持或膝上设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子设备、网络PC、小型机、大型计算机、电话系统、包括任何上述系统或设备的分布式计算环境等等。
本发明可以在例如由计算机执行的程序模块等计算机可执行的指令的通用上下文中被描述。一般而言,程序模块包括完成特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。本发明被设计成在由通过通信网络连接的远程处理设备完成任务的分布式计算环境中实现。在分布式计算环境中,程序模块可以处在本地和远程计算机存储媒质两者中,包括内存存储器设备。
参考图1,实现本发明的示例性系统包括计算机110形式的通用计算设备。计算机110的组件可以包括但不限于,处理单元120、系统存储器130和把包括系统存储器在内的各种系统组件耦合到处理单元120的系统总线121。系统总线121可以是若干类型总线结构中的任一种,包括存储器总线或存储器控制器、外围总线和使用任何一种总线体系结构的局部总线。作为例子但不是限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和外设部件互连(PCI)总线即Mezzanine总线。
计算机110通常包括各种计算机可读媒质。计算机可读媒质可以是可以由计算机110访问的任何可用媒质,包括易失和非易失媒质、可移动和不可移动媒质。作为例子但不是限制,计算机可读媒质可以包括计算机存储媒质和通信媒质。计算机存储媒质包括以任何方法或技术实现来存储诸如计算机可读指令、数据结构、程序模块或其它数据这样的信息的易失和非易失、可移动和不可移动媒质。计算机存储媒质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储器、磁盒、磁带、磁盘存储器或其它磁存储设备、或其它任何可以用来存储所需信息并可以由计算机110访问的媒质。通信媒质通常在诸如载波或其它传输机制这样的已调制数据信号中包含计算机可读指令、数据结构、程序模块或其它数据,并包括任何信息传递媒质。术语“已调制数据信号”是指其一个或多个特征以在信号中编码信息的方式被设置或改变的信号。作为例子但不是限制,通信媒质包括诸如有线网络或直接有线连接这样的有线媒质,和诸如声学、射频、红外或其它无线媒质这样的无线媒质。上面任何媒质的组合也应该被包括在计算机可读媒质的范围内。
系统存储器130包括易失和/或非易失存储器形式的计算机存储媒质,例如只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输出系统133(BIOS),包含有例如在启动时帮助在个人计算机110中的元件之间传输信息的基本例程,被存储在ROM 131中。RAM 132通常包含处理单元120立刻可以访问和/或正在操作的数据和/或程序模块。作为例子但不是限制,图1示出操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机110也可以包括其它可移动/不可移动、易失/非易失计算机存储媒质。只是作为例子,图1示出对不可移动、非易失磁媒质进行读写的硬盘驱动器141、对可移动、非易失磁盘152进行读写的磁盘驱动器151和对诸如CD-ROM或其它光媒质这样的可移动、非易失光盘156进行读写的光盘驱动器155。可以被用在示例性操作环境的其它计算机存储媒质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字视频带、固态RAM、固态ROM等等。硬盘驱动器141通常通过接口140这样的不可移动存储接口被连接到系统总线121,而磁盘驱动151和光盘驱动155通常通过接口150这样的可移动存储接口被连接到系统总线121。
如上所述如图1所示的驱动和它们的关联计算机存储媒质,为计算机110提供计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图1中,示出硬盘驱动器141存储操作系统144、应用程序145、其它程序模块146和程序数据147。注意,这些组件可以和操作系统134、应用程序135、其它程序模块136和程序数据137相同或不同。操作系统144、应用程序145、其它程序模块146和程序数据147在这里被给以不同标号来说明它们至少是不同的拷贝。
用户可以通过诸如键盘162、麦克风163和定点设备161(例如是指鼠标、跟踪球或触摸板)这样的输入设备向计算机110输入命令和信息。其它输入设备(未示出)可以包括操纵杆、游戏垫、圆盘式卫星天线和扫描仪等。这些和其它输入设备通常通过被耦合到系统总线的用户输入接口160被连接到处理单元120,但也可以通过其它接口和总线结构被连接,例如并行端口、游戏端口或通用串行总线(USB)。显示器191或其它类型的显示设备也通过视频接口190这样的接口被连接到系统总线121。除了显示器之外,计算机也可以包括其它外围输出设备,例如扬声器197和打印机196,它们可以通过输出外围接口195被连接。
计算机110可以在使用逻辑连接到一个或多个远程计算机,例如远程计算机180的连网环境中操作。远程计算机180可以是个人计算机、手持设备、服务器、路由器、网络PC、对等设备或其它普通的网络节点,并通常包括上面相对计算机110描述的许多或全部元件。图1中描述的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可以包括其它网络。这些联网环境在办公室、企业范围计算机网络、内联和因特网中很常见。
当在LAN联网环境中使用时,计算机110通过网络接口或适配器170被连接到LAN 171。当在WAN联网环境中使用时,计算机110通常包括调制解调器172或通过诸如因特网这样的WAN 173建立通信的其它装置。调制解调器172,可以是内置的或外置的,可以通过用户输入接口160或其它合适机制被连接到系统总线121。在联网环境中,相对计算机110描述的程序模块或其中一部分可以被存储在远程存储器存储设备中。作为例子但不是限制,图1示出远程应用程序185驻留在存储设备181中。可以理解,所示网络连接是示例性的,而在计算机之间建立通信链路的其它装置也可以被使用。
图2是移动设备200的框图,它是一个示例性计算环境。移动设备200包括微处理器202、存储器204、输入/输出(I/O)组件206以及与远程计算机或其它移动设备通信的通信接口208。在一个实施例中,上述组件被耦合,以通过合适的总线210相互通信。
存储器204被实现为诸如随机存取存储器(RAM)等具有电池备份模块(未示出)的非易失电子存储器,使得存储在存储器204的信息在移动设备200的总电源关闭时不会丢失储器204的一部分较佳地被分配为可寻址存储器用于程序执行,存储器204的另外一部分较佳地被用作存储,比如模拟盘驱动器上的存储。
存储器204包括操作系统212、应用程序214和对象存储216。在操作中,较佳地由处理器202从内存204中执行操作系统212。在一个较佳实施例中,操作系统212为可从微软公司购买的WindowsCE商标操作系统。操作系统212较佳地被设计成用于移动设备,并实现可由应用程序214通过一组所展现的应用编程接口和方法来使用的数据库特征。对象存储216中的对象至少部分地响应于对所展现的应用编程接口和方法的调用,由应用程序214和操作系统212维护。
通信接口208表示允许移动设备200发送和接收信息的众多设备和技术。仅举几个例子,这些设备包括有线和无线调制解调器、卫星接收器和广播调谐器。移动设备200也可以被直接连接到计算机以与其交换数据。在这种情况下,通信接口208可以是红外收发器或串行或并行通信连接,它们每个都可以传输流信息。
输入/输出组件206包括各种输入设备,例如触敏屏幕、按钮、滚轴和麦克风,也包括各种输出设备,例如音频发生器、振动装置和显示器。上面列出的设备都作为例子,而不需要在移动设备200中都出现。另外,在本发明范围内,其它输入/输出设备也可以在移动设备200上附加或出现。
本发明提供语音的生成模型。在这个模型下,语音被表示为说话人在语音学上实现语音单元序列的语言定义的尝试的输出。在这个尝试期间,说话人产生遵循向着和当前语音单元相关联的目标统计定义的轨迹(使用具有递归噪声的状态-空间公式表示)的生成相关值。在本发明的实施例下,这个轨迹被模型化为切换状态-空间模型。
本发明的模型是隐含轨迹模型的具体形式,其中该轨迹以在每个帧上增加的噪声来递归定义。这个切换状态-空间模型有两种类型的隐含变量(也被称为状态)离散的和连续的。状态被认为是隐含的,因为它们不能被直接测量。每种类型的隐含状态形成一马尔可夫链,其中,连续的隐含状态链在离散的隐含状态链上调节。
这两种不同类型的隐含状态产生包括两层的模型描述隐含连续的生成相关参数(例如声道共振频率)的动态或轨迹模型分量,和把生成相关参数转化为诸如梅尔频率倒谱系数这样的可观测声学特征的映射模型分量。状态-空间模型中的状态方程预测生成相关参数的连续状态值序列(x1,...,xn,...,xN)。映射模型或观测方程预测给定连续隐含状态值时的声学观测矢量序列yn。
递归定义的轨迹和映射模型可以简洁地用两个等式表示xn=Asxn-1+as+w 等式1yn=Csxn+cs+v等式2其中n是帧数下标,s是隐含离散状态,它表示语音单元,x是隐含生成相关状态,y是声学特征矢量,As和Cs是语音单元相关系统矩阵,as是语音单元相关控制输入(它可以等价地表示为语音单元相关目标),cs是语音单元相关常数,而w和v是高斯噪声项。
在一个实施例下,等式1和2的模型按照概率分布来表示p(sn=s|sn-1=s′)=πss′等式3p(xn|sn=s,xn-1)=N(xn|Asxn-1+as,Bs) 等式4p(yn|sn=s,xn)=N(yn|Csxn+cs,Ds) 等式5其初始条件为p(s0=s)=πs0]]>p(x0|s0=s)=N(x0|as0,Bs0)]]>其中Bs、Bs0和Ds是精度矩阵(协方差矩阵的逆),它们都基于和噪声项w和v相关联的方差。
一般而言,训练等式3-5的模型参数需要一个迭代的两步骤过程。第一个步骤被称为推导,在这期间,后验概率p(s1:N,x1:N|y1:N)在给定一组初始模型参数时被算出。在第二个步骤期间,被称为学习或参数估算,模型参数被更新。这些步骤被重复,直到模型参数收敛或达到某个最大迭代次数。在进行广义的期望值最大化训练时,E-步骤是推导步骤而M-步骤是学习步骤。
等式3-5的模型的推导步骤不能直接完成,因为后验计算是难以处理的。本发明的一个实施例通过使用HMM后验来逼近后验分布,从而克服这个问题。具体地,后验p(s1:N,x1:N|y1:N)使用如下定义的HMM后验来逼近q(s1:N,x1:N|y1:N)=Πn=1Nq(xn|sn,y1:N)·q(sn|sn-1,y1:N)·q(x0|s0,y1:N)q(s0|y1:N)]]>等式6通过最小化逼近和实际后验分布之间的偏差,发明人已经发现概率q(xn|sn,y1:N)遵循高斯分布q(xn|sn,y1:N)=N(xn|ρs,nГs,n)等式7其中均值ρs,n和精度Гs,n是由下式给出Γs,n=CsTDsCs+Bs+Σs′ηs′s,n+1As′TBs′As′]]>等式8Γs,nρs,n=Bs(AsΣs′η‾s′s,n-1ρs′,n-1+as)]]>+Σs′ηs′s,n+1As′TBs′(ρs′,n+1-as′)]]>公式9+CsTDs(yn-cs)]]>其中ηs′s,n-1是给定时间n的状态s时,从时间n-1的状态s′转移到时间n的状态s的后验转移概率ηs′s,n-1=q(sn-1=s′|sn=s,y1:N),而ηs′s,n+1是从时间n的状态s转移到时间n+1的状态s′的后验转移概率ηs′s,n+1=q(sn-1=s′|sn=s,y1:N)。
后验转移概率用为n=N,...,1描述的后向传递来递归计算zs,n=Σs′exp(fss′,n)zs′,n+1]]>等式10ηss′,n=1zs,nexp(fss′,n)zs′,n+1]]>等式11对n=0z0=Σsexp(fs,0)zs,1]]>等式12其中fs′s,n=12{log|Ds2π|-<CsTDsCs,Γs,n-1+ρs,nρs,nT>-2(cs-yn)TDsCsρs,n-(cs-yn)TDs(cs-yn)]]>-log|Γs,n2π|+<Γs,n,Γs,n-1+ρs,nρs,nT>-ρs,nTΓs,nρs,n+log|Bs2π|]]>-<AsTBsAs,Γs′,n-1+ρs′,n-1ρs′,n-1T>-2(as-ρs,n)TBsAsρs′,n-1-<Bs,Γs,n-1+ρs,nρs,nT>]]>+2asTBsρs,n-asTBsas+2logπs′s}]]>
等式13fs,0=12{log|Ds2π|-<CsTDsCs,(Bs0)-1+as0(as0)T>]]>-log|(Bs0)-12π|+<Bs0,(Bs0)-1+as0(as0)T>-(as0)TBs0as0+log|Bs2π|]]>等式14-<Bs,(Bs0)-1+as0(as0)T>+2asTBsas0-asTBsas+2logπs0}]]>其中< >表示通过累加两个等尺寸的矢量或矩阵的元素范围乘积而得到的标量,s′是总和的语音单元的下标。
因为等式9中当前ρs,n的计算取决于上一时间点n-1的ρs,n-1和下一时间点n+1的ρs,n+1,所以覆盖全部帧的ρs,n的值的一组联立方程的解对计算这些值是需要的。这通常通过将这组联立方程组织成矩阵形式并进行矩阵求逆来完成。这个计算有O((NS)3)级的复杂度,其中N是时间点的数量,而S是每个时间点可能的状态的数量。对任何合理的语音信号,这个计算都变得太费时间而不能够在实际系统中实现。
在本发明中,降低这个计算的复杂度的方法在图3的流程图中被示出。在图3的步骤300,模型参数的初始值被存储。这些初始值可以被随机设置或基于给定共振峰的已知特征以及共振峰和观测矢量的期望关系时的合理估算被设置。在步骤301,语音信号帧被转换成观测矢量。在步骤302,对语音信号的每个帧,使用快速共振峰跟踪器来建立ρs,n的初始估算。注意,在时间点n的每个初始ρs,n对所有状态s都相同。本实施例基于隐含生成相关参数是与共振峰相似的声道共振值的假设,为初始估计使用共振峰跟踪器。在隐含生成相关参数是不同类型的值时,不同的技术可以用来估算ρs,n的初始值。
在步骤303,使用ρs,n的初始值,以利用等式10-12来确定后验转移概率。一旦转移概率已经被确定,在步骤304,从语音信号的第二帧开始,选择语音信号的M帧的窗,其中M小于总帧数N。图4示出包括帧402、404、406和408的窗400的例子。在步骤306,为在M帧的窗内的每个帧n的每个状态计算Гs,n和ρs,n。为了进行这个计算,需要在窗前的帧和在窗后的帧的ρs,n的值。对第一个窗,这两个值都从由共振峰跟踪器产生的ρs,n的初始估算取得。对第一个窗后面的每个窗,在窗前的帧的ρs,n的值从对上个窗执行的计算取得。在窗后的帧的ρs,n的值继续从由共振峰跟踪器确定的初始值取得。
由于窗比整个语音信号小得多,这个计算比横越整个语音信号的上述计算花少得多的时间。在一个实施例中,这个计算涉及使用矩阵求逆解一组联立方程。
在对窗中每个帧确定了Гs,n和ρs,n的值后,在步骤308,过程确定是否有任何更多帧要被处理。如果还有更多帧,在步骤308把窗移位J帧。然后过程返回到步骤306,以计算由移位后的窗覆盖的M帧的Гs,n和ρs,n值。
在图4中,移位后的窗的例子被示出为窗410,它横越帧406、408、412和414。注意,在这个实施例中,移位后的窗410部分重叠窗400。这有助于降低Гs,n和ρs,n值的非连续性。
因为ρs,n的值取决于转移概率,而转移概率的值取决于ρs,n,所以在本发明的一些实施例中,进行多次迭代,其中转移概率的值基于新的ρs,n在步骤302被更新,然后ρs,n的值基于被更新的转移概率在步骤306被更新。在步骤312,过程确定更新这些值的另一次迭代是否需要进行。如果需要另外的迭代,过程返回到步骤302。如果不需要更多的迭代,过程在步骤314结束。
图3的过程所进行的计算比计算ρs,n的现有技术更有效率。特别是,图3的过程有O((MS)2N/J)级的计算复杂度,比现有技术中O((NS)3)的复杂度要小得多。
在推导步骤完成后,Гs,n和ρs,n的值被用在学习步骤中,以设置模型参数Θ={πss′,A1:S,a1:S,B1:S,C1:S,c1:S,D1:S}的值,按照πs′s由单独训练的语言模型或音位结构模型设置,音位结构模型描述不同音素如何一个接着一个。如果没有这种知识,这个模型可以是统一的。
As=[1Σnγs,n(Σnγs,nρs,n)(ΣnΣs′ηs′s,nγs′,n-1ρs′,n-1)T-Σnρs,nΣs′ηs′s,nγs′,n-1ρs′,n-1T]]]>[1Σnγs,n(ΣnΣs′ηs′s,nγs′,n-1ρs′,n-1)(ΣnΣs′ηs′s,nγs′,n-1ρs′,n-1)T-ΣnΣs′ηs′s,nγs′,n-1(Γs′,n-1-1+ρs′,n-1ρs′,n-1T)]-1]]>等式15as=1Σnγs,n(Σnγs,nρs,n-AsΣnΣs′ηs′s,nγs′n-1ρs′,n-1)]]>等式16Bs-1=1Σnγs,n{1Σnγs,n(Γs,n-1+ρs,nρs,nT)-[Σnρs,n(Σs′ηs′s,nγs′,n-1ρs′,n-1)T]AsT-(Σnγs,nρs,n)asT}]]>-As[Σnρs,n(Σs′ηs′s,nγs′,n-1ρs′,n-1)ρs,nT]+As[ΣnΣs′ηs′s,nγs′,n-1(Γs′,n-1-1+ρs′,n-1ρs′,n-1T)]AsT]]>等式17+As(ΣnΣs′ηs′s,nγs′,n-1ρs′,n-1)asT-as(Σnγs,nρs,n)T]]>+as[Σn(Σs′ηs′s,nγs′,n-1ρs′,n-1)T]AsT}+asasT]]>
Cs=[1Σnγs,n(Σnγs,nyn)(Σnγs,nρs,n)T-Σnγs,nynρs,nT]]]>等式18[1Σnγs,n(Σnγs,nyn)(Σnγs,nρs,n)T-Σnγs,n(Γs,n-1+ρs,nρs,nT)]-1]]>cs=1Σnγs,n(Σnγs,nyn-CsΣnγs,nρs,n)]]>等式19Ds-1=1Σnγs,n{Σnγs,nynynT-(Σnγs,nynρs,nT)CsT-(Σnγs,nyn)csT-Cs(Σnγs,nynρs,nT)T]]>+Cs[Σnγs,n(Γs,n-1+ρnρs,nT)]CsT+Cs(Σnγs,nρs,n)csT-cs(Σnγs,nyn)T]]>等式20+cs(Σnγs,nρs,n)TCsT}+cscsT]]>其中γs,n由前向传递来递归地确定γs,n=Σs′ηss′,nγs′,n-1]]>等式21推导和学习步骤可以被迭代多次以完成训练。
语音识别在训练了模型参数后,模型参数和逼近可以被用来进行语音识别。这涉及给定表征语音信号的观测特征矢量序列时,标识最可能的语音单元序列,例如音素。
在过去,语音识别需要确定γs,n,它提供在整个语音分段之中时间n的状态的概率,需要后向-前向递归。结果是,语音识别不能随着语音帧的接收以维特比解码器直接实现。在维特比解码中,为进入帧n的状态的每条路径生成路径分数。有到状态的最高路径分数的路径被保留,而到那个状态的其余路径则被删除,不作进一步考虑。在本发明的一个实施例中,提供路径分数的新公式,它使语音被解码而不需要明确或直接确定γs,n。
本发明中的路径分数基于发明人的发现来构建p~(yn|sn=s′,sn-1=s)=efs′s,n/πs′s]]>等式22p~(sn=s′|sn-1=s)=πs′s]]>等式23等式22和23可以被组合以形成从状态s′进入状态s的路径分数,定义如下Path_Score=efs′s,n]]>等式24图5提供在其中使用这个路径分数的语音识别系统的框图。在图5中,通过上面论述的训练过程确定的生成模型参数作为生成模型528存储。
在说话人500对麦克风504说话时识别开始。麦克风504也接收来自一个或多个噪声源502的加性噪声。由麦克风504检测到的音频信号被转换成电信号,电信号被提供给模-数转换器506。
模-数转换器506把来自麦克风504的模拟信号转换为一系列数字值。在一个实施例中,模-数转换器506以16kHz和每样点16比特对模拟信号进行采样,从而产生每秒32千字节的语音数据。这些数字值被提供给帧构造器507,在一个实施例中,帧构造器507每隔10毫秒把数字值分组成25毫秒帧。
由帧构造器507创建的帧被提供给特征提取器508,它从每个帧提取特征。特征提取模块的例子包括执行线性预测编码(LPC)、LPC导出的倒谱、感知线性预测(PLP)、听觉模型特征提取、梅尔频率倒谱系数(MFCC)特征提取的模块。注意,本发明不限于这些特征提取模块,在本发明的上下文中,其它模块也可以被使用。
特征矢量系列被提供给训练器524,它顺序地确定Гs,n和ρs,n组,每组和图4所示的重叠窗相关联。具体地,训练器524使用上述等式8和9中的生成模型528的参数和在窗的当前位置中出现的帧的观测矢量。窗后面的帧的观测矢量没有被用来确定窗中帧的Гs,n和ρs,n值。对在一个以上窗中出现的帧,出现该帧的最后一个窗的计算被用作该帧的Гs,n和ρs,n值。在等式8和9的计算中,后验转移概率由等式10-12设置。使用加窗技术,当前系统可以近似地在时间上顺序操作。
一旦帧的Гs,n和ρs,n值被确定,它们就被置于后验逼近模型527中。然后解码器512基于特征矢量流、词典514、语言模型516、逼近模型527和生成模型528标识最可能的单词序列。
具体地,解码器512使用等式24的路径分数为当前窗中不会被下一个窗重叠的每个帧确定和选择到每个状态的最可能的路径。由于这种类型的维特比解码在现有技术的HMM系统中被普遍使用,本发明的解码器能够利用已经开发以提高维特比解码效率的技术,包括剪除到某些状态的最可能路径的各种剪除技术,从而减少必须被确定的路径分数的数量。换言之,该剪除移除了为某些状态选择的最佳路径,从而产生没有路径进入的状态。
假设单词的最可能序列被提供给置信度测量模块520。置信度测量模块520部分基于第二声学模型(未示出)标识哪些单词最可能被语音识别器错误识别。然后,置信度测量模块520向输出模块522提供假设单词序列,还提供指示哪些单词可能被错误标识的标识符。本领域内技术人员会理解,置信度测量模块520在本发明的实现中不是必须的。
虽然本发明是参考特定实施例描述的,本领域的技术人员会理解,可以进行形式和细节上的改动而不脱离本发明的精神和范围。
权利要求
1.一种设置一切换状态空间模型的后验概率参数的方法,所述后验概率基于与帧序列相关联的输入值为所述帧序列提供一组隐含状态的似然性,其特征在于,所述方法包括定义一包含至少两个但少于所述帧序列中全部帧的窗;为所述窗中的每个帧确定一单独后验概率参数;移位所述窗,从而使它包括所述帧序列中至少一个后续帧,以形成一移位后的窗;以及为所述移位后的窗中的每个帧确定一单独后验概率参数。
2.如权利要求1所述的方法,其特征在于,所述移位后的窗包括在移位前的所述窗中存在的至少一个帧。
3.如权利要求1所述的方法,其特征在于,为窗中的每个帧确定单独后验概率参数包括为所述窗中的所有帧解一组联立方程。
4.如权利要求3所述的方法,其特征在于,所述隐含状态是连续的。
5.如权利要求4所述的方法,其特征在于,为每个帧确定单独后验概率参数还包括为一组不同于所述连续隐含状态的离散隐含状态的每一个确定单独后验概率参数。
6.如权利要求4所述的方法,其特征在于,所述后验概率在给定离散隐含状态和输入值时提供连续隐含状态的概率。
7.如权利要求5所述的方法,其特征在于,它还包括在移位所述窗前,使用为帧确定的所述后验概率参数来生成在所述帧期间进入离散隐含状态的路径分数。
8.如权利要求7所述的方法,其特征在于,生成路径分数包括生成一路径分数作为维特比解码器的一部分。
9.一种解码语音信号以标识语音单元序列的方法,其特征在于,所述方法包括储存一其中有离散隐含状态和连续隐含状态的切换状态空间模型的模型参数,所述连续隐含状态取决于所述离散隐含状态,把所述语音信号转换成一组观测矢量,每个观测矢量和所述语音信号的单独帧相关联;对所述语音信号的每个帧,为到所述帧中的每个离散隐含状态的至少一条路径确定一路径分数,使用所述路径分数选择到所述帧中的每个离散隐含状态的单个路径。
10.如权利要求9所述的方法,其特征在于,所述离散隐含状态代表语音单元。
11.如权利要求9所述的方法,其特征在于,确定路径分数包括基于一在给定离散隐含状态和观测矢量时描述连续隐含状态的概率的后验概率参数来确定路径分数。
12.如权利要求11所述的方法,其特征在于,它还包括为所述当前帧中的离散隐含状态确定一后验概率参数。
13.如权利要求12所述的方法,其特征在于,确定后验概率参数包括定义一包含少于所述语音信号全部帧的帧窗。
14.如权利要求13所述的方法,其特征在于,它还包括通过解一组连立方程,为所述窗中每个帧中每个离散隐含状态确定单独后验概率参数。
15.如权利要求9所述的方法,其特征在于,它还包括为从先前帧中的所述一组离散隐含状态进入所述当前帧中的离散隐含状态的每一路径确定路径分数。
16.如权利要求15所述的方法,其特征在于,它还包括为所述当前帧中每个离散隐含状态确定路径分数。
17.如权利要求16所述的方法,其特征在于,它还包括剪除进入状态的至少一个所选择的路径,使得所述路径不再被认为是通过离散隐含状态序列的可能路径的一部分。
全文摘要
一种有效设置切换状态空间模型的后验概率参数的方法通过定义包含至少两个但少于全部帧的窗开始。为窗中的每个帧确定个别后验概率参数。然后所述窗在时间上从左到右顺序移位,使得它包括帧序列中一个或多个后续帧。然后为移位后的窗中的每个帧确定个别后验概率参数。该方法精密地逼近更严格的解,但将计算成本节省了两到三个数量级。另外,发明了一种确定切换状态空间模型中的最佳离散状态序列的方法,该方法在逐帧基础上直接利用观测矢量,并在时间上从左到右操作。
文档编号G10L15/10GK1645476SQ20051000593
公开日2005年7月27日 申请日期2005年1月20日 优先权日2004年1月20日
发明者H·阿蒂亚斯, L·李, 邓立 申请人:微软公司