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