Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/moses-smt/mosesdecoder.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTetsuo Kiso <tetsuo-s@is.naist.jp>2012-03-18 00:58:40 +0400
committerTetsuo Kiso <tetsuo-s@is.naist.jp>2012-03-18 00:58:40 +0400
commit6b95a19eda818fb772767a0037c70a7bbb6c32e5 (patch)
treee1b7d608005bcc33ee00646263583e83d03a53a2 /mert/BleuScorer.h
parent918bcafb808fe3067a4d689607bffb7dbbf0a914 (diff)
Create Reference class to clean up BleuScorer.
- Add an unit test for Reference. - Move functions to calculate the reference length from BleuScorer to Reference.
Diffstat (limited to 'mert/BleuScorer.h')
-rw-r--r--mert/BleuScorer.h16
1 files changed, 5 insertions, 11 deletions
diff --git a/mert/BleuScorer.h b/mert/BleuScorer.h
index c35d4ad1d..d58277a41 100644
--- a/mert/BleuScorer.h
+++ b/mert/BleuScorer.h
@@ -15,6 +15,7 @@ using namespace std;
const int kBleuNgramOrder = 4;
class NgramCounts;
+class Reference;
/**
* Bleu scoring
@@ -30,6 +31,8 @@ public:
virtual float calculateScore(const vector<int>& comps) const;
virtual size_t NumberOfScores() const { return 2 * kBleuNgramOrder + 1; }
+ int CalcReferenceLength(size_t sentence_id, size_t length);
+
private:
enum ReferenceLengthType {
AVERAGE,
@@ -44,19 +47,10 @@ private:
void dump_counts(std::ostream* os, const NgramCounts& counts) const;
- // For calculating effective reference length.
- void CalcAverage(size_t sentence_id,
- vector<ScoreStatsType>& stats) const;
- void CalcClosest(size_t sentence_id, size_t length,
- vector<ScoreStatsType>& stats) const;
- void CalcShortest(size_t sentence_id,
- vector<ScoreStatsType>& stats) const;
-
ReferenceLengthType m_ref_length_type;
- // data extracted from reference files
- ScopedVector<NgramCounts> m_ref_counts;
- vector<vector<size_t> > m_ref_lengths;
+ // reference translations.
+ ScopedVector<Reference> m_references;
// no copying allowed
BleuScorer(const BleuScorer&);