Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/moses-smt/mosesdecoder.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'moses/FF/ExampleTranslationOptionListFeature.h')
-rw-r--r--moses/FF/ExampleTranslationOptionListFeature.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/moses/FF/ExampleTranslationOptionListFeature.h b/moses/FF/ExampleTranslationOptionListFeature.h
new file mode 100644
index 000000000..7686eb3ff
--- /dev/null
+++ b/moses/FF/ExampleTranslationOptionListFeature.h
@@ -0,0 +1,67 @@
+#pragma once
+
+#include <string>
+#include "StatelessFeatureFunction.h"
+
+namespace Moses
+{
+
+class ExampleTranslationOptionListFeature : public StatelessFeatureFunction
+{
+public:
+ ExampleTranslationOptionListFeature(const std::string &line)
+ :StatelessFeatureFunction(1, line) {
+ ReadParameters();
+ }
+
+ bool IsUseable(const FactorMask &mask) const {
+ return true;
+ }
+
+ void EvaluateInIsolation(const Phrase &source
+ , const TargetPhrase &targetPhrase
+ , ScoreComponentCollection &scoreBreakdown
+ , ScoreComponentCollection &estimatedFutureScore) const {
+ }
+
+ void EvaluateWithSourceContext(const InputType &input
+ , const InputPath &inputPath
+ , const TargetPhrase &targetPhrase
+ , const StackVec *stackVec
+ , ScoreComponentCollection &scoreBreakdown
+ , ScoreComponentCollection *estimatedFutureScore = NULL) const {
+ }
+
+ void EvaluateTranslationOptionListWithSourceContext(const InputType &input
+ , const TranslationOptionList &translationOptionList) const {
+ std::vector<float> newScores(m_numScoreComponents);
+ newScores[0] = translationOptionList.size();
+
+ TranslationOptionList::const_iterator iterTransOpt;
+ for(iterTransOpt = translationOptionList.begin() ;
+ iterTransOpt != translationOptionList.end() ; ++iterTransOpt) {
+ TranslationOption &transOpt = **iterTransOpt;
+
+ ScoreComponentCollection &scoreBreakDown = transOpt.GetScoreBreakdown();
+ scoreBreakDown.PlusEquals(this, newScores);
+
+ transOpt.UpdateScore();
+ }
+ }
+
+ void EvaluateWhenApplied(const Hypothesis& hypo,
+ ScoreComponentCollection* accumulator) const {
+ }
+
+ void EvaluateWhenApplied(const ChartHypothesis &hypo,
+ ScoreComponentCollection* accumulator) const {
+ }
+
+
+ void SetParameter(const std::string& key, const std::string& value) {
+ }
+
+};
+
+}
+