语音识别系统及用于语音识别系统的特征矢量集的压缩方法

文档序号:2836110阅读:219来源:国知局
专利名称:语音识别系统及用于语音识别系统的特征矢量集的压缩方法
技术领域
本发明涉及一种语音识别系统及一种用于语音识别系统的特征矢量集的压缩方法。


图1所示是一种已知语音识别系统的结构框图,模拟语音经过模数变换单元11后变换为计算机可处理的数字信号,然后利用特征提取单元12对该数字信号进行分帧处理,通常帧长为20ms,帧移为10ms,提取每一帧语音的MFCC参数,得到MFCC矢量序列,解码运算单元14根据输入语音的特征矢量序列、声学模型13及语言模型15,采用一定的搜索策略,如深度优先搜索(Viterbi算法)或广度优先搜索,得到识别的结果,其中语言模型在进行大词表连续语音识别时,用于将语言层的知识应用到语音识别系统中,提高系统的识别精度。
随着微电子技术和通讯技术的高速发展,手机等嵌入式通讯装置几乎已成为人们工作生活必备的物品,而人们对其功能的要求也越来越高,这使得将语音技术应用于此类装置成为研究的热点,现有手机的语音功能需预先对特定人的语音建模,只能识别有限的语音指令,而不能真正实现大词表语音识别,例如汉语全音节的识别和录入。其原因主要在于此类装置的资源有限,不具有运行汉语非特定人单音节语音识别系统所需的存储空间和运算能力,因此如何在保证识别性能的同时,降低现有语音识别系统所需的存储空间,减少其所需的运算量,是急待解决的技术问题。
通常在当今流行的语音识别系统中,声学模型都是用隐含马尔可夫模型(HMM)来描述,由于基于连续概率密度的隐含马尔可夫模型(CDHMM)与基于离散概率密度的HMM相比,更能精确地描述人的发音,因此大多数语音识别系统中声学模型都采用CDHMM。但CDHMM的声学模型需占用大量的存储空间,以现有的非特定人汉语单单音节语音识别系统为例,其声学模型占据了4M字节的存贮空间,这在资源有限的嵌入式硬件平台(如手机、PDA等)上几乎不可实现。
一种降低存储量的办法是减少CDHMM的状态数或每个状态的高斯分布个数,但这会大大降低系统的识别性能。
另一种方法是对声学模型进行矢量量化以压缩数据生成码本,其最常用的算法是K-means聚类算法,先将该特征矢集划分为若干子空间,再对每个子空间的所有矢量进行聚类得到一码本,各子空间码本生成的步骤如图4所示令k=0,将子空间划分为一个子集合,计算该子集合的中心矢量,得到初始化码本,步骤200;如果k=K,那么就已经得到K-bits的码本,聚类结束,否则执行步骤220,步骤210;令k=k+1,将所有子集合一分为二,生成新的中心矢量,合成该子空间的新码本,步骤220;降该子空间各矢量分配到与其距离度量最小的中心矢量对应的子集合中,步骤230;计算该子空间所有矢量的总距离度量变化率,步骤240;将该变化率与一预设变化率的门限值比较,若该变化率小于或等于该门限值,回到步骤210;若该变化率大于该门限值,则执行步骤250;根据各子集合分配的所有矢量重新计算该子集合的中心矢量,形成新码本并回到步骤230,步骤260。
在上述聚类的过程中,常常出现某些子集合所包含的矢量数很少,导致聚类后集合中矢量与其对应的码字的距离度量总和仍然偏大,这在给定码本大小的情况下会影响聚类的效果。而将用该方法压缩后的声学模型用于语音识别系统时,会降低语音识别的准确率。而将该算法应用于语音特征集的压缩,可得到的特征码本,如果某些码字包含的矢量太少,在给定码本大小的条件下,特征码本的精度会降低,在对输入的语音特征序列量化编码时会影响编码的精度,从而会导致语音识别系统的识别性能下降。
此外,在CDHMM中,在某一状态下特征矢量的概率分布函数是用多个高斯分布函数的加权和来描述,这样能比较精确地描述特征矢量空间分布。然而在大词表语音识别系统中如果采用CDHMM,那么在解码运算单元进行解码时需要多次计算高斯概率,通常在解码过程中所需要的计算量都集中在高斯概率计算上,这需要大量的计算量。在手机等资源有限的嵌入式硬件平台上进行大词表语音识别时,会导致语音识别系统反应速度很慢,无法满足实际使用的需要。
为了达到上述目的,本发明提供一种用于语音识别系统的特征矢量集的压缩方法,先将该特征矢集划分为若干子空间,再对每个子空间的所有矢量进行聚类得到一码本,各子空间码本生成的步骤包括(a)将该子空间所有矢量划分到子集合中,计算该子集合的中心矢量,得到初始化码本;(b)将所有子集合一分为二,生成新的中心矢量以合成该子空间的新码本;(c)分别找到与该子空间各矢量距离度量最小的中心矢量,将各矢量分配到与其距离度量最小的中心矢量对应的子集合中;(d)计算出该子空间所有矢量的总距离度量变化率;(e)将该变化率与一预设变化率的门限值比较;若该变化率小于或小于等于该门限值,再判断是否已获得预定比特数的码本,若是,则结束,若否,则执行步骤(b);若该变化率大于等于或等于该门限值,则执行步骤(f);
(f)基于各子集合中的矢量个数和平均距离度量,对某些子集合进行合并和分裂;以及(g)将分裂得到的子集合的中心矢量作为代表该子集合的码字,得到该子空间的新码本,并回到步骤(c)。
上述方案中,其特点是所述步骤(b)又可分为以下步骤计算出该子集合所有矢量相对于其中心矢量的平均方差值;将各该中心矢量加上其对应的平均方差值的一半,得到一个新的中心矢量,再将各该中心矢量减去其对应的平均方差值的一半,得到另一个新的中心矢量;以及将该子空间新生成的中心矢量合在一起得到新的码本。
上述方案中,其特点是所述子空间所有矢量的总距离度量变化率按以下方法计算计算所述子空间各矢量与离其距离度量最小的中心矢量之间的距离的总和,得到新的总距离度量;将原总距离度量减去新的总距离度量得到一差值;再将该差值的绝对值除以原总距离度量即得到该总距离度量变化率。
上述方案中,其特点是所述步骤(e)中,在判断是否已获得预定比特数的码本前,还有一将新的总距离度量值赋与原总距离度量值的步骤;且在所述步骤(g)中,在回到步骤(c)之前,还有一将新的总距离度量值赋与原总距离度量值的步骤。
上述方案中,其特点是所述的合并是指将包含矢量个数小于某一预设值的各子集合的中心矢量从码本中删除。
上述方案中,其特点是所述的分裂是指一个子集合被合并后,先计算各子集合中所有矢量与该子集合中心矢量的距离之和,再计算该和与该子集合的矢量个数的比值,将所得比值最大的子集合分为二个子集合,同时生成两个新的中心矢量。
上述方案中,其特点是所述的特征矢量为LPC系数、倒谱系数、滤波器组系数或MFCC系数。
上述方案中,其特点是该特征矢量集为一声学模型或一语音特征集,该声学模型压缩后得到一高斯码本,该语音特征集压缩后得到一特征码本。
由上可知,本发明方法在对语音特征矢量集聚类得到码本的过程中,增加了根据子集合中矢量数及矢量的总距离度量来动态合并和分裂子集合的步骤,减小了聚类后集合中矢量与其对应的码字的距离度量总和,提高了聚类算法的精度,将本发明方法压缩后的码本应用于语音识别系统中,可在保证语音系统识别性能的同时,大大降低了系统的存储量。
本发明要解决的另一技术问题是提供一种语音识别系统,可在保证语音系统识别性能的前提下,降低系统的存储量。
为了达到上述目的,本发明提供一种语音识别系统,至少包括一模数变换单元、一特征提取单元、一解码运算单元及一声学模型,用于接收语音输入信号并得到相匹配的识别结果,其中该模数变换单元将该语音输入信号转换为一数字信号;该特征提取单元将该数字信号进行分帧处理,提取语音特征参数得到输入语音的特征矢量序列;该解码运算单元对该特征矢量序列进行解码运算得到识别结果。该声学模型为采用本发明压缩方法得到的高斯码本。上述系统中,其特点是还包括一语言模型。
由于上述识别系统采用了本发明的压缩方法得到的压缩模型,因此可在保证语音系统识别性能的前提下,大大降低了系统的存储量。
本发明要解决的又一技术问题是提供一种语音识别系统,可在保证语音系统识别性能的前提下,提高系统的识别速度。
为了达到上述目的,本发明提供一种语音识别系统,至少包括模数变换单元,将输入语音的模拟信号变换为数字信号;特征提取单元,对该数字信号进行分帧处理,提取每一帧语音的特征参数,得到其特征矢量序列;特征码本,由一定数量的码字组成;量化编码单元,根据特征码本将输入语音的特征矢量序列转换为特征码字序列;概率表,存储了特征码本中每个码字对应高斯码本中每个码字的概率值;以及解码运算单元,对该特征码字序列进行解码运算得到识别结果,运算中对该特征码字序列中的各个码字,从概率表中直接查找与其具有最大匹配概率的高斯码字。
上述方案中,其特点是还包括一语言模型,上述方案中,其特点是所述量化编码单元根据以下步骤将输入语音的特征矢量序列转换为特征码字序列将所述特征矢量序列划分为与所述特征码本相同数量的子空间,每一子空间对应于一个码本;计算各子空间中所有特征矢量与相应码本中的各码字之间的距离度量,降与该特征矢量具有最小距离度量的码字作为所述特征码字序列中对应该特征矢量的码字;将所述特征矢量序列各个子空间所有矢量所对应的码字按原矢量顺序组合起来,即得到对应的特征码本码字序列。
上述方案中,其特点是所述概率表是通过以下步骤生成的计算高斯码本中各码字对应的均值矢量和方差矢量;利用上述均值矢量和方差矢量,计算所述特征码本中各个码字与高斯码本中各个码字相匹配的对数概率值;将特征码本中的所有码字与高斯码本中的所有码字相匹配的概率值储存起来即可得到概率表。
由上可见,应用本发明上述的识别系统及方法,在解码的过程中不需要计算高斯概率,只须从预先存储的概率表中查找出所需的概率值,大大减少了解码运算量,因而可极大地提高系统的识别速度。
本发明要解决的再一技术问题是提供一种语音识别系统,可在保证语音系统识别性能的前提下,降低系统的存储量,并且提高系统的识别速度。
为了达到上述目的,本发明提供一种语音识别系统,至少包括模数变换单元,将输入语音的模拟信号变换为数字信号;特征提取单元,对该数字信号进行分帧处理,提取每一帧语音的特征参数,得到其特征矢量序列;特征码本,采用本发明压缩方法得到的特征码本;量化编码单元,根据特征码本将输入语音的特征矢量序列转换为特征码字序列;概率表,存储了该特征码本中每个码字对应高斯码本中每个码字的概率值,该高斯码本为采用本发明压缩方法的高斯码本;以及解码运算单元,对该特征码字序列进行解码运算得到识别结果,运算中对该特征码字序列中的各个码字,从概率表中直接查找与其具有最大匹配概率的高斯码字。
上述系统的声学模型用特征码本和概率表替代,从而大大降低了系统所需的存储空间,而且还能保证系统的识别精度仅有微小的下降。同时,由于概率表的使用大大减少了系统的计算量,根据实验结果,与已有语音识别系统相比,本发明识别系统的识别速度可以提高50%以上。
本发明要解决的再一技术问题,是提供一种读音识别方法,能提高识别速度。
为了达到上述目的,本发明提供一种语音识别方法,包括以下步骤将输入的语音模拟信号变换为数字信号;对该数字信号进行分帧处理,提取每一帧语音的特征参数,得到输入语音的特征矢量序列;利用特征码本对所述特征矢量序列进行量化编码,得到相应的特征码字序列;进行解码运算得到识别结果,运算中对该特征码字序列中的各个码字,从概率表中直接查到与其具有最大匹配概率的高斯码字。
上述方法中,其特点是所述的特征码本是通过本发明上述的压缩方法得到的,所述的概率表是通过以下步骤生成的计算高斯码本中各码字对应的均值矢量和方差矢量;利用上述均值矢量和方差矢量,计算所述特征码本中各个码字与高斯码本中各个码字相匹配的对数概率值;将特征码本中的所有码字与高斯码本中的所有码字相匹配的概率值储存起来即可得到概率表。
其中的高斯码本也是通过本发明上述的压缩方法得到的。
采用上述识别方法,可在保证语音系统识别性能的前提下,降低系统的存储量,并且提高系统的识别速度。
图2是子空间划分和聚类的示意图。
图3是本发明改进的K-means聚类算法的流程图。
图4是已知的K-means聚类算法的流程图。
图5是本发明实施例的语音识别系统的识别流程图。
图6是本发明实施例的语音识别系统的结构框图。
语音特征有多种,如LPC系数、倒谱系数、滤波器组系数、Mel频域倒谱系数、(Mel filter frequency coefficients,MFCC)等,常用的特征参数为MFCC,这里我们并不关心采用何种参数,本发明可适用于任何一种特征参数。为了理解方便,以下以MFCC系数为例说明本发明用于语音识别系统的特征矢量集的压缩方法。
假设每一帧语音用L个MFCC参数,L个一阶差分MFCC参数和L个二阶差分MFCC参数合并成3*L=X维矢量作为特征参数,构成一X维的语音特征集,相应地声学模型中高斯正态分布的维数也是X维,如图2所示,首先将X维语音特征集或声学模型21中的矢量划分到Y个子空间22,每个子空间22的维数是X/Y=M维,分别对Y个M维的特征子空间22和Y个M维的高斯子空间的所有矢量用改进的K-Means聚类算法23进行聚类,每个特征子空间和每个高斯子空间分别获得包含设定个数码字的码本24,那么我们就将所有的特征码本组合在一起来代表特征空间,将所有的高斯码本组合在一起来代表声学模型的高斯空间。
下面具体说明如何用改进的K-Means聚类方法从M维子空间得到表述该空间的码本。假设该M维的子空间为M={m1,...,mN},该空间共有N个矢量,我们要将这N个矢量聚类到K比特码本,K值可预先设定,最终得到的码本包含2K个码字,每个码字由M维的中心矢量构成,现参照图3中的流程对该方法说明如下步骤100令k=0bit,将该子空间所有矢量划分为一个子集合,计算该子集合的中心矢量cjj=1,...,2k,得到初始化码本,子集合中心矢量的计算方法如下cj=1NjΣi=1Njmji,]]>其中Nj是子集合 中的矢量个数;步骤110如果k=K,那么就已经得到K-bits的码本,聚类结束。否则执行步骡120;步骤120令k=k+1,将所有子集合一分为二,拆分的方法如下第一分步骤对每一子集合中的所有矢量,计算出其相对于该子集合中心矢量cJ的平均方差值,记为δJ第二分步骤按以下公式生成两个新的中心矢量cI1=cJ+0.5·δJ]]>cI2=cI-0.5·δJ]]>第三分步骤将所有中心矢量合在一起生成k-bits码本 步骤130找到与该子空间各矢量距离度量最小的中心矢量,降各矢量分配到该中心矢量对应的子集合中,具体方法如下第一分步骤对于该子空间中的每一个矢量ml∈M,l=1,...,N,计算出与它距离度量最小的中心矢量cn(l),使得n(l)=argminJ=1,...,2kd(ml,cj)]]>这里d(ml,cj)是ml和cj之间的距离;第二分步骤将该矢量分配到该中心矢量对应的子集合中;步骤140计算出该子空间所有矢量的总距离度量变化率,总距离度量的初始化值为D1=le-20;对该子空间中的所有矢量计算总距离D2=Σl=1Nd(ml,cn(l))]]>该总距离度量的变化率η=|D1-D2|/D1;步骤150将该变化率η与一预设的总距离度量变化率门限值θ作比较,如果η小于等手θ,令D1=D2,并回到步骤110;如果η大于θ,则执行步骤160。
步骤160子集合的分裂和合并基于每一个子集合中的矢量个数NJ和每一子集合的总距离度量DTj,通过以下步骤进行子集合的分裂和合并每一分步骤合并如果NJ<φ,那么子集合CLj就将被合并,其中心矢量将会从码本中删除,这里j=1,…,2k,φ是预先定义的矢量个数门限值。
第二分步骤分裂如果有一个子集合被合并,那么需要选择一个子集合做分裂,选择的准则如下m=argmaxJ=1,....2kDTJ/NJ,]]>其中DTj=Σi=1N1d(mJ1,cJ),]]> 是该子集合中的矢量。
即根据子集合中所有矢量与中心矢量的总距离度量除以该子集合包含的矢量数,得到每一子集合的平均距离度量,再将平均距离度量最大的子集合CLm进行分裂;步骤170按步骤120的第一和第二分步骤计算出分裂得到的新的子集合的中心矢量,与原有的中心矢量一起构成新的码本,并设置D1=D2,回到步骤130。
通过上述聚类算法即可得到该子空间的码本,在我们的实验结果中,聚类算法的精度比原算法提高了18.5%。将所有特征子空间的码本组合在一起就得到特征码本,将所有高斯子空间的码本组合在一起就得到高斯码本,用本发明上述压缩方法得到的声学模型及语音特征集可应用于各种语音识别系统中,大大减少原声学模型占据的存储空间,并具有良好的识别性能。
以下举例说明该压缩方法在已知语音识别系统声学模型上的应用。
以非特定人汉语单音节语音识别系统采用的声学模型为例。该系统的语音特征采用12阶MFCC,12个一阶差分MFCC和12个二阶差分MFCC共36个参数,声学模型采用CDHMM,模型所占存储空间为4Mbytes。首先将声学模型的高斯空间分为12个子空间,每个子空间是3维,然后用前述的改进的K-Means聚类算法对高斯空间的每个子空间聚类,生成7bits,128个码字的高斯码本,由于每个高斯码字由一个均值矢量和一个方差矢量组成,因此每个高斯码字所占的字节数为高斯子空间维数*2*4bytes同时为了从高斯码本中恢复出原来的声学模型,需要一张索引表,因此高斯码本大小可计算如下子空间个数*高斯码本码字数*每个码字所占的字节数+索引表=12*128*6*4+216000=252864bytes系统的存储空间从4M字节降低到了约252K字节,由于本发明压缩方法的聚类精度很高,因此采用此算法得到的高斯码本作为声学模型的语音识别系统,除大大降低了系统所需的存储空间外,实验结果证明系统的识别精度仅有微小的下降,从而可应用于手机等嵌入式装置中。
图5所示是本发明实施例语音识别系统的识别流程图,其识别的步骤如下。
步骤300将输入的语音模拟信号变换为数字信号;步骤310对该数字信号进行分帧处理,提取每一帧语音的特征参数,得到输入语音的特征矢量序列;
步骤320利用特征码本对所述特征矢量序列进行量化编码,得到相应的特征码字序列;步骤330进行解码运算得到识别结果,运算中对该特征码字序列中的各个码字,只需从概率表中直接查找即可找到与其具有最大匹配概率的高斯码字。
其对应的系统框图如图6所示,该语音识别系统由模数变换单元61、特征提取单元62、特征码本63、量化编码单元64、概率表65、解码运算单元66及语言模型67组成,当然,如果只应用于汉语单音节的语音识别,则不需要语言模型67。其中模数变换单元61,用于将输入语音的模拟信号变换为数字信号;特征提取单元62,对该数字信号进行分帧处理,提取每一帧语音的特征参数,得到其特征矢量序列;特征码本63,可用本发明上述的压缩方法对语音特征集压缩得到,也可以采用其它已知的压缩方法得到;量化编码单元64,根据特征码本63对输入语音的特征矢量序列进行量化编码,将其转换为特征码字序列。假设输入语音的特征矢量序列为{A1,A2,...,AT},其维数为X,特征码本63中的子空间个数为Y,其维数为X/Y=M,首先将特征矢量序列也划分为Y个子空间,每一子空间对应于一个码本,其在第i个特征子空间的矢量序列为{Oi1,Oi2,...,OiT},1≤i≤Y,对序列{Oi1,Oi2,…,OiT}量化编码就是要从相应的特征码本{Fi1,Fi2,....FiL}中找出相应的具有最小距离度量的码字序列,L为码本中的码字数,其步骤如下首先,计算特征矢量Oit与相应码本中的码字Fij之间的距离度量Ditj=Σm=1M(Oit(m)-Fij(m))2,---1≤t≤T,1≤i≤Y,1≤j≤L]]>其中Oit(m)和Fij(m)分别是Oit和Fij的第m个分量,然后,求Oit最小度量距离的码字索引nit=argminDitj1≤i≤L-----1≤t≤T,1≤i≤Y]]>那么Oit经过量化编码后对应的码字为 对特征矢量序列的各个子空间分别进行量化编码,就得到了该特征矢量序列的特征码字序列。
概率表65,存储了特征码本63中每个码字对应高斯码本(该高斯空间的码本集可用本发明上述的压缩方法对声学模型压缩得到,也可以采用其它的压缩方法得到)中每个码字的概率值,该概率表的生成过程如下假设第i个特征子空间的码本为{Fi1,Fi2,....FiL},L为该码本的码字个数,那么X维特征空间的Y个M维子空间的码本集为{Fl1,Fl2,....FlL,.....,FY1,FY2,...,FYL}假设第i个高斯子空间的码本为{Gi1,Gi2,....GiL},L为该码本的码字个数,那么X维高斯空间的Y个M维子空间的码本集为{Gl1,Gl2,....GlL,.....,GY1,GY2,...,GYL},假设高斯码字Glk对应的均值和方差矢量分别为mlk,σlk,通常在解码算法中用到的概率值都是对数概率值,因此特征码本中某个码字Fij与高斯码本中某个码字Glk相匹配的对数概率值可用下式计算ln(12πσlk2exp(-(Fij-mlk)·(Fij-mlk)/σlk2)]]>计算所有特征码本中的码字与高斯码本中的所有码字相匹配的概率值,储存起来即可得到概率表。
解码运算单元66,进行解码运算得到识别结果,运算中对该特征码字序列中的各个码字,只需从概率表中直接查找即可找到与其具有最大匹配概率的高斯码字。
及语言模型67,在进行连续语音输入时,可借助语言层的知识应用提高系统的识别精度。
上述的模数变换单元61可用一模数变换芯片来执行,特征提取单元62、量化编码单元64及解码运算单元66的功能可由CPU来完成,而概率表65、特征码本63及语言模型67均存储在存储器中。
由上可见,应用本发明上述的识别系统及方法,在解码的过程中不需要计算高斯概率,只须从预先存储的概率表中查找出所需的概率值,大大减少了解码运算量,因而可极大地提高系统的识别速度。
下面通过一具体实施例,说明本发明公开的语音识别系统采用了本发明压缩方法得到的特征码本和概率表时,在减少存储空间和提高运算速度上的突出效果。
还以非特定人汉语单音节语音识别系统为例进行说明。在该系统中,语音特征采用12阶MFCC,12个一阶差分MFCC和12个二阶差分MFCC共36个参数,声学模型采用CDHMM,模型所占存储空间为4Mbytes。我们将语音特征集中的特征空间36维矢量分为12个子空间,每个子空间为3维,相应地声学模型的高斯空间也分为12个子空间,每个子空间也是3维,然后用前述的改进的K-Means聚类算法分别对特征空间的每个子空间聚类,生成7bits,128个码字的特征码本,同样对高斯空间的每个子空间聚类,生成7bits,128个码字的高斯码本。然后计算出特征码本中每个码字与高斯码本中每个码字的概率值存储在概率表中,特征码本和概率表的大小计算如下特征码本大小子空间个数*码本码字数*子空间的维数*每维占用的字节数=12*128*3*4=18432字节。
概率表大小子空间个数*特征子空间码本码字数*高斯子空间码本码字数*每个概率占用的字节数=12*128*128*2=393216字节。
系统的声学模型可用特征码本和概率表替代,因此系统的存储从4M字节降低到了约412K字节,从而大大降低了系统所需的存储空间,而且还能保证系统的识别精度仅有微小的下降。同时,由于概率表的使用大大减少了系统的计算量,根据实验结果,与已有语音识别系统相比,本发明识别系统的识别速度可以提高50%以上。
本发明识别系统在存储空间和运算速度等性能上的大幅提升,使汉语全音节的语音识别在手机等嵌入式设备上的应用成为可能,将其应用于其它装置上也能在优化系统的性能,提高系统的反应速度。
权利要求
1.一种语音识别系统,至少包括模数变换单元,将输入语音的模拟信号变换为数字信号;特征提取单元,对该数字信号进行分帧处理,提取每一帧语音的特征参数,得到其特征矢量序列;特征码本,由一定数量的码字组成;量化编码单元,根据特征码本将输入语音的特征矢量序列转换为特征码字序列;概率表,存储了特征码本中每个码字对应高斯码本中每个码字的概率值;以及解码运算单元,对该特征码字序列进行解码运算得到识别结果,运算中对该特征码字序列中的各个码字,从概率表中直接查找与其具有最大匹配概率的高斯码字。
2.如权利要求1所述的语音识别系统,其特征在于还包括一语言模型。
3.如权利要求1所述的语音识别系统,其特征在于所述该量化编码单元根据以下步骤将输入语音的特征矢量序列转换为特征码字序列将所述特征矢量序列划分为与所述特征码本相同数量的子空间,每一子空间对应于一个码本;计算各子空间中所有特征矢量与相应码本中的各码字之间的距离度量,将与该特征矢量具有最小距离度量的码字作为所述特征码字序列中对应该特征矢量的码字;将所述特征矢量序列各个子空间所有矢量所对应的码字按原矢量顺序组合起来,即得到对应的特征码本码字序列。
4.如权利要求1所述的语音识别系统,其特征在于所述概率表是通过以下步骤生成的计算高斯码本中各码字对应的均值和方差矢量;利用上述均值和方差矢量,计算所述特征码本中各个码字与高斯码本中各个码字相匹配的对数概率值;将特征码本中的所有码字与高斯码本中的所有码字相匹配的概率值储存起来即可得到概率表。
5.一种语音识别方法,包括以下步骤将输入的语音模拟信号变换为数字信号;对该数字信号进行分帧处理,提取每一帧语音的特征参数,得到输入语音的特征矢量序列;利用特征码本对所述特征矢量序列进行量化编码,得到相应的特征码字序列;进行解码运算得到识别结果,运算中对该特征码字序列中的各个码字,从概率表中直接查到与其具有最大匹配概率的高斯码本中的高斯码字。
6.如权利要求5所述的语音识别方法,其特征在于所述的特征码本是由语音特征集、所述高斯码本是由声学模型通过以下步骤压缩得到的先将声学模型和语音特征集划分为若干子空间,再对每个子空间的所有矢量进行聚类得到一码本,各子空间码本生成的步骤包括(a)将该子空间所有矢量划分到子集合中,计算该子集合的中心矢量,得到初始化码本;(b)将所有子集合一分为二,生成新的中心矢量以合成该子空间的新码本;(c)分别找到与该子空间各矢量距离度量最小的中心矢量,将各矢量分配到与其距离度量最小的中心矢量对应的子集合中;(d)计算出该子空间所有矢量的总距离度量变化率;(e)将该变化率与一预设变化率的门限值比较;若该变化率小于或小于等于该门限值,再判断是否已获得预定比特数的码本,若是,则结束,若否,则执行步骤(b);若该变化率大于等于或等于该门限值,则执行步骤(f);(f)基于各子集合中的矢量个数和平均距离度量,对某些子集合进行合并和分裂;以及(g)将分裂得到的子集合的中心矢量作为代表该子集合的码字,得到该子空间的新码本,并回到步骤(c)。
7.如权利要求5所述的语音识别方法,其特征在于所述的概率表是通过以下步骤生成计算高斯码本中各码字对应的均值矢量和方差矢量;利用上述均值矢量和方差矢量,计算特征码本中某个码字与高斯码本中某个码字相匹配的对数概率值;将特征码本中的所有码字与高斯码本中的所有码字相匹配的概率值储存起来即可得到概率表。
8.如权利要求6所述的语音识别方法,其特征在于所述步骤(e)中,在判断是否已获得预定比特数的码本前,还有一将新的总距离度量值赋与原总距离度量值的步骤;且在所述步骤(g)中,在回到步骤(c)之前,还有一将新的总距离度量值赋与原总距离度量值的步骤。
9.如权利要求6所述的语音识别方法,其特征在于所述的合并是指将包含矢量个数小于某一预设值的各子集合的中心矢量从码本中删除。
10.如权利要求6所述的语音识别方法,其特征在于所述的分裂是指一个子集合被合并后,先计算各子集合中所有矢量与该子集合中心矢量的距离之和,再计算该和与该子集合的矢量个数的比值,将所得比值最大的子集合分为二个子集合,同时生成两个新的中心矢量。
全文摘要
本发明公开一种用于语音识别系统的特征矢量集的压缩方法,在对语音特征矢量集聚类得到码本的过程中,增加了根据子集合中矢量数及矢量的总距离度量来动态合并和分裂子集合的步骤,减小了聚类后集合中矢量与其对应的码字的距离度量总和,提高了聚类算法的精度,将本发明方法压缩后的码本应用于语音识别系统中,可在保证语音系统识别性能的同时,大大降低了系统的存储量。本发明还公开一种语音识别系统,用特征码本和概率表代替声学模型,在解码的过程中不需要计算高斯概率,只须从预先存储的概率表中查找出所需的概率值,大大减少了解码运算量,因而可极大地提高系统的识别速度。
文档编号G10L15/00GK1455389SQ0214868
公开日2003年11月12日 申请日期2002年11月15日 优先权日2002年9月30日
发明者潘接林, 韩疆, 刘建, 颜永红, 庹凌云, 张建平 申请人:中国科学院声学研究所, 北京中科信利技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1