diff --git a/mert/BleuScorer.cpp b/mert/BleuScorer.cpp index b9cae5a15..ba662680c 100644 --- a/mert/BleuScorer.cpp +++ b/mert/BleuScorer.cpp @@ -30,7 +30,7 @@ const char REFLEN_CLOSEST[] = "closest"; namespace MosesTuning { - + BleuScorer::BleuScorer(const string& config) : StatisticsBasedScorer("BLEU", config), @@ -245,7 +245,7 @@ float sentenceLevelBackgroundBleu(const std::vector& sent, const std::vec std::vector stats; CHECK(sent.size()==bg.size()); CHECK(sent.size()==kBleuNgramOrder*2+1); - for(size_t i=0;i& sent, const std::vec } logbleu /= kBleuNgramOrder; const float brevity = 1.0 - stats[(kBleuNgramOrder * 2)] / stats[1]; - + if (brevity < 0.0) { logbleu += brevity; } @@ -280,19 +280,19 @@ float unsmoothedBleu(const std::vector& stats) { return exp(logbleu); } -vector BleuScorer::ScoreNbestList(string scoreFile, string featureFile) { +vector BleuScorer::ScoreNbestList(const string& scoreFile, const string& featureFile) { vector scoreFiles; vector featureFiles; scoreFiles.push_back(scoreFile); featureFiles.push_back(featureFile); - + vector featureDataIters; vector scoreDataIters; for (size_t i = 0; i < featureFiles.size(); ++i) { featureDataIters.push_back(FeatureDataIterator(featureFiles[i])); scoreDataIters.push_back(ScoreDataIterator(scoreFiles[i])); } - + vector > hypotheses; if (featureDataIters[0] == FeatureDataIterator::end()) { cerr << "Error: at the end of feature data iterator" << endl; @@ -315,16 +315,16 @@ vector BleuScorer::ScoreNbestList(string scoreFile, string featureFile) { hypotheses.push_back(pair(i,j)); } } - + // score the nbest list vector bleuScores; for (size_t i=0; i < hypotheses.size(); ++i) { pair translation = hypotheses[i]; float bleu = sentenceLevelBleuPlusOne(scoreDataIters[translation.first]->operator[](translation.second)); bleuScores.push_back(bleu); - } + } return bleuScores; -} +} float BleuScorer::sentenceLevelBleuPlusOne(const vector& stats) { float logbleu = 0.0; diff --git a/mert/BleuScorer.h b/mert/BleuScorer.h index 1927183a9..2e5a0f54c 100644 --- a/mert/BleuScorer.h +++ b/mert/BleuScorer.h @@ -16,9 +16,7 @@ namespace MosesTuning const int kBleuNgramOrder = 4; class NgramCounts; -class Reference; - -using namespace std; +class Reference; /** * Bleu scoring @@ -34,9 +32,9 @@ public: explicit BleuScorer(const std::string& config = ""); ~BleuScorer(); - - static vector ScoreNbestList(string scoreFile, string featureFile); - static float sentenceLevelBleuPlusOne(const vector& stats); + + static std::vector ScoreNbestList(const std::string& scoreFile, const std::string& featureFile); + static float sentenceLevelBleuPlusOne(const std::vector& stats); virtual void setReferenceFiles(const std::vector& referenceFiles); virtual void prepareStats(std::size_t sid, const std::string& text, ScoreStats& entry);