Hi,

I've just pushed a commit to Moses that brings about a slight change
wrt. the way the chart decoder deals with feature scores. 

The chart decoder now stores deltas of individual feature scores instead
of constantly summing everything up. This behaviour is similar to what
we have been doing in the phrase-based decoder since a long time
already. The main purpose of this modification is to improve efficiency
with sparse features a bit.

https://github.com/moses-smt/mosesdecoder/commit/465b47566424efb707bdc063d0bff52b0650eb0a


The modification may however break existing feature function
implementations. 

As a rule of thumb, any feature function that calls 

        ScoreComponentCollection::Assign()
in
        EvaluateWhenApplied(const ChartHypothesis&, ...)

is affected and needs to be adapted to the new behaviour. 

Basically, the ScoreComponentCollection variable passed to
EvaluateWhenApplied() now accumulates the delta score of the current
rule application only, whereas it was previously accumulating the
overall score of the partial hypothesis. 
I.e., calling Assign() in EvaluateWhenApplied() now does not replace the
overall score any more, but has the same effect as calling PlusEquals().

If you are the author of a feature function that implements
EvaluateWhenApplied(const ChartHypothesis&, ...) and calls Assign()
within that method, or if you are using such a feature function in your
experiments, please update your implementation. The feature function
should call PlusEquals() instead and add a score delta.

I've already updated moses/LM/Ken.cpp and moses/LM/Implementation.cpp
and Rico has updated moses/LM/BilingualLM.cpp .
In the Moses master branch I found one other feature function that
requires modifications: 

        moses/LM/DALMWrapper.cpp

This feature is currently not covered by a regression test, and I don't
have any setup with this feature myself. I would not be able to test any
modifications in that code and therefore would like to request that the
authors apply the necessary updates themselves. 

Please let me know in case you notice any issues or if you need any
further information or advice regarding this modification.

Cheers,
Matthias




-- 
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.

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

Reply via email to