如何使用GIZA ++解决mkcls占用大量内存和字对齐的时间?

时间:2013-02-22 08:22:46

标签: nlp text-alignment machine-translation giza++

我使用GIZA++来对齐来自Europarl corpus的bitexts中的单词。

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

mkcls -n10 -pcorp.tok.low.src -Vcorp.tok.low.src.vcb.classes

我尝试使用小尺寸的1000行语料库,它可以正常工作并在几分钟内完成。 现在我正在尝试使用1,500,000行的语料库,它占据了我的一个CPU (Six-Core AMD Opteron(tm) Processor 2431 × 12)

的100%

在上课之前,我已采取必要步骤进行标记化,降低所有大写字母并过滤掉超过40个单词的行。

有没有人对GIZA ++ mkcls有类似的经历?怎么解决?如果有人在Europarl语料库上做了同样的事情,你需要多长时间才能运行mkcls

2 个答案:

答案 0 :(得分:0)

由于mkclsMOSES的{​​{1}}脚本未并行化,以及Europarl语料库中的150万字中的句子和单词数量,因此大约需要1-2个几个小时来制作词汇课。

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

答案 1 :(得分:0)

尝试支持多线程的 mgiza http://www.kyloo.net/software/doku.php/mgiza:overview)。它应该显着减少完成任务所需的时间。