[语音识别] kaldi -- aidatatang_200zh脚本解析:构建解码图

输入:final.mdl & tree & L_disambig.fst & G.fst

输出:HCLG.fst (在exp/xxxx/graph下)

## 构建解码图
### mkgraph.sh主要生成了HCLG.fst,后续识别主要利用了三个文件,分别是final.mdl、HCLG.fst、words.txt(从lang文件夹  cp过来)。
utils/mkgraph.sh data/lang_test exp/mono exp/mono/graph || exit 1;

流程:

1. 将词典L.fst和语言模型G.fst组合(fsttablecompose),然后进行确定化(fstdeterminizestar)和最小化(fstminimizeencoded),得到LG.fst,并确保结果stochastic,即从每个状态输出的转移概率之和为1
    1. fsttablecompose # compose(组合) [L_disambig.fst, G.fst]
    2. fstdeterminizestar # det (确定化)
    3. fstminimizeencoded # min (最小化)
    4. fstpushspecial #
    5. fstisstochastic # 诊断步骤,他打印出两个数字,最小权重和最大权重,以告诉用户FST不随机的程度
    
2. 将上下文C.fst和LG.fst组合得到CLG.fst,并确保结果stochastic
    1. fstcomposecontext 
    2. fstarcsort
    3. fstisstochastic
3. 基于HMM拓扑结构、转移概率和决策树

你可能感兴趣的:(语音识别,语音识别,kaldi,构建解码图)