汉语连续语音识别的集成预测搜索方法

文档序号:6595865阅读:526来源:国知局
专利名称:汉语连续语音识别的集成预测搜索方法
汉语连续语音识别的集成预测搜索方法属自动语音识别领域,其基本特征在于把带调三音子模型和三元词的统计语言模型一次性地进行集成搜索,并在解码过程中进行三元词语言模型的预测。本发明涉及词库的组织、预测语言模型的检索、局部搜索路径的裁减方面的问题。
目前语音识别比较成功的做法是基于统计模型,其基本特性就是有一些可以调整的参数,并且这些参数可以从观察数据中直接推断出来。假设A表示识别器将要解码的声学观察数据,W表示可能的单词系列,P(W/A)表示给定观察A,单词系列W被说出的概率,由统计决策,识别器应该根据下式作出决定 所以,公式1)可以进一步写成 其中P(W)是单词串W被说出的概率,P(A|W)是假设说出的单词串是W情况下观察到数据A的概率,识别系统可以

图1得到说明,识别器包括前端处理、声学模型P(A|W)、语言模型P(W)和搜索算法。搜索算法就是要在声学模型、语言模型和声学特征序列的条件下,找到具有最大概率的词序列 ,基本搜索算法主要有时间同步的Viterbi-beam搜索和深度优先的A*搜索算法。经过多年研究努力,为减少搜索的巨大计算量,出现了以多遍搜索(Multi-Pass)为代表的连续语音识别搜索框架。这些框架的一个基本思想就是逐渐加入高级的声学模型知识和语言模型知识,利用前一遍的搜索结果来启发加快后一遍的搜索过程。多遍搜索框架根据中间结果的输出可以分为两类第一类一般直接输出N个概率得分最高的句子(N-Best),第二类产生一个中间词图作为下一遍搜索的语法。事实上N-Best的句子本身也可从词图中产生,词图可以认为是N-Best算法的一个中间结果,它们的关系如图2所示。
从基本搜索算法来看,时间帧同步搜索在语音识别中被广泛采用,其实质上是一个基于Viterbi Beam搜索的动态规划技术,可以看作是时间一模型状态网格上的推进过程。假如帧同步搜索算法处理到了t时刻,此时对应的子观测序列为Y1Y2…Yt,此时该子路径W1所处的基元模型和基元内部的状态节点分别为λt和st,则子路径的得分可以定义为Pr(Wl)=∏Prob(Yi|λt,st,Wl)(公式3)在公式3)中,t+1时刻的扩展方式受语法的约束在HMM内部,St受HMM拓扑结构的约束,λt的扩展受词库的约束,而词之间W1的扩展则受语言模型的约束。其中汉语连续语音识别中最基本的约束是词库,搜索范围以及词与词之间的关联即语言模型也依赖于词库。词库一般采用如图4所示的树状组织形式,在这个图中,从根节点到叶节点表示一条路径,该路径的叶节点对应一组同音词(如图4中“按”和“暗”)。通过这种表示形式,可以充分地共享词库中共同的起始部分,减少搜索的路径数,提高搜索效率。
词库按照图4所示进行数据组织。若搜索过程中的一条局部路径i由Path(i)={W1,W2,n,s...}表示,在这儿,W1,W2表示该条路径的前面两个历史词,n表示当前路径在树中的节点号,s表示当前路径在节点n中的HMM的所处的状态。则当状态s是HMM的最后一个状态时,该条路径就要从节点n跳跃到n的扩展节点中去。如图7所示。假设m是节点n的其中一个扩展节点,则当从节点n扩展到m时,从路径i变成路径j,由于从节点n跳到节点m,该路径还没有到达叶节点,所以其词的身份尚未确定,因而其语言概率不变,同时该跃迁不占用声学时间,因而其声学得分也没有改变,所以总体得分没有改变,即Prob(Pathj)=Prob(Pathi)。这种树状搜索扩展方法,系统搜索点只有到了树的叶节点时才能确定这个词的词号,语言知识加入有很大的延迟,从而造成不可恢复的错误。同时由于路径之间得分差异不大,甚至有些完全相同,造成裁减困难。
另外在搜索过程中,大部分路径的得分非常低。保留这些得分较低的路径在空间和时间上是不现实的,也是不必要的。因而我们可以在帧同步搜索过程中动态地对路径进行剪枝,抛弃希望不大的路径。在所有扩展的N条路径中,当前最优路径表示为WM=argmax(Pr(Wl))其中l<=N (公式4)可以通过设定一个门限BEAM,所有得分在Pr(WM)与BEAM*Pr(WM)之间的路径将得到保留,进行下一步扩展,并删除其余路径。这样BEAM SEARCH将搜索量大大减少(大概只有Beam*输入观测矢量序列长度的数量级)。在传统的裁减策略中,一般采用单门限策略,即如果一条路径的概率P<=Beam*Pr(WM),则该局部路径就被裁减掉。但是由于在搜索过程中,路径动态的得分是在不断变化的,裁减太多,会带来比较多的搜索错误;裁减太少,又影响识别速度。最直接的办法是控制路径的个数,但这需要对所有路径进行排序等操作,会带来更多的计算量。
本发明的目的在于充分利用强大的带调三音子声学模型和三元词语言模型,一次性地搜索出一个最优的结果,克服多遍搜索框架中普遍存在问题,如多遍搜索问题1)不能把所有知识源一起组织进行解码,所以其算法不是最优的,并且错误是传播和扩大的;多遍搜索问题2)在前面预搜索中采用比较简单的声学模型和语言模型,带来的错误可能性比较大。
本发明的另外目的在于通过对词库组织的设计,使得语言的预测成为可能,而不需要达到根节点后才能加入语言概率,加快搜索速度。
本发明的概念说明如图3所示意。在这个搜索框架中,核心还是一个时间同步的帧搜索算法,其输入包括搜索词库,统计三元语言模型,带调三音子模型、语言预测以及语音识别特征流。对比图2可以看到相比于图2的框架,图3没有中间结果的输出;同时在图2中需要多套声学模型和语言模型,前面用简单的模型,后面再用复杂的模型,而图3则直接应用最高级的声学模型和语言模型。在这个框架中,声学模型的输入是直接的带调三音子模型。本发明的技术要点如下1.搜索裁减的多门限策略多门限裁减示意图如图6所示。设定n个门限P0,P1,P2,...,Pn,这儿P0为当前时间点路径中的最大概率值。算法如下a)判断某一条路径所落的得分区间,即如果Pi=<P>=Pi+1,则该条路径认为落在第i个区间;该区间路径个数计数器加1,即Ci++;Si=Σj=1iCj]]>b)对于i=1,...,N,计算Si。找到满足Si>=CountThread的最小i,则裁减门限就为Pi。c)根据Pi门限裁减路径。
通过上述过程就能比较准确地控制需要扩展的路径数。这些门限经验值的设计可以通过统计而得到。2.词库组织需要充分运用语言模型的知识进行路径得分的预测。因而本发明特别加入了另外一个信息,即从某节点n开始扩展可以到达的叶节点的集合,即词的集合。在靠近根节点的前层节点中,每一个节点可以延伸的叶节点和词的集合是相当大的,直接记录这个集合是不现实的。在本发明中,对原有词库中的词进行重新编号,编号的原则是把词库同词库树叶节点所对应的词排列次序一致。利用该排序,就可以采用非常紧凑的结构对此加以描述,即记录该节点所接词集合中的第一个词与最后一个词编号就可。所以每个节点都有一个Wx和Wy。如图7所示。显然若节点m是由节点n扩展,则必有Wmx<=Wnx<=Wny<=Wmy(公式5)如上所述,韵母的模型编号依赖于左右边的声母,左二右二的韵母声调,和本身的声调。这样在搜索时,当扩展一个韵母时,由于左边的上下文信息已经知道,但右边的上下文信息是未知的,所以必须进行预扩展。根据上述,实际上需要预扩展后面两层节点,这样造成路径数的急剧膨胀。在本词树构造中,把韵母的声调信息附在同一音节的相应声母上,这样使得在搜索过程中只需要预扩展一层节点,如图5所示。3.语言模型预测改进的算法就是在搜索过程中在树节点扩展的任一点都可以加大量的时间。在此种情况下从路径i扩展到路径j的概率得分计算变为Prob(Pathj)=[Prob(Pathi)-ProbLm(W1,W2,n)]+ProbLm(W1,W2,m);(公式6)在上述公式6中,ProbLm(W1,W2,n)表示从节点n出发的所有词中与W1,2三元连接最大的概率。即ProbLm(W1,W2,n)=MaxProb(W1,W2,W3),(式7)这儿W3为所有从节点n出发可以到达的词。公式7的要点在于每扩展一个新的节点,就把最逼近的语言概率加入到路径中,从而提前把语言概率的有关信息加入到搜索中,提高搜索速度和识别准确率。4.预测概率检索上述ProbLm(W1,W2,m)的检索在连续语音识别中大概需要占用20%的时间。而通过大量的观察,发现在某一段时间里,函数ProbLm(W1,W2,m)检索过程W1,W2,m参数重复的机率非常之大,这种重复可由图8给以解释假设在某个时间点t,有5条路径,其所处词树节点n相同,历史词w1,w2也相同,只是所处HMM状态不同,即分别处于状态0,1,2,3,4。显然在时间t,处于状态4的路径要扩展到下一个节点m。则需要检索ProbLm(w1,w2,m)。则在时间t+1所处在s=3的路径要跳跃到状态4,并进一步扩展到节点m也需要检索同样的概率。T+2时处在节点2的原路径同样要扩展到节点m。
另外可以发现,路径皆是通过父节点扩展而来的,而前面父节点n出发最大的三元语言概率的词可能刚好落在本节点m所扩展的范围内,此时ProbLm(W1,W2,m)=ProbLm(W1,W2,n),如Wnx<=Wmx<=W3<=Wmy<=Wny基于上述观察,设立了一个概率缓冲区,该缓冲区每一项由四个主要元素组成ProbBuffer={W1,W2,W3,n,MaxLm}。在搜索过程中,需要调用ProbLm函数时,可在缓冲区检索首先进行检索1)如果W1,W2,m在缓冲区中找到,则直接输出MaxLm2)如果W1,W2,m在缓冲区中找不到,但在缓冲区中可以找到W1,W2,n,其中n是m的父节点,而且满足Wmx<=W3<=Wmy,则直接输出MaxLm3)否则直接去语言模型检索ProbLm本发明的优点在于针对上述搜索算法的缺点特别是针对汉语中需要额外集成汉语的声调这种超音段信息需求出发,把连续语音识别所必须的各种输入如语音声学特征序列、词库、声学模型和语言模型进行一次性处理,得出一条概率意义上最优的词序列的识别方法能够充分有效地利用所有可以利用的知识源,从而最大限度地减少搜索错误,提高搜索效率。
特别强调的是,上述发明说明虽然是在汉语连续语音识别一次性搜索框架下实现,但原理以及算法适合于任何语音识别的搜索问题。
其中测试库采用国家“863”标准测试数据库,该库由6男6女发音组成,每人发音40句,共480句句子,句子选自《人民日报》,采用本搜索算法后识别率提高6%之多,而识别速度则基本相当。2.在人机对话系统中的应用现已完成的应用领域包括旅游信息咨询系统LoadStar;旅馆预定系统以及餐馆翻译帮助系统,通过替换词表,替换语言模型本发明就可以非常简单地进行不同任务领域的系统移植,也可说明本发明同具体应用领域、词表和语言模型等无关。系统由语音识别、语言理解、对话管理、语言响应生成、语音合成等五大模块组成。其中语音识别模块内含采用本发明而实现的算法。
权利要求
1.一种汉语连续语音识别的集成预测搜索方法,其特征在于把带调三音子模型和三元词的统计语言模型一次性地进行集成搜索,并在解码过程中进行语言模型的预测;搜索的核心算法采用时间帧同步多门限裁减搜索,在搜索过程中利用词库的特殊结构和三元统计模型进行预测语言模型的检索。
2.根据权利要求1所述的一种汉语连续语音的集成预测搜索算法,其特征在于搜索词库按树状组织并具有以下结构特征1)对词库中的词进行编号,编号的原则是词库编号与按树状组织后树叶节点所对应的词的排列顺序一致;2)树状组织的词库,其每个代表模型的节点含有两个词的编号(Wx,Wy),表示从该节点出发可以扩展的词的范围;3)若节点m是由节点n扩展而得到,则必有Wmx<=Wnx<=Wny<=Wmy。
3.根据权利要求1、2所述的一种汉语连续语音集成搜索方法,其特征在于其声学模型采用了带调的三音子模型,带调三音子韵母模型的模型不但依赖于左、右边的声母而且依赖于左二右二的韵母声调和本身的声调,因而在词库的树状组织中加入声调信息;通过把韵母的声调信息附在同一音节的相应声母上,相应地使得在搜索过程中只需要预扩展一层节点。
4.根据权利要求1所述的一种汉语连续语音集成搜索方法,其特征在于采用了一种多门限的束搜索;设定n个门限P0,P1,P2,...,Pn,算法如下a)判断某一条路径所落的得分区间,即如果Pi=<P>=Pi+1,则该条路径认为落在第i个区间;该区间路径个数计数器加1,即Ci++;Si=Σj=1iCj]]>b)对于i=1,...,N,计算Si。找到满足Si>=CountThread的最小i,则裁减门限就为Pi。c)根据Pi门限裁减路径。
5.根据权利要求1所述的一种汉语连续语音的集成搜索策略,其基本特征在于采用了三元语言模型的预测;从节点n扩展到节点m时,预测的计算公式为Prob(Pathj)=[Prob(Pathi)-ProbLm(W1,W2,n)]+ProbLm(W1,W2,m)在公式Prob(Pathj)=[Prob(Pathi)-ProbLm(W1,W2,n)]+ProbLm(W1,W2,m)中,ProbLm(W1,W2,x)表示从节点x出发的所有词中与W1,W2三元连接最大的概率,即ProbLm(W1,W2,x)=MaxProb(W1,W2,W3),此处W3为所有从节点x出发可以到达的词。
6.根据权利要求1、5要求所述的一种汉语连续语音的集成搜索策略,其基本特征在于设立了一个概率检索缓冲区,该检索缓冲区每一项由四个元素组成ProbBuffer={W1,W2,W3,n,MaxLm};在搜索过程中,需要调用ProbLm(W1,W2,m)函数时,可在缓冲区首先进行检索1)在缓冲区中找到W1,W2,m,则直接输出MaxLm2)在缓冲区中找不到W1,W2,m,但在缓冲区中可以找到W1,W2,n,其中n是m的父节点,而且满足Wmx<=W3<=Wmy,则直接输出MaxLm3)否则直接去语言模型检索ProbLm。
全文摘要
汉语连续语音识别的集成预测搜索方法属自动语音识别领域,其基本特征在于把带调三音子模型和三元词的统计语言模型一次性地进行集成搜索,并在解码过程中进行语言模型的预测。本发明涉及集成搜索方法、词库的组织、预测语言模型的检索、局部搜索路径的裁减方面的问题。
文档编号G06F17/30GK1346112SQ0012497
公开日2002年4月24日 申请日期2000年9月27日 优先权日2000年9月27日
发明者徐波, 黄泰翼 申请人:中国科学院自动化研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1