基于统计的语音识别方法分析报告.doc_第1页
基于统计的语音识别方法分析报告.doc_第2页
基于统计的语音识别方法分析报告.doc_第3页
基于统计的语音识别方法分析报告.doc_第4页
基于统计的语音识别方法分析报告.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于统计的语音识别方法分析报告报告人:林常志一、摘 要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年代末:人们终于在实验室突破了大词汇量、连续语音和非特定人这三大障碍,第一次把这三个特性都集成在一个系统中,比较典型的是卡耐基梅隆大学(Carnegie Mellon University)的Sphinx系统,它是第一个高性能的非特定人、大词汇量连续语音识别系统。这一时期,语音识别研究进一步走向深入,其显着特征是HMM模型和人工神经元网络(ANN) 在语音识别中的成功应用。HMM 模型的广泛应用应归功于AT&T Bell 实验室Rabiner 等科学家的努力,他们把原本艰涩的HMM纯数学模型工程化,从而为更多研究者了解和认识,从而使统计方法成为了语音识别技术的主流。统计方法将研究者的视线从微观转向宏观,不再刻意追求语音特征的细化,而是更多地从整体平均(统计)的角度来建立最佳的语音识别系统。在声学模型方面,以Markov链为基础的语音序列建模方法HMM(隐式Markov链)比较有效地解决了语音信号短时稳定、长时时变的特性,并且能根据一些基本建模单元构造成连续语音的句子模型,达到了比较高的建模精度和建模灵活性。在语言层面上,通过统计真实大规模语料的词之间同现概率即N元统计模型来区分识别带来的模糊音和同音词。另外,人工神经网络方法、基于文法规则的语言处理机制等也在语音识别中得到了应用。20世纪90年代前期,许多著名的大公司如IBM、苹果、ATT和NTT都对语音识别系统的实用化研究投以巨资。语音识别技术有一个很好的评估机制,那就是识别的准确率,而这项指标在20世纪90年代中后期实验室研究中得到了不断的提高。比较有代表性的系统有:IBM公司推出的Via Voice和Dragon System公司的Naturally Speaking, Nuance公司的Nuance Voice Platform语音平台,Microsoft的Whisper, Sun的VoiceTone等。其中IBM公司于1997 年开发出汉语ViaVoice 语音识别系统,次年又开发出可以识别上海话、广东话和四川话等地方口音的语音识别系统ViaVoice98 。它带有一个32 ,000 词的基本词汇表,可以扩展到65 ,000 词,还包括办公常用词条,具有“纠错机制”,其平均识别率可以达到95 %。该系统对新闻语音识别具有较高的精度,是目前具有代表性的汉语连续语音识别系统。(2)国内研究历史及现状我国语音识别研究工作起步于五十年代,但近年来发展很快。研究水平也从实验室逐步走向实用。从1987年开始执行国家863计划后,国家863智能计算机专家组为语音识别技术研究专门立项,每两年滚动一次。我国语音识别技术的研究水平已经基本上与国外同步,在汉语语音识别技术上还有自己的特点与优势,并达到国际先进水平。中科院自动化所、声学所、清华大学、北京大学、哈尔滨工业大学、上海交通大学、中国科技大学、北京邮电大学、华中科技大学等科研机构都有实验室进行过语音识别方面的研究,其中具有代表性的研究单位为清华大学电子工程系与中科院自动化研究所模式识别国家重点实验室。清华大学电子工程系语音技术与专用芯片设计课题组,研发的非特定人汉语数码串连续语音识别系统的识别精度,达到948(不定长数字符串)和968(定长数字符串)。在有5的拒识率情况下,系统识别率可以达到969(不定长数字符串)和987(定长数字符串),这是目前国际最好的识别结果之一,其性能已经接近实用水平。研发的5000词邮包校核非特定人连续语音识别系统的识别率达到9873,前三选识别率达9996;并且可以识别普通话与四川话两种语言,达到实用要求。中科院自动化所及其所属模式科技(Pattek)公司2002年发布了他们共同推出的面向不同计算平台和应用的“天语”中文语音系列产品Pattek ASR,结束了中文语音识别产品自1998年以来一直由国外公司垄断的历史。三、语音识别的几种基本方法一般来说,语音识别的方法有三种:基于声道模型和语音知识的方法、模板匹配的方法以及利用人工神经网络的方法 1。(1)基于语音学和声学的方法该方法起步较早,在语音识别技术提出的开始,就有了这方面的研究,但由于其模型及语音知识过于复杂,现阶段没有达到实用的阶段。通常认为常用语言中有有限个不同的语音基元,而且可以通过其语音信号的频域或时域特性来区分。这样该方法分为两步实现:第一步,分段和标号把语音信号按时间分成离散的段,每段对应一个或几个语音基元的声学特性。然后根据相应声学特性对每个分段给出相近的语音标号第二步,得到词序列根据第一步所得语音标号序列得到一个语音基元网格,从词典得到有效的词序列,也可结合句子的文法和语义同时进行。(2)模板匹配的方法模板匹配的方法发展比较成熟,目前已达到了实用阶段。在模板匹配方法中,要经过四个步骤:特征提取、模板训练、模板分类、判决。常用的技术有三种:动态时间规整(DTW)、隐马尔可夫(hmm)理论、矢量量化(VQ)技术。1、动态时间规整(DTW)语音信号的端点检测是进行语音识别中的一个基本步骤,它是特征训练和识别的基础。所谓端点检测就是在语音信号中的各种段落(如音素、音节、词素) 的始点和终点的位置,从语音信号中排除无声段。在早期,进行端点检测的主要依据是能量、振幅和过零率。但效果往往不明显。60年代日本学者Itakura提出了动态时间规整算法(DTW:Dynamic Time Warping)。算法的思想就是把未知量均匀的升长或缩短,直到与参考模式的长度一致。在这一过程中,未知单词的时间轴要不均匀地扭曲或弯折,以使其特征与模型特征对正。动态时间规整是将时间规整和距离测度结合起来的一种非线性规整技术。设测试语音参数共有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) 进行修正,最优参数*的求解可表示为*= argmaxP(O|) 。最后用Viterbi算法解出产生输出序列的最佳状态转移序列 X。所谓最佳是以 X 的最大条件后验概率为准则,即X =arg maxP(X| O ,) 。3、矢量量化(VQ)矢量量化(Vector Quantization) 是一种重要的信号压缩方法。与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)46和梅尔刻度式倒频谱参数(MFCC)4等都是常用的语音特征。从目前使用的情况来看,梅尔刻度式倒频谱参数已逐渐取代原本常用的线性预测编码导出的倒频谱参数,原因是它考虑了人类发声与接收声音的特性,具有更好的鲁棒性(Robustness)。分帧加窗预加重语音信号三角带通滤波器差分倒频谱参数 快速傅立叶变换计算短时能量特征参数图1 梅尔刻度式倒频谱特征参数提取流程以录音设备录制一段模拟语音信号后,经由自定的取样频率(如8000 Hz、16000 Hz等)采样后转换(A/D)为数字语音信号。由于在时域(time domain)上语音信号的波形变化相当快速、不易观察,因此一般都会在频域(frequency domain)上来观察,其频谱是随着时间而缓慢变化的,因此通常可以假设在一较短时间中,其语音信号的特性是稳定的,通常我们定义这个较短时间为一帧(frame),根据人的语音的音调周期值的变化,一般取1020ms 2,主要步骤如下:(1) 预加重(pre-emphasis):将经采样后的数字语音信号s(n)通过一个高通滤波器(high pass filter): H(z)= 1 az -1 , 0.9 a 1.0 (一般取0.95左右)。经过预加重后的信号为:(n)= s(n) as(n-1)。 因为发声过程中声带和嘴唇的效应,使得高频共振峰的振幅低于低频共振峰的振幅 8,进行预加重的目的就是为了消除声带和嘴唇的效应,来补偿语音信号的高频部分。(2) 分帧(frame blocking):取1020ms为一帧。为了避免相邻两帧的变化度过大,所以帧与帧之间需要重叠一部分,一般取二分之一或三分之一,也就是每次位移一帧的二分之一或三分之一后再取下一帧,这样可以避免帧与帧之间的特性变化太大。(3) 计算短时能量(energy):短时能量代表着音量的高低,亦即声音振幅的大小,可以根据此能量的值来过滤掉语音信号中的一些细微噪声。短时能量(energy)的定义为当一帧的能量值低于我们定的门槛值(threshold)时,则将此帧作为静音段(silence)。(4) 加窗(hamming window):将每一帧代入窗函数,其目的是消除各个帧两端可能会造成的信号不连续性。常用的窗函数有方窗、汉明窗和汉宁窗等,根据窗函数的频域特性,常采用汉明窗。设经过分帧之后的语音信号为S(m) = 0, N-1,那么乘上汉明窗后就变成S(m)= S (m)* W(m), W(m)之定义如下:W(m)= (5) 快速傅立叶变换(FFT transform):由于语音信号在时域上的变化快速而不稳定,所以通常都将它转换到频域上来观察,此时它的频谱会随着时间作缓慢的变化。所以通常将加窗后的帧经过FFT (Fast Fourier Transform)求出每帧的频谱参数。(6) 三角形带通滤波器(triangular band-pass filter):将每帧的频谱参数通过一组N个三角形带通滤波器(N一般为2030个)所组成的梅尔刻度滤波器,将每个频带的输出取对数,求出每一个输出的对数能量(log energy) , k = 1,2, N。 再将此N个参数进行余弦变换(cosine transform)求出L阶的Mel-scale cepstrum参数。余弦转换公式如下:其中梅尔刻度与频率的转换关系是(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拓扑结构属于这种模型,如下图:图2 Bakis拓扑结构(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由于每个状态都有不同的概率密度函数从而训练和识别时计算量比较大,所以Juang Bim Huang提出了半连续HMM(SCHMM),该方法结合离散和连续HMM的优点,值得注意的是所有模型的所有状态共享M个高斯概率密度函数,M等于1时,就变成了DHMM;B矩阵同在DHMM中一样直接存储每个状态产生的某个观测事件的概率bj(ot),同时还要存储M个高斯概率密度函数的均值 和方差 , 识别时,先进行矢量量化,找出较大的M个bj(ot)作为权值,然后象上式一样求出bj(o),最后使用viterbi算法求出P(O/)。(3)一般认为起始状态概率() 、状态转移概率(A)的初值的选取对模型参数重估的影响不大,所以常采用均匀分布;而观测序列概率(B)对参数重估影响较大,当设置不恰当时,使用重估算法时收敛所需次数太多,并且算法可能收敛于局部最优解而不是全局最优解。所以B的初值设置除了均匀分布外,可根据“初值估计原则”13进行估计,还有把初值的设置与训练过程结合,使用viterbi算法来重新确定初值的方法 5,对于CHMM也可采用分段k平均值法。一般倾向采取较为复杂的初值选取方法。(4)模型参数的重估是统计模式识别中最重要的环节,重估性能的好与坏直接影响到识别的准确率。目前还没有一个最佳的方法来估计模型,主要采用递归的思想来进行重估,即经典的Baum-Welch算法,该算法通过递归使P(O/)局部极大,作为基于爬山的算法,它有两个优点,一是收敛迅速,二是每一步迭代后似然概率都增大。然而这种方法一个很大的缺点是它只是用预先标识好属于一个模型的数据来训练该模型,使其似然概率趋于局部最大,从而不能保证这一似然概率比其它模型对应数据的似然概率更大,一旦出现这种情况,很容易导致误识。为了克服这一缺陷,提出了很多改进的方法,最有代表性的就是基于最大互信息准则(Maximum Nutual Information,MMI)的参数重估方法,也可以将训练和最后对模型的测试联系起来,利用识别结果来修正训练的模型,如纠错训练法。还有采用经典算法和遗传算法相结合的估计方法 14,神经网络的竞争训练法等等。(3)语言模型与语言处理语言模型包括由识别语音命令构成的语法网络或由统计方法构成的语言模型,语言处理可以进行语法、语义分析。语言模型对中、大词汇量的语音识别系统特别重要。当分类发生错误时可以根据语言学模型、语法结构、语义学进行判断纠正,特别是一些同音字则必须通过上下文结构才能确定词义。语言学理论包括语义结构、语法规则、语言的数学描述模型等有关方面。目前比较成功的语言模型通常是采用统计语法的语言模型与基于规则语法结构命令语言模型。语法结构可以限定不同词之间的相互连接关系,减少了识别系统的搜索空间,这有利于提高系统的识别。五、已有孤立词系统分析(1)前端信号处理采样频率:16000 Hz帧 长:384 (24ms)帧 移:192 (12ms)1、端点检测使用短时平均能量参数作为检测依据,参考背景噪声2、FIR预加重滤波器Yn=xn-0.97xn-13、汉明窗(Hmming window)4、梅尔倒谱(mel cepstrum)倒谱矢量维数:13Mel 滤波器个数:25个DFT长度:512最后对倒谱矢量进行CMN(Cepstral Mean Normalization)处理;5、矢量量化码本数量:4第一个码本对应12维倒谱矢量 大小:256 第二个码本对应12维一阶差分倒谱矢量 大小:256 第三个码本对应12维二阶差分倒谱矢量 大小:256 第四个码本对应能量、一阶能量、二阶能量倒谱矢量 大小:64 (2)声音模型处理系统采用基于统计的隐马尔可夫模型的方法来近似语音信号的随机产生过程,并通过隐马尔可夫理论中最优状态序列问题的解决来确定输入的语音信号,为了缩小搜索范围系统还构造了语法树。具体实现上,系统根据汉语声韵母的发音规则,分别建立了前向和后向hmm模型,和前向、后向语法树,采用前后向hmm结合语法树的方法进行搜索,其中前向viterbi-beam搜索严格意义上来讲并不是viterbi算法,只是采用了viterbi的计分公式,但并没有按照viterbi 算法求最大值并进行剪枝,而只是求出可能在当前帧结束的得分值较大的hmm模型(限定最大激活数为50个),然后后向搜索同样利用这些信息从后向lexical tree中找出可能的词拼音信息。(最大激活词数为15个)模型参数:状态数:7转移数:12输出观测事件的转移数:3前向模型数量:138后向模型数量:276状态图如下:前向hmm状态图后向hmm状态图前向搜索(1rdpass)分析:(一)该函数首先加载hmm模型参数,由BOOL C1rdPass:Load_Hmm() 实现;模型参数存放在1rdpass.mlg文件中,具体实现略。(二)加载前向lexical tree,由BOOL C1rdPass:Load_LexTree() 实现;树相关数据存放在sybtree.dat文件中。前向Lexical tree 中共有101个根结点,对应101个辅音hmm模型(未最后确定),根据汉语拼音匹配规则生成树,大部分汉字音节为辅音+元音结构,所以该树的每个分支深度最多为3,即辅音模型(101)+元音模型(37)+叶子结点(表示结束)。一共表示了405个音节(包括静音)。所有结点总数:902个。数据结构描述如下:最后2个字节存放根结点个数:101个。每棵树按顺序存放,即首先是hmm0为根结点的树,然后是hmm1,hmm2 ,并且规定hmm0hmm100的结点编号为1101,所以hmm0的第一个子结点编号为102,依次为103,104,并且存放时先存hmm0的子结点,然后是子结点的下一代,依次类推,一直到_wphn为255时表示已到达叶子。然后是进行下一棵树的存储。程序中主要变量含义如下:变量名称含义PhoneIdx结点序号LinkNum结点的子结点个数LinkCode所连接的第一个子结点的结点序号_wphn代表hmm编号_nto同LinkNum_depth从当前结点到页结点的深度_startno同LinkCodem_Partnode每棵树的结点个数(三)前向搜索主要由一个函数实现,即 void C1rdPass:Viterbi_Beam_Search();下面分析该函数。主要变量含义见下表:变量名称含义变量名称含义index_pHmm编号Ind_s1表示每一帧到下一帧的可选路径i_s源状态Ind_s2判断是否存在两条以上到达j_g结点的路径j_s目的状态IgSL存放当前帧的可选目的结点i_g源结点IpsfSl存放可选结点的状态(进行了左移)j_g目的结点PSL存放可选目的结点的得分值Flag1上一帧状态标志Nomgt第t帧为结束状态的可选hmm数量Flag2当前帧状态标志Omgtk第t帧为结束状态的可选hmm编号pomg对应的得分程序流程:对于输入的一个词,先从第一帧开始重复如下步骤直到该词的最后一帧:1、 从前向语法树(lexical tree)中读取其根结点2、 设置每个根结点的初始状态,包括得分值3、 进入循环体4、 对每一种可能的路径,如果是帧内转移,转入viterbi算法计算每种转移路径的得分;如果是帧间转移,找到当前结点的所有子结点,以子结点的0状态为源状态,转入viterbi算法计算每个子结点的路径得分值;保存该路经及其得分值5、 对于每一帧,提交在该帧为结束状态的hmm编号给后向搜索6、 直到最后一帧,退出循环7、 结束后向搜索(2rdpass)分析:(一)该函数首先加载hmm模型参数,由BOOL C2rdPass:Load_Hmm() 实现;模型参数存放在2rdpass.mlg文件中,具体实现略。(二)加载后向lexical tree,由BOOL C2rdPass:Load_LexTree() 实现;树相关数据存放在rmtree.bak文件中。后向Lexical tree 中共有37个根结点,对应37个元音hmm模型(未最后确定),同样根据汉语拼音匹配规则生成树,不同的是该树是从后向前生成的,即元音模型+辅音模型+叶子结点(表示结束)。同时前向语法树可以称为音节树,而后向语法树可称为词树,后向语法树中从根结点到叶子结点的路径进行回溯,也就是从叶子的父结点到根表示了一个词的拼音,确定词的拼音并不是按此路径进行,而是根据叶子结点存放的数据来找到的。叶子结点存放的数据与词拼音库有关,通过这个数据能找到该词在词拼音库的位置,从而确定每个字的音节序号,再按序号查找音节表从而找出拼音。所有结点总数:71869个。数据存储结构类似于1rdpass中sybtree.dat中的存储,不同处是根节点变为37个,但由于表示词,所以其树深度大于前向树,具体不做详细描述。(三)加载词拼音库,由BOOL C2rdPass:Load_Hanzi() 实现;相关数据存放在rmpinyin.bak文件中。数据存储结构:前两个字节存放一个词的音节数,接着的2 音节数个字节存储一个词的各个音节在音节表中的序号。每个序号占用两个字节。共有词数:31638个(四)后向搜索主要由函数 void C2rdPass:Viterbi_Beam_Search()实现,下面分析该函数。主要变量含义见下表:变量名称含义变量名称含义Index_pHmm编号Flag1上一帧状态标志i_s源状态Flag2当前帧状态标志j_s目的状态Ind_s1表示每一帧到下一帧的可选路径i_g源结点Ind_s2判断是否存在两条以上到达j_g结点的路径j_g目的结点LIgSL存放当前帧的可选目的结点Pgf 词拼音得分值IpsfSl存放可选结点的状态(进行了左移)Ngf可选词的个数PSL存放可选目的结点的得分值Cgf对应音节表中词拼音的存放位置程序流程:对于输入的一个词,先从第一帧开始重复如下步骤直到该词的最后一帧:1、 后向语法树(lexical tree)中读取其根结点2、 根据前向搜索给出的最后一帧的可能hmm编号(根据该帧所对应hmm状态是否为结束状态6来确定hmm编号),设置相对应的根结点的初始状态等参数3、 进入循环体4、 对每一种可能的路径(在前向搜索给出的hmm范围内),如果是帧内转移,转入viterbi算法计算每种转移路径的得分;如果是帧间转移,找到当前结点的所有子结点,以子结点的0状态为源状态,转入viterbi算法计算每个子结点的路径得分值;保存该路经及其得分值5、 直到最后一帧,计算该帧的可能回溯路径的状态值是否为结束状态,如果不是排除该路经,否则再判断该结点是否为叶子结点,如果是则根据叶子结点在后向语法树的数据找出其词拼音存放位置,否则排除该路经,退出循环6、 结束(3)拼音汉字处理根据前面所得拼音,从拼音汉字库rmrb31.lib二分查找到对应汉字输出。具体略。六、主要参考文献1 Lawrence Rabiner,Biing-Hwang Juang Fundamentals of Speech Recognition,清华大学出版社,19932 陈永斌,王仁华,语音信号处理,中国科技大学出版社,19903 易克初,田斌,付强 , 语音信号处理,国防工业出版社,20004 杨行峻,迟惠生等,语音信号数字处理,电子工业出版社5 谢锦辉,隐马尔可夫模型及其在语音识别中的应用6 胡光锐,语音处理与识别上海科技文献出版社,19947 X. Huang, A. Acero, H. Hon,Spoken Language ProcessingPrentice Hall 20018 Claudio Becchetti, Lucio Prina Ricotti, Speech Recognition: Theory and C+ Implementation John Wiley & Sons, 19999 Lawrence R.Rabiner, “A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition” , IEEE Trans . on Acoustics , Speech and Signal Processing , 198910 Joseph Picone, “continuous Speech Recognition Using Hidden Markov Models” , IEEE ASSP Magzine , 199011 Waleed H. Abdulla , Nikola K. Kasabov, “The Concepts of Hidden Markov Model in Speech Recognition” Technical Report, Information Science Department University of Otago New Zealand12 战普明,王作英,“语音识别隐马尔可夫模型的改进” 电子学报 199413 马明,张杰,王建宇,黄志同,“语音识别中隐马尔可夫模型初值的估计” 数据采集与处理 199714 茅晓泉,胡光锐,唐斌,“一种DHMM的混合训练方法” 电子学报 200215 贾宾,朱小燕,罗予频,胡东成,“消除溢出问题的精确Baum-Welch算法” 软件学报 200016 张杰,黄志同,王晓兰,“语音识别中隐马尔可夫模型状态数的选取原则及研究” 计算机工程与应用 200017 冯哲,“大词汇量汉语连续语音的快速识别算法研究” 复旦大学硕士论文 200118 Tapas Kanungo, Nathan S. Netanyahu, Christine D. Piatko, Ruth Silverman, and Angela Y. Wu, “An Efficient k-Means Clustering Algorithm: Analysis and Implementation” IEEE Trans on Pattern Analysis and Machine Intelligence 200219 Thomas Hain, “Hidden Model Sequence Models for Automatic Speech Recognition” University of Cambridge 200120 Fil Alleva, Xuedong Huang, Mei-Yuh Hwang, “An Improved Search Algorithm Using Incremental Knowledge for Continuous Speech Recognition” IEEE 199321 Mosur K. Ravishankar, “Efficient Algorithms for Speech Recognition” Carnegie Mellon University , Docter Thesis 199622 Kai-Fu Li, Hsiao-Wuen Hon, “Large-Vocabulary, Speaker-Independent, Continuous Speech Recognition Using HMM” IEEE 1988袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论