传统语音识别介绍【五】—— 单音素和三音素

一、音素(单音素)

音素(phone),是根据语音的自然属性划分出来的最小语音单位,依据音节里的发音动作来分析,一个动作构成一个音素。音素分为元音辅音两大类。如汉语音节 ā(啊)只有一个音素,ài(爱)有两个音素,dāi(呆)有三个音素等。如“普通话”,由三个音节组成,可以分析成“p, u, t, o, ng, h, u, a”八个音素。

详细介绍:音素_百度百科

二、三音素

三音素,音素的一种,与单音素(如t, o, ng)不同,三音素表示为如 t-o+ng,即由三个单音素组成,与单音素o类似,但其考虑了上下文的关系,即,上文为t,下文为ng。

以“搜狗语音”为例:

拼音表示:sou1 gou3 yu3 yin1

单音素表示:s ou1 g ou3 y u3 y in1

三音素表示:sil-s+ou1 s-ou1+g ou1-g+ou3 g-ou3+y ou3-y+u3 y-u3+y u3-y+in1 y-in1+sil 

1、为什么要用三音素建模

单音素建模没有考虑协同发音效应,也就是上下文音素会对当前的中心音素发音有影响,会产生协同变化,这与该音素的单独发音会有所不同(数据统计也就有所不同)。

考虑到这个影响,需要使用三音素建模,使得模型描述更加精准。并且在倒谱特征提取时,汉宁窗向左、向右包含了冗余的频谱,因此,用三音素代替单音素是合理的。

2、为什么需要状态绑定

原因:(1)单音素复制为三音素后,状态的个数成指数增加。如果进行精细建模,模型参数非常巨大。

           (2)需要对三音素进行精细建模,则需要大量的数据,而实际上很难获得。

例子:  假设音素表有50个音素,则需要的三音素总个数有:50×50×50=125,000

             假设3个状态,每个状态对应1个GMM,1个GMM用8个高斯(44个参数=8+(8+1)×8/2),则1个三音素对应132个参数

             总的模型参数有:16500000,显然模型参数非常大。

             另外,每个三音素的模型建立,如果要全覆盖,则需要很大的训练数据,一般很难覆盖到。所以,精细建模不太现实,需要状态绑定来减小参数。

3、通过聚类进行状态绑定

方法一:传统的三音素方法就是模型绑定,也就是归一化三音素,使用一个后验平滑的方法。尽管如此,基于模型的上下文绑定是受限的,因为上下文音素不能单独的对待。                   

方法二:当前中心音素,如果上下文的发音类型相似,则对当前音素的影响是相似的,则可以将这些数据聚为1类;具体要如何制定这些规则(决策树规则),靠语言发音学家的经验知识。(音素判别,再到状态绑定) 对于节点分裂,需要寻找最佳的问题,按照look like hood增加的原则。kaldi可以自动产生问题集,根据音素本身数据上的相似性,自动聚为一类,这不需要语言学知识。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值