当前位置:文档之家› HMM在语音识别中的应用

HMM在语音识别中的应用


a11 A= ⋮ ai1 (4)
⋯ ⋱ ⋯
a1j ⋮ aij
B—状态的观测符号概率分布。
B {b j (Ok )}, b j (Ok ) P[在t时刻的输出符号为Ok | qt S j ] 1 j N ,1 k M
b11 B= ⋮ bj1 (5) —初始状态分布。
⋯ ⋱ ⋯
例如:
你 你
太 台
暴 暴
躁 躁
了 了
}
你太暴躁了
P(你太暴躁了)=P(你太暴)*P(太暴躁)*P(暴躁了) 最大概率为识别的最终结果。 5. 语音识别中的模型 A.语音模型(引擎) 采用声母、韵母作为声学单元,原因:汉语的一个音节是由声母加韵母 组成的,且声韵母相对比较稳定,模型数目较少,模型共享性好,训练和识 别的计算量都比以音节为单元要少得多。(声母 22 个,韵母 38 个,共计 60 个,无调音节 408 个,有调音节约 1300 个)。 由于语音普遍存在着协同发音现象,因此很多语音识别系统都采用上下 文相关的声学建模方法。同时考虑前一音和后一音的影响的成为三音子。在 连续语音识别系统中,考虑到词跟词之间的协同发音,又有词内和词间之分, 通常三音子(triphone)的建模可以分为词内建模和跨词建模。 B.语言模型(模型) 作用:利用语言文法等信息来提高识别精度,在语音识别系统中利用是通过 语言模型来反馈最终的识别结果。 语言模型、词典模型、声学(语音)模型的关系
识别:将输入的语音信号特征与存在的声学模型库(HMM)进行比较,找出一 系列最优的与输入的语言相匹配的模型。然后,根据此模型定义的规则,通 过搜索就可以给出计算机的识别结果。 1. 语音信号预处理与特征提取 2. 声学模型与模式匹配 3. 语言模型与语言处理
3. 隐马尔可夫(HMM)模型
HMM 是一个数学模型,用一堆数学符号和参数表示,包括隐藏状态集合 S、 观察符号集合 O、初始概率向量 , 状态转移概率矩阵 A,观测符号概率矩阵 B。 (1) (2)
N—模型的隐藏状态数目,隐藏状态的集合表示为 S
{S1 , S 2 ,...S N }
M—观测符号数,即每个状态可能输出的观测符号的数目。
观测符号集合表示为
O {O1 , O2 ,...OM }
(3)
A—状态转移概率分布,状态转移概率构成的矩阵为
A {aij}, aij P[qt 1 S j | qt Si ],1 i, j N
B.分词的应用:
一个句子 S 有三种分词方法: A1 , A2 …Ak ;B1 , B2 …Bm ;C1 , C2 …Cn , 概率满足 P(A)> P(B)并且 P(A) >P(B) ,则 A 为最好的分词方式。 可以把它看成一个动态规划问题,利用 Viterbi 算法快速地找到最佳分词。 动态规划:把多阶段过程转化为一系列单阶段问题,利用各阶段之间的关系, 逐个求解。
t 1( j ) [ t (i)a ij ]b j (Ot 1 ), 1 t T 1; 1 j N
i 1 N
(3) 最后计算
P(O | ) T (i )
i 1 N
其中
aij
为状态转移矩阵中的元素,
b j (Ot )
为观测符号矩阵中的元素。
同理可以进行向后算法的计算。 (二)后向算法 同理,可以类似地定义后向变量: t (i) P(Ot 1 , Ot 2 ,..., OT ; qt Si | ) 即在给定模型 号序列
6. 运用 HMM 处理问题
A.应用于识别率测试分析 例如: id: (016_000066) Scores: (#C #S #D #I) 5 1 0 0 REF: 来 一 则 笑 话 吧 HYP: 来 一 个 笑 话 吧 Eval: S
了解 HMM 识别的过程是根据前一个字出现后一个字的概率最大的结果输出。 返回语法.txt 文件进行查看,“一则”的分词结果:‘一/则’,“一个”的 分词结果:‘一个’,故建议对分词进行修改,添加‘一则’分词。
i 1
N
Nቤተ መጻሕፍቲ ባይዱ
(3) 最后计算
P(O | ) 1 (i )
i 1
2.Viterbi 算法。求取伴随给定观测序列产生的最佳状态序列。这一最佳判据, 目的就是要使正确的状态数目的期望值最大,用于模型细调。 (1) 初始化
C.词性标注的应用: 可以将词性标记序列作为隐藏状态 (S), 而把句子中的单词作为观察符号 (O) ,建 立 HMM 模型。 训练语料已经做好了标注,只需要计数就可以完成 HMM 各个模型参数的统 计,如标记间的状态转移概率可以通过如下公式求出: P(Ti|Tj) = C(Tj,Tk)/C(Tj) 而每个状态(标记)随对应的符号(单词)的发射概率可由下式求出: P(Wm|Tj) = C(Wm,Tj)/C(Tj) 句子中的每一个单词 W,词类类别 T(动词、名词等) C 代表的是其括号内因子在语料库中的计数
7. HMM 的三个基本算法
简述——3 个问题 问题一(向前-向后算法) 解决模型评估问题,即已知模型和一个观测序列,怎样来评估这个模型(它 与给定序列匹配得如何),或怎样给模型打分,这个问题通常被称为“前向后向”的算法解决。 问题二(Viterbi 算法) 这个问题是求取伴随给定观测序列产生的最佳状态序列。这一最佳判据,目 的就是要使正确的状态数目的期望值最大。它通常用 Viterbi 算法解决,用 于模型细调。 问题三(Baum-Welch 算法) 这个问题是调整模型参数
HMM 在语音识别中的应用
1. 语音识别技术基础与应用
消费电子 机器人 系统查询 电话拨号 语音导航
实际应用
语音识别
科学技术
声学
信息论
语言学
信号处 理
人工智 能
模式识 别
数理统 计
2. 隐马尔可夫(HMM)语音识别的过程
训练:语音信号的特征被提取出来,首先在此基础上建立所需的声学模型库, 这个建立声学模型的过程称为训练过程。
语言模型 例如:语言 词典模型 从词典文件中获得发音列表:Yu Yan
声学模型
……
分类:统计语言模型和规则语言模型
统计语言模型: 一个有意义的句子(S)由一连串特定排列的词(w1 , w2 , w3 ……wn )组成, n 是句子 长度,现在想知道 S 在文本中出现的可能性,即 S 的概率。 运用马尔可夫假设,假设任意一个词 wi ,出现的概率之与它前面的词| wi − 1 有关。 统计语言模型二元模型公式: P(S)=P( w1 )*P( w2 |w1 )* P( w3 |w2 )… P(wi |wi −1 )… P(wn |wn −1 ) 备注:如果假设一个词与前 2 个词出现概率有关,则为三元模型。
4. 语音识别的两个过程
A.HMM 语音识别——训练过程
已知提取特征为观察状态 S,识别的结果为隐藏状态 O,求模型初始状态,构 建模型。 Baum-Welch 算法求出最优解 λ *= argmax{P(O| λ ) } 特征提取过程: B.HMM 语音识别——识别过程
1
HMM 1
Viterbi算法
目录
1. 2. 3. 4. 5. 6. 7. 语音识别技术基础与应用 ...................................................................................... 2 隐马尔可夫(HMM) 语音识别的过程 ..................................................................... 2 隐马尔可夫(HMM) 模型 .......................................................................................... 3 语音识别的两个过程 .............................................................................................. 5 语音识别中的模型 .................................................................................................. 7 运用 HMM 处理问题 ............................................................................................... 8 HMM 的三个基本算法 ..........................................................................................10

及 t 时刻处于状态 Si 的条件下,产生 t 以后的部分观测符 的概率。
{Ot 1 , Ot 2 ,..., OT }
后向变量也可以用迭代法进行计算,步骤如下: (1) 初始化
T (i) 1,1 i N
(2) 迭代计算
t (i) a ij b j (Ot 1 ) t 1 ( j ), t T 1, T 2,...,1,1 i N
最大,可以用参
a33 a23
b3(O2)
a44 a34 a12
1
a12
b2(O1)
2
3
4
b3(O2)
5
符号序列:
o1
o2
o3
马尔可夫模型(HMM)结构图
(1) 已知观测序列 O {O1 , O2 ,...OT }
和模型
( A, B, )
PO
,如何有效的计算
相关主题