00001 #ifndef MERT_MERGE_SCORER_H_ 00002 #define MERT_MERGE_SCORER_H_ 00003 00004 #include <string> 00005 #include <vector> 00006 00007 #include "StatisticsBasedScorer.h" 00008 00009 namespace MosesTuning 00010 { 00011 00012 00013 class PerScorer; 00014 class ScoreStats; 00015 00016 const int kMergeScorerLength = 4; 00017 00021 class MergeScorer: public StatisticsBasedScorer { 00022 public: 00023 explicit MergeScorer(const std::string& config = ""); 00024 ~MergeScorer(); 00025 00026 virtual void setReferenceFiles(const std::vector<std::string>& referenceFiles); 00027 virtual void prepareStats(std::size_t sid, const std::string& text, ScoreStats& entry); 00028 virtual std::size_t NumberOfScores() const { return 0; } 00029 00030 protected: 00031 friend class PerScorer; 00032 virtual float calculateScore(const std::vector<int>& comps) const; 00033 00034 private: 00035 // no copying allowed 00036 MergeScorer(const MergeScorer&); 00037 MergeScorer& operator=(const MergeScorer&); 00038 }; 00039 00040 } 00041 00042 #endif // MERT_MERGE_SCORER_H_