2

我目前使用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,它显示完全不匹配的结果。

4

1 回答 1

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 文件旨在为语言模型的在线表示预先计算一些内容。

于 2013-10-26T15:13:28.310 回答