|
#!/bin/bash |
|
|
|
|
|
|
|
function die() { |
|
echo "$@" |
|
exit 1 |
|
} |
|
RUNDIR=`pwd 2> /dev/null` |
|
if [ -z $RUNDIR ]; then |
|
RUNDIR=`pwd` |
|
fi; |
|
|
|
|
|
[ -d $WORKSPACE ] || die "Missing $WORKSPACE" |
|
echo "Workspace: $WORKSPACE" |
|
echo "This test is expected to take an hour." |
|
|
|
MOSES=$WORKSPACE/moses-cmd/src/moses |
|
|
|
[ -x $MOSES ] || die "Missing $MOSES" |
|
|
|
export SCRIPTS_ROOTDIR=$WORKSPACE/scripts |
|
|
|
cp -r ../cs-en-sample ./corpus || die "Missing $RUNDIR/../cs-en-sample" |
|
echo "Copied cs-en-sample files" |
|
|
|
mv corpus/test.* ./ || die "Missing corpus/test.*" |
|
cp corpus/train.cs ./dev.src || die "Missing corpus/train.cs" |
|
cp corpus/train.en ./dev.ref || die "Missing corpus/train.en" |
|
|
|
echo "Test and 'tuning' data ready. Tuning equals training." |
|
|
|
bindir=$WORKSPACE/bin |
|
[ -d $bindir ] || die "Please create $WORKSPACE/bin and put GIZA++ and such there" |
|
|
|
echo "Starting training script." |
|
|
|
$SCRIPTS_ROOTDIR/training/train-factored-phrase-model.perl \ |
|
--bin-dir=$bindir \ |
|
--f cs --e en \ |
|
--translation-factors 0-0 \ |
|
--decoding-steps t0 \ |
|
--first-step 1 \ |
|
--last-step 9 \ |
|
--corpus corpus/train \ |
|
--root . \ |
|
--parallel \ |
|
--lm 0:3:$RUNDIR/corpus/lm.en.gz \ |
|
|| die "Failed to train the model" |
|
|
|
echo "Finished moses.ini, merting." |
|
|
|
$SCRIPTS_ROOTDIR/training/mert-moses.pl \ |
|
--working-dir=mert-tuning \ |
|
$RUNDIR/dev.src \ |
|
$RUNDIR/dev.ref \ |
|
$MOSES \ |
|
$RUNDIR/model/moses.ini \ |
|
--decoder-flags="-dl 6 " \ |
|
|| die "Merting failed" |
|
|
|
|
|
|
|
|
|
|
|
|
|
echo "Finished merting, filtering phrases for test data." |
|
|
|
$SCRIPTS_ROOTDIR/training/filter-model-given-input.pl \ |
|
filtered-opt \ |
|
mert-tuning/moses.ini \ |
|
test.src \ |
|
|| die "Failed to filter phrases for test data." |
|
|
|
echo "Finished filtering. Deconding test set." |
|
|
|
$MOSES \ |
|
-dl 6 \ |
|
-f filtered-opt/moses.ini \ |
|
-i test.src \ |
|
> test.opt \ |
|
|| die "Decoding of test set failed." |
|
|
|
$SCRIPTS_ROOTDIR/generic/multi-bleu.perl test.ref \ |
|
< test.opt > test.opt.bleu \ |
|
|| die "Final scoring failed" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
echo "Success." |
|
|
|
|