00001 #pragma once
00002
00003 #include "StatelessFeatureFunction.h"
00004 #include "moses/parameters/AllOptions.h"
00005
00006 namespace Moses
00007 {
00008
00009
00010 class SourceGHKMTreeInputMatchFeature : public StatelessFeatureFunction
00011 {
00012 public:
00013 SourceGHKMTreeInputMatchFeature(const std::string &line);
00014
00015 bool IsUseable(const FactorMask &mask) const {
00016 return true;
00017 }
00018
00019 void SetParameter(const std::string& key, const std::string& value);
00020
00021 void EvaluateInIsolation(const Phrase &source
00022 , const TargetPhrase &targetPhrase
00023 , ScoreComponentCollection &scoreBreakdown
00024 , ScoreComponentCollection &estimatedScores) const {};
00025
00026 void EvaluateWithSourceContext(const InputType &input
00027 , const InputPath &inputPath
00028 , const TargetPhrase &targetPhrase
00029 , const StackVec *stackVec
00030 , ScoreComponentCollection &scoreBreakdown
00031 , ScoreComponentCollection *estimatedScores = NULL) const;
00032
00033 void EvaluateTranslationOptionListWithSourceContext(const InputType &input
00034 , const TranslationOptionList &translationOptionList) const {
00035 }
00036
00037
00038 void EvaluateWhenApplied(const Hypothesis& hypo,
00039 ScoreComponentCollection* accumulator) const {};
00040
00041 void EvaluateWhenApplied(const ChartHypothesis &hypo,
00042 ScoreComponentCollection* accumulator) const {};
00043
00044 void Load(AllOptions::ptr const& opts);
00045 };
00046
00047
00048 }
00049