Lattices in archives
我们一般用 archives来存储网格。关于 archive和 Kaldi I/O机制的信息,见 Kaldi I/O mechanisms。用命令行生成网格的一个具体例子如下:
gmm-latgen-simple --beam=13.0 --acoustic-scale=0.0625 exp/tri/1.mdl \ exp/graph_tri/HCLG.fst ark:test_feats.ark "ark,t:|gzip -c > exp/lats_tri/1.lats.gz"
这之后,我们可以看到如下的网格:
gunzip -c exp/decodetri2a_bg_latgen_eval92/7.lats.gz | \ scripts/int2sym.pl --field 3 data/words.txt | head 444c0410 0 1 <s> 5.27832,0, 1 2 <UNK> 8.08116,1099.84, 1 3 A 12.8737,8342.93,3_1_1_1_1_1_1_1_1_1_1_12_18_17_17_17_17_17_17_17_17_17_3\ 464_3596_3632_3_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1\ 1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_12_18_17_17_18562_18561_18604_18\ 603_18603_18618_604_603_603_638 1 4 IF 10.2262,8096.64,3_1_1_1_1_1_1_1_1_1_1_12_18_17_17_17_17_17_17_13708_137\ 28_13806_12654_12670_12676_3_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1\ _1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_12_18_17_17_17_1856\ 2 5 NOT 12.4568,10548.7,3_1_1_1_1_1_1_1_1_1_1_12_18_17_17_17_17_17_17_17_20_26\ ...
标签<UNK>具有 graph和 acoustic scores但是没有输入标签(如果有,会在最后一个逗号后面出现),在这里似乎不太合适。必须理解的是,graph/acoustic scores和输入序列只有在通过 FST的完整路径上叠加(或连接)后才是有效的。并不需要保证,它们彼此之间对齐或和词标签对齐。
Lattices通常以 CompactLattice的形式存储在 archive,而且惯例是 acoustic weights不采用缩放,所以对于对 acoustic weight敏感的运算(如剪枝),对应的命令行会有 -acoustic-scale选项,并在进行运算前缩放 acoustic weights(运算结束后缩放回来)。