自动语音识别(automatic speech recognition, ASR)[1]技术是实现人与机器顺畅交流的关键技术,从动态时间规划(dynamic time warping, DTW)[2]到隐Markov模型(hidden Markov model, HMM)[3],再到深度神经网络(deep neural network, DNN)[4],各种技术竞相推出又相继面临改进识别准确性的难题。传统的汉语语音识别系统以HMM模型为首选.,但近年来HMM模型语音识别精度提高遇到了瓶颈。相关改进模型的工作较多从减少特征帧间相关性、改善模型精度等方面进行,比如提出线性预测HMM[5]、采用鉴别训练的方法替代最大似然估计(most likelihood estimate, MLE)[6]、引入神经网络[7]等。由于仍未解决语音信息高冗余性的问题,语音识别系统性能受到影响。
Tandem特征[8]是采用神经网络声学模型,将输出层节点的后验概率组成向量,并通过降维与MFCC特征拼接得到的。输入是上下文相关的连续语音帧,通过一个传统的多层感知器(MLP)结构和一个隐藏层来估计每个状态类的后验概率,输出是由各状态的后验概率作为元素组成的后验概率向量。神经网络更多地利用了帧间的相关信息,对连续语音识别效果较好,对孤立字识别效果相对较差,在规模较小的数据集合上难以发挥作用。
目前,结合最大似然估计准则,从特征本身出发进行处理的研究还比较缺乏,目前存在的技术包括使用线性判别分析法(linear discriminant analysis, LDA)对特征向量进行线性变换,降低特征向量维数并保留最具有分辨力的特征成分;以核函数线性判别分析法实现基于核的最大似然线性变换[9]等。此类方法使用线性变换矩阵等对参数特征矢量进行去相关,但仍依赖于原有的特征空间,得到的变换矩阵无法对不同特征矢量空间的模型适用,且算法复杂,计算成本高。
本文以GMM-HMM系统为例,原有模型是用GMM训练得到隐含状态的观测特征分布,在HMM中基于MLSS的训练识别准则和算法进行强制对齐和分割,得到最佳状态序列[10]。用该模型的似然值打分时只考虑当前帧的最大似然值的状态,忽略了其他状态对当前帧的影响,造成了信息的损失,降低了识别率。针对这个问题,本文从改进声学特征本身出发,不仅仅考虑最佳状态的声学特征似然值得分,还将声学特征对次优状态的似然值得分也记录下来,再将这些似然值得分训练出所有状态的得分模型,这样得分模型的似然值得分就构成了状态似然值得分特征(state likelihood feature, SLF),进一步聚类得到了SLCF特征。由此更进一步地,本文还将语音库中所有的声学特征进行聚类,与HMM中的隐含状态相对应,将这些聚成的类称为监督状态类,这些监督状态类在理想情况下是均匀分布在整个特征空间中的。在聚类过程中可以同时得到这些监督状态类生成声学特征的似然值模型,MFCC特征对所有这些监督状态类的似然值得分就构成了所谓的SSF特征。实验表明这种监督模型能较为有效地反映声学特征在状态空间中的分布情况,能有效地提高语音识别性能。
1 系统概述本系统以MFCC作为声学特征,以GMM-HMM作为声学模型,利用EM算法估计GMM参数,以及利用基于动态规划的Viterbi解码算法对具有变时长特点的语音进行最佳状态序列的匹配,从而得到汉语三音子识别系统的模型[11]。
其中,“隐含状态”是Markov链状态的语音学基本单位。在汉语模型中,每个有调汉语全音节采用声韵母C-V结构建模(见图 1),反映音节、状态与语音信号特征的相互关系。通过三音子建模,在协同发音状态I0、I1、F0、F1、F2、F3及尾部可跨越的噪声N基础上,增加非协同发音状态I0C、F2C、F3C,可准确表现连续语音的物理特性。
![]() |
图 1 汉语三音子模型(考虑协同发音状态) |
本系统共有汉语有调音节1 254个,有856个非协同发音状态,49 200个协同状态。为控制状态模型规模,人为定义字典,对声韵母分别聚类,将100个声母状态聚类为27类,164个韵母状态聚类为29类,从而使协同状态缩少为2 349个。再加上尾部噪声,三音子模型共计3 206个状态。
在汉语GMM-HMM识别和训练模型中,基于MLSS准则,Viterbi算法根据式(1)在状态网络中找出一条积累距离最小的最佳路径。
$ \begin{array}{*{20}{c}} {{{\max }_{S_1^T}}P\left( {\mathit{\boldsymbol{O}}_1^T, \mathit{\boldsymbol{S}}_1^T|\theta } \right) = }\\ {{{\max }_{\left( {{t_1}, {t_2}, \cdots , {t_N}} \right)}}\sum\limits_{i = 1}^{\rm{N}} {\sum\limits_{t = {t_{i - 1}}}^{{t_i}} {\ln } } {b_i}\left( {{\mathit{\boldsymbol{O}}_t}} \right).} \end{array} $ | (1) |
其中:ti是状态分割点,T是输入样本的时长,N为总分割点数。在给定样本O的条件下,估计模型参数θ使式(1)最大, 式(1)达到最大值时的状态序列S1T就称为该模型的最大似然状态序列MLSS。此状态序列S1T也同时确定了模型状态的分割点位置如式(2)。这样也就获得了每帧特征所隶属的状态St。
$ S_{t} \in \text { State}_{i}\left(t_{i} \leqslant t<t_{i+1}, i=0, 1, \cdots, N-1\right). $ | (2) |
其中:St是t时刻特征Ot的隶属状态,Statei是所用到的状态集合中的第i个状态。
可以看出这里最佳路径搜索算法是使用了所谓的具有最大似然值得分的最佳状态作为路径选择的依据,忽略了其他次优状态得分对当前帧的影响,舍弃了许多信息。本文从单帧角度改良当前汉语GMM-HMM,提高所有状态得分信息量的利用率,将其与MFCC特征融合改善语音特征,从而降低识别错误率。
2 算法 2.1 状态似然值得分模型及训练算法在HMM语音模型中,S={S1, S2, …, Si, …, SM}是HMM的隐含状态集合,共有M个隐含状态。用O表示观测特征向量MFCC,由隐含状态Si产生观测量O的观测模型是Bi(O),则对于每个特征O可得到一个M维的状态似然值得分向量L。
$ \begin{array}{c}{\boldsymbol{L}=\left[L_{1}, L_{2}, \cdots, L_{i}, \cdots, L_{M}\right]}, \\ {L_{i}=P\left(\boldsymbol{O} | S_{i}\right)=B_{i}(\boldsymbol{O})}.\end{array} $ | (3) |
其中Li表示特征O对状态Si的似然值得分。
在初始训练时,根据MLSS状态序列,可以知道每一个特征O所隶属的隐含状态Si,也就确定了每个与O对应的L所隶属的状态为Si。在大量样本的训练模型下,可通过统计所有隶属于状态Si的得分向量L,得到状态Si产生L的似然值模型Gi(L),这就是状态似然值的得分模型。
式(4)中,向量L对每个状态得分模型Gi(L)的输出为SLFi,则L对所有隐含状态的得分就构成了特征SLF。
$ \begin{array}{c}{\bf{SLF}=\left[\mathrm{SLF}_{1}, \mathrm{SLF}_{2}, \cdots, \mathrm{SLF}_{i}, \cdots, \mathrm{SLF}_{N-1}, \mathrm{SLF}_{N}\right], } \\ {\mathrm{SLF}_{i}=P\left(\boldsymbol{L} | S_{i}\right)=G_{i}(\boldsymbol{L})}.\end{array} $ | (4) |
其中Gi(L)为混合Gauss模型,则式(4)可扩展为
$ \begin{array}{*{20}{c}} {{\rm{SL}}{{\rm{F}}_i} = {G_i}(\mathit{\boldsymbol{L}}) = \sum\limits_{j = 1}^K {{\alpha _j}} \cdot g\left( {\mathit{\boldsymbol{L}}|\mu _{{s_i}}^j, \Sigma _{{s_i}}^j} \right), }\\ {\sum\limits_{j = 1}^K {{\alpha _j}} = 1.} \end{array} $ | (5) |
其中: L表示M维的状态似然值得分向量,K表示混合Gauss模型的混合数,μjsi和Σjsi分别表示状态为Si的混合Gauss分布中第j个Gauss分量的均值向量和协方差矩阵,αj表示第j个Gauss分量的权重。
图 2中,在得到初始的状态似然值得分模型Gi(L)(i=1, 2, …, M)后,可计算出特征SLF,在随后的迭代训练中可以将SLF和MFCC融合进行训练来更新各状态的得分模型Gi(L)。
![]() |
图 2 状态似然值得分模型的训练流程图 |
以孤立字模型为例,孤立字的HMM模型共有M=856个隐含状态,每一帧MFCC特征的观测量O对应于每个状态Si(i=1, 2, …, M),都由Bi(O)产生一个观测似然值Li,这样856个状态的观测似然值Li(i=1, 2, …, M),就构成了856维的得分向量L。可以看出每帧观测量O就有一个L向量相对应。在模型训练过程中,通过搜索MLSS状态序列,可以得知每个特征帧所隶属的隐含状态Si,这样就确定了每个L向量所隶属的隐含状态Si。在对所有语音样本进行训练后,就得到了每个隐含状态Si的得分向量L的集合。通过参数估计,就得到856个隐含状态Si关于L的观测模型Gi(L)。计算L关于856个状态得分模型的输出SLFi=Gi(L),即得到了856维的SLF特征。在训练SLF模型时,考虑计算量和可行性,采用对角阵码本进行训练,从而得到每个状态的SLF模型,之后,用SLF特征测试状态似然特征码本的识别能力。
实验发现,由于状态数目多,在标注有限的条件下,SLF特征融合入原有模型,会造成模型规模和数据量无法匹配,无法提高系统的识别率。因而,根据声韵母聚类字典,人工采用状态合并的方法压缩SLF的维数,得到状态似然聚类特征SLCF。本文中声韵母聚类字典是利用汉语有调音节的发音规则制定的。本文根据该字典的专家知识定义出57种声学状态类,这时L的维数M=57, SLCFi=Gi(L)(i=1, 2, …, M),并以此形成SLCF特征。
本文假设Gi(L)得分模型服从Gauss分布,采用全协方差阵码本进行训练,得到SLCF状态码本,称之为状态似然聚类特征码本。基于GMM-HMM系统,分别进行SLCF独立识别和与MFCC融合识别等实验。实验证明,SLCF增加了声学特征在状态空间中的信息量,一定程度上反映了次优状态对当前帧的影响,有效提高了模型识别率。
2.2 监督状态模型与监督状态特征分布在HMM模型中,声学特征通过最大似然准则及Viterbi方法完成观测量与隐含状态的对应。在汉语三音子模型中,隐含状态由声韵母C-V结构演化而来,通过人为地将语音声学特征进行分类并通过训练得到状态码本,用于识别。此过程中存在两大问题:一是人为定义的状态是否合理;二是定义的状态空间的信息是否被充分利用。因此,本文提出了监督状态的概念。在这里,监督状态类是声学特征在特征空间中的代表类,每个监督状态各自都有产生声学特征的概率模型,这些监督状态类既可根据专家知识人工选择,也可以根据机器学习自动选择。本文希望通过机器自动学习,能提供比HMM模型中的状态类更丰富的信息。
获得监督状态分布的方法,主要分为两步:一是从汉语发音规则出发,人为定义初始监督状态类中心,并求得初始监督状态的Gauss分布;二是用计算机自动选择聚类中心,通过最大似然值聚类方法,产生监督状态分布,如式(6)所示。
$ \begin{array}{c} d\left( {\mathit{\boldsymbol{x}}, s{s_i}} \right) = P\left( {\mathit{\boldsymbol{x}}|s{s_i}} \right) = g\left( {\mathit{\boldsymbol{x}}|{\mathit{\boldsymbol{\mu }}_{s{s_i}}}, {\mathit{\boldsymbol{ \boldsymbol{\varSigma} }}_{s{s_i}}}} \right), \\ g\left( {\mathit{\boldsymbol{x}}|{\mathit{\boldsymbol{\mu }}_{s{s_i}}}, {\mathit{\boldsymbol{ \boldsymbol{\varSigma} }}_{s{s_i}}}} \right) = \frac{1}{{{{(2\pi )}^{D/2}}{{\left| {{\mathit{\boldsymbol{ \boldsymbol{\varSigma} }}_{s{s_i}}}} \right|}^{1/2}}}} \cdot \\ \exp \left\{ { - \frac{1}{2}{{\left( {x - {\mathit{\boldsymbol{\mu }}_{s{s_i}}}} \right)}^{\rm{T}}}\mathit{\boldsymbol{ \boldsymbol{\varSigma} }}_{s{s_i}}^{ - 1}\left( {\mathit{\boldsymbol{x}} - {\mathit{\boldsymbol{\mu }}_{s{s_i}}}} \right)} \right\}. \end{array} $ | (6) |
其中,d(x, ssi)代表观测语音输入特征x与第i个监督状态类ssi的距离。
声学特征自动聚类得到监督状态特征分布的具体步骤如下:
步骤1 初始化监督状态聚类中心,得到初始监督状态Gauss分布。
步骤2 输入语音特征xj,遍历监督状态,得到特征xj的状态标签labelxj,其中labelxj∈1, 2, …, N; j∈1, 2, …, M。N为监督状态总类数,M为训练集语音特征总数。xj的labelxj由式(7)可得:
$ {{\mathop{\rm label}\nolimits} _{{\mathit{\boldsymbol{x}}_j}}} = \arg \mathop {\max }\limits_i d\left( {{\mathit{\boldsymbol{x}}_j}, s{s_i}} \right). $ | (7) |
步骤3 统计所有语音特征X={x1, x2, …, xM}以及其对应的标签LabelX={labelx1, labelx2, …, labelxM},并更新监督状态特征分布。
步骤4 重复步骤2和3直到分布稳定,得到监督状态特征分布。
SSF实验表明SSF特征具有很好的适应性。对比Tandem特征需预先训练好神经网络模型才能得到,监督状态模型对数据库的类型依赖较小,可以独立设计并单独提前训练好模型。
2.3 融合状态似然值得分模型、监督状态模型的汉语语音识别模型本实验是在帧间特征独立的假设下,在不改变现有HMM识别模型的条件下,找到针对HMM特征的一种改进。融合状态似然值得分模型、监督状态模型的汉语语音识别模型,如图 3将表征声学信息的MFCC特征与反映状态信息的监督状态特征SSF或状态似然聚类特征SLCF融合,形成组合特征,求取组合特征的MLSS状态序列,实现组合特征码本的生成、训练,用于识别。
![]() |
图 3 融合状态似然值得分模型、监督状态模型的GMM-HMM语音识别模型 |
图 4中训练组合特征码本的主要步骤有:1)类初始化;2)输入语音文件、答案文件,得到声学特征MFCC、涉及到的状态标签;3)分别通过监督状态模型、状态似然值得分模型得到特征SSF、SLCF;4)将MFCC与SSF或SLCF特征融合,获得组合特征;5)计算组合特征的似然值;6)求取MLSS状态序列得到每帧的隐含状态标签;7)统计组合特征及其对应的标签,更新组合特征分布。
![]() |
图 4 新模型的码本训练流程图 |
其中,MFCC为45维特征矢量,包括14维Mel倒谱系数和1维归一化能量系数,以及它们的一阶差分、二阶差分系数。SLCF为57维状态似然聚类特征,SSF为57维监督状态特征。SLCF、SSF与MFCC融合后得到的组合特征为102维特征。
3 实验 3.1 孤立字SLCF特征独立识别、融合识别实验孤立字实验采用50个男声孤立字语音样本的库,选取49个语音样本作为训练集,另一个样本作为测试集。数据采样率16 kHz,帧长20 ms,帧移10 ms。实验中声学模型采用汉语孤立字单音节模型,使用1 254个有调音节,包含静音状态共857个独立的HMM隐含状态。
由图 5可见,融入状态似然聚类特征SLCF可辅助声学特征识别系统。在GMM-HMM系统中,使用SLCF融合MFCC形成的组合特征的识别总错误率比单一声学特征MFCC绝对下降0.6381%,相对下降6.10%,如表 1所示。
![]() |
图 5 (网络版彩图))孤立字模型MFCC/SLCF/SLCF+MFCC下50个孤立字男声语音样本的识别效果 |
孤立字实验 | 系统总错误率(相对下降) |
MFCC+GMM-HMM | 10.46% |
MFCC+SLCF+GMM-HMM | 9.82% (6.10%) |
MFCC+SSF+GMM-HMM | 9.45% (9.66%) |
3.2 孤立字、连续语音系统中监督状态模型识别实验
孤立字实验仍采用上文所述语音数据。连续语音实验中,声学模型根据汉语三音子建模,使用1 254个有调音节,3 206个HMM状态。采用国家“八六三”高技术项目的中文连续语音评测数据库,从83人的录音数据中选取70人语料作为训练集,其余13人作为测试集。GMM-HMM基线系统基于MFCC特征进行训练、识别。
孤立字GMM-HMM系统中,特征的观测概率采用45维单Gauss的全协方差阵GMM。实验结果如表 1,融合特征SSF,比基线系统总错误率绝对下降1.01%,相对下降9.66%。由此可见,融合监督状态特征降低了孤立字系统的识别错误率。
连续语音GMM-HMM系统下,特征的观测概率采用45维2个混合的全协方差阵GMM。实验结果如表 2所示。融合特征SLCF及SSF,较基线系统,总错误率分别绝对下降0.58%、3.12%,相对下降2.53%、11.05%。
连续语音实验 | 系统总错误率(相对下降) |
MFCC+GMM-HMM | 22.89% |
MFCC+SLCF+GMM-HMM | 22.31% (2.53%) |
MFCC+SSF+GMM-HMM | 20.36% (11.05%) |
相比使用神经网络得到的Tandem特征,SLCF、SSF更适用于数据集较小的情况。同时,SLCF、SSF从单帧角度,反映了原始输入特征在GMM-HMM系统的状态空间中的多维信息,物理含义比神经网络更明确。SSF特征根据预先训练出的监督状态分布得到,在SLCF基础上将性能进行了新的提升。实验还证明,利用连续语音样本训练出监督状态模型,亦可用于孤立字识别系统。在孤立字语料不足的情况下,可以保证孤立字识别的高准确率。
4 结论本文基于GMM-HMM汉语三音子模型的语音识别系统,提出了状态似然聚类特征SLCF,融合SLCF提高了原系统训练及识别效果。除此之外,本文还提出了监督状态特征SSF,在孤立字语料有限的情况下,通过连续语音语料训练得到监督状态分布,可用来辅助孤立字识别系统。进而,本文基于监督状态模型、状态似然值得分模型,将特征SSF、状态似然聚类特征SLCF与声学特征MFCC融合,获得包含声学、状态双重信息的组合特征。实验表明:在汉语连续语音识别系统、孤立字语音识别系统中,组合特征均可显著降低系统错误率。
[1] |
BAKER J M, LI D, GLASS J, et al. Developments and directions in speech recognition and understanding, Part 1[J]. IEEE Signal Processing Magazine, 2009, 26(3): 75-80. DOI:10.1109/MSP.2009.932166 |
[2] |
RABINER L R. A tutorial on hidden Markov models and selected applications in speech recognition[J]. Readings in Speech Recognition, 1990, 77(2): 267-296. |
[3] |
FURUI S. Digital speech processing, synthesis, and recognition[M]. New York: Marcel Dekker, 2000.
|
[4] |
YU D, LI D, SEIDE F. The deep tensor neural network with applications to large vocabulary speech recognition[J]. IEEE Transactions on Audio Speech and Language Processing, 2013, 21(2): 388-396. DOI:10.1109/TASL.2012.2227738 |
[5] |
欧智坚, 王作英. 从线性预测HMM到一种新的语音识别的混合模型[J]. 电子学报, 2002, 30(9): 1313-1316. OU Z J, WANG Z Y. A hybrid model from linear prediction HMM to a new speech recognition[J]. Chinese Journal of Electronics, 2002, 30(9): 1313-1316. DOI:10.3321/j.issn:0372-2112.2002.09.016 (in Chinese) |
[6] |
PANG Z H, TU S K, SU D, et al. Discriminative training of GMM-HMM acoustic model by RPCL learning[J]. Frontiers of Electrical and Electronic Engineering, 2011, 6(2): 283-290. DOI:10.1007/s11460-011-0152-0 |
[7] |
REYNOLDS D A, ROSE R C. Robust text-independent speaker identification using Gaussian mixture speaker models[J]. IEEE Transactions on Speech & Audio Processing, 1995, 3(1): 72-83. |
[8] |
HERMANSKY H, ELLIS D, SHARMA S. Tandem connectionist feature extraction for conventional HMM systems[C]//2000 IEEE International Conference on Acoustics, Speech, and Signal Processing. Proceedings (Cat. No.00CH37100). Istanbul, Turkey: IEEE, 2000, 1635-1638. https://www.researchgate.net/publication/3859341_Tandem_connectionist_feature_extraction_for_conventional_HMMsystems
|
[9] |
HAEBUMBACH R, NEY H. Linear discriminant analysis for improved large vocabulary continuous speech recognition[C]//IEEE International Conference on Acoustics. San Francisco, USA: IEEE, 1992, 13-16. https://www.researchgate.net/publication/232630661_Linear_discriminant_analysis_for_improved_large_vocabulary_continuous_speech_recognition
|
[10] |
李春, 王作英.基于语音学分类的三音子识别单元的研究[C]//第六届全国人机语音通讯学术会议论文集.深圳: 中国中文信息学会, 2001, 257-262. LI C, WANG Z Y. Triphone recognition unit based on phonetics category[C]//The 6th National Conference of Human Computer Speech Communication. Shenzhen, China: CIPSC, 2001, 257-262. (in Chinese) http://www.wanfangdata.com.cn/details/detail.do?_type=conference&id=3311813 |
[11] |
游展. DDBHMM语音识别段长模型的研究和改进[D].北京: 清华大学, 2008. YOU Z. The research and improvement on DDBHMM speech recognition model[D]. Beijing: Tsinghua University, 2008. (in Chinese) |