summaryrefslogtreecommitdiff
path: root/mteval
diff options
context:
space:
mode:
authorChris Dyer <cdyer@cs.cmu.edu>2012-02-03 17:19:16 -0500
committerChris Dyer <cdyer@cs.cmu.edu>2012-02-03 17:19:16 -0500
commitdbf367e0fc9d3faf906340d1f51f2dbda1892081 (patch)
tree5cf113fbf5e455a8e31e08dbf6c5f91a64b87750 /mteval
parente1eae0ac941aa76528d4673dbd35f214cdac23fb (diff)
make pro use new interface
Diffstat (limited to 'mteval')
-rw-r--r--mteval/ns.cc4
-rw-r--r--mteval/ns.h4
-rw-r--r--mteval/ns_ter.h1
3 files changed, 9 insertions, 0 deletions
diff --git a/mteval/ns.cc b/mteval/ns.cc
index da678b84..788f809a 100644
--- a/mteval/ns.cc
+++ b/mteval/ns.cc
@@ -21,6 +21,10 @@ map<string, EvaluationMetric*> EvaluationMetric::instances_;
SegmentEvaluator::~SegmentEvaluator() {}
EvaluationMetric::~EvaluationMetric() {}
+bool EvaluationMetric::IsErrorMetric() const {
+ return false;
+}
+
struct DefaultSegmentEvaluator : public SegmentEvaluator {
DefaultSegmentEvaluator(const vector<vector<WordID> >& refs, const EvaluationMetric* em) : refs_(refs), em_(em) {}
void Evaluate(const vector<WordID>& hyp, SufficientStats* out) const {
diff --git a/mteval/ns.h b/mteval/ns.h
index d88c263b..4e4c6975 100644
--- a/mteval/ns.h
+++ b/mteval/ns.h
@@ -94,6 +94,10 @@ class EvaluationMetric {
public:
const std::string& MetricId() const { return name_; }
+ // returns true for metrics like WER and TER where lower scores are better
+ // false for metrics like BLEU and METEOR where higher scores are better
+ virtual bool IsErrorMetric() const;
+
virtual unsigned SufficientStatisticsVectorSize() const;
virtual float ComputeScore(const SufficientStats& stats) const = 0;
virtual std::string DetailedScore(const SufficientStats& stats) const;
diff --git a/mteval/ns_ter.h b/mteval/ns_ter.h
index 3190fc1b..c5c25413 100644
--- a/mteval/ns_ter.h
+++ b/mteval/ns_ter.h
@@ -9,6 +9,7 @@ class TERMetric : public EvaluationMetric {
TERMetric() : EvaluationMetric("TER") {}
public:
+ virtual bool IsErrorMetric() const;
virtual unsigned SufficientStatisticsVectorSize() const;
virtual std::string DetailedScore(const SufficientStats& stats) const;
virtual void ComputeSufficientStatistics(const std::vector<WordID>& hyp,