我目前使用pocketsphinx,并离线构建自己的语言模型,而不是在线使用lmtool
我按照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,它显示完全不匹配的结果。