From 6b95a19eda818fb772767a0037c70a7bbb6c32e5 Mon Sep 17 00:00:00 2001 From: Tetsuo Kiso Date: Sun, 18 Mar 2012 05:58:40 +0900 Subject: Create Reference class to clean up BleuScorer. - Add an unit test for Reference. - Move functions to calculate the reference length from BleuScorer to Reference. --- mert/BleuScorer.h | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) (limited to 'mert/BleuScorer.h') 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& 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& stats) const; - void CalcClosest(size_t sentence_id, size_t length, - vector& stats) const; - void CalcShortest(size_t sentence_id, - vector& stats) const; - ReferenceLengthType m_ref_length_type; - // data extracted from reference files - ScopedVector m_ref_counts; - vector > m_ref_lengths; + // reference translations. + ScopedVector m_references; // no copying allowed BleuScorer(const BleuScorer&); -- cgit v1.2.3