00001 #pragma once
00002
00003 #include "StatelessFeatureFunction.h"
00004
00005 namespace Moses
00006 {
00007 class DecodeStep;
00008
00012 class HyperParameterAsWeight : public StatelessFeatureFunction
00013 {
00014 public:
00015 HyperParameterAsWeight(const std::string &line);
00016
00017 virtual bool IsUseable(const FactorMask &mask) const {
00018 return true;
00019 }
00020
00021 virtual void EvaluateInIsolation(const Phrase &source
00022 , const TargetPhrase &targetPhrase
00023 , ScoreComponentCollection &scoreBreakdown
00024 , ScoreComponentCollection &estimatedScores) const {
00025 }
00026
00027 virtual void EvaluateWithSourceContext(const InputType &input
00028 , const InputPath &inputPath
00029 , const TargetPhrase &targetPhrase
00030 , const StackVec *stackVec
00031 , ScoreComponentCollection &scoreBreakdown
00032 , ScoreComponentCollection *estimatedScores = NULL) const {
00033 }
00034
00035 virtual void EvaluateTranslationOptionListWithSourceContext(const InputType &input
00036 , const TranslationOptionList &translationOptionList) const {
00037 }
00038
00039 virtual void EvaluateWhenApplied(const Hypothesis& hypo,
00040 ScoreComponentCollection* accumulator) const {
00041 }
00042
00046 virtual void EvaluateWhenApplied(const ChartHypothesis &hypo,
00047 ScoreComponentCollection* accumulator) const {
00048 }
00049
00050 };
00051
00052 }
00053
00054
00055