summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Dyer <cdyer@cs.cmu.edu>2011-05-03 17:30:30 -0400
committerChris Dyer <cdyer@cs.cmu.edu>2011-05-03 17:30:30 -0400
commit01e219ec7d0bbd81471d7e6978397a2d53a71246 (patch)
tree22bdc2603e1a6b087bd71520b78cc6ac9a8c51d9
parent6d020e932fdd6ddc6cf5adbbfb8baa2f9a2a4615 (diff)
mira finished, clean up
-rw-r--r--decoder/decoder.cc2
-rw-r--r--mteval/scorer.cc8
-rw-r--r--utils/sparse_vector.h6
3 files changed, 9 insertions, 7 deletions
diff --git a/decoder/decoder.cc b/decoder/decoder.cc
index d8dd0c61..ff068be9 100644
--- a/decoder/decoder.cc
+++ b/decoder/decoder.cc
@@ -942,7 +942,7 @@ bool DecoderImpl::Decode(const string& input, DecoderObserver* o) {
} else if (csplit_output_plf) {
cout << HypergraphIO::AsPLF(forest, false) << endl;
} else {
- if (!graphviz && !has_ref && !joshua_viz) {
+ if (!graphviz && !has_ref && !joshua_viz && !SILENT) {
vector<WordID> trans;
ViterbiESentence(forest, &trans);
cout << TD::GetString(trans) << endl << flush;
diff --git a/mteval/scorer.cc b/mteval/scorer.cc
index 04eeaa93..64ce63af 100644
--- a/mteval/scorer.cc
+++ b/mteval/scorer.cc
@@ -410,8 +410,7 @@ void BLEUScore::ScoreDetails(string* details) const {
float bleu = ComputeScore(&precs, &bp);
for (int i=N();i<4;++i)
precs[i]=0.;
- char *bufn;
- bufn=buf+sprintf(buf, "BLEU = %.2f, %.1f|%.1f|%.1f|%.1f (brev=%.3f)",
+ sprintf(buf, "BLEU = %.2f, %.1f|%.1f|%.1f|%.1f (brev=%.3f)",
bleu*100.0,
precs[0]*100.0,
precs[1]*100.0,
@@ -427,7 +426,10 @@ float BLEUScore::ComputeScore(vector<float>* precs, float* bp) const {
int count = 0;
for (int i = 0; i < N(); ++i) {
if (hyp_ngram_counts[i] > 0) {
- float lprec = log(correct_ngram_hit_counts[i]) - log(hyp_ngram_counts[i]);
+ float cor_count = correct_ngram_hit_counts[i];
+ // smooth bleu
+ if (!cor_count) { cor_count = 0.01; }
+ float lprec = log(cor_count) - log(hyp_ngram_counts[i]);
if (precs) precs->push_back(exp(lprec));
log_bleu += lprec;
++count;
diff --git a/utils/sparse_vector.h b/utils/sparse_vector.h
index e3721b50..a55436fb 100644
--- a/utils/sparse_vector.h
+++ b/utils/sparse_vector.h
@@ -42,14 +42,14 @@ BOOST_CLASS_TRACKING(SparseVector<double>,track_never)
#include "fast_sparse_vector.h"
#define SparseVector FastSparseVector
-template <class T>
-SparseVector<T> operator*(const SparseVector<T>& a, const double& b) {
+template <class T, typename S>
+SparseVector<T> operator*(const SparseVector<T>& a, const S& b) {
SparseVector<T> result = a;
return result *= b;
}
template <class T>
-SparseVector<T> operator*(const SparseVector<T>& a, const T& b) {
+SparseVector<T> operator*(const SparseVector<T>& a, const double& b) {
SparseVector<T> result = a;
return result *= b;
}