|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
echo `date`
|
|
devtest_data_dir=$1
|
|
pivot_lang=${2:-"eng_Latn"}
|
|
src2pivot_ckpt_dir=$3
|
|
pivot2tgt_ckpt_dir=$4
|
|
system=${3:-"it2"}
|
|
|
|
|
|
|
|
pairs=$(ls -d $devtest_data_dir/* | sort)
|
|
|
|
|
|
|
|
for pair in ${pairs[@]}; do
|
|
|
|
pair=$(basename $pair)
|
|
src_lang=$(echo "$pair" | cut -d "-" -f 1)
|
|
tgt_lang=$(echo "$pair" | cut -d "-" -f 2)
|
|
|
|
src_fname=$devtest_data_dir/$src_lang-$tgt_lang/test.$src_lang
|
|
pivot_fname=$devtest_data_dir/$src_lang-$tgt_lang/test.$pivot_lang
|
|
tgt_fname=$devtest_data_dir/$src_lang-$tgt_lang/test.$tgt_lang
|
|
|
|
|
|
if [ -f "$src_fname" ] && [ -f "$tgt_fname" ]; then
|
|
echo "Evaluating $src_lang-$tgt_lang ..."
|
|
else
|
|
echo "Skipping $src_lang-$tgt_lang ..."
|
|
continue
|
|
fi
|
|
|
|
|
|
if [[ $system == *"it2"* ]]; then
|
|
|
|
echo "Generating Source to Pivot Translations"
|
|
bash joint_translate.sh $src_fname $pivot_fname.pred.$system $src_lang $pivot_lang $src2pivot_ckpt_dir
|
|
|
|
|
|
echo "Generating Pivot to Target Translations"
|
|
bash joint_translate.sh $pivot_fname.pred.$system $tgt_fname.pred.$system $pivot_lang $tgt_lang $pivot2tgt_ckpt_dir
|
|
fi
|
|
|
|
|
|
if [[ -f "${tgt_fname}.pred.${system}" ]]; then
|
|
echo "Computing Metrics"
|
|
bash compute_metrics.sh $tgt_fname.pred.$system $tgt_fname $tgt_lang > $devtest_data_dir/$src_lang-$tgt_lang/${src_lang}_${tgt_lang}_${system}_scores.txt
|
|
fi
|
|
|
|
|
|
rm $pivot_fname.pred.${system}.*
|
|
rm $tgt_fname.pred.${system}.*
|
|
rm -rf $devtest_data_dir/$src_lang-$tgt_lang/*.tok
|
|
|
|
done
|
|
|