00001 #pragma once 00002 00003 #include <string> 00004 #include "VWFeatureTarget.h" 00005 00006 namespace Moses 00007 { 00008 00009 class VWFeatureTargetIndicator : public VWFeatureTarget 00010 { 00011 public: 00012 VWFeatureTargetIndicator(const std::string &line) 00013 : VWFeatureTarget(line) { 00014 ReadParameters(); 00015 00016 VWFeatureBase::UpdateRegister(); 00017 } 00018 00019 void operator()(const InputType &input 00020 , const TargetPhrase &targetPhrase 00021 , Discriminative::Classifier &classifier 00022 , Discriminative::FeatureVector &outFeatures) const { 00023 outFeatures.push_back(classifier.AddLabelDependentFeature("tind^" + targetPhrase.GetStringRep(m_targetFactors))); 00024 } 00025 00026 virtual void SetParameter(const std::string& key, const std::string& value) { 00027 VWFeatureTarget::SetParameter(key, value); 00028 } 00029 }; 00030 00031 }