离线语言模型的解码结果不正确

时间:2013-10-24 13:13:59

标签: cmusphinx

我目前使用pocketsphinx,并离线构建我自己的语言模型,而不是使用lmtool online

我按照sphinx tutoriallm wiki中的步骤操作 这是我的步骤:

#!/bin/bash
text2wfreq < 1.txt | wfreq2vocab > 1.vocab
text2idngram -vocab 1.vocab -idngram 1.idngram < 1.txt
idngram2lm -vocab_type 0 -idngram 1.idngram -vocab 1.vocab -arpa 1.arpa
sphinx_lm_convert -i 1.arpa -o 1.lm.DMP
sphinx_lm_convert -i 1.lm.DMP -ifmt dmp -o 1.lm -ofmt arpa
#pocketsphinx_continuous -lm 1.lm -dict 1.dic

的1.txt:

<s> Children  I want you to draw your bedroom </s>
<s> In my room  there is a big bed next to the window and a picture on the door </s>
.... #more

然而,当我运行pocketsphinx_continuous -lm 1.lm -dict 1.dic时,结果不正确,我的步骤有什么问题。

我注意到我使用自己的lm文件完全错误的输出,与在线构建的lm文件相比:

INFO: ngram_search_fwdflat.c(951): fwdflat 0.01 wall 0.006 xRT
**INFO: ngram_search.c(1214): </s> not found in last frame, using OK.150 instead**
INFO: ngram_search.c(1266): lattice start node <s>.0 end node OK.115
INFO: ngram_search.c(1294): Eliminated 1 nodes before end node
INFO: ngram_search.c(1399): Lattice has 30 nodes, 18 links
INFO: ps_lattice.c(1365): Normalizer P(O) = alpha(OK:115:150) = -1308625
INFO: ps_lattice.c(1403): Joint P(O,S) = -1309458 P(S|O) = -833
INFO: ngram_search.c(888): bestpath 0.00 CPU 0.000 xRT
INFO: ngram_search.c(891): bestpath 0.00 wall 0.000 xRT
000000001: TV OK

READY....

我尝试使用自己的lm和系统dic,它显示完全不匹配的结果。

1 个答案:

答案 0 :(得分:2)

我们需要更多地了解你的所作所为。 发布指向1.txt和1.dic文件的指针,以及1.lm文件。 这是一个(随机)思想:你的.lm看起来是混合的。你的.dic大写吗?

我不确定这是什么:

sphinx_lm_convert -i 1.arpa -o 1.lm.DMP
sphinx_lm_convert -i 1.lm.DMP -ifmt dmp -o 1.lm -ofmt arpa

.arpa和.lm本质上是同一个文件; .DMP文件旨在为语言模型的在线表示预先计算一些东西。