关于Moses训练的那些事
前面已经将moses从编译到训练测试的整体流程过了一遍,想必大家对这个工具有了一个大致的理解。这里再详细说一些东西,可能能帮助大家对moses有更深的认识。
也许你在训练过程中会遇到一定的问题,事实上,训练总共分为7个steps(步骤),有些情况下(尤其是语料非常大的时候,这个本人非常有体会,昨天训练了700万句平行语料数据,结果...)执行到某些步骤的时候会停下来,这样后续步骤无法从该步骤获得数据,整个过程就停止了。也就是说:你训练到了一半!!!这是很蛋疼的一个问题,因为从头训练意味着要大量的时间,而且你还是不能保证整个步骤是流畅的,所以本节的内容可能对你帮助很大。你可以通过它了解到如何分步进行训练,也可以在训练中断时判断目前训练进度以及下一步改进型训练的哪一个小步骤了。
1 训练过程中产生的文件和内容
言归正传,首先给大家介绍一下使用moses训练后的目录以及目录下的文件,在调用moses训练命令之后,如果训练全程都很顺利,那么在你的train文件夹下,会有四个文件夹Corpus、giza.zh-en、giza.en-zh、model,其目录下文件如下所示,在后续第2节会介绍每个文件夹中哪些文件分别是训练那个阶段获得的:
上述各目录结构内容截图如下所示:
l Train文件夹下:
l Train/corpus文件夹下:
l Train/giza.en-zh文件夹下:
l Train/giza.zh-en文件夹下:
l Train/model文件夹下:
下面我们看看以上后4个文件夹下的东西的内部结构是什么样的:
Ø 首先我们看看corpus下的内容:
Ø 上面是corpus下的英文部分,中文部分的文件也是类似的:
Ø 下面我们看看giza.en-zh下的文件:
相应的giza.zh-en文件夹下是反过来相对应的对齐信息,这里就不一一截图列举了。
下面我们看看非常重要的部分,train/model文件夹下内容的内部结构(这里不一一详细说明,后续章节会提到这里文件内容中每个变量具体指代的含义):
aligned.grow-diag-final-and文件记录的是词和短语的对齐信息,如下
extract.inv.sorted.gz如下
extract.o.sorted.gz
extract.sorted.gz
lex.e2f