From 5a5b00f2ad1ef2cb50e9c58bcb77246f3ed99057 Mon Sep 17 00:00:00 2001 From: Patrick Simianer Date: Thu, 13 Oct 2011 23:50:28 +0200 Subject: fixed approx bleu --- dtrain/dtrain.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'dtrain/dtrain.cc') diff --git a/dtrain/dtrain.cc b/dtrain/dtrain.cc index 25858738..f679c9f6 100644 --- a/dtrain/dtrain.cc +++ b/dtrain/dtrain.cc @@ -105,12 +105,13 @@ main(int argc, char** argv) string scorer_str = cfg["scorer"].as(); LocalScorer* scorer; if (scorer_str == "bleu") { + scorer = dynamic_cast(new BleuScorer); } else if (scorer_str == "stupid_bleu") { scorer = dynamic_cast(new StupidBleuScorer); } else if (scorer_str == "smooth_bleu") { scorer = dynamic_cast(new SmoothBleuScorer); } else if (scorer_str == "approx_bleu") { - scorer = dynamic_cast(new StupidBleuScorer); // FIXME + scorer = dynamic_cast(new ApproxBleuScorer(N)); } else { cerr << "Don't know scoring metric: '" << scorer_str << "', exiting." << endl; exit(1); @@ -145,7 +146,7 @@ main(int argc, char** argv) // input string input_fn = cfg["input"].as(); ReadFile input(input_fn); - // buffer input for t > 0 + // buffer input for t > 0 vector src_str_buf; // source strings vector > ref_ids_buf; // references as WordID vecs vector weights_files; // remember weights for each iteration @@ -341,6 +342,8 @@ main(int argc, char** argv) } // input loop + if (scorer_str == "approx_bleu") scorer->Reset(); + if (t == 0) { in_sz = ii; // remember size of input (# lines) grammar_buf_out.close(); -- cgit v1.2.3