Hi,

This is mostly an FYI, but I thought I'd point it out. The OSM
documentation (http://www.statmt.org/moses/?n=Advanced.Models#ntoc3)
mentions that SRILM is required when training an interpolated OSM model.
This makes sense, because KenLM currently doesn't support interpolation.

However, the documentation doesn't state that SRILM is required for
(non-interpolated) OSM training. This also makes sense, because regular OSM
training can use KenLM.

The problem comes when running EMS using OSM when srilm-dir is not defined
in your config file. My experience is that doing so results in the error:
"ERROR: you need to define GENERAL:srilm-dir".

operation-sequence-model = "yes"
> operation-sequence-model-order = 5
> operation-sequence-model-settings = ""


 As far as I can tell, this is because the build-osm section of
experiment.meta references the variable $srilm-dir:

build-osm
>         in: corpus word-alignment
>         out: osm-model
>         ignore-unless: operation-sequence-model
>         rerun-on-change: operation-sequence-model training-options script
> giza-settings operation-sequence-model-settings
>         template: $moses-script-dir/OSM/OSM-Train.perl --corpus-f
> IN0.$input-extension --corpus-e IN0.$output-extension --alignment
> IN1.$alignment-symmetrization-method --order
> $operation-sequence-model-order --out-dir OUT --moses-src-dir
> $moses-src-dir --srilm-dir $srilm-dir $operation-sequence-model-settings
>         default-name: model/OSM


I'm not terribly familiar with this code, but it seems that a solution
would be to specify --lmplz instead of --srilm-dir in the build-osm section
of experiment.meta, since OSM-Train.perl accepts --lmplz as an alternative
to --srilm-dir.

Thanks,
Lane
_______________________________________________
Moses-support mailing list
[email protected]
http://mailman.mit.edu/mailman/listinfo/moses-support

Reply via email to