00001 #pragma once
00002
00003 #include <string>
00004 #include "VWFeatureBase.h"
00005
00006 namespace Moses
00007 {
00008
00009
00010
00011
00012
00013
00014
00015
00016 class VWFeatureTarget : public VWFeatureBase
00017 {
00018 public:
00019 VWFeatureTarget(const std::string &line)
00020 : VWFeatureBase(line, vwft_target) {
00021 }
00022
00023
00024
00025 virtual void operator()(const InputType &input
00026 , const Range &sourceRange
00027 , Discriminative::Classifier &classifier
00028 , Discriminative::FeatureVector &outFeatures) const {
00029 }
00030
00031 virtual void operator()(const InputType &input
00032 , const Phrase &contextPhrase
00033 , const AlignmentInfo &alignmentInfo
00034 , Discriminative::Classifier &classifier
00035 , Discriminative::FeatureVector &outFeatures) const {
00036 }
00037
00038 virtual void SetParameter(const std::string& key, const std::string& value) {
00039 VWFeatureBase::SetParameter(key, value);
00040 }
00041
00042 protected:
00043 inline std::string GetWord(const TargetPhrase &phrase, size_t pos) const {
00044 return phrase.GetWord(pos).GetString(m_targetFactors, false);
00045 }
00046 };
00047
00048 }