基于统计的语音识别方法分析报告.docx
- 文档编号:23773705
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:24
- 大小:88.68KB
基于统计的语音识别方法分析报告.docx
《基于统计的语音识别方法分析报告.docx》由会员分享,可在线阅读,更多相关《基于统计的语音识别方法分析报告.docx(24页珍藏版)》请在冰豆网上搜索。
基于统计的语音识别方法分析报告
基于统计的语音识别方法分析报告
报告人:
一、摘要1
二、语音识别发展史及现状1
(1)国外研究历史及现状1
(2)国内研究历史及现状2
三、语音识别的几种基本方法3
(1)基于语音学和声学的方法3
(2)模板匹配的方法4
(3)神经网络的方法6
四、基于统计的方法分析6
(1)语音信号预处理与特征提取7
(2)声学模型与模式匹配9
(3)语言模型与语言处理12
五、已有孤立词系统分析13
(1)前端信号处理13
(2)声音模型处理13
(3)拼音汉字处理18
六、主要参考文献18
一、摘要
概括语音识别的发展史及现状,总结语音识别的基本方法,并对基于统计的方法作主要的论述,包括语音信号预处理和特征提取的分析,隐马尔可夫模型的分析与在语音识别中的应用分析,模型的训练和识别方法分析等等,最后介绍已有孤立词系统。
二、语音识别发展史及现状
(1)国外研究历史及现状
语音识别的研究工作可以追溯到20世纪50年代AT&T贝尔实验室的Audry系统,它是第一个可以识别十个英文数字的语音识别系统。
但真正取得实质性进展,并将其作为一个重要的课题开展研究则是在60年代末70年代初。
这首先是因为计算机技术的发展为语音识别的实现提供了硬件和软件的可能,更重要的是语音信号线性预测编码(LPC)技术和动态时间规整(DTW)技术的提出,有效的解决了语音信号的特征提取和不等长匹配问题。
这一时期的语音识别主要基于模板匹配原理,研究的领域局限在特定人,小词汇表的孤立词识别,实现了基于线性预测倒谱和DTW技术的特定人孤立词语音识别系统;同时提出了矢量量化(VQ)和隐马尔可夫模型(HMM)理论。
随着应用领域的扩大,小词汇表、特定人、孤立词等这些对语音识别的约束条件需要放宽,与此同时也带来了许多新的问题:
第一,词汇表的扩大使得模板的选取和建立发生困难;第二,连续语音中,各个音素、音节以及词之间没有明显的边界,各个发音单位存在受上下文强烈影响的协同发音(Co-articulation)现象;第三,非特定人识别时,不同的人说相同的话相应的声学特征有很大的差异,即使相同的人在不同的时间、生理、心理状态下,说同样内容的话也会有很大的差异;第四,识别的语音中有背景噪声或其他干扰。
因此原有的模板匹配方法已不再适用。
实验室语音识别研究的巨大突破产生于20世纪80年代末:
人们终于在实验室突破了大词汇量、连续语音和非特定人这三大障碍,第一次把这三个特性都集成在一个系统中,比较典型的是卡耐基梅隆大学(CarnegieMellonUniversity)的Sphinx系统,它是第一个高性能的非特定人、大词汇量连续语音识别系统。
这一时期,语音识别研究进一步走向深入,其显著特征是HMM模型和人工神经元网络(ANN)在语音识别中的成功应用。
HMM模型的广泛应用应归功于AT&TBell实验室Rabiner等科学家的努力,他们把原本艰涩的HMM纯数学模型工程化,从而为更多研究者了解和认识,从而使统计方法成为了语音识别技术的主流。
统计方法将研究者的视线从微观转向宏观,不再刻意追求语音特征的细化,而是更多地从整体平均(统计)的角度来建立最佳的语音识别系统。
在声学模型方面,以Markov链为基础的语音序列建模方法HMM(隐式Markov链)比较有效地解决了语音信号短时稳定、长时时变的特性,并且能根据一些基本建模单元构造成连续语音的句子模型,达到了比较高的建模精度和建模灵活性。
在语言层面上,通过统计真实大规模语料的词之间同现概率即N元统计模型来区分识别带来的模糊音和同音词。
另外,人工神经网络方法、基于文法规则的语言处理机制等也在语音识别中得到了应用。
20世纪90年代前期,许多著名的大公司如IBM、苹果、AT&T和NTT都对语音识别系统的实用化研究投以巨资。
语音识别技术有一个很好的评估机制,那就是识别的准确率,而这项指标在20世纪90年代中后期实验室研究中得到了不断的提高。
比较有代表性的系统有:
IBM公司推出的ViaVoice和DragonSystem公司的NaturallySpeaking,Nuance公司的NuanceVoicePlatform语音平台,Microsoft的Whisper,Sun的VoiceTone等。
其中IBM公司于1997年开发出汉语ViaVoice语音识别系统,次年又开发出可以识别上海话、广东话和四川话等地方口音的语音识别系统ViaVoice’98。
它带有一个32,000词的基本词汇表,可以扩展到65,000词,还包括办公常用词条,具有“纠错机制”,其平均识别率可以达到95%。
该系统对新闻语音识别具有较高的精度,是目前具有代表性的汉语连续语音识别系统。
(2)国内研究历史及现状
我国语音识别研究工作起步于五十年代,但近年来发展很快。
研究水平也从实验室逐步走向实用。
从1987年开始执行国家863计划后,国家863智能计算机专家组为语音识别技术研究专门立项,每两年滚动一次。
我国语音识别技术的研究水平已经基本上与国外同步,在汉语语音识别技术上还有自己的特点与优势,并达到国际先进水平。
中科院自动化所、声学所、清华大学、北京大学、哈尔滨工业大学、上海交通大学、中国科技大学、北京邮电大学、华中科技大学等科研机构都有实验室进行过语音识别方面的研究,其中具有代表性的研究单位为清华大学电子工程系与中科院自动化研究所模式识别国家重点实验室。
清华大学电子工程系语音技术与专用芯片设计课题组,研发的非特定人汉语数码串连续语音识别系统的识别精度,达到94.8%(不定长数字串)和96.8%(定长数字串)。
在有5%的拒识率情况下,系统识别率可以达到96.9%(不定长数字串)和98.7%(定长数字串),这是目前国际最好的识别结果之一,其性能已经接近实用水平。
研发的5000词邮包校核非特定人连续语音识别系统的识别率达到98.73%,前三选识别率达99.96%;并且可以识别普通话与四川话两种语言,达到实用要求。
中科院自动化所及其所属模式科技(Pattek)公司2002年发布了他们共同推出的面向不同计算平台和应用的“天语”中文语音系列产品——PattekASR,结束了中文语音识别产品自1998年以来一直由国外公司垄断的历史。
三、语音识别的几种基本方法
一般来说,语音识别的方法有三种:
基于声道模型和语音知识的方法、模板匹配的方法以及利用人工神经网络的方法[1]。
(1)基于语音学和声学的方法
该方法起步较早,在语音识别技术提出的开始,就有了这方面的研究,但由于其模型及语音知识过于复杂,现阶段没有达到实用的阶段。
通常认为常用语言中有有限个不同的语音基元,而且可以通过其语音信号的频域或时域特性来区分。
这样该方法分为两步实现:
第一步,分段和标号
把语音信号按时间分成离散的段,每段对应一个或几个语音基元的声学特性。
然后根据相应声学特性对每个分段给出相近的语音标号
第二步,得到词序列
根据第一步所得语音标号序列得到一个语音基元网格,从词典得到有效的词序列,也可结合句子的文法和语义同时进行。
(2)模板匹配的方法
模板匹配的方法发展比较成熟,目前已达到了实用阶段。
在模板匹配方法中,要经过四个步骤:
特征提取、模板训练、模板分类、判决。
常用的技术有三种:
动态时间规整(DTW)、隐马尔可夫(hmm)理论、矢量量化(VQ)技术。
1、动态时间规整(DTW)
语音信号的端点检测是进行语音识别中的一个基本步骤,它是特征训练和识别的基础。
所谓端点检测就是在语音信号中的各种段落(如音素、音节、词素)的始点和终点的位置,从语音信号中排除无声段。
在早期,进行端点检测的主要依据是能量、振幅和过零率。
但效果往往不明显。
60年代日本学者Itakura提出了动态时间规整算法(DTW:
DynamicTimeWarping)。
算法的思想就是把未知量均匀的升长或缩短,直到与参考模式的长度一致。
在这一过程中,未知单词的时间轴要不均匀地扭曲或弯折,以使其特征与模型特征对正。
动态时间规整是将时间规整和距离测度结合起来的一种非线性规整技术。
设测试语音参数共有N帧矢量,而参考模板共有M帧矢量,且N≠M。
要找时间规整函数j=w(i),使测试矢量的时间轴i非线性地映射到模板的时间轴j上,并满足:
式中d[T(i),R(ω(i))]是第i帧测试矢量T(i)和第j帧模板矢量R(j)之间的距离测度。
D则是在最优情况下的两矢量之间的匹配路径。
一般情况下,DTW采用逆向思路,从过程的最后阶段开始,逆推到起始点,寻找其中的最优路径。
2、隐马尔可夫法(HMM)
隐马尔可夫法(HMM)是70年代引入语音识别理论的,它的出现使得自然语音识别系统取得了实质性的突破。
HMM方法现已成为语音识别的主流技术,目前大多数大词汇量、连续语音的非特定人语音识别系统都是基于HMM模型的。
HMM是对语音信号的时间序列结构建立统计模型,将之看作一个数学上的双重随机过程:
一个是用具有有限状态数的Markov链来模拟语音信号统计特性变化的隐含的随机过程,另一个是与Markov链的每一个状态相关联的观测序列的随机过程。
前者通过后者表现出来,但前者的具体参数是不可测的。
人的言语过程实际上就是一个双重随机过程,语音信号本身是一个可观测的时变序列,是由大脑根据语法知识和言语需要(不可观测的状态)发出的音素的参数流。
可见HMM合理地模仿了这一过程,很好地描述了语音信号的整体非平稳性和局部平稳性,是较为理想的一种语音模型。
HMM语音模型λ(π,A,B)由起始状态概率(π)、状态转移概率(A)和观测序列概率(B)三个参数决定。
π揭示了HMM的拓扑结构,A描述了语音信号随时间的变化情况,B给出了观测序列的统计特性。
经典HMM语音识别的一般过程是:
用前向后向算法(Forward-Backward)通过递推方法计算已知模型输出O及模型λ=f(π,A,B)时的产生输出序列的概率P(O|λ),然后用Baum-Welch算法,基于最大似然准则(ML)对模型参数λ(π,A,B)进行修正,最优参数λ*的求解可表示为λ*=argmax{P(O|λ)}。
最后用Viterbi算法解出产生输出序列的最佳状态转移序列X。
所谓最佳是以X的最大条件后验概率为准则,即X=argmax{P(X|O,λ)}。
3、矢量量化(VQ)
矢量量化(VectorQuantization)是一种重要的信号压缩方法。
与HMM相比,矢量量化主要适用于小词汇量、孤立词的语音识别中。
其过程是:
将语音信号波形的k个样点的每一帧,或有k个参数的每一参数帧,构成k维空间中的一个矢量,然后对矢量进行量化。
量化时,将k维无限空间划分为M个区域边界,然后将输入矢量与这些边界进行比较,并被量化为“距离”最小的区域边界的中心矢量值。
矢量量化器的设计就是从大量信号样本中训练出好的码书,从实际效果出发寻找到好的失真测度定义公式,设计出最佳的矢量量化系统,用最少的搜索和计算失真的运算量,实现最大可能的平均信噪比。
失真测度主要有均方误差(即欧氏距离)、加权的均方误差、Itakura2Saito距离、似然比失真测度等。
初始码书的生成可以是随机选取、分裂生成法、乘积码书法[4]。
在选定了失真测度和初始码书后,就用LBG算法,对初始码书进行迭代优化,一直到系统性能满足要求或不再有明显的改进为止。
核心思想可以这样理解:
如果一个码书是为某一特定的信源而优化设计的,那么由这一信息源产生的信号与该码书的平均量化失真就应小于其他信息的信号与该码书的平均量化失真,也就是说编码器本身存在区分能力。
在实际的应用过程中,人们还研究了多种降低复杂度的方法,这些方法大致可以分为两类:
无记忆的矢量量化和有记忆的矢量量化。
无记忆的矢量量化包括树形搜索的矢量量化和多级矢量量化。
[3]
(3)神经网络的方法
利用人工神经网络的方法是80年代末期提出的一种新的语音识别方法。
人工神经网络(ANN)本质上是一个自适应非线性动力学系统,模拟了人类神经活动的原理,具有自适应性、并行性、鲁棒性、容错性和学习特性,其强的分类能力和输入-输出映射能力在语音识别中都很有吸引力。
但由于存在训练、识别时间太长的缺点,目前仍处于实验探索阶段。
由于ANN不能很好的描述语音信号的时间动态特性,所以常把ANN与传统识别方法结合,分别利用各自优点来进行语音识别。
ANN与DTW:
ANN纳入DTW框架中的最简单方法就是利用多层感知器模型(MLP)计算DTW搜索中的局部路径得分。
ANN与HMM:
1)多层感知器网络来估计隐马尔可夫模型的状态概率输出的方法
2)BP算法实现HMM模型参数的重估
3)利用自组织神经网络Kohonen的学习矢量量化算法训练产生矢量量化码本
四、基于统计的方法分析
目前几乎所有成功的语音识别方法都是基于统计的、概率的或信息理论的方法。
其中较具代表性的方法有矢量量化法(VQ)和隐马尔可夫模型法(HMM)。
VQ法是由Shore和Burton首先提出的,其主要优点是无需进行时间规正或动态时间伸缩(DTW)。
由于语音特征是时间序列,所以Burton等人又提出了分段VQ的方法,它可以看成是VQ法和DTW的统合。
然而DTW不是一种统计概率的方法。
HMM作为统计概率模型已经被证明是一种很好的语音识别模型。
本文主要介绍使用HMM统计概率模型的语音识别方法。
一个完整的基于统计的语音识别系统可大致分为三部分:
(1)语音信号预处理与特征提取
(2)声学模型与模式匹配
(3)语言模型与语言处理
(1)语音信号预处理与特征提取
语音识别一个根本的问题是合理的选用特征。
选择的标准应体现对于异字音,相应特征间的距离应大,而对于同字音,彼此间距离应小。
若以前者距离与后者距离之比作为优化准则用的“目标量”[3],则应使此量最大。
一般将语音信号的特征向量分为两类:
第一类为时域特征向量,通常将帧语音信号的各个时域采样值直接构成一个向量。
第二类为变换域特征向量,即对一帧语音信号进行某种变换后产生的特征向量。
前者的优点在于计算简单,缺点是不能压缩维数且不适于表征幅度谱特性。
与此对应,各种变换域特征向量的计算比较复杂,但能从不同的角度反映幅度谱的特征。
特征的选取取决于具体的系统,下面的特征是有代表性的:
1)幅度(或功率)
2)过零率
3)邻界带特征矢量
4)LPC预测系数特征矢量
5)LPC倒谱特征矢量
6)Mel倒谱参数
7)前三个共振峰F1、F2、F3
幅度是端点检测的主要依据,也用于区分元音和辅音。
过零率可以用来表示擦音和齿音。
高分辨率的谱信息(即共振峰、LPC参数或滤波器组输出)提供共振峰和共振峰变迁的信息。
特征提取完成从语音信号提取出对语音识别有用的信息,它对语音信号进行分析处理,去掉与语音识别无关的冗余信息,获得影响语音识别的重要信息。
对于非特定人语音识别来讲,希望特征参数尽可能多的反映语义信息,尽量减少说话人的个人信息。
从信息论角度讲,这是信息压缩的过程。
一般而言,由于倒频谱(cepstrum)有着能将频谱上的高低频分开的优点,因此被广泛地应用在语音识别的研究上,例如过去常用的线性预测编码导出的倒频谱参数(LPCC)[4][6]和梅尔刻度式倒频谱参数(MFCC)[4]等都是常用的语音特征。
从目前使用的情况来看,梅尔刻度式倒频谱参数已逐渐取代原本常用的线性预测编码导出的倒频谱参数,原因是它考虑了人类发声与接收声音的特性,具有更好的鲁棒性(Robustness)。
分帧
加窗
预加重
语音信号
三角带通滤波器
差分倒频谱参数
快速傅立叶变换
计算短时能量
特征参数
图1梅尔刻度式倒频谱特征参数提取流程
以录音设备录制一段模拟语音信号后,经由自定的取样频率(如8000Hz、16000Hz等)采样后转换(A/D)为数字语音信号。
由于在时域(timedomain)上语音信号的波形变化相当快速、不易观察,因此一般都会在频域(frequencydomain)上来观察,其频谱是随着时间而缓慢变化的,因此通常可以假设在一较短时间中,其语音信号的特性是稳定的,通常我们定义这个较短时间为一帧(frame),根据人的语音的音调周期值的变化,一般取10~20ms[2],主要步骤如下:
(1)预加重(pre-emphasis):
将经采样后的数字语音信号s(n)通过一个高通滤波器(highpassfilter):
H(z)=1–a×z-1,0.9
a
1.0(一般取0.95左右)。
经过预加重后的信号为:
(n)=s(n)–a×s(n-1)。
因为发声过程中声带和嘴唇的效应,使得高频共振峰的振幅低于低频共振峰的振幅[8],进行预加重的目的就是为了消除声带和嘴唇的效应,来补偿语音信号的高频部分。
(2)分帧(frameblocking):
取10~20ms为一帧。
为了避免相邻两帧的变化度过大,所以帧与帧之间需要重叠一部分,一般取二分之一或三分之一,也就是每次位移一帧的二分之一或三分之一后再取下一帧,这样可以避免帧与帧之间的特性变化太大。
(3)计算短时能量(energy):
短时能量代表着音量的高低,亦即声音振幅的大小,可以根据此能量的值来过滤掉语音信号中的一些细微噪声。
短时能量(energy)的定义为
当一帧的能量值低于我们定的门槛值(threshold)时,则将此帧作为静音段(silence)。
(4)加窗(hammingwindow):
将每一帧代入窗函数,其目的是消除各个帧两端可能会造成的信号不连续性。
常用的窗函数有方窗、汉明窗和汉宁窗等,根据窗函数的频域特性,常采用汉明窗。
设经过分帧之后的语音信号为S(m)=0,…N-1,那么乘上汉明窗后就变成S’(m)=S(m)*W(m),W(m)之定义如下:
W(m)=
(5)快速傅立叶变换(FFTtransform):
由于语音信号在时域上的变化快速而不稳定,所以通常都将它转换到频域上来观察,此时它的频谱会随着时间作缓慢的变化。
所以通常将加窗后的帧经过FFT(FastFourierTransform)求出每帧的频谱参数。
(6)三角形带通滤波器(triangularband-passfilter):
将每帧的频谱参数通过一组N个三角形带通滤波器(N一般为20~30个)所组成的梅尔刻度滤波器,将每个频带的输出取对数,求出每一个输出的对数能量(logenergy),k=1,2,…N。
再将此N个参数进行余弦变换(cosinetransform)求出L阶的Mel-scalecepstrum参数。
余弦转换公式如下:
其中梅尔刻度与频率的转换关系是
(2)声学模型与模式匹配
声学模型通常是将获取的语音特征使用训练算法进行训练后产生。
在识别时将输入的语音特征同声学模型(模式)进行匹配与比较,得到最佳的识别结果。
声学模型是识别系统的底层模型,并且是语音识别系统中最关键的一部分。
声学模型的目的是提供一种有效的方法计算语音的特征矢量序列和每个发音模板之间的距离。
声学模型的设计和语言发音特点密切相关。
声学模型单元大小(字发音模型、半音节模型或音素模型)对语音训练数据量大小、系统识别率,以及灵活性有较大的影响。
必须根据不同语言的特点、识别系统词汇量的大小决定识别单元的大小。
以汉语为例:
汉语按音素的发音特征分类分为辅音、单元音、复元音、复鼻尾音四种,按音节结构分类为声母和韵母。
并且由音素构成声母或韵母。
有时,将含有声调的韵母称为调母。
由单个调母或由声母与调母拼音成为音节。
汉语的一个音节就是汉语一个字的音,即音节字。
由音节字构成词,最后再由词构成句子。
汉语声母共有22个,其中包括零声母,韵母共有38个。
按音素分类,汉语辅音共有22个,单元音13个,复元音13个,复鼻尾音16个。
目前常用的声学模型基元为声韵母、音节或词,根据实现目的不同来选取不同的基元。
汉语加上语气词共有412个音节,包括轻音字,共有1282个有调音节字,所以当在小词汇表孤立词语音识别时常选用词作为基元,在大词汇表语音识别时常采用音节或声韵母建模,而在连续语音识别时,由于协同发音的影响,常采用声韵母建模。
目前也有参照英语的三音子(triphone)的上下文相关(CD)建模方法和使用基于senone的分布共享模型(SDM)方法进行的建模研究工作[22]。
基于统计的语音识别模型常用的就是HMM模型λ(N,M,π,A,B),涉及到HMM模型的相关理论包括模型的结构选取、模型的初始化、模型参数的重估以及相应的识别算法等。
具体如下:
(1)模型的结构包括状态数N的确定,每个状态对应的观测事件数M(有些文献假定观测矢量是在经历各非空转移时产生的输出),还有Markov链形状的确定,这主要由π,A两组参数决定。
根据L.Rabiner的实验研究以及国内一些学者的研究经验[16]表明目前Markov链状态数为6比较理想,超过6个状态的模型计算量太大而且识别准确率增加并不明显。
隐马尔可夫模型的结构主要有两种,一种是各态历经的,另一种是从左到右的。
状态的转移又可分为吸收的和不吸收的,不吸收是指状态可以从一个任意状态转移到下一个任意状态,吸收的是指状态只能转移到下标等于或大于当前状态下标的那种转移,而且下标小的状态将优先于下标更大的状态,而极少或几乎没有返回到以前状态的可能性。
根据语音信号的特性,目前比较常用“左-右”吸收转移模型。
Bakis拓扑结构属于这种模型,如下图:
图2Bakis拓扑结构
(2)观测序列概率(B)
观测序列概率描述在某状态时观察序列的概率分布。
根据对观测序列概率的不同描述HMM方法可分为离散的HMM和连续的HMM,以及半连续的HMM。
对于离散HMM(DHMM),B就是一个概率矩阵;对于连续HMM(CHMM)来说,B是每个状态对应于一个观测概率密度函数,函数是对数凹对称连续分布函数如高斯密度或高斯自回归密度函数,后来推广到椭球对称密度的连续分布函数。
这样所需的存储的参数是不同的,在DHMM中,B中直接存储每个状态产生的某个观测事件的概率bj(ot),识别时直接使用viterbi等算法即可求出P(O/λ);在CHMM中,存储的参数为:
每个状态j的Mj个Cjm权值,用来表示高斯概率密度函数的Mj个均值和方差,识别时计算下式然后使用viterbi算法。
可见CHMM不需要矢量量化,通过特征提取后的特征向量求出均值和方差后使用上式计算观测概率。
由于DHMM存在量化畸变问题影响识别率,而CHMM由于每个状态都有不同的概率密度函数从而训练和识别时计算量比较大,所以JuangBimHuang提出了半连续HMM(SCHMM),该方法结合离散和连续HMM的优点,值得注意的是所有模型的所有状态共享M个高斯概率密度函数,M等于1时,就变成了DHMM;B矩阵同在DHMM中一样直接存储每个状态产生的某个观测事件的概率bj(ot),同时还要存储M个高斯概率密度函数的均值和方差,识别时,先进行矢量量化,找出较大的M个bj(ot)作为权值,然后象上式一样求出bj(o),最后使用viterbi算法求出P(O/λ)。
(3)一般认为起始状态概率(π)、状态转移概率(A)的初值的选取对模型参数重估的影响不大,所以常采用均匀分布;而观测序列概率(B)对参数重估影响较大,当设置不恰当时,使用重估算法时收敛所需次数太多,并且算
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 统计 语音 识别 方法 分析 报告