走进语音识别中的WFST(一)

本人最近在研究语音识别的生成Graph和Lattice的模块,其中用到了WFST这个概念,惊叹于它的神奇也被它的复杂搞得晕头转向。于是决定静下心来仔细研读了Mohri大牛的Speech Recognition with Weighted Finite-state Transducer这篇论文和一些相关资料,算是入门了其中的算法,有些体悟在这里和大家一起探讨,也算是对自己近期学习的一个总结。本系列会先引入WFST的概念,然后介绍它的三大算法:Composition、Determinization和Minimization,最后介绍WFST在语音识别中的应用,即HCLG的操作。

首先先明确几个概念。有限状态转换器FST(finite-state transducer) 和加权有限状态转换器WFST(weighted finite-state transducer)的不同就是后者转移路径上附有权重;而WFST和WFSA(weighted finite-state acceptor)的区别就是前者的状态转移上的label既有输入又有输出而后者只有一个label。我们用WFST来表征ASR中的模型(HCLG),可以更方便的对这些模型进行融合和优化,于是可以作为一个简单而灵活的ASR的解码器(simple and flexible ASR decoder design)。
WFSA
WFST

WFST是基于半环代数理论的,在介绍半环之前我先简单的说一下群和半群。

群(Group):G为非空集合,如果在G上定义的二元运算*,满足:
(1)封闭性(Closure):对于任意 a , b ∈ G a,b\in G a,bG,有 a ∗ b ∈ G a*b\in G abG;
(2)结合律(Associativity):对于任意 a , b , c ∈ G , ( a ∗ b ) ∗ c = a ∗ ( b ∗ c ) a,b,c\in G,(a*b)*c=a*(b*c) a,b,cG,(ab)c=a(bc);
(3)幺元(Identity):存在幺元e,使得对于任意 a ∈ G , e ∗ a = a ∗ e = a a\in G,e*a=a*e=a aG,ea=ae=a;
(4)逆元:对于任意a ∈ \in G,存在逆元 a − 1 ∗ a = a ∗ a − 1 = e a^{-1}*a=a*a^{-1}=e a1a=aa1=e.
则称(G,*)为群。

半群(Semigroup):仅满足封闭性和结合律群称为半群;如果还包含幺元,则成为幺元半群。

介绍完群和半群,我们就引入半环的概念,半环代数理论始于19世纪末,属于抽象代数的范畴,1934年Vandiver首次对它做了较为系统的研究。

半环(semiring):指具有两个二元运算"+ “和” ⋅ \cdot "的非空集合S,且满足:
(1)(S,+)和(S, ⋅ \cdot )都是半群;
(2)( ∀ \forall

  • 20
    点赞
  • 91
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值