Hi Christian,

Thanks for your help. I'd be glad to help any way I can in fixing the  
lattice computation. Regarding the edge probabilities, I hadn't really  
spent any time working out what values I should use. (I'd got as far  
as realising I shouldn't use negative numbers, but completely forgot  
that 0 would translate to negative infinity - I was fooled by the  
flooring to -100.) I'll use the values you suggest.

Thanks again,
Suzy

On 08/04/2010, at 9:32 PM, Christian Hardmeier wrote:

> Hi Suzy,
>
> Two things about your lattice problems:
>
> 1. The lattice distortion computation in moses is broken. It was  
> buggy a
> while ago, then I "fixed" it, and I recently found out that it's buggy
> in a different way now. I'll have another look at that, and maybe I'll
> send you some code to test with your lattices before I commit anything
> to the svn to avoid breaking it in yet another way. I think this is  
> what
> gives you the "weird distance" warnings, and it may also be  
> responsible
> for some of the translations that are not found.
>
> 2. You're using 0, 0.5 and 1 as edge probabilities in your lattice,
> which means the decoder will use log 0 (negative infinity, then  
> floored
> to -100), log 0.5 (-0.693) and log 1 (0) as scores. 0 is a very low
> score and may result in your hypotheses being pruned away immediately.
> I generally use the following values for this kind of indicator  
> scores:
> 0.368 = exp(-1)
> 0.606 = exp(-0.5)
> 1     = exp(0)
> This will translate into 0, -0.5 and -1 in logspace. Using negative
> scores avoids unnecessary warnings about probabilities >1.
>
> Best,
> Christian
>
> On Tue, 06 Apr 2010, Suzy Howlett wrote:
>
>> Hi,
>>
>> I'm trying to tune Moses using lattice input (not confusion network
>> input) and I'm getting some weird errors. I'd appreciate it if  
>> someone
>> could point out where I'm going wrong.
>>
>> Here's what I'm trying to do:
>> I can train and run a model on ordinary data. I can also reorder
>> sentences in a preprocessing step and train and run a reordered  
>> model.
>> Both of these work without a problem. I am now trying to use the two
>> phrase tables from these two models together in one system, and  
>> decode
>> lattice input where the lattice contains a total of two paths, one
>> representing the ordinary sentence and one representing the reordered
>> version of the same sentence. In representing the lattice as a  
>> string,
>> I order the nodes by placing the nodes of the original sentence  
>> before
>> the nodes of the reordered sentence. Since there is no sharing of
>> nodes except for the source and sink, I expected this would be as  
>> good
>> an ordering as any. The "transition probability" feature value is 0  
>> on
>> the edge starting the original sentence, 1 on the edge starting the
>> reordered sentence, and 0.5 on all other edges.
>>
>> To get this to work, I have added an extra feature to each entry in
>> both phrase tables (0 in the ordinary table and 1 in the reordered
>> table), binarised both phrase tables using processPhraseTable,
>> modified moses.ini to point to both tables and add in extra [weight- 
>> t]
>> values, modified mert-moses-new.pl, and passed the mert script the
>> additional flags "--inputtype 2 --no-filter-phrase-table". The
>> modification of mert-moses-new.pl consists of adding a "[ 0.0, -1.0,
>> 1.0 ]" to "additional_triples" for the extra phrase table feature,  
>> and
>> copying the contents of the "if ($___INPUTTYPE == 1)" clause (lines
>> 286-291) to the "if ($___INPUTTYPE == 2)" clause below it. This was a
>> bit of a hack, and may be part of the problem, I don't know. I'm
>> fairly certain those were the only changes I made from running the
>> plain non-lattice models.
>>
>> When I attempt to tune the model, a number of strange (probably
>> interrelated) things happen. For many sentences, it finds no best
>> translation. I find this odd, since it's using exactly the same data
>> as the plain original and reordered models, and those had no  
>> problems,
>> so I would expect both paths of the lattice to find at least one
>> possible translation. I assume it's getting some kind of explosion in
>> the size of the search space. Second, on some sentences I get several
>> error messages of the form "C: got a weird distance from X to Y of
>> Z" (e.g. for a lattice with 12 words in each of the original and
>> reordered paths, "C: got a weird distance from 5 to 12 of
>> 1073741822"). It looks like this error is due to the distortion part
>> of the model, trying to reorder phrases from the two different paths
>> of the lattice - I don't understand why it would be trying to do  
>> this.
>> The third oddity is that the tuning process crashed with the error
>> "Assertion failed: (!
>> m_sourceCompleted.Overlap(m_currSourceWordsRange)), function
>> Hypothesis, file Hypothesis.cpp, line 101."
>>
>> Miscellaneous additional information:
>>
>> When I run the regression tests "lattice-surface" and "lattice-
>> distortion" using moses-reg-test-data-2, all tests pass.
>>
>> It appears to be reading in the lattices correctly. For example, for
>> one short sentence it outputs:
>> "Translating: word lattice: 13
>> 0 -- (der , -100.000, 1) (der , 0.000, 7)
>> 1 -- (höchste , -0.693, 1)
>> 2 -- (preis , -0.693, 1)
>> 3 -- (betrug , -0.693, 1)
>> 4 -- (10.573 , -0.693, 1)
>> 5 -- (huf , -0.693, 1)
>> 6 -- (. , -0.693, 7)
>> 7 -- (10.573 , -0.693, 1)
>> 8 -- (preis , -0.693, 1)
>> 9 -- (betrug , -0.693, 1)
>> 10 -- (höchste , -0.693, 1)
>> 11 -- (huf , -0.693, 1)
>> 12 -- (. , -0.693, 1)"
>> (The reordering I'm using to test this out at the moment is very
>> simple, just swapping two words.)
>>
>> I haven't updated my copy of the subversion repository in a while - I
>> have revision 2654 - so if it's simply the case that this is a  
>> problem
>> that's been fixed since then, please let me know.
>>
>> Thanks,
>> Suzy
>> _______________________________________________
>> 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

Reply via email to