前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >加权有限状态机在语音识别中的应用

加权有限状态机在语音识别中的应用

原创
作者头像
李炼
修改2017-08-21 09:57:32
3.4K0
修改2017-08-21 09:57:32
举报
文章被收录于专栏:李炼的专栏李炼的专栏

WFST在语音识别中的应用,要从Mohri的《Weighted Finite-State Transducers in Speech Recognition》这篇论文开始说起。首先看下面简单的WFST图,它是一个有向图,状态转移弧上有输入符号、输出符号以及对应的权重值。下图中的输入符号和输出符号相同,当然在多数情况下它们是不相同的,在语音识别中,输入可能是发声的声韵母,输出是一个个汉字或词语。

WFST的基本操作

WFST是基于半环代数理论的,详细的半环理论可以看上面Mohri的论文或者找其它资料学习。简单的一个半环代数结构定义为

,它包含元素集合K,两个基本操作和两个基本单元。半环必须满足以下定理:

在语音识别中经常使用的有Log半环和热带半环:

⊕log is defined by: x ⊕log y = −log(e−x + e−y).

合并操作

合并操作用于将两个WFST合并成,合并可以用于存在多个WFST时,将它们合并到一个WFST,用于语音识别中。如下,将A和B

组合操作

组合操作用于合并不同层次的WFST,用于将前一个WFST的输出符号同后一个WFST的输入符号做合并,生成由前一个WFST的输入符号到后一个WFST输出符号的状态机。假设WFST A中有一条转移弧,输入x,输出y,权重是a;WFST B中有一条转移弧,输入是y,输出是z,权重是b,那么A和B的组合后,就会生成一条输入是x,输出是z,权重为ab。下图为对a和b做组合操作

确定化操作

确定化操作用于去除WFST的冗余,对于WFST的每一个状态,它的每一个状态对于同一个输入符号,只有一个转移弧。确定化的加权有限状态器的优势在于它的非冗余性,对于确定化的加权有限状态器,一个给定的输入符号序列最多只有一条路径与其对应,这样可以降低搜索算法的时间和空间复杂度。下图为对a做确定化操作,得到b

权重推移

权重前推操作将转移弧的权重都向加权有限状态器的初始状态推移,这样在采用搜索算法去找到最大或者最小路径时,可以在早期就丢弃一些不可能的路径。下图为对a做权重前推操作,得到b

WFST在语音识别中的应用

在语音识别中,隐马尔可夫模型(HMM)、发音词典(lexicon)、n-gram语言模型都可以通过WFST来表示。对于语音识别,其目标函数是:

其中p(O|W)为声学模型,p(W)为语言模型。将上述公式贝叶斯展开:

其中V是音素序列,P(V|W)表示单词W的发音概率。另外,P(O|V,W)的概率只与V有关,P(O|V,W) = P(O|V)

在语音识别中,通常会对概率取log运算,所以上式等同于下面:

基于上述公式,可以将语音识别分成三个部分,如下:

表达式

知识源

权重意义

WFST表示

-logP(W)

语言模型

wG(W→W)

G

-logP(V/W)

发音词典模型

wL(V→W)

L

-logP(O/V)

声学模型

wH(O→V)

H

采用知识源的方式替换上述的公式,得到:

一个完整的语言识别加权有限状态转换器可以表达为:

。在引入音素窗后,上式在H后增加音素窗的变化

通常N的组成由后往前进行,先进行LG的组合,再进行CLG的组合,最后进行HCLG的组合,即N = Min(H C Min(Det(L * G)))。

语言模型G

在语音识别中,语言模型用n-gram模型表示,常用的有bigram、trigram。n-gram模型与一个(n-1)阶马尔可夫链相似,所以可以用WFSA来表示。如下是一个简单的语言模型”start it”和“stop it”转成WFSA的示例:

发音词典模型L

发音词典模型表示一个单词有哪些音素序列串构成。当用WFST来表示L模型时,输入是音素串,到达终止状态时,输出一个相对应的单词。

上下文相关音子模型C

上下文相关音子模型用于将三音子序列转换为音素序列,这通常很容易构造,只需要输入三音子串,输出其central音素即可。

声学模型H

声学模型用HMM来进行建模,对于输入的MFCC特征,通过GMM或者DNN计算出当前帧对应的HMM发射态的概率。

将上述的HCLG通过组合以及相关的操作后,得到一个完整的解码图,配合GMM或者DNN模型去计算每一帧对应HMM状态的概率,采用Viterb或者beam-search算法,可以得到完整语音对应权重最小的文本,即为最后的解码结果。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • WFST的基本操作
    • 合并操作
      • 组合操作
        • 确定化操作
          • 权重推移
          • WFST在语音识别中的应用
            • 语言模型G
              • 发音词典模型L
                • 上下文相关音子模型C
                  • 声学模型H
                  相关产品与服务
                  语音识别
                  腾讯云语音识别(Automatic Speech Recognition,ASR)是将语音转化成文字的PaaS产品,为企业提供精准而极具性价比的识别服务。被微信、王者荣耀、腾讯视频等大量业务使用,适用于录音质检、会议实时转写、语音输入法等多个场景。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档