On Thu, Mar 24, 2011 at 10:15 AM, Lane Schwartz <dowob...@gmail.com> wrote:

>  On Thu, Mar 24, 2011 at 10:07 AM, Barry Haddow <bhad...@inf.ed.ac.uk>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)?
>

I'm still running more test cases, but so far using KenLM has completely
eliminated nondeterministic behavior from Moses decoding.

Lane
_______________________________________________
Moses-support mailing list
Moses-support@mit.edu
http://mailman.mit.edu/mailman/listinfo/moses-support

Reply via email to