00001 #pragma once
00002
00003 #include <string>
00004 #include <limits>
00005 #include <boost/unordered_map.hpp>
00006 #include "StatelessFeatureFunction.h"
00007 #include "moses/Factor.h"
00008
00009 namespace Moses
00010 {
00011
00012 class RulePairUnlexicalizedSource : public StatelessFeatureFunction
00013 {
00014 public:
00015
00016 RulePairUnlexicalizedSource(const std::string &line);
00017
00018 bool IsUseable(const FactorMask &mask) const {
00019 return true;
00020 }
00021
00022 void SetParameter(const std::string& key, const std::string& value);
00023
00024 void EvaluateInIsolation(const Phrase &source
00025 , const TargetPhrase &targetPhrase
00026 , ScoreComponentCollection &scoreBreakdown
00027 , ScoreComponentCollection &estimatedScores) const;
00028
00029 void EvaluateWithSourceContext(const InputType &input
00030 , const InputPath &inputPath
00031 , const TargetPhrase &targetPhrase
00032 , const StackVec *stackVec
00033 , ScoreComponentCollection &scoreBreakdown
00034 , ScoreComponentCollection *estimatedScores = NULL) const
00035 {}
00036
00037 void EvaluateTranslationOptionListWithSourceContext(const InputType &input
00038 , const TranslationOptionList &translationOptionList) const
00039 {}
00040
00041 void EvaluateWhenApplied(
00042 const Hypothesis& cur_hypo,
00043 ScoreComponentCollection* accumulator) const
00044 {}
00045
00046 void EvaluateWhenApplied(
00047 const ChartHypothesis& cur_hypo,
00048 ScoreComponentCollection* accumulator) const
00049 {}
00050
00051 protected:
00052
00053 bool m_glueRules;
00054 bool m_nonGlueRules;
00055 std::string m_glueTargetLHSStr;
00056 const Factor* m_glueTargetLHS;
00057 };
00058
00059
00060 }
00061