一种非特定人孤立词语音识别方法及装置的制作方法

文档序号:2821681阅读:394来源:国知局
专利名称:一种非特定人孤立词语音识别方法及装置的制作方法
技术领域
本发明涉及自动语音识别技术领域,特别是一种非特定人孤立词语音识别方法及装置。
背景技术
近年来非特定人孤立词语音识别技术(IWR)取得了巨大的发展,识别率达到99%以上。目前在非特定人IWR系统中普遍采用两种方法一种是整词建模,整词匹配的方法;一种是基于声韵母建模和词树搜索的方法。
第一种方法把词作为建模和识别单元,状态的数目n与词所包含的音子的数目保持基本一致,一般选择2-10。在模型训练阶段中采用K均值聚类方法,首先把该词对应的所有训练语音平均分成n段以对应于n个状态,计算初始模型参数,即每个状态的观察数据的均值和方差;再运用Viterbi算法找到每个训练语音和临时模型匹配的最佳路径,回溯得到语音对应的新的状态序列;然后重新计算模型参数,经过3-4迭代即可得到最终模型。在识别阶段,运用Viterbi算法计算输入语音和所有候选模型的似然得分,得分中的最大值所对应的词即为识别结果。整词建模方法的优点是计算量小,识别率高;缺点是需要采集大量的训练语音,这给实际应用带来了不便。
第二种基于声韵母建模和词树搜索的算法在识别时采用基于词树的一遍或多遍路径搜索算法。在建模阶段,首先要选择声学建模单元,针对汉语的特点,一般选择声韵母作为声学建模的基本单元,每个单元用隐马尔可夫模型(HMM)建模。然后利用大量训练数据和一个初始模型,把语音按照HMM的输出状态切分开来并转化成特征序列的形式,并根据语音的上下文信息对其进行标注。最后对标注后的特征集在包含了问题集的决策树上进行决策聚类,得到高精度的三音子模型,经过在决策树上的退化训练,又可以得到上下文无关的Basephone模型。在识别阶段,一般采用基于词树框架的宽度优先搜索算法(如Beam Search)或深度优先的搜索算法(如A*Search)。该算法的优点是建模精度高,可以适用于较大规模的词表,而且使用时无需训练,更改词表方便,有利于实际应用;缺点是算法复杂,需要的存储空间大,而且识别时会引入搜索误差,从而引起识别率的下降。

发明内容
本发明的目的在于提出一种新的孤立词语音识别方法,以满足无需训练的中小词表非特定人孤立词语音识别要求。
本发明提出了一种新的非特定人孤立词语音识别方法。发明的基本特征是对于给定的词表不需要采集语音进行训练来得到模型,而是直接把声韵母或音节作为基元,将已事先训练好的基元模型按照词的声韵母或音节序列拼接得到整词模型,识别时采用整词匹配算法。
一种非特定人孤立词语音识别方法,对于给定的词表不需要采集语音进行训练来得到模型,而是直接把声韵母或音节作为基元,将已事先训练好的基元模型按照词的声韵母或音节序列拼接得到整词模型,识别时采用整词匹配算法。
由语音库训练得到的声韵母模型可以是basephone模型,也可以是triphone模型。
语音库可以是中文和外文的任何语音库。
构建基元GMM(高斯混合模型)模型时可以采用不同状态数和混合数的组合。
该发明的技术要点是首先选取声学基元如声韵母或音节,训练得到基元模型,然后根据词表中的词条的声韵母序列或者音节序列拼接成整词模型,识别时运用Viterbi算法计算输入语音和所有候选模型的似然得分,得分中的最大值所对应的词即为识别结果。
该算法主要由三个步骤组成,具体说明如下
1.1模型训练我们需要得到的整词模型是由基元模型串接而成的,因此选取合适的基元模型及其训练方法对于系统的识别性能有重大影响,本节就这方面的内容进行了详细介绍。
1.1.1模型基元的选取因为我们希望词表是可变的,所以我们必须选择比词更小的基元进行建模,然后把基本建模单元串接形成词的模型。可供选择的基元包括音节、半音节、声韵母、音素。
对于音节,汉语中的无调音节有409个,如果考虑音调,有1300个有调音节。音节可以很好的刻划语音内部的变化,所以在进行上下文无关的声学建模时,使用有调或者无调语音是可以的,而且可以取得相当好的效果。但是由于基元数目过大,如果训练语音不够充分,会引起训练数据稀疏的问题。基于上述原因,我们选取无调音节作为基元,把863大词汇连续语音库用来训练基元模型。
音素作为模型基元在英语语音识别中获得了广泛的应用,并取得了很好的效果。音素在汉语中有三十多个,但音素并没有反映出汉语语音的特点,而且相对于声韵母,音素显得更加不稳定,给手工标注带来了困难,因此音素不适宜作为建模基元。
汉字是单音节的,而且汉语中的音节是声韵结构,使得对音节以及词条的表示变得比较规则和统一,这是汉语音节所特有的结构。选取声韵母作为建模基元,其语音段长度以及基元数目都是比较适当的,而且由于建模单元比较小,训练数据很充分,估计也越准确。我们采用的声韵母建模基元集包括24个声母模型,37个韵母模型和1个静音模型。
1.1.2模型训练语音库经上面的分析可知,声韵母和音节都比较适合作为建模基元。我们训练所采用的语音库是863大词汇量连续语音库,其分为男性83人和女性82人,每人念句子或短语500个左右。
1.1.3声韵母基元模型的训练方法声韵母模型根据是否利用上下文信息可以分为两种basephone模型和triphone模型,我们通过实验比较了分别采用这两种模型的识别系统的性能。
训练basephone模型时,首先把所有句子和短语的声学特征序列按照其声韵母的各个状态输出切开,并存储在相应的文件中;然后在完成对所有语音样本的切分即特征存储后,对于每个声母或韵母的每个状态输出的特征采用K-means聚类算法得到GMM描述的状态输出模型。
训练triphone模型时,不能直接对声韵母的特征进行聚类,而是首先要对切分开的声韵母中状态输出特征集合进行上下文相关信息标注;然后采用决策树分类器对各个声韵母的各个状态输出的训练样本进行分类;最后根据得到的分类决策树产生对应的triphone模型,根据样本分类结果,采用K-means算法,得到被所有triphone模型状态输出共享的GMM模型集。
1.1.4音节模型的训练方法音节模型的训练方法和basephone模型的训练方法有些相似。首先把所有句子和短语的声学特征序列按照其音节的各个状态输出切开,并存储在相应的文件中;然后在完成对所有语音样本的切分即特征存储后,对于每个音节的每个状态输出的特征采用K-means聚类算法得到GMM描述的状态输出模型。
1.2整词模型的构建采用basephone模型时,整词模型的构造比较简单,只需根据词表中词条的声韵母序列选择相应的声韵母模型拼接起来即可。采用triphone模型时,首先要根据词条中各声韵母的上下文信息,通过查找triphone模型的上下文相关模型映射文件,找到各声韵母对应的triphone模型,然后拼接起来得到整词模型。
采用音节作为建模基元时,整词模型的构造方法与采用basephone模型时类似,根据词表中词条的音节序列选择相应的音节模型拼接起来即可。
1.3识别方法识别阶段的任务是在候选语音中找到与待识语音似然得分最高的一个。在求每个候选语音与待识语音似然得分时,首先计算待识语音每帧与该候选语音每个状态的似然得分,然后采用Viterbi算法得到最佳路径和最佳得分,把该得分作为两语音的似然得分。
识别阶段的任务是在候选语音中找到与待识语音似然得分最大的一个。在求每个候选语音与待识语音的似然得分时,首先计算待识语音每帧与该候选语音每个状态的距离测度,然后采用Viterbi算法得到最佳路径和最高得分,把该得分作为两语音的似然得分。在basephone模型中由于每个声韵母的模型是固定的,而且词表中的若干词条可能会包含相同的声母或韵母,在采用上述计算方法时会使得在求待识语音每帧特征与所有候选语音每个状态模型的距离测度时,包含了大量的重复计算。我们可以采用数据共享技术解决这一问题,即首先计算词表中所有包含的声韵母模型和待识语音每帧特征的距离测度,存储在表中。然后在计算待识语音每帧特征与所有候选语音每个状态模型的似然得分时,通过查表即可得到该得分。在较大词表情况下,采用该数据共享技术可以大大减少计算量,提供识别速度。
采用本发明的优点在于结合了传统的整词建模和基于声韵母建模、词树搜索两种方法的优点。对于给定的词表,不需采集语音训练,而且模型精度高,识别率高,由于采用数据共享技术,计算速度快。
2实例为了说明本发明的有效性,我们做了下述对比实验方法一是整词建模、整词匹配算法;方法二是选取声韵母作为建模基元、整词匹配算法,得到分别在basephone和triphone模型及不同的状态数和混合数条件下的识别结果;方法三是选取音节作为建模基元、整词匹配算法,得到不同状态数和混和数下的识别结果。
2.1实验条件实验中的测试集为21个短语,平均长度为4个字,其中有些词的混淆度较大,词表如表2所示。每个模型的样本是92个,特征提取采用能量和12维MFCC及其一阶、二阶差分共39维特征。测试词表如表1所示。
2.2实验一本实验中采用整词建模、整词匹配算法,每个模型的状态数为8,GMM模型的混合系数为1时识别率已经很高,因此没有必要选取更大的混合系数。实验结果如表2所示。
2.3实验二本实验中采用基于声韵母建模、整词识别的算法,得到分别在basephone和triphone模型及不同的状态数和混合数条件下的识别结果,希望发现basephone和triphone模型性能的差异,状态数和混合数对识别系统性能的影响。实验结果如表3所示,表中状态数目为1个声韵母所包含的状态数。
2.4实验三本实验中采用基于音节建模、整词匹配的算法,得到在不同状态数和混和数条件下的识别结果。实验结果如表4所示,表中状态数目为1个音节所包含的状态数。
2.5实验结果分析从几组实验结果我们可以得到以下结论●从实验结果可以看到采用方法二或三的识别系统其识别率可以达到甚至超过采用方法一的识别系统,而且在测试集中某些词混淆度大的情况下,后两种方法对这些词的识别率更高,如实验中的第12个词,在方法一中,识别率为92.4%,而方法二中,在triphone模型4状态1混合情况下识别率达到100%,方法三中,在8状态1混合情况下识别率也达到97.8%。后两种方法中每个词的识别率都比较均匀,因为篇幅关系,我们在这里没有一一列出每个词的识别率,在表3、4中只给出了总的识别率。实验结果表明我们采用的新的建模方法是行之有效的。
●从basephone和triphone模型的对比实验结果表3可以看到triphone模型比basephone模型识别率高。这是因为triphone模型包含了声韵母的上下文信息,其整词模型精确地刻划了语音内部的变化,而basephone模型没有考虑上下文信息,建模基元之间并无相关性,因而由其串联得到的整词模型较为粗糙。但是由于可以采用数据共享技术,选取basephone为建模基元具有计算量小,速度快的优点。
●对比表3和4可知,选取音节作为建模基元的识别效果基本和选取triphone作为建模基元的效果相当,而远远优于选取basephone作为建模基元的效果。这是因为音节可以很好地刻划语音内部的变化。实验结果也说明在语音识别中音节内部的信息比音节之间的上下文信息更重要。音节作为建模基元与triphone作为建模基元比较,具有建模方法简单、灵活、模型存储空间小的优点,因此在嵌入式孤立词语音识别系统中是一个较好的选择。
●发现在相同的建模方式下,基元模型的状态数和混合数的增加会带来识别率的提高。这是在意料之中的,因为状态数和混合数越多,模型对语音的刻划越精确,我们做状态数和混合数的不同组合实验的目的是为了研究两者哪个对识别率的影响最大,并据此选择合适的参数,实验结果表明状态数对识别率的影响更大,在词表中的某些词混淆度较大的情况下,状态数的提高对识别率起决定性的作用。当采用triphone作为建模基元时,可以选取状态数为2,混和数为1;当采用音节作为建模基元时,可以选取状态数为4,混和数为1。在上述两套组合情况下,模型较小,总识别率高,而且词表中每个词的识别率都比较均匀,在实际应用中较为理想。
表1测试词表
表2采用方法一测试结果(%) 表3采用方法二测试结果(%)
表4采用方法三测试结果(%) 一种非特定人孤立词语音识别装置,由数据采集装置、数据处理装置、数据存储装置、识别结果输出装置组成,其特征在于数据采集装置,用于采集语音数据,并把它送给DSP进行处理;数据处理装置,主要完成处理语音数据和识别;数据存储装置,主要存储程序代码和初始化数据,在系统启动时加载;识别结果输出装置,完成把识别结果转化为相应控制信号;数据采集装置连接于数据处理装置、数据存储装置、识别结果输出装置。


图1是本发明的构造整词模型流程图。
图2是本发明的语音识别流程图。
图3是本发明的孤立词语音识别装置图。
具体实施例方式
图1为构造整词模型的程序流程图,其步骤如下步骤S1-1切分基元,使用的语音库可以是863连续语音库或其他语音库,所有句子和短语的声学特征序列按照其声韵母或音节的各个状态输出切开,并存储在相应的文件中;步骤S1-2训练基元模型。训练模型可以采用K-Means或者EM算法。
步骤S1-3拼接整词模型,根据词表中词条的声韵母序列或者音节序列拼接得到整词模型。
图2为孤立词语音识别程序流程图,其步骤如下步骤S2-1采集语音数据。该部分对应的硬件为麦克风、AD采用及放大电路。
步骤S2-2特征提取。采用的特征包括语音识别中经常采用的LPCC、MFCC等参数。
步骤S2-3模型匹配。即在候选语音中找到与待识语音似然得分最高的一个。在求每个候选语音与待识语音似然得分时,首先计算待识语音每帧与该候选语音每个状态的似然得分,然后采用Viterbi算法得到最佳路径和最佳得分,把该得分作为两语音的似然得分。
步骤S2-4输出识别结果。
图3为孤立词语音识别装置图,按照功能的不同可以划分为4个装置1、数据采集装置。包括话筒(M1),模拟接口芯片TLC320AD50及放大电路(M2)。该装置用于采集语音数据,并把它送给DSP(数字信号处理器)进行处理。
2、数据处理装置。数据处理装置由DSP(M3)组成,DSP是整个识别系统最核心的部分,主要完成处理语音数据和识别的功能。数据处理装置也可以由ARM或单片机等微处理芯片代替。
3、数据存储装置。数据存储装置由SRAM(静态存储器)(M4)和FLASH(闪存)(M5)组成。其中SRAM提供程序运行所需要的临时空间;FLASH是一种可电擦除的只读存储器,主要存储程序代码和初始化数据,在系统启动时加载。
4、识别结果输出装置。识别结果输出装置主要由DSP的McBSP接口(M6)和RS232接口(M7)组成。完成把识别结果转化为相应控制信号的功能。
权利要求
1.一种非特定人孤立词语音识别方法,其特征在于,对于给定的词表不需要采集语音进行训练来得到模型,而是直接把声韵母或音节作为基元,将已事先训练好的基元模型按照词的声韵母或音节序列拼接得到整词模型,识别时采用整词匹配算法。
2.据权利要求1所述的非特定人孤立词语音识别方法,其特征在于,由语音库训练得到的声韵母模型可以是basephone模型,也可以是triphone模型。
3.据权利要求2所述的非特定人孤立词语音识别方法,其特征在于,语音库可以是中文和外文的任何语音库。
4.根据权利要求2所述的非特定人孤立词语音识别方法,其特征在于,构建基元GMM模型时可以采用不同状态数和混合数的组合。
5.根据权利要求1所述的非特定人孤立词语音识别方法,其特征在于,构造整词模型的步骤如下步骤S1-1切分基元,使用的语音库可以是863连续语音库或其他语音库,所有句子和短语的声学特征序列按照其声韵母或音节的各个状态输出切开,并存储在相应的文件中;步骤S1-2训练基元模型;步骤S1-3拼接整词模型,根据词表中词条的声韵母序列或者音节序列拼接得到整词模型。
6.根据权利要求1所述的非特定人孤立词语音识别方法,其特征在于,孤立词语音识别的步骤如下步骤S2-1采集语音数据;步骤S2-2特征提取;步骤S2-3模型匹配,即在候选语音中找到与待识语音似然得分最高的一个;步骤S2-4输出识别结果。
7.一种非特定人孤立词语音识别装置,由数据采集装置、数据处理装置、数据存储装置、识别结果输出装置组成,其特征在于数据采集装置,用于采集语音数据,并把它送给DSP进行处理;数据处理装置,主要完成处理语音数据和识别;数据存储装置,主要存储程序代码和初始化数据,在系统启动时加载;识别结果输出装置,完成把识别结果转化为相应控制信号;数据采集装置连接于数据处理装置、数据存储装置、识别结果输出装置。
8.根据权利要求7所述的非特定人孤立词语音识别装置,其特征在于,据采集装置,包括话筒(M1),模拟接口芯片及放大电路(M2);该装置用于采集语音数据,并把它送给DSP进行处理。
9.根据权利要求7所述的非特定人孤立词语音识别装置,其特征在于,数据处理装置由DSP(M3)组成,DSP是整个识别系统最核心的部分,数据处理装置也可以由ARM或单片机等微处理芯片代替。
10.根据权利要求7所述的非特定人孤立词语音识别装置,其特征在于,数据存储装置由SRAM(M4)和FLASH(M5)组成,其中SRAM提供程序运行所需要的临时空间;FLASH是一种可电擦除的只读存储器,主要存储程序代码和初始化数据,在系统启动时加载。
11.根据权利要求7所述的非特定人孤立词语音识别装置,其特征在于,识别结果输出装置,识别结果输出装置主要由DSP的McBSP接口(M6)和RS232接口(M7)组成。
全文摘要
本发明涉及自动语音识别技术领域,特别是一种非特定人孤立词语音识别方法及装置。方法对于给定的词表不需要采集语音进行训练来得到模型,而是直接把声韵母或音节作为基元,将已事先训练好的基元模型按照词的声韵母或音节序列拼接得到整词模型,识别时采用整词匹配算法。装置包括数据采集装置、数据处理装置、数据存储装置、识别结果输出装置。本发明的方法可满足无需训练的中小词表非特定人孤立词语音识别要求。可用于非特定人孤立词语音识别中。
文档编号G10L15/00GK1741131SQ200410057149
公开日2006年3月1日 申请日期2004年8月27日 优先权日2004年8月27日
发明者李成荣, 李峰, 浦剑涛, 岳红强 申请人:中国科学院自动化研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1