【问题标题】:How to resolve mkcls taking up lots of memory and time for word alignment using GIZA++?如何使用 GIZA++ 解决 mkcls 占用大量内存和时间进行字对齐的问题?
【发布时间】:2013-02-07 19:25:58
【问题描述】:

我正在使用GIZA++ 来对齐来自Europarl corpus 的双文本中的单词。

在使用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 需要多长时间?

【问题讨论】:

  • 好的,在mkcls2 小时后完成...

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


【解决方案1】:

由于MOSESGIZA++mkcls脚本没有并行化,加上Europarl语料库150万个单词的句子和单词数,制作词汇类大约需要1-2个小时.

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 仍然 mkcls 没有并行化,对于足够大的 2 百万句子语料库来说需要很长时间。我发现从 python 调用 mkcls 然后从 mprocess 调用它确实减少了时间。
    • 嗯不知道。我部署了 mgiza,一切都足够快。你是对的 mkcls 在两个程序中都是一样的......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-24
    • 2021-12-18
    • 1970-01-01
    • 1970-01-01
    • 2020-04-25
    • 2021-03-31
    相关资源
    最近更新 更多