Marcin, John,
Thanks! This works for me with the --hmm-align option.
One note: it only works if the number of hmm iterations is set >= 5. Looking at
the train-model.perl script, it has:
$___GIZA_EXTENSION = 'Ahmm.5' if $___FINAL_ALIGNMENT_MODEL eq 'hmm';
This seems to mean that it's specifically looking for the output of the 5th hmm
iteration. If I set the number of hmm iterations to 4, Moses fails, saying it
can't find an alignment file. If I set the number of hmm iterations to 10, GIZA
does 10 iterations, but then picks the 5th hmm iteration (hmm dump frequency
being set to 5 by default). Not a problem for me, since I can always manually
change the extension in the perl script if I want to pick up a different
iteration, but this seems like a bug.
Incidentally, it looks like Moses lets you do alignment purely with Model 1, by
setting "-final-alignment-model 1", although like hmm, it's hard-coded to pick
up the 5th iteration.
Cheers,
Momo
> Date: Thu, 6 Mar 2014 21:46:05 +0000
> From: [email protected]
> To: [email protected]
> Subject: Re: [Moses-support] No Moses translation without model >=3
>
> You can use the HMM model with the --hmm-align option for
> train-model.perl. The training scripts fails because you only changed
> the options of Giza without informing the script that it should not
> expect any *.A3 files. The --hmm-align option does this for you.
>
> Also there is no reason why you could not produce alignment files using
> only model 1, you would just need to adjust the training script
> accordingly. The uniform distribution is assumed for the first initial
> step, parameters change to something more meaningful after several
> iterations of the EM algorithm. However, most probably pure Model 1
> alignment won't be very good, as it incorporates no
> word-position-related information, the HMM model is much better usually.
> Some people claim, that you can abandon Model 3 and 4 altogether and
> stop after the HMM model.
> Best,
> Marcin
>
> W dniu 06.03.2014 21:29, John D. Burger pisze:
> > On Mar 6, 2014, at 16:00 , Momo Jeng <[email protected]> wrote:
> >
> >> I'm having a problem getting results from Moses, although I think it's
> >> really a problem with GIZA++; please let me know if there's a better place
> >> for GIZA questions.
> >>
> >> When I run Moses instructing GIZA++ to only do model1 and hmm iterations (
> >> "--giza-option
> >> model1iterations=3,hmmiterations=3,model3iterations=0,model4iterations=0"
> >> ), Moses fails, because GIZA++ doesn't produce an alignment file (the
> >> .A3.final file).
> >>
> >> Based on a quick look at the GIZA++ code, this failure is explicit in the
> >> code. In main.cpp, m3.viterbi(...) is only called at line 652 if at least
> >> one iteration is set for model 3, 4, 5, or 6, and m3.viterbi(...) is where
> >> the code for writing the alignment file is called. So I'm wondering if
> >> this a bug, or by design. Is there some reason that I shouldn't create
> >> alignments without using model 3 or higher?
> > You can't produce actual alignments with Model 1 - it assumes a uniform
> > distribution from each word over all the words in the other half of the
> > sentence pair. It's really only useful for initializing the word
> > translation probabilities for one of the more sophisticated models.
> >
> > - JB
> > _______________________________________________
> > Moses-support mailing list
> > [email protected]
> > http://mailman.mit.edu/mailman/listinfo/moses-support
>
> _______________________________________________
> Moses-support mailing list
> [email protected]
> http://mailman.mit.edu/mailman/listinfo/moses-support
_______________________________________________
Moses-support mailing list
[email protected]
http://mailman.mit.edu/mailman/listinfo/moses-support