语音识别中的快速搜索的制作方法

文档序号:2835607阅读:232来源:国知局
专利名称:语音识别中的快速搜索的制作方法
背景技术
计算机化连续语音识别的目的是确定最可能相当于语音信号的一系列被观测片段的字码序列。每个字码由被生成的作为语音信号代表的状态序列表示。因此识别包括搜索对应于不同字码的不同序列中的状态序列中的较可能的组合序列。语音识别的主要性能特性是该搜索结果的可靠性以及执行搜索所需的计算量。这两个特性以相反的方式依赖于包括在搜索中的序列(搜索空间)的数量较大数量的序列可给出更可靠的结果但是需要更多的计算量,反之亦然。识别技术致力于成为用可靠性的最小损失来限定搜索规模的有效的搜索技术。
美国专利No.5995930公开了一种应用状态级搜索的语音识别技术,其在可能的状态序列中搜索较可能的状态序列。该状态级搜索与被观测的语音信号具有最接近的联系。该搜索包括在对应于被观测语音信号的连续帧的可能的状态序列中搜索。不同序列的似然度作为被观测的语音信号的函数被计算出来。从中选择较可能的序列。
似然度的计算是基于模型的。这个模型通常具有描述字码的不同序列的先验似然度的语言成分,以及描述不同的状态序列出现,即给定字码出现的先验似然度的词汇成分。最后,该模型确定该似然度,其给出一状态,在一时间间隔(帧)内的语音信号的属性将具有确定的值。因此,语音信号由状态序列和字码序列表示,该状态序列被分成连续字码的(子)序列。计算这些序列的后验似然度,用连续帧给出该被观测语音信号的属性。
为了将计算量保持在合理的限度内,公开在美国专利No.5995930中的搜索不是穷举的。只有侯选的状态序列和期望成为较可能的字码才被考虑。这是通过渐进的似然度受限搜索来实现的,在该搜索中,新的侯选序列通过用新状态扩展在先序列来生成。只有较可能的在先序列被扩展在先序列的似然度用来限制搜索空间的大小。但是,限制搜索空间会影响可靠性,因为被删除的较小可能的在先序列在被扩展时,通常只在对应于一个或更多字码的一些状态之后仍可能变成较可能的序列。
美国专利No.5995930将该状态级搜索分为其中分别实施似然度限制的不同的搜索,即,在一个搜索中扩展较可能序列而不管其他的搜索是否包含较可能的序列。为了理解是如何区分不同的搜索的,假设在一个字码的最终状态的终点已经生成了一个状态序列,以致于该状态序列的最后的部分相当于字码序列。该字码序列的这些最后的N个字码被用来确定随后的状态序列的搜索。(N是连续的字码的数量,语言模型对这些数量的字码确定似然度;N=1,2,...,但是典型地为3或更大的数)。开始不同的搜索,每个搜索是对于N个字码的不同的以前的“历史记录”的。因此,每个搜索包含以跟随对应于N个字码的相同的历史记录的序列开始的状态序列。同一搜索中的不同序列可以具有不同的开始时间。因此,在每个搜索内可能在最近产生的这些N个字码的终点对最可能时间点进行搜索。
这样,对将要被扩展的较可能序列的搜索会执行多次,状态序列的每次搜索对应于N个最近字码的不同的历史记录。从搜索中删除的序列单独地被每个搜索所删除如果状态序列足够可能跟随N个字码,则跟随N个特定字码的该状态序列在跟随N个字码的搜索中不被删除,即使根据N个字码的最可能的序列,该状态序列是较小可能的,也不被删除。
除了考虑到字码识别之外,分成字码级搜索和状态级搜索有助于用最小增加的计算量来限定可靠性的损失,这是由于字码级历史记录的应用使得在语音信号中序列选择的控制比状态级搜索需要更长的时间间隔。一些较小可能的状态序列在搜索空间没有额外增加时被保护以不被删除,由于其字码上下文关系的似然度,这些状态序列在长时间内可能会变成较可能的序列。
但是,由于必须对最近的字码的不同组执行不同的搜索,搜索空间仍会有相当大的增加。这意味着可靠性和计算量之间有一个折衷如果用更多的最近的字码来区分不同的搜索,则可靠性增加,但是需要更多的搜索,因此需要更多的计算量。如果只用一个最近的字码或几个字码来区分搜索,则可靠性减少,因为可能成为较可能状态序列的状态序列有被删除的风险。
另一种可靠性和计算量之间的折衷可以通过双路方法来实现。所描述的方法被称为单路方法是由于一旦语音信号处理到一定时间时,搜索的结果被直接应用。在双路算法中,将搜索结果应用到第二路来发现在第一路中已发现的字码的替换。在关于声学语音和信号处理的1991年国际会议的论文集中发表了Schwartz和Austin的一篇论文(Toronto 1991),其中描述了各种有效并可靠地执行字码序列搜索的双路技术。
Schwartz和Austin描述了一种改进单路技术的解决方案。在这个解决方案中,在字码级搜索中删除的字码与保留的字码被互相关联地存储,以有助于字码的删除。此外,被删除字码的似然度在其被删除点被存储。一旦在第一路中已发现最可能的字码序列,就执行第二路,其计算通过用被删除的字码代替保留的字码得到的字码序列的似然度(将该被计算的似然度用于在第一路中那些被删除的字码)。该技术降低了丢失最可能的字码序列的风险,但是该结果仍是不可靠的,因为该技术对于被删除的字码之后的字码之间的最优时间点不执行状态级搜索。
Schwartz和Austin描述了该技术第一路的改进,其中他们搜索跟随对应于在先字码的最可能的状态序列。执行单独的搜索,每个都是对不同的在先字码来执行,而不是只对最可能的在先字码执行的。即,代表较小可能的在先字码的状态序列之后的状态的似然度的计算在这些在先字码的最终状态时没有立即停止,但是只有当已发现最可能的下一个字码时,才继续每个较小可能的在先字码的似然度计算。这样由于延迟了被删除的字码序列所在的点,降低了初始时较小可能字码序列在其变成更可能之前被删除的风险,所以增加了搜索的可靠性。此外,其可以搜索在在先字码之后开始字码计算的最优时间点。但是由于词汇状态必须搜索许多在先字码中的每个字码,所以可靠性的增加是以花费更大量的搜索为代价的。

发明内容
本发明的一个目的是在对应于被观测语音信号的最可能的状态序列的搜索中可实现可靠性和计算量之间的更好的折衷。
在本发明的一个实施例中提供了一种语音识别方法,该方法包括在分别由连续的状态序列组成的组合序列中搜索这些组合序列中的至少一个比组合序列中的其他序列更可能的序列以表示一个观测语音信号,所述的搜索包括
渐进的、似然度受限搜索,每个被限制在各搜索空间中的似然度包括一个该状态序列的子集,这些组合序列将包含该状态序列的子集;每个不同搜索的搜索空间包括将要构成类型组合序列的一部分的状态序列,确定不同搜索空间的不同的类型基于相同的一些字码或其一部分被区分出来,这些字码由相当于搜索空间中的状态序列的组合序列中的状态序列表示,字码或其一部分的数目的同一性被用于区分不同的类型,所述数目根据由相当于搜索空间中的序列的组合序列表示的一个或更多的最后的字码的长度而变化,如果一个或更多的最后的字码相对较短,则相当于相同的一个或更多的最后的字码的组合序列被区分成不同的类型,但是如果一个或更多的最后的字码相对较长,则不区分成不同的类型。
在该实施例中,对由不同类型的在先序列分别处于其前的状态序列执行不同的状态级搜索。优选为,这些类型是基于不同的语音历史记录被区分,而不是基于不同的字码历史记录被区分的。可靠性和计算量之间的平衡是通过灵活地采用被用于区分不同类型从而区分不同搜索的字码信息的长度来实现的。该字码数量或字码片段的长度依赖于所应用的特定的字码。如果几个在先状态序列相当于在相同的短字码(或N个字码)结束的字码序列,则对这些在不太近的字码上不同的序列中的不同的序列执行单独的状态级搜索。另一方面,如果最近的字码或N个字码较长,可对所有的在那个字码或N个字码结束的候选字码序列执行一个状态级搜索。
这避免了执行过多搜索的需要。如果在先字码是长的,则几个字码或字码的一部分足以形成具有良好可靠性的不同的搜索。如果在先字码的不同的序列以一个短字码结束,则在以较早字码的较多部分为区别特征的不同的在先序列之后,使用单独搜索。因此,在这种情况下例如由于在搜索中,最可能序列的开始时间点的选择受到执行相同的搜索之后的不同的在先序列的较早字码的影响,所以避免了可靠性的降低。
优选为,执行不同搜索之后的在先序列的类型选择依赖于语音历史记录并独立于用于选择在语言类型上更可能的序列的字码历史记录的长度。典型地,语言模型识别三个或更多字码序列的似然度,而对于享有比字码的数量跨距更小的音素数量的序列执行相同的搜索。
在一个实施例中,在在先序列中被识别的字码的预定数量的音素被用于区分不同的搜索。不考虑包括这些音素作为其部分的实际的字码,对于在相同的N个音素结束的字码历史记录执行联合搜索,而对于N个最后的音素不同的字码历史记录执行单独的搜索。这样做的结果是搜索的划分是根据语音级而不是根据字码级来确定的,因此更可靠。这样,对于在许多最近音素上,即字码的片段上不同的最近的候选字码序列可以形成单独的状态级搜索。
在另一个实施例中,用于区分不同搜索的音素的数量适用于音素的性质中,例如使得用于区分不同搜索的音素包含至少一个音节结尾,或至少一个元音,或至少一个辅音。
在根据本发明的方法的另一个实施例中,通过执行应用代表类型复合序列的单个状态序列的状态级搜索的至少一部分,不必增加搜索空间就可增加可靠性。该类型的具有代表性的似然度信息被用于在搜索期间控制较小可能状态序列的删除。搜索(或部分搜索)之后,分别再生该类型的各个成员的似然度,用在进一步的搜索中。即,具有代表性的似然度的选择不具有持久的效果在随后的状态级搜索中的删除不需要受由该代表性确定的似然度的控制。因此,当具有两路搜索时实现了可靠性的类似的增加,其中删除的字码被重新考虑,但是这已经在第一路中实现了。由于不选择单个的成员来排除其他的成员,该类型的各个成员的似然度在搜索的最后被再生并应用在进一步搜索中,所以可靠性有一个额外的增加。这样降低了基于具有代表性的后来变成较小可能的字码序列的错误的状态级删除被减少的风险。
优选为,在这个实施例中,在从具有代表性的似然度开始的搜索期间,对于最后状态计算的似然度被用于再生不同成员的似然度。可以选择地,可能对从初始状态开始的每个单独的成员重新计算这些似然度,但是这样会包含更多的计算量。
这个实施例优选为与其中语音历史记录被用于选择形成搜索的类型的实施例相结合。这样,由于再生了各个类型的成员的似然度,所以基于语言信息不会明显受到类型信息的影响,类型的语音选择不会妨碍随后的序列删除。
在另一个实施例中,通过处理单个的状态序列来执行在许多不同的在先状态序列中的子字码终点之后的一部分状态级搜索,降低了搜索量。优选为,通过在先序列的情况对应于最近的子字码共有组来区分被执行的单个搜索的序列类型。这个组可以延伸过字码的边界,使得可靠性和计算量之间的折衷不依赖于是否经过字码的边界。
附图简述应用以下的附图,更详细地描述本发明的这些以及其他的目的和优势。


图1表示一个语音识别系统;图2表示另一个语音识别系统;图3图解的是状态序列;图4图解的是另外的状态序列;图5图解的是应用在子字码级的技术。
优选实施例描述图1是一个语音识别系统的例子。该系统包括连接语音采样单元11、存储器13、处理器14和显示控制单元15的总线12。麦克风10连接到采样单元11。监视器16连接到显示控制单元15。
操作中,麦克风10接收语声并将这些声音转换为电信号,该电信号被采样单元11采样。采样单元11将该信号的采样存储到存储器13。处理器14从存储器13中读取这些采样并计算及输出确定最可能地符合这些语声的字码(例如,代表这些字的特征的代码)序列的数据。显示控制单元15控制监视器16以显示代表该字码的图形特征。
当然,直接从麦克风10输入并输出到监视器16只是语音识别应用中的一个例子。我们可以用预先录下的语音代替从麦克风接收的语音,而且被识别的字码可应用于任何目的。图1中的系统执行的各种功能可以用任何方法分配到不同的硬件单元。
图2表示在串联的麦克风20、采样单元21、第一存储器22、参数提取单元23、第二存储器24、识别单元25、第三存储器26以及结果处理器27上的功能分配。图2可以被视为执行不同功能的不同硬件单元的表示,但是该图作为软件单元的表示也是有用的,这些软件单元可以用各种适当的硬件部件来执行,例如图1中的部件。
在操作中,采样单元21将表示语声信号的采样存储到第一存储器22中。参数提取单元23将语音分割成时间间隔并提取参数集,每个参数集针对连续的时间间隔。参数描述采样,例如根据在相应的时间间隔中,由采样表示的信号谱峰的强度和相对频率。参数提取单元23将提取的参数存储在第二存储器24中。识别单元25从第二存储器24中读取该参数并搜索最可能的字码序列,该字码序列是对应于一系列时间间隔的参数的字码序列。识别单元25将确定这个最可能序列的数据输出到第三存储器26。结果处理器27读取这个数据以进一步应用,例如在字处理中或用于计算机的控制功能。
本发明主要涉及识别单元25的操作,或由处理器14执行的识别功能或其等效功能。识别单元25根据语音信号的连续片段的参数来计算字码序列。这个计算是基于语音信号模型的。
在语音识别技术中,这种模型的例子是众所周知的。作为参考,在此对这种模型的例子进行简要描述,但是本领域的技术人员可以根据现有技术来定义该模型。模型的例子是根据状态的类型定义的。特定类型的状态对应于片段中参数的可能值的某种可能性。这个可能性依赖于状态的类型和参数值并由模型来确定,例如,学习阶段后可能性可从例子信号中估计出来。本发明不涉及如何获得这些可能性。
状态和字码之间的关系应用状态级模型(词汇模型)和字码级模型(语言模型)来建摸。该语言模型确定将要表达的某些字码序列的先验似然度。例如,根据某些通常应用的词汇出现的可能性或特定词汇后跟随另一个特定词汇的可能性或N个连续的词汇集合一起出现的可能性等来确定。例如,应用这些在学习阶段得到的估计,这些可能性参与在模型中。本发明不涉及如何获得这些可能性。
词汇模型为每个字码确定在状态序列中的对应于该字码的状态连续类型,并且利用先验似然度为该字码产生这种序列。典型地,如果在语音信号中出现某个字码,则该模型为每个状态确定跟随其后的下一状态,并利用可能性产生不同的下一状态。可以为不同的字码将该模型提供为一组单独的子模型,或者为一堆字码将该模型提供为一个单树状模型。典型地,马尔可夫模型中利用了例如在学习阶段确定的可能性。本发明不涉及如何获得这些可能性。
在识别期间,识别单元25从字码序列出现的先验似然度、对应于状态序列的字码序列的先验似然度和对应于已经为不同片段确定的参数的状态的似然度中计算状态和字码的不同序列的后验似然性。这里应用的“似然度”描述可能性的任何量度表示。例如,将表示可能性的数乘以一个已知的系数称为似然度,类似地,似然度的对数或任何其他函数之一也称为似然度。实际应用的似然度视情况而定,并且对本发明没有影响。
识别单元25不计算字码所有可能的序列以及状态序列的似然度,而只有识别单元25认为较可能的那些序列是最可能的序列。
图3图解的是用于似然度计算的字码和状态序列。该图用节点30a-c、32a-f和34a-g表示语音的不同片段的状态(为了清楚起见,只将一些节点加上标记)。节点对应于在用于识别的词汇模型中被确定的状态。来自节点30a的不同的分支31a-b指示到随后的节点30b-c的可能的跃迁。这些跃迁相当于词汇模型中被确定的在状态序列中的状态的连续。因此,时间的方向是从左到右起始时间越迟的片段节点被显示越靠近右侧。
当识别单元25搜索状态的序列来代表字码时,其确定它要考虑哪些状态。它为这些状态预留出存储空间。在该存储空间内它存储关于状态类型(例如,参考词汇模型)、它的似然度以及它是如何被产生的信息。图3中所示的节点表示识别单元已经预留存储器并已存储相应状态的信息。因此,字码的节点以及状态将被交替地使用。从已经为之存储了信息的状态30a开始,识别单元25决定是否为以下的模型容许的状态预留存储空间(其被称为“生成节点”)。识别单元25已经为之预留空间的状态30b-c被表示为从前一节点30a开始的被分支31a-b连接的节点。识别单元25可以在存储器中存储关于前一节点30a的信息,该存储器是为表示节点30a、b的状态预留的,但是相关的信息(例如被识别的字码的开始时间的确定以及开始时间以前的字码历史记录)可以从前一节点30a拷贝来替代。
从节点30b-c到随后的节点可能出现跃迁。因此,不同的状态序列用序列中表示连续状态的节点之间的跃迁来表示。这些序列到达字码的终点状态(由最终的节点32a-f表示),为此,词汇模型指示特殊的字码终点的状态序列。
每个最终节点32a-f表示为对于下一个字码的状态序列的起始节点34a-f具有跃迁33a-f。不同的起始节点34a-f用不同的称为“搜索区”的带区35a-g表示,随后将要对此进行更详细的描述。在每个搜索区35a-g中出现状态序列,其终点在最终节点32a-f。从这些最终节点32a-f到随后的搜索34a-f等内的起始节点出现其他的跃迁。
从搜索区35a-g内的最终节点32a-f开始,可以在搜索区35a-g内回溯到(子)序列开始处的起始节点34a-f,该序列在最终节点32a-f结束并且从那里回溯到以前的最终节点32a-f。因此,可以为任何最终节点32a-f确定最终节点32a-f序列。在这种序列中的每个最终节点32a-f相当于暂时地被识别的字码。因此每个最终节点32a-f也相当于暂时地被识别字码的序列。应用语言模型从这些字码序列中选择较可能的字码序列并删除较小可能的序列。例如在一种现有技术中,这是通过每次从一些序列中删除最可能序列(或一些较可能的序列)之外的所有序列来实现的,除了包含相同字码的序列之外,这些序列以不同的非最近的字码作为开始。
在一个例子中,识别单元25生成作为时间函数的节点,在图中是从左到右,并且对于每个新生成的节点,识别单元选择一个以前的节点,为其生成一个到新生成的节点的跃迁。选择以前的节点使得当被新生成的节点跟随时,使该序列具有最高的似然度。例如,如果我们根据以下公式L(S,t)=P(S,S′)L(S,t-1)计算时间t处状态S的序列的似然度,(其中S′是在先状态,P(S,S′)是由类型S的状态跟随的状态类型S′的状态的可能性)然后,为状态S从可用状态中选择在先状态S′,该在先状态导致最高的L(S,t)并且生成S和这个S′之间的状态跃迁。因此,不选择代表较小可能的状态序列的跃迁。即,在搜索最可能的序列时不考虑(或“删除”)这些跃迁。在不偏离本发明的情况下,可以应用其他的删除状态序列的方法,例如计算相当于一个时间点的状态序列的似然度并且将这些状态只加到其似然度距最可能序列的似然度的距离在门限距离范围内的那些序列(在这种情况下,相同的状态可能出现在相同的时间点不只一次)。
一旦识别单元25生成搜索区35a-g内的最终状态32a-f,识别单元25就确定相当于该最终状态32a-f的字码。这样,识别过程已经暂时地识别了结束于为其生成最终状态32a-f的时间点的字码。由于在相同的搜索区35a-g内识别单元25可以在许多时间点生成许多最终状态,所以在一个搜索区35a-g内,通常不会识别单个字码或甚至相同字码的单个结束时间点。
现在详细讨论搜索区35a-g的意义。检测最终状态32a-f之后,识别单元25将进入一个新的搜索区35a-g以得到在时间上的前一搜索区35a-g的最终状态32a-f之后的较可能的状态子序列(这种状态子序列被称为在该处不会引起混淆的序列组)。新的搜索区优选为其中应用树状模型的“树状搜索区”,其允许在相同的搜索区中立刻搜索所有可能的字码的状态序列组。这就是图中所述的情况。但是在不偏离本发明的情况下,新的搜索区也可以是对于代表所选择的字码或一组字码的可能状态的搜索区。
在相同的新搜索区35a-g中,在不同的最终状态32a-f之后生成起始状态34a-f。这些不同的最终状态包括例如相当于在相同的搜索中的相同字码,但出现在不同时间点的不同最终状态32a-f。在新搜索区中,起始状态34a-f也可包括来自各搜索区35a-g的在最终状态32a-f之后的起始状态34a-f。通常,来自预定的序列类型的在最后状态32a-b之后的起始状态34a-f将被包括在相同的搜索区35a-g中。在不同的搜索区35a-g中,来自不同类型的最终状态32a-f对于起始状态将有跃迁。
在搜索区35a-g内以及在将要计算似然度的状态序列的选择期间,识别单元25将删除(不延长)较小可能的序列。因此在搜索区35a-g中,当从其他起始状态开始的序列是较可能时,从搜索区35a-g中一个起始状态开始的状态序列可能被删除。只有在相同搜索区35a-g内的起始状态34a-f以这种方式相互竞争。因此,例如,如果不同开始时间的起始状态34a-f被包括在搜索区中,那么最可能的开始时间可以通过比较在最终状态32a-f之后的从起始状态34a-f开始的序列的似然度来选择,该最终状态32a-f相当于来自以前相同的搜索区的不同时间的相同的字码。(如果在每个搜索区中只允许有一个开始时间,那么在每个搜索区35a-g内,仍然可以做前一个最后状态的最优选择。这样,当来自不同搜索区的序列可以被组合成新搜索区时,最佳开始时间的选择发生在搜索区35a-g的终点之后)。在一个搜索区35a-g中的序列的似然度不会影响在其他搜索区35a-g中的将要被删除的个别序列的选择。
换句话说,识别单元25执行不同的被相互有效隔离的搜索区35a-g。这意味着至少到达最终状态32a-g以前,一个搜索区35a-g中的序列生成和删除不会影响另一个搜索区35a-g中的生成和删除。例如,在一个例子中,在一时间点为每个新生成的状态选择一个预先状态,为每个搜索区35a-g生成新状态并且在每个搜索区35a-g为每个新生成的状态从那个搜索区中选择一个预先状态。
应当注意的是,虽然搜索区35a-g在感觉上是“隔离”的,即一个搜索区中的生成和删除不会影响其他的搜索区,但是搜索区35a-g也不应该用其他方式被隔离。例如,来自不同搜索的代表节点的信息可以被相互混合地存储在存储器中,信息中的数据例如通过确定节点之前的字码的历史记录(或字码历史记录的类型)指示节点属于哪个搜索区。在另一个例子中,只要考虑该节点属于哪个搜索区35a-g,生成和删除不同搜索区35a-g中的节点就可以通过处理相互混合的不同搜索区35a-g的节点来执行。
本发明的第一方面涉及对于相同的新搜索区35a-g具有跃迁的序列类型的选择。在现有技术中,相同的新搜索跟随在相当于N个字码的相同历史记录的最终状态之后(这一点可以通过沿形成最终节点32a-f的序列回溯来确定)。在现有技术中,从相当于最近的N个特定字码历史纪录的最终节点32a-f中,对搜索空间产生一个跃迁,该搜索空间相当于这些特定的N个字码中除了最远的一个之外的N-1个之前的字码W。
因此,在现有技术中,如果最终节点相当于N个相同的在先字码,那么来自不同搜索区35a-g的这些最终节点32a-f可以具有到特定的下一个搜索区的跃迁。从这些为在时间上相同的点产生的最终节点中选择最可能的最终节点,并且给该节点一个到下一搜索区的起始节点的跃迁33a-f。该步骤分别对每个时间点执行。每个时间点(来自这些搜索区35a-g中的任何一个)的最可能的最终节点32a-f到新搜索区35a-g中的其起始节点具有一个跃迁。这允许新搜索区35a-g搜索开始时间与新字码的最可能的组合。
这样,历史记录中的字码数目N对于计算结果具有重要的作用。当N被设置为逐渐增大时,不同的历史记录数增加从而搜索区的数目增加。但是使N为小数目(使计算结果在范围之内)会降低可靠性,因为其可能导致在随后的语音信号中的可能已被证实为较可能的字码序列的删除。此外,在现有技术中,如果应用单路技术,N决定语言模型为N-gram模型。选择一个较小的数N会降低这个模型的质量。
本发明的目的是减少搜索的数目而不过分降低质量。根据本发明,对于相同的搜索区35a-g具有跃迁33a-f的序列的类型是根据语音的历史记录选择的,而不是根据最近的被识别的字码的整体数量来选择的。
本发明是基于观测的,即对结束于相同的语音历史记录的不同的历史记录来说字码的最可能的开始时间通常是相同的。实际上,每个新搜索区35a-g只在这些以前的搜索区35a-g确定新字码的不同开始时间的似然度时,受到以前搜索区35a-g的影响。这允许新搜索区搜索新字码的开始时间以及同一性的最可能的组合。对结束于相同的语音历史记录的不同的历史记录来说字码的最可能的开始时间通常是相同的,并且搜索区中建立的开始时间的可靠性依赖于被考虑的语音历史记录的长度。如果字码是长的,则字码的固定数目的字码历史记录可能包含一个较长的语音历史记录,如果字码是短的,则包含较短的语音历史记录。因此,与现有技术中一样,如果固定长度的字码历史记录被用来选择一个搜索区,那么可靠性就会随字码的长度而改变。为了得到最小的可靠性,现有技术需要为最坏的情况(短字码)设置历史记录的长度,从而导致如果历史记录中出现较长的字码,计算结果就会不必要的大。通过选择基于语音历史记录的搜索区,可以较好地控制搜索区的数量以达到最小的可靠性。
为了根据语音历史记录来辨别,识别单元25例如应用确定组成不同字码的语音的被存储的信息并检查该类型中的序列,该类型中所有序列都相当于字码历史记录,其中在被识别的字码中,最近的语音的预定数目是相同的。该预定数目的选择与是否这些语音以单个字码出现或不止一个字码出现无关,或与是否这些语音一起组成整个字码或一个字码的不完全的一部分无关。因此,与如果最终节点32a-f相当于一个长字码相比,如果最终节点32a-f相当于一个短字码,则识别单元25将应用来自产生最终节点32a-f的状态序列中的更多字码的语音来选择最终节点32a-f所属的类型。
在一个实施例中,用来区分类型的语音的该预定数目被预先设置。在另一个实施例中,用来确定类型的语音数目依赖于语音的性质,例如,使得这些语音包括至少一个辅音,或至少一个元音或至少一个音节或其组合。
图4显示了一个搜索区,其中不同的最终节点40可以都具有到新搜索区46中相同的起始节点44的跃迁42。根据本发明的一个方面,那些最终节点40的最可能节点的似然度(或例如第n个最可能的最终节点的似然度,或许多较可能节点的似然度的平均)用来控制从新搜索区46中的起始节点44开始的序列的删除。关于较小可能的最终节点40的似然度和搜索区中应用的似然度之间的关联的信息被保留,例如,以较小可能节点i的似然度Li、Lm之间的比Ri的方式,并且似然度Lm被应用在搜索区46中Ri=Li/Lm当搜索区46到达最终节点48时,这个信息被用于生成在先序列的类型的各个成员的似然度信息,该在先序列在结束于最终节点48的序列的开始都具有到起始节点44的跃迁42。例如,这是通过重新引入系数Ri来得到的。令L’m是在搜索区46中对最终节点48计算的似然度,对从起始节点44开始的序列计算的似然度,例如,其具有基于到起始节点44具有跃迁42的较可能的最终节点40的似然度。然后从新建立的最终节点48的似然度L’m中,相当于与最终节点40相关的字码历史记录的多个字码历史记录“i”的似然度用下面的公式计算L’i=Ri L’m该最终节点40是由搜索区46中被识别的字码所跟随的。(Ri是为与相应的历史记录相关的最终节点40确定的系数)。当应用语言模型计算对应于最终节点的不同序列的似然度时,为不同的历史记录“i”再生的似然度被采用。因此,搜索区46中的每个单个的序列实际上代表历史记录的类型,但是在搜索区46中只需要单个历史记录的计算结果。这样用可靠性的严重损失大大降低了计算量。
可以看出,如果假定搜索区35a-g的最可能的开始时间对于所有的类型是相同的,则对节点生成似然度信息的这种方法重新得到了正确的似然度。
第二种技术(为类型中的一个成员执行搜索,并且在为类型中最可能的成员执行的搜索的最后,再生该类型的各个成员的似然度)优选为与第一种技术(执行共用相同的语音历史记录的字码历史记录类型的结合搜索区35a-g)相结合。因此,第一种技术可以与按照发音选择的类型的不同成员的各个不同似然度的应用相结合,该选择的类型开始于相同时间点的起始节点。但是,第二种技术也可以被应用于不同的类型,不需要用第一种技术来选择,以降低搜索量。
图5显示了第二种技术在子字码级的应用。该图显示了搜索区中节点的序列以及跃迁。在用于生成序列的词汇模型中,某些状态被标记为子字码的边界。例如,这些相当于语音之间跃迁的点。在图中指出了代表这种状态的边界节点50。
对于搜索区中的每个时间点,识别单元检测是否已经生成了边界节点50。如果已生成,则识别单元确定边界节点的类型52a-d,其中之前相当于具体类型的常用的语音历史记录的状态序列,例如预定数目的语音在相同类型52a-d中的所有边界节点50。识别单元从每个类型(优选为具有最高似然度的节点)中选择一个典型的边界节点并且只从类型52a-d的被选边界节点50继续搜索。对于该类型中的每个其他的边界节点50存储信息,例如将相关的边界节点的似然度与继续搜索的边界节点的似然度联系起来的因子。
当搜索随后到达另一个边界节点54或来自该类型的典型边界节点的最终节点56时,通过将新边界节点54或最终节点56的似然度用其他类型成员的不同因子作因式分解,为该类型中的其他成员再生似然度。随后类型选择过程被重复等。
可以理解,由于只对典型的节点类型必须生成新节点,所以用这种方法可大大降低计算量。
权利要求
1.一种语音识别方法,该方法包括在分别由连续的状态序列组成的组合序列中搜索这些组合序列中的至少一个比组合序列中的其他序列更可能的序列以表示一个观测语音信号,所述的搜索包括渐进的、似然度受限搜索,每个被限制在各搜索空间中的似然度包括一个该状态序列的子集,这些组合序列将包含该状态序列的子集;每个不同搜索的搜索空间包括将要构成类型组合序列的一部分的状态序列,确定不同搜索空间的不同的类型基于相同的一些字码或其一部分被区分出来,这些字码或其一部分由相当于搜索空间中的状态序列的组合序列中的状态序列表示,字码或其一部分的数目的同一性被用于区分不同的类型,所述数目根据由相当于搜索空间中的序列的组合序列表示的一个或更多的最后的字码的长度而变化,如果一个或更多的最后的字码相对较短,则相当于相同的一个或更多的最后的字码的组合序列被区分成不同的类型,但是如果一个或更多的最后的字码相对较长,则不区分成不同的类型。
2.根据权利要求1的语音识别方法,其特征在于不同的类型是基于语音被区分的,以致于每个类型包含相当于固有的最后音素组的组合序列,由包含相当于搜索中的状态序列的组合序列的状态序列表示,不同的类型相当于不同的最后音素组,不考虑包括这些音素作为其部分的一个或多个字码,组合序列被区分成不同的类型和/或放入一个相同的类型。
3.根据权利要求1的语音识别方法,其特征在于区分不同的类型使得每个类型包含最后音素的预定数量N相同的组合序列,由包含相当于搜索中的状态序列的组合序列的状态序列表示,不考虑包括这些音素作为其部分的一个或多个字码,不同的类型对应于不同的N个最后音素。
4.根据权利要求1的语音识别方法,其特征在于区分不同的类型使得每个类型包含最后音素的数量相同的组合序列,由包含相当于搜索中的状态序列的组合序列的状态序列表示,选择最后音素的数量使得它包含至少一个音节的终点,不考虑包括这些音素作为其部分的一个或多个字码,不同的类型对应于具有一个音节终点的不同的最后音素。
5.根据权利要求1的语音识别方法,包括根据确定M个字码序列似然度的字码级的模型,选择较可能的组合序列并从下一个搜索中删除其他的组合序列,M个字码序列相当于组合序列中的M个各自连续的状态序列,M个字码长于将组合序列区分成不同类型的字码或字码一部分的数目,对于这些类型中的一个特定类型的至少一个搜索包括对相当于不同的N个最后字码的不同组合序列的搜索的联合似然度极限,这些最后字码由相当于搜索中的状态序列的组合序列的状态序列表示,在到达这些搜索中的至少一个搜索的最终状态后执行所述的选择或特定类型内组合序列中的下一个搜索的较可能组合序列。
6.根据权利要求1的语音识别方法,其特征在于这些搜索中的一个特定的搜索包括进入多个组合序列搜索中的一个特定的搜索内的联合状态序列,这些组合序列在最后的状态序列终点到该联合序列都具有相同的时间点的最终节点,该联合状态序列被分配一个代表多个组合序列的起始似然度;基于状态序列内的状态的似然度信息,删除搜索中的一个特定搜索内的较小可能的状态序列并保留一个或多个可能的状态序列;递增地为作为被观测的语音信号的函数的被保留的状态序列内的每个连续的状态计算每个被保留的状态序列的似然度信息以及被保留的状态序列内在先状态的似然度信息,并重复上述删除步骤;该方法包括当到达搜索中的一个特定搜索的最终状态时,为多个组合序列内的单独的组合序列再生下一个似然度信息,当单独的组合序列中的各个序列位于导致最终状态的联合序列的起始状态之前时,下一个似然度相当于最终状态似然度;执行下一个搜索,其中在下一个状态级搜索期间,所述的计算和删除是基于下一个似然度信息的。
7.根据权利要求6的语音识别方法,其特征在于下一个似然度信息是通过将单独的组合序列的校正系数应用到最终似然度信息,从最终的似然度信息中计算出来的,该最终似然度信息是基于典型的似然度对于最终状态递增计算的。
8.一种语音识别方法,该方法包括在由连续的状态序列组成的组合序列中搜索这些组合序列中的至少一个比组合序列中的其他序列更可能的序列以表示一个观测语音信号,所述的搜索包括渐进的、似然度受限搜索,每个被限制在各搜索空间中的似然度包括一个该状态序列的子集,这些组合序列将包含该状态序列的子集;其中这些搜索中的第一个搜索包括进入多个组合序列搜索中的第一个搜索内的联合状态序列,这些组合序列在最后的状态序列终点到该联合序列都具有相同时间点的最终节点,该联合状态序列被分配一个代表多个组合序列的起始似然度;基于状态序列内的状态的似然度信息,删除搜索中的第一个搜索内的较小可能的状态序列并保留一个或多个可能的状态序列;递增地为作为被观测的语音信号的函数的被保留的状态序列内的每个连续的状态计算每个被保留的状态序列的似然度信息以及被保留的状态序列内在先状态的似然度信息,并重复上述删除步骤;该方法包括当到达搜索中的第一个搜索的最终状态时,为多个组合序列内的单独的组合序列再生下一个似然度信息,当多个组合序列的单独的组合序列中的各个序列位于导致最终状态的序列的起始状态之前时,下一个似然度相当于最终状态似然度;执行下一个搜索,其中在下一个状态级搜索期间,所述的计算和删除是基于单独的组合序列的下一个似然度信息的。
9.一种语音识别方法,该方法包括在由连续的状态序列组成的组合序列中搜索这些组合序列中的至少一个比组合序列中的其他序列更可能的序列以表示一个观测语音信号,每个状态序列代表一个字码,所述的搜索包括渐进的、似然度受限搜索,每个被限制在各搜索空间中的似然度包括一个该状态序列的子集,这些组合序列将包含该状态序列的子集;在所述的状态序列中,确定相当于子字码边界状态的状态;为这些状态序列中的各个序列确定所述的子字码边界状态的类型,并发生在语音信号内的共用时间点,这些状态序列中的各个序列都是相应的组合序列的部分,这些组合序列由共用的时间点上的在语音上代表等价的历史记录终点的状态序列组成;从类型中的所有的子字码边界状态共有的单个随后的状态继续进行渐进的、似然度受限搜索,用于表示该类型的所述单个随后的状态似然度信息,从而对以后的状态计算似然度信息并控制以后的搜索直到下一个子字码边界状态或最终状态被确定;为所述的下一个子字码边界状态或最终状态计算多似然度信息,该最终状态,当包括子字码边界状态类型的各个成员时,相当于在所述的下一个子字码边界状态或最终状态之前的状态序列;执行下一个搜索,所述的下一个搜索单独地应用为各个成员计算的似然度信息。
10.根据权利要求9的语音识别方法,其特征在于根据在先状态序列之间的区别,将不属于该类型成员的子字码边界状态与属于该类型成员的子字码边界状态区分开来,其在先状态越过包括该子字码边界状态作为其部分的状态序列的开始状态,延伸穿过该组合序列,以致于不管语音的历史记录是否超越字码的边界,这些类型被基于一预定量的语音历史记录来区分。
11.一种语音识别系统,该系统包括一个用于接收语音信号的入口;一个识别单元,该识别单元用于在每个由连续的状态序列组成的组合序列中搜索这些组合序列中的至少一个比组合序列中的其他序列更可能的序列以表示一个观测语音信号,所述的搜索包括渐进的、似然度受限搜索,每个被限制在各搜索空间中的似然度包括一个该状态序列的子集,这些组合序列将包含该状态序列的子集;该识别单元开始搜索空间的不同的搜索,每个不同搜索的搜索空间包括将要构成类型组合序列的一部分的状态序列,确定不同的搜索空间的不同的类型,该不同类型基于相同的一些字码或其一部分的数目被区分出来,这些字码或其一部分由相当于搜索空间中的状态序列的组合序列中的状态序列表示,字码或其一部分的数目的同一性被用于区分不同的类型,该数目根据由相当于搜索空间中的序列的组合序列表示的一个或更多的最后的字码的长度而变化,如果一个或更多的最后的字码相对较短,则相当于相同的一个或更多的最后的字码的组合序列被区分成不同的类型,但是如果一个或更多的最后的字码相对较长,则不区分成不同的类型。
12.根据权利要求11的语音识别系统,其特征在于识别单元基于语音区分不同的类型,以致于每个类型包含相当于固有的最后音素组的组合序列,由包含相当于搜索中的状态序列的组合序列的状态序列表示,不同的类型相当于不同的最后音素组,不考虑包括这些音素作为其部分的一个或多个字码,组合序列被区分成不同的类型和/或放入一个相同的类型。
13.根据权利要求11的语音识别系统,其特征在于识别单元区分不同的类型使得每个类型包含最后音素的预定数量N相同的组合序列,由包含相当于搜索中的状态序列的组合序列的状态序列表示,不考虑包括这些音素作为其部分的一个或多个字码,不同的类型对应于不同的N个最后音素。
14.根据权利要求11的语音识别系统,其特征在于语音识别单元区分不同的类型使得每个类型包含最后音素的数量相同的组合序列,由包含相当于搜索中的状态序列的组合序列的状态序列表示,选择最后音素的数量使得它包含至少一个音节的终点,不考虑包括这些音素作为其部分的一个或多个字码,不同的类型对应于具有一个音节终点的不同的最后音素。
15.根据权利要求11的语音识别系统,该识别单元根据确定M个字码序列似然性的字码级模型,选择较可能的组合序列并从下一个搜索中删除其他的组合序列,M个字码序列相当于组合序列中的M个各自连续的状态序列,M个字码长于将组合序列区分成不同类型的字码或字码一部分的数量,这些搜索中的至少一个对这些类型中的一个特定类型的搜索包括对相当于不同的N个最后字码的不同组合序列的搜索的联合似然度极限,这些最后字码由包含相当于搜索中的状态序列的组合序列的状态序列表示,在到达这些搜索中的至少一个搜索的最终状态后执行所述的选择或特定类型内组合序列中的下一个搜索的较可能组合序列。
16.根据权利要求11的语音识别系统,该识别单元被安置用于执行这些搜索中的一个特定的搜索,从而进入多个组合序列搜索中的一个特定的搜索内的联合状态序列,这些组合序列在最后的状态序列终点到该联合序列都具有相同时间点的最终节点,该联合状态序列被分配一个代表多个组合序列的起始似然度;基于状态序列内的状态的似然度信息,删除搜索中的一个特定搜索内的较小可能的状态序列,并保留一个或多个可能的状态序列;递增地为作为被观测的语音信号的函数的被保留的状态序列内的每个连续的状态计算每个被保留的状态序列的似然度信息以及被保留的状态序列内在先状态的似然度信息,并重复上述删除步骤;该识别单元当到达搜索中的一个特定搜索的最终状态时,为多个组合序列内的单独的组合序列再生下一个似然度信息,当单独的组合序列中的各个序列位于导致最终状态的联合序列的起始状态之前时,下一个似然度相当于最终状态似然度;执行下一个搜索,其中在下一个状态级搜索期间,所述的计算和删除是基于下一个似然度信息的。
17.根据权利要求16的语音识别系统,其特征在于下一个似然度信息是通过将单独的组合序列的校正系数应用到最终似然度信息,从最终的似然度信息中计算出来的,该最终似然度信息是基于典型的似然度为最终状态递增计算的。
18.一种语音识别系统,包括一用于接收语音信号的入口;一识别单元,该识别单元被安置用于在由连续的状态序列组成的组合序列中搜索这些组合序列中的至少一个比组合序列中的其他序列更可能的序列以表示一个观测语音信号,所述的搜索包括渐进的、似然度受限搜索,每个被限制在各搜索空间中的似然度包括一个状态序列的子集,这些组合序列将包含该状态序列的子集;其特征在于这些搜索中的第一个搜索包括进入多个组合序列搜索中的第一个搜索内的联合状态序列,这些组合序列在最后的状态序列终点到该联合序列都具有相同时间点的最终节点,该联合状态序列被分配一个代表多个组合序列的起始似然度;基于状态序列内的状态的似然度信息,删除搜索中的第一个搜索内的较小可能的状态序列并保留一个或多个可能的状态序列;递增地为作为被观测的语音信号的函数的被保留的状态序列内的每个连续的状态计算每个被保留的状态序列的似然度信息以及被保留的状态序列内以前状态的似然度信息,并重复上述删除步骤;该识别单元当到达搜索中的第一个搜索的最终状态时,为多个组合序列内的单独的组合序列再生下一个似然度信息,当多个组合序列的单独的组合序列中的各个序列产生位于最终状态的序列的起始状态之前时,下一个似然度相当于最终状态似然度;执行下一个搜索,其中在下一个搜索期间,所述的计算和删除是基于单独的组合序列的下一个似然度信息的。
19.一种语音识别系统,包括一用于接收语音信号的入口;一识别单元,该识别单元被安置用于在由连续的状态序列组成的组合序列中搜索这些组合序列中的至少一个比组合序列中的其他序列更可能的序列以表示一个观测语音信号,每个状态序列表示一个字码,所述的搜索包括渐进的、似然度受限搜索,每个被限制在各搜索空间中的似然度包括一个该状态序列的子集,这些组合序列将包含该状态序列的子集,该识别单元被安置用于在所述的状态序列中,确定相当于子字码边界状态的状态;为这些状态序列中的各个序列确定所述的子字码边界状态的类型,并发生在语音信号内的共用时间点,这些状态序列中的各个序列都是相应的组合序列的部分,这些组合序列由共用的时间点上的在语音上代表等价的历史记录终点的状态序列组成;从类型中的所有的子字码边界状态共有的单个随后的状态继续进行渐进的、似然度受限搜索,用于表示该类型的所述单个随后的状态似然度信息,从而对以后的状态计算似然度信息并控制以后的搜索直到下一个子字码边界状态或最终状态被确定;为所述的下一个子字码边界状态或最终状态计算多似然度信息,该最终状态,当包括子字码边界状态类型的各个成员时,相当于在所述的下一个子字码边界状态或最终状态之前的状态序列;执行下一个搜索,所述的下一个搜索单独地应用为各个成员计算的似然度信息。
20.根据权利要求19的语音识别系统,其特征在于根据在先状态序列之间的区别,将不属于该类型成员的子字码边界状态与属于该类型成员的子字码边界状态区分开来,其在先状态在越过包括该子字码状态作为其部分的状态序列的开始状态,延伸穿过该组合序列,以致于不管语音的历史记录是否超越字码的边界,这些类型被基于预定量的语音历史记录来区分。
全文摘要
语音识别包括搜索语音信号给出的许多字码序列中的最可能的一个序列。每个这种序列是一个组合序列,其包括连续的状态序列。在搜索过程中包括许多搜索区,各搜索空间中的每个搜索区包括状态序列的一个子集。在相应搜索空间中的每个搜索区中,只考虑较可能的状态序列。在第一个实施例中,不同的搜索空间是由来自一个字码的序列类型的跟随在先序列的状态序列组成的。不同的类型形成不同的搜索空间。类型是基于语音的历史记录而不是基于字码的历史记录区分的,这些字码由相当于搜索空间中的状态序列的组合序列中的状态序列表示。因此,字码或其一部分的数目的同一性被用于区分不同的类型,该数目根据由组合序列表示的一个或更多的最后的字码的长度而变化。在第二个实施例中,多个不同的组合序列通过一个联合状态序列被包括在一个搜索中,在该搜索中多个具有代表性的似然度信息被用于确定是否要删除该联合状态序列。如果没有删除,则在搜索的最后从联合序列再生不同组合序列的似然度,并且基于再生成的似然度进行进一步的搜索。在第三个实施例中,该技术被应用于搜索区内的子字码级。
文档编号G10L15/06GK1524260SQ02813499
公开日2004年8月25日 申请日期2002年6月21日 优先权日2001年7月6日
发明者F·T·B·赛德, F T B 赛德 申请人:皇家菲利浦电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1