Hi mailing,
I was wondering how giza++ initializes the uniform translation distribution
in IBM model 1 first iteration.
The code suggests that for each e_sentence es and f_sentence fs:
Model1.cpp:
PROB uniform = 1.0/es.size() ;
for( i=0; i < es.size(); i++)
for(j=1; j < fs.size(); j++)
tTable.insert(es[i],fs[j],0,uniform);
Ttables.h:
void insert(WordIndex e, WordIndex f, COUNT cval=0.0, PROB pval = 0.0){
ef[wordPairIds(e, f)].count = cval ;
ef[wordPairIds(e, f)].prob = pval ;
}
I'm having trouble understanding how the probability table (or the count
table for that matter) is updated here.
I use a more straightforward method (below) which yields in different
output, could someone elaborate?
Mycode:
Probability(f|e) = Count(e,f) / count (e)
Thank you,
Sanne
_______________________________________________
Moses-support mailing list
[email protected]
http://mailman.mit.edu/mailman/listinfo/moses-support