一种基于维特比算法的音素识别方法

文档序号:2825553阅读:273来源:国知局
一种基于维特比算法的音素识别方法
【专利摘要】本发明属于语音识别领域,具体的设计了一种基于维特比算法的音素识别方法,通过提取相应音素的音频特征,利用Baum-Welch算法进行训练建模,得到相应的音素识别模型,对于每一个输入的语音利用维特比算法计算进行语音中音素判别识别。本发明在通过观测队列进行预测,计算状态转移时,充分考虑了之前状态下的帧特征观测情况,从而解决了这一问题。利用维特比算法可以很好的达到音素识别的需要,相较于机器学习算法,也有更好的时间复杂度优势。
【专利说明】一种基于维特比算法的音素识别方法
【技术领域】
[0001]本发明属于音素语音识别领域,具体涉及一种利用维特比算法的音素识别方法,即对于已知的汉语音素进行相应识别的方法。
【背景技术】
[0002]音素是音韵学当中语言的最基本单位。在音韵学中,音素的组合便构成了有意义的单元例如词或者词素。音素也经常被描述为与表达相对,备用以形成有意义的基本分割单位。由于音素是语音的最小分割单位,能否正确的识别音素在音频切分、语音识别、语音关键词识别等应用中有非常重要的作用。
[0003]目前,音素识别这一课题已经被很多研究者进行了深入的研究分析,其主要的方法已经比较固定。一般情况下,对于音素的识别都是基于每个音素的一小段语音音频。首先对于音频进行音频信号的预处理,即对于音频信号进行分帧,过滤等。然后将提取相应的音频特征以用于识别分析,最后利用算法依据提取的音素音频特征对于音频文件进行音素识别。
[0004]在音素的识别算法中,目前比较流行的是最大熵、互信息、传统隐马尔可夫模型、条件随机域以及人工神经网络等机器学习等相关算法。而这些算法都有自己相应的问题,例如互信息算法往往需要与别的算法混合,而传统隐马尔可夫往往有标签偏见问题的问题,而机器学习算法在实现上非常复杂。

【发明内容】

[0005]为克服现有技术上的不足,本发明主要目的在于提供了一种利用维特比算法的音素识别方法,其通过音素中关键帧的识别,透过不同帧状态的转移作为观测值,利用维特比算法对于这种状态转移进行记录,从而可以有效地识别出拥有不同特征帧顺序的音素,达到音素识别区分的效果。
[0006]为解决上述问题,本实用新型采用如下技术方案:
[0007]目前主流的音频识别方法往往在算法复杂度和标签偏见问题上无法得到很好的权衡,而维特比算法相对而言比较好的解决了这一问题。其最大的特征是状态转移不在只参考一个前一个状态的情况或者观测值,而是通过递归的方式,获得一个时间序列当中所有观测值对于状态转移的影响。
[0008]本发明主要首先需要收集相应的音素样本作为后面训练马尔可夫模型中形成相应的观测序列的依据。本发明中,所需的音频特征即简单的音频片段语谱图,也就是每一帧所对应的频率向量。
[0009]而后,会将相应数量的频率向量结合成为一个向量组作为马尔可夫模型中的一个观测值,这主要是为了减少训练和预测中所需要输入的输入数据维度,从而可以有效地降低算法的运行时间效率。
[0010]每个音素我们都会收集相应的若干音频片段并得到该音频片段的多个帧频率向量组,每一个向量组我们都会将它认为是一个相应观测向量中的一个观测,这样我们就可以得到所有因素所对应的观测。同时也会收集一些非音素音频片段的帧频率向量组,所有这些向量组便形成输出观测值符号集合O (O为每个状态对应的可能的观察值数目,记M个
观察值为O1......0m,记t时刻观察到的观察值为Ot其中Ot e (O1......0m) ),O中每一个元素
都为一个向量组。
[0011]对于收集的所有正反样本(正样本为音素的片段,反样本为非音素片段),我们都将其归纳入状态集合S (即模型有几个状态组成,设有N个状态,S= {Si I i=l, 2,……N},记t时刻模型所处的状态为St,St e (S1……Sn)),同时对于每个音素片段的最后一个帧频率向量组,我们都将其加入终了状态F集合当中。这样我们已经有了隐马尔可夫模型中相应的0,S和F集合三个基本要素。
[0012]下一步将利用Baum-Welch算法,通过0,S作为输入,就可以得到最后的隐马尔可夫另外的三个要素即状态转移概率的集合A,输出观测值概率的集合B以及系统初始状态概率的集合π。
[0013]在这里,A为所有可能的转移概率所构成的转移概率矩阵,即
[0014]
【权利要求】
1.一种基于维特比算法的音素识别方法,其特征在于:其方法为:使用原始的语音时频信号当中的每时刻频率向量作为训练的输入向量,利用Baum-WeIch算法构建隐马尔可夫模型以及其所有的要素,最后,对于每一个输入的语音利用维特比算法计算进行语音中音素判别识别。
2.根据权利要求1所述的基于维特比算法的音素识别方法,其特征在于:所述利用维特比算法计算进行语音中音素判别识别的方法步骤如下: (a)、收集足够大量的音频文件作为训练样本,其中不仅有大量的音素信息,同时还要收集大量的非音素的音频文件作为训练的反面样本来提升识别的准确度; (b)、使用原始的语音时频信号的频率向量作为输入训练的音频特征向量,其中,需要对频率向量做归一化处理; (C)、将归一化后的特征矩阵,作为隐马尔可夫模型中的输出观测值符号集合O,将每一个音素以及一个非音素状态作为隐马尔可夫模型中的状态集合S,利用Baum-Welch算法,通过观测值符号集合O,状态集合S作为输入,得到最后的隐马尔可夫另外的三个要素即状态转移概率的集合A,输出观测值概率的集合B以及系统初始状态概率的集合Ji ; (d)、当得到所需要的隐马尔可夫模型之后,每当输入一段音频,都对其作相同的特征处理,即得到时频信号的频率向量,并归并成若干矩阵;然后,将这些矩阵与每一个状态所对应的矩阵进行对比,继而得到该音频的一个状态转移向量; (e)、该状态转移向量作为输入,利用维特比算法和之前的隐马尔可夫模型得到一个状态转移矩阵,利用所述状态转移矩阵,即可判断出该音频是否为某个音素,或者不为任何一个音素。
3.根据权利要求2所述的基于维特比算法的音素识别方法,其特征在于:所述步骤(b)中,在得到频率向 量集之后,将每100个频率向量归并为一个频率向量组作为一个单一的观测存在;对于频率向量中的所有数据要进行归一化处理,即保证将频率向量中所有的数据都规范到O到I之间的小数,同时只保留小数点之后两位。
4.根据权利要求2所述的基于维特比算法的音素识别方法,其特征在于:所述步骤(c)中,利用Baum-Welch算法对于已经产生的观测值符号集合O与状态集合S进行相应的训练操作;其具体方法为:首先,要初始化一个A,B,和π作为原始的迭代输入;设现在有样本音频数目为N则,A为NXN矩阵,此时,则每一项为.即保证每一列的和为I ; 同理,假设此时O有M个元素,则此时会形成一个NXM矩阵,且每项为^保证所有行上的数字加起来为I ;同理,相应的π也用同样的方式进行初始化。
5.根据权利要求2所述的基于维特比算法的音素识别方法,其特征在于:所述步骤(d)中,当得到输入的一个音频第一个频率向量矩阵为X= (X1、x2、X3......X100I,用来与它进行比较,从而确定该矩阵属于什么状态的状态对应音频频率矩阵为O1 = (o;is 012、013......0:1!5(5;},计算11与0:1、&与0:2等的相关性系数,得到相关性系数向量~0; = IrXO11.' iiSOiZ…计算其均值即得^^如果仏巧:> 80%,则可以断定两个向量组相似,即输入的的音频的每一个向量组,属于观测值符号集合O中的哪一个观测值。
6.根据权利要求2所述的基于维特比算法的音素识别方法,其特征在于:所述步骤(e)中,对于最终得到的状态向量S,如果其状态转移永远在一个音素状态上进行自循环,则推断输入的音频为该音素音频; 如果在状态转移序列中,有状态迁移出了某个音素所标识的状态,即S序列中并不全为某一音素标识的状态,则`该音频不属于某音素的音频或者不属于任何音素的音频。
【文档编号】G10L15/14GK103871406SQ201210541534
【公开日】2014年6月18日 申请日期:2012年12月13日 优先权日:2012年12月13日
【发明者】王雷 申请人:上海八方视界网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1