要想在EMS(Experiment Management System)中运用Word Lattice进行调参或解码,就不得不将配置文件中binarize-all开关打开,并且指定ttable-binarizer, 例如ttable-binarizer = "$moses-bin-dir/CreateOnDiskPt 1 1 4 100 2"。但是运行时发现总是报错,查看*binarize-config*文件发现-Binarizer后面的多个参数应该用双引号引起来,否则binarize-model.perl无法正确识别参数,导致报错。
解决方法如下:
1. 修改$moses-dir/scripts/ems/experiment.meta文件,找到binarize-config,将-Binarizer后面的$ttable-binarizer用双引号引起来;
2. 修改$moses-dir/scripts/training/binarize-model.perl文件,在第43行为$binarizer加上转义双引号(\")。
解决方法如下:
1. 修改$moses-dir/scripts/ems/experiment.meta文件,找到binarize-config,将-Binarizer后面的$ttable-binarizer用双引号引起来;
2. 修改$moses-dir/scripts/training/binarize-model.perl文件,在第43行为$binarizer加上转义双引号(\")。