ChartTrellisPath objects until a detour is selected. The output
should be unchanged except in the case of ties and rounding differences
in score calculations.
This doesn't make much difference at n = 100 but helps for larger lists:
example real times for decoding the first 100 sentences of the
new-test2008 tuning set with four threads:
n before after
1 4m32.955s 4m28.584s
100 4m42.375s 4m36.311s
1500 13m17.681s 4m34.807s
And with the 'distinct' option:
before after
1 4m36.656s 4m32.883s
100 11m04.236s 4m35.221s
1500 129m21.593s 5m06.320s
to support multiple translation, language and generation models within the
same process. The main design change is the introduction of a TranslationSystem
object to manage the models, which have been moved out of StaticData.
The changes should have no effect on existing systems.
git-svn-id: https://mosesdecoder.svn.sourceforge.net/svnroot/mosesdecoder/trunk@3394 1f5c12ca-751b-0410-a591-d2e778427230
Plain (single-thread) moses should configure and build as before.
Multi-thread and server only available if appropriate options are selected
at configure/compile time.
git-svn-id: https://mosesdecoder.svn.sourceforge.net/svnroot/mosesdecoder/trunk@2477 1f5c12ca-751b-0410-a591-d2e778427230
1) Stateless feature functions from the phrase table/generation table: these are computed when
the TranslationOption is created. They become part of the ScoreBreakdown object contained in
the TranslationOption and are added to the feature value vector when a hypothesis is extended.
2) Stateless feature functions that are computed during state exploration. Currently, only
WordPenalty falls into this category, but these functions implement a method Evaluate which
do does not receive a Hypothesis or any contextual information.
3) Stateful feature functions: these features receive the arc information (translation option),
compute some value and then return some context information. The context information created
by a particular feature function is passed back to it as the previous context when a hypothesis
originating at the node where the previous edge terminates is created. States in the search
space may be recombined if the context information is identical. The context information must
be stored in an object implementing the FFState interface.
TODO:
1) the command line interface / MERT interface needs to go to named parameters that are otherwise opaque
2) StatefulFeatureFunction's Evaluate method should just take a TranslationOption and a context object. It is not good that it takes a hypothesis, because then people may be tempted to access information about the "previous" hypothesis without "declaring" this dependency.
3) Future cost estimates should be handled using feature functions. All stateful feature functions need some kind of future cost estimate.
4) Philipp's poor-man's cube pruning is broken.
git-svn-id: https://mosesdecoder.svn.sourceforge.net/svnroot/mosesdecoder/trunk@2087 1f5c12ca-751b-0410-a591-d2e778427230