微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么srilm的ngram-merge会输入错误?

如何解决为什么srilm的ngram-merge会输入错误?

这是我在这里的第一篇文章,对我英语不好的人表示歉意。

我正在为研究工作立即使用Kaldi和srilm工具,但是在使用ngram-merge合并ngram-count生成的3-gram.count文件时遇到一个奇怪的问题。 (ngram-count和ngram-merge是srilm中的两个模块)

我在shell脚本中使用的代码如下所示:

ngram-merge \
 -write $dir_ngram/corpus_${ng}-gram.count \
 $dir_ngram/glsp_poj_tlu.txt_${ng}-gram.count /
 $dir_ngram/icorpus_tlu.txt_${ng}-gram.count /
 $dir_ngram/khkp_tlu.txt_${ng}-gram.count /
 $dir_ngram/nmtl_tlu.txt_${ng}-gram.count /
 $dir_ngram/total_tlu.txt_${ng}-gram.count /
 $dir_ngram/twbb_tlu.txt_${ng}-gram.count

$ dir_ngram 仅代表.count文件的目录,而 $ {ng} 在此处为3,因为我在语言模型中使用了trigram。 / p>

但是当我运行这部分代码时,发生了错误,它们看起来像这样:

/kaldi/egs/simple_20190520/source/ngram/icorpus_tlu.txt_3-gram.count: line 1: unk: No such file or directory
/kaldi/egs/simple_20190520/source/ngram/icorpus_tlu.txt_3-gram.count: line 2: Syntax error near unexpected token `<'
/kaldi/egs/simple_20190520/source/ngram/icorpus_tlu.txt_3-gram.count: line 2: `<unk> <unk> 11844000'
/kaldi/egs/simple_20190520/source/ngram/khkp_tlu.txt_3-gram.count: line 1: unk: No such file or directory
/kaldi/egs/simple_20190520/source/ngram/khkp_tlu.txt_3-gram.count: line 2: Syntax error near unexpected token `<'
/kaldi/egs/simple_20190520/source/ngram/khkp_tlu.txt_3-gram.count: line 2: `<unk> <unk>    449400'
/kaldi/egs/simple_20190520/source/ngram/nmtl_tlu.txt_3-gram.count: line 1: unk: No such file or directory
/kaldi/egs/simple_20190520/source/ngram/nmtl_tlu.txt_3-gram.count: line 2: Syntax error near unexpected token `<'
/kaldi/egs/simple_20190520/source/ngram/nmtl_tlu.txt_3-gram.count: line 2: `<unk> <unk>    13706200'
/kaldi/egs/simple_20190520/source/ngram/total_tlu.txt_3-gram.count: line 1: unk: No such file or directory
/kaldi/egs/simple_20190520/source/ngram/total_tlu.txt_3-gram.count: line 2: Syntax error near unexpected token `<'
/kaldi/egs/simple_20190520/source/ngram/total_tlu.txt_3-gram.count: line 2: `<unk> <unk>   11155390'
/kaldi/egs/simple_20190520/source/ngram/twbb_tlu.txt_3-gram.count: line 1: unk: No such file or directory
/kaldi/egs/simple_20190520/source/ngram/twbb_tlu.txt_3-gram.count: line 2: Syntax error near unexpected token `<'
/kaldi/egs/simple_20190520/source/ngram/twbb_tlu.txt_3-gram.count: line 2: `<unk> <unk>    7575840'

似乎 ngram-merge将文件的第一行作为文件名或目录,因为unk符号是每个.count文件的第一行(请使用 icorpus_tlu.txt_3 -gram.count ):

<unk>   21952800
<unk> <unk>     11844000
<unk> <unk> <unk>       6161460
<unk> <unk> pó-tshî     660
<unk> <unk> pe̍h-liáu-kang       60
<unk> <unk> m̄-sī        3840
<unk> <unk> lîu-hîng    540
<unk> <unk> ē-sái       12900
<unk> <unk> uî-huat     1740
<unk> <unk> kín-tiunn   780
<unk> <unk> tâi-tiong-tshī      840
<unk> <unk> kuī 120
<unk> <unk> tsú-lâng    660
<unk> <unk> tsi̍t        38520
.
.
.

.count文件的unk符号和第二行出现在错误消息的第一行和第三行中。我不知道为什么会这样,因为我认为ngram-merge应该只打开文件并开始读取ngram,而不将内容视为要打开的目录。另一个奇怪的是,“将内容作为目录”问题仅出现在最后五个文件。第一个文件似乎根本没有读取或目录问题。

我知道我可以将语料库合并在一起,因为所有的语料库都不太大,但是我对此问题有点好奇。有人知道如何解决这个问题吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?