00001 // -*- c++ -*- 00002 // written by Ulrich Germann 00003 #pragma once 00004 #include "moses/TranslationModel/UG/mm/ug_bitext.h" 00005 #include "util/exception.hh" 00006 #include "boost/format.hpp" 00007 #include "sapt_pscore_base.h" 00008 00009 namespace sapt 00010 { 00011 template<typename Token> 00012 class 00013 PScorePC : public PhraseScorer<Token> 00014 { 00015 public: 00016 PScorePC(std::string const dummy) 00017 { 00018 this->m_index = -1; 00019 this->m_num_feats = 1; 00020 this->m_feature_names.push_back(std::string("phrasecount")); 00021 } 00022 00023 void 00024 operator()(Bitext<Token> const& bt, 00025 PhrasePair<Token>& pp, 00026 std::vector<float> * dest = NULL) const 00027 { 00028 if (!dest) dest = &pp.fvals; 00029 (*dest)[this->m_index] = 1; 00030 } 00031 }; 00032 } 00033