基于HMM的连续语音识别

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
假设 w 是长度为S 的词串序列w = w 1 , w 2 ,.... w s,其发 生 概率 p (w) 可近似假设为
pN{w} = Π p{wi | wi−1, wi−2 ,...,wi−N+1}
i=1
s
此式叫做N-元语言模型,可以通过统计训练数据库的文本得 到。当N很大时,考虑起来比较复杂,所以通常使用二元文法(BiGram)。
1.2.3、识别工具
HVite:基于Viterbi算法的词识别器
1.2.4、性能评估工具
HResults:HTK模型性能分析工具 HRec:评估结果输出
2、HMM简述
2.1HMM定义
模型初始状态 转移矩阵
λ ={π, A, B}
状态产生观测向 量的概率分布
2.2、HMM三个基本问题
生此观察序列的概率 P(O| λ) 。 1)、推理---已知观察序列O和模型 λ ,如何计算由此模型产
q3 o3
q4 o4
q5 o5
复合HMM模型
3.2.3 、建模单元
1)、音素:英语中常用的有45个,如ao、b、t、sil等。 2)、三音素:即考虑到当前音素的左半和右半连接音素。 例如:Beat it 音素级抄本为: sil b iy t ih t sil 三音素级抄本为: sil sil-b+iy b-iy+t iy-t+ih t-ih+t ih-t+sil sil 词间三音素、词内三音素
1.2.1、数据准备工具
HDMan:利用各种数据源生成发音词典 HCopy:数据文件格式转换 HLEd:编辑标注文件 Hbuild:转换各种不同格式的代表语言模型的文件并输出标HTK 网格格式 HSGen:根据以标准HTK网格格式定义的词,网络自动随机产生 一组句子 HSLab:对语音标注文件进行标注的编辑器
4)、计算复合HMM的前向-后向概率。 5)、用前向-后向概率来计算每帧语音 的状态占有概率及其累计和。 6)、重复过程2直至训练结束。 训练流程如右图所示: 在训练过程中采用逐步细化的建模过 成,先建立单音素的HMM,然后考虑音 素上下文,扩展到三音素HMM,最后进 行状态捆绑,还可逐步增加混合高斯变 量数目,最终得到鲁棒性较高的连续语 音识别HMM
3.2.7、识别网络
从根节点开始,与每个可能作为句子开始的词节点相连,每个词又 和它可能的相连,以此类推,构建好初始网络如下所示:
初始词网络
分解成三音素的网络
树结构的网络
识别网络中的词串假设 One two four
句子对应的 音素级脚本
特征向量 文件O
w ah1 n t uw1 f ao1 r
还望老师同学指正 Thanks!
2)、HMM训练
HTK提供一种逐步细化的建模过程,先建立单音素的 HMM,再考虑因素上下文,扩展到三音素HMM,最后进行状 态捆绑,并逐步增加高斯混合概率密度函数的个数,直至模型 复杂度达到一定程度,或系统性能达到一定指标。
3)、结果测试
HTK利用构建的识别网络,可以把语音识别为带有起始和持续 时间的单词序列,并可以利用HTK对齐工具,把结果翻译成相应的音 素序列,语言模型在词层和音素层都应用了双元文法,并在搜索过程
调入句子的脚本文件 建立 复合 HMM ( λ1,..., λQ ) 利用前向后向算法 计算前项变量和后向 变量值
参数重估
Y
还有训练句子么?
N
参数达到 收敛的结果了么?
N
Y 训 练 好 的 HMM模 型 库
3.2.5、嵌入式识别
识别任务就是在观测向量 O 下,最可能的词串序列 w ,使得p ( w | O ) 最大的词串序列。根据Bayes准则,有
基于HMM的连续语音识别
----------王风娜
HTK工具包http://htk.eng.cam.ac.uk HMM简述 基于HMM的连续语音识别 利用HTK构建连续语音识别系统
1、HTK 工具包
1.1、工具包框架
1.2、工具分类
HTK工具包是由若干带有特定执行功能的程序组 成。按照工具所完成功能的性质,可以将整个工具包分成 四个部分: 数据准备工具 模型训练和优化工具 识别工具 性能评估工具
1.2.2、模型训练和优化工具
HCompV:统计训练数据中的全局均值和方差 HERest:利用Baum-Welch算法对HMM模型进行嵌入式训练 HINit:HMM模型初始化 HRest:利用Baum-Welch算法对HMM模型进行一次训练 HHEd:直接对HMM进行各种编辑和优化操作.例如改变模型类型,上 下文相关建模,构造决策树,增加高司混合数等.
中应用了一些裁减策略(动态规划)。
4)、结果分析
对于识别结果,HTK应用动态规划的方法,将其与参考序列进 行最优对齐,计算它们之间的替代、删除、插入误差。
评测标准
1)、词正确识别率
Correct = N − D − S × 100 % N
2)、识别精度
Accuracy = N −D−S−I × 100 % N
通过递归计算前向后向概率得到
2)、学习—如何根据观察序列不断修正模型参数使 得 max{ P (O | λ )} 。
利用经典Baum-Welch算法,即EM算法
3)、 识别---已知观察序列O和模型,如何确定一个合理的状态 序列,使之能最佳地产生O。 Viterbi算法
3、基于HMM的语音识别
3.1孤立词识别
w* = argmax p(w | O) = argmax
w w
p(w) p(O | w) p(O)
式中 w = w 1 , w 2 ,.... w s 是任意长度的任意词串序列。
p (w)
由统计语言模型提供; 由各单词和相关的三音素的声学模型决定。
p(O| w)
3.2.6、N-gram 语言模型
1)、训练
2)、识别
3.2、连续语音识别
3.2.1、面临问题 连续语音句子中每个单词发音没有明显的界限, 分割困难; 协同发音影响; 语音信号随着说话人的语速差异及性别、生理因 素、心理条件、社会因素等等产生很大变化; 语言歧义性和语言结构的随意性。
3.2.2、模型结构
单个HMM模型wk.baidu.com
q1 o1
q2 o2
3)、三音素捆绑
状态捆绑示意图
状态捆绑决策树
3.2.4、嵌入式训练
要求:收集训练语音时,必须有训练语句的抄本。 算法流程: 1)、对所有音素或三音素的HMM进行初始化。 2)、输入新的训练语句。 3)、通过连接训练句子抄本中各符号所对应的HMM,构建 一个符合HMM,如下图所示:
初始化模型参数
计 算 在 复 合 HMM 下 的 概 率 p(O | w)
声学模型 HMMλ1,...,λQ) ( 语言模型
p(w)* p(O| w)
p(w| O)
嵌入式识别流程图
4、利用HTK构建连续语音识别系统
1)、数据准备
对于训练语音库及其词一级标注抄本,准备工作有: a.利用音素发音词典,把词级抄本转换成音素级抄本; b.对语音信号进行特征提取,HTK可以提取的特征有: MFCC、PLP、LPC等;
N:原始脚本文件中词的个数 D:识别结果对应于参考句子脚本中删除的词的个数 S:识别结果对应于参考句子脚本中替换的词的个数 I:识别结果对应于参考句子脚本中插入的词的个数
5、结束语
HMM在语音处理中已得到了广泛应用,它 的双重随机特性,可以很好地描述语音信号的短 时平稳特性和总体非平稳特性,但由于它自身模 型结构的限制,对语音的某些特性仍不能很好地 进行描述,但仍可以作为我们学习新模型的一个 基础。
相关文档
最新文档