Nlp 如何使用GIZA+解决占用大量内存和时间进行单词对齐的MKCL问题+;?

Nlp 如何使用GIZA+解决占用大量内存和时间进行单词对齐的MKCL问题+;?,nlp,text-alignment,machine-translation,giza++,Nlp,Text Alignment,Machine Translation,Giza++,我正在使用来对齐来自的bitext中的单词 在使用GIZA++训练对齐模型之前,我需要使用脚本生成隐马尔可夫模型算法所需的类: mkcls -n10 -pcorp.tok.low.src -Vcorp.tok.low.src.vcb.classes 我用一个1000行的小语料库试过了,它工作正常,几分钟就完成了现在我在语料库上试用了1500000行,它占用了我一个CPU的100%(六核AMD Opteron(tm)处理器2431×12) 在创建这些类之前,我已经采取了必要的步骤来标记、降低所有

我正在使用来对齐来自的bitext中的单词

在使用GIZA++训练对齐模型之前,我需要使用脚本生成隐马尔可夫模型算法所需的类:

mkcls -n10 -pcorp.tok.low.src -Vcorp.tok.low.src.vcb.classes
我用一个1000行的小语料库试过了,它工作正常,几分钟就完成了现在我在语料库上试用了1500000行,它占用了我一个CPU的100%(六核AMD Opteron(tm)处理器2431×12)

在创建这些类之前,我已经采取了必要的步骤来标记、降低所有大写字母并过滤掉超过40个单词的行


是否有人对GIZA++的
mkcls
有类似的经验?如何解决?如果有人在Europarl语料库上做过同样的事情,你花了多长时间运行
mkcls

因为
mkcls
MOSES
GIZA++
编写的脚本不是并行的,而且在Europarl语料库中150万个单词中的句子和单词数量也不是并行的,词汇课大约需要1-2个小时


GIZA++之前的其他处理步骤(即
plain2snt
snt2cooc
)花费的时间和处理能力要少得多。

尝试支持多线程的mgiza()。这将大大减少完成任务所需的时间。

好的,现在它在
mkcls
的2个小时后就完成了。
mkcls
仍然没有并行化,需要很长时间才能获得足够大的2 mil句子语料库。我认为从
python
调用mkcls,然后从
mprocess
调用mkcls确实缩短了时间。我部署了mgiza,一切都很快。你是对的mkcls在两个程序中都是一样的。。。