On Thu, Mar 24, 2011 at 10:07 AM, Barry Haddow <[email protected]> wrote:
> Hi Lane > > Ideally, moses should return the same output for the same input data. > However, > as Christian already noted, there are points in the code where pointer > comparison is used to determine the order in which the search graph is > explored, and this could potentially change the nbest lists. > > As far as I recall, the pointer comparison happens because we want to use > feature state for ordering hypotheses, and for some of the language model > features (eg SRI) the state is just a pointer to some implementation > specific > data. It looks to me as though kenlm implements a proper FFState object, as > opposed to using PointerState, so you could try changing language model to > see if you get deterministic behaviour. > > Of course, the problem you're observing could be caused by some other > source > of non-determinism. You should be able to observe the search graphs > diverging > by running with -v 3. Barry & Christian, Thanks for the replies. FWIW, I am not using multiple threads, so that shouldn't be an issue. I'll give KenLM a try to see if that makes a difference. I'd been meaning to try that out anyway. The pointer comparison issue seems like a likely culpruit for the case where multiple hypotheses are tied and have different order in the n-best lists. However, do you think that is a plausible explanation for the case where there are translations that appear only in run A, and different translations that only appear in run B (and the scores in these cases are not tied)? Cheers, Lane
_______________________________________________ Moses-support mailing list [email protected] http://mailman.mit.edu/mailman/listinfo/moses-support
