语音识别by HMM09009226 邓齐林•语音识别技术,也被称为自动语音识别(Automatic Speech RecognitionASR),其目标是将人类的语音中的词汇内容转换为计算机可读的输入,如字符序列。•语音识别技术主要包括特征提取技术模型训练技术模式匹配技术•最早的基于电子计算机的语音识别系统是由AT&T贝尔实验室开发的Audrey语音识别系统,它能够识别10个英文数字。其识别方法是跟踪语音中的共振峰(在声音的频谱中能量相对集中的一些区域)•到1950年代末,伦敦学院(Colledge of London)的Denes已经将语法概率加入语音识别系统中,成功开发了第一个计算机语音识别系统。语音识别技术•转变:进入80年代以后,研究的重点逐渐转向大词汇量、非特定人的连续语音识别,研究思路由传统的技术思路开始转向基于统计模型(HMM)的技术思路•突破:隐马尔科夫模型HMM(Hidden Markov Model)的应用•卡内基梅隆大学的李开复最终实现了第一个基于隐马尔科夫模型的大词汇量语音识别系统Sphinx。语音识别系统•特征提取/前端处理提取语音信号的相关特征•声学模型对应于语音到音节概率的计算•语言模型对应于音节到单词概率的计算。。。。。。HMM的语音识别过程判决规则判决规则估值计算/VITERBI解码计算估值计算/VITERBI解码计算VQ矢量量化VQ矢量量化码本码本训练识别XX:特征向量的时间序列O:基于VQ的观察符号序列HMM(3)HMM(3)HMM(2)HMM(2)HMM(1)HMM(1)∙∙特征提取预处理语音信号识别结果OVQ —Vector Quantization将若干个标量数据组构成一个矢量,然后在矢量空间给以整体量化预处理•预滤波语音信号的频谱分量采样和量化•预加重语音衰减(6dB/oct)信号提升/加重•端点检测短时平均能量短时平均过零率离散信号的相邻两个取样值具有不同的符号时,便出现过零现象,单位时间内过零的次数叫做过零率声学特征•帧:由于语音信号的时变特性,特征提取必须在一小段语音信号上进行,也就是要进行短时分析,这一小段被认为是平稳的分析区间称为帧•帧与帧之间的偏移距离通常取帧长的1/2或1/3例如:语音信号可以按256 个采样点为帧长进行分帧, 帧移采用128 个采样点. 这样设置参数后把系统移植到DSP 平台可以利用DFT等算法.特征提取•选取的合适的特征参数声学特征的提取与选择考虑特征参数的计算量•进行适当的数据压缩矢量量化技术节省存储容量和识别运算量•对于非特定人语音识别系统来讲,希望特征参数尽可能多的反映语义信息,尽量减少说话人的个人信息(对特定人语音识别系统来讲,则应该增加说话人的个人信息)。特征提取•时域特征和/或频域特征•时域特征:1共振峰2短时平均能量3短时平均过零率频域特征•线性预测系数(LPC)•LPC倒谱系数(LPCC)•梅尔频率倒谱系数(MFCC)•此外还有基于听觉模型的特征参数提取:感知线性预测(PLP)声学模型•马尔可夫模型:离散时域的有限状态自动机•隐马尔可夫模型HMM:则是指马尔可夫模型的内部状态外界不可见,当从一个状态转移到另一个状态时,外界只能观察到各个时刻的输出值,而不能观测到状态转移序列。•对语音识别系统而言,输出值通常就是从各个帧提取计算而得的声学特征。•HMM的两个假设内部状态的转移只与前一个状态有关输出值只与当前状态有关HMM 算法•估值算法HMM向前算法HMM向后算法•解码算法Viterbi算法对数Viterbi算法•训练算法向前向后算法Baum‐Welch算法•声学模型是识别系统的底层模型•目标:提供一种有效的方法, 计算语音的特征矢量序列•指标训练数据量语音识别率灵活性基本概念•音素:最小的语音单位•音标:记录英语音素的符号•音节:最自然的语音单位•汉语中一个汉字就是一个音节,每个音节由声母、韵母和声调三个部分组成•英语中一个元音音素可构成一个音节,一个元音音素和一个或几个辅音音素结合也可以构成一个音节。模型识别单元/模型基元•词发音模型•音节模型•半音节模型•音素模型•小的识别单元的优点:计算量存储量训练数据量•带来的问题:对应语音段的定位和分割困难更加复杂的识别模型规则•通常大的识别单元易于包括协同发音在模型中, 这有利于提高系统的识别率但要求的训练数据相对增加模型结构选取•语音识别中使用HMM通常是用从左向右单向、带自环、带跨越的拓扑结构来对识别基元建模,一个音节就是一个三至五个状态的HMM•一个词就是构成词的多个音节的HMM串行起来构成的HMM,而连续语音识别的整个模型就是词和静音组合起来的HMM。模型结构选取•各态经历•从左到右1s2s3s模型结构选取模型只有惟一的一个初始状态和一个终止状态,并且这个过程只要进入一个新的状态就不能返回到以前的状态,这种模型很适合于其性质随着时间变化的语音信号。由左至右的HMM,初始状态是1,终止状态是5上下文相关建模•协同发音的现象,指的是一个音受前后相邻音的影响而发生变化•从发声机理上看就是人的发声器官在一个音转向另一个音时其特性只能渐变,从而使得后一个音的频谱与其他条件下的频谱产生差异•只考虑前一音的影响的称为Bi‐Phone,考虑前一音和后一音的影响的称为Tri‐Phone。上下文相关建模•英语的上下文相关建模以音素为模型基元•有些音素对其后音素的影响是相似的,因而可以通过音素解码状态(Viterbi算法)的聚类共享模型参数•聚类的结果称为senonek均值聚类•k均值聚类是最著名的划分聚类算法,简洁和高效率使得他成为所有聚类算法中最广泛使用的。•给定一个数据点集合和需要的聚类数目k,k由用户指定,k均值算法根据某个距离函数反复把数据分入k个聚类中基于HMM的孤立词语音识别原理图用于训练语音信号用于识别语音信号训练识别训练语音的特征矢量K均值聚类分析矢量量化器HMM参数Viterbi计算判决规则待识别语音的特征矢量码本元素识别结果训练识别特征提取用决策树来实现高效的tri‐phone对senone的选择,通过回答一系列前后音所属类别的问题(元/辅音、清/浊音),最终确定其HMM状态应使用哪个senone。语言模型•规则语言模型和统计语言模型•规则语言模型音节字典词法规则语法规则•统计语言模型:用概率统计的方法来揭示语言单位内在的统计规律,利用了拼音间的统计信息, 进行基于拼音串的语言理解•N‐Gram:该模型基于这样一种假设,第n个词的出现只与前面N‐1个词相关,而与其它任何词都不相关,整句的概率就是各个词出现概率的乘积。这些概率可以通过直接从语言资料中统计N个词同时出现的次数统计得到。•由于计算量太大,N一般取值不会很大,常用的是二元的Bi‐Gram和三元的Tri‐Gram。经典HMM语音识别训练过程语音库训练算法特征提取参数向量收敛参数向量调整NY训练过程•想要识别的词表有V 个词, 为每个词设计一个HMM 模型。用VQ (Vector Quantization, 矢量量化) 技术设计一个尺寸为M的码本(M 为观察符号数)。•假定每个词有K组训练数据,得到最优的模型参数。与此同时,可以使用Viterbi算法得到状态数为N 的最可能的状态转移序列。经典HMM语音识别识别过程语音信号特征提取HMM3HMM2HMM1maximumselector识别结果……识别•目的:寻找一个词模型序列以描述输入语音信号,从而得到词解码序列。•声学模型估值•语言模型估值•对要识别的语音信号用训练所得的模型进行评估,计算模型对于观察序列的后验概率,后验概率最大的即位识别结果•N‐best策略获取前N个最好的候选音节(获取前N个最好的候选词)•Viterbi解码算法:得到最佳状态转移序列,并在每个节点记录下相应的状态路径信息以便最后反向获取音节或词的解码序列。•N‐best搜索产生一个候选列表,在每个节点要保留N条最好的路径•根据最佳状态序列对应的θ给出候选音节多遍搜索•为在搜索中利用各种知识源,通常要进行多遍搜索,第一遍使用代价低的知识源,产生一个词候选列表或词候选网格,在此基础上进行使用代价高的知识源的第二遍搜索得到最佳路径。基本的声学模型基本的语言模型•这些可以用于第一遍搜索•更高级的语音识别,往往要利用一些代价更高的知识源:1.4阶或5阶的N‐Gram2.4阶或5阶的上下文相关模型N‐phone3.词间相关模型4.语法分析性能指标•①词汇表范围:这是指机器能识别的单词或词组的范围。•②说话人限制:是仅能识别指定发话者的语音,还是对任何发话人的语音都能识别。•③训练要求:使用前要不要训练,即是否需要让机器先听一下给定的语音,以及训练次数的多少。•④正确识别率:平均正确识别的百分数,它与前面三个指标有关。Question1•直接计算后验概率与找出解码状态序列的区别?Question2•在连续语音识别中,你认为可能会如何利用语言的词性信息?•Viterbi 算法(Viterbi algorithm):自然语言处理中的词性标注。•在词性标注中,句子中的单词是观察状态,词性(语法类别)是隐藏状态(注意对于许多单词,如wind,fish 拥有不止一个词性)•对于每句话中的单词,通过搜索其最可能的隐藏状态,我们就可以在给定的上下文中找到每个单词最可能的词性标注。Question3•你觉得一个语音识别系统是否应用范围越广越好?•交流•新闻播报•音乐