// Copyright 2014 Thomas Müller
// This file is part of HMMLA, which is licensed under GPLv3.
package hmmla.eval;
import hmmla.util.Mapping;
public class TaggingScorer extends AbstractOneTokenPerLineScorer {
private int gold_tag_index_ = 4;
private int predicted_tag_index_ = 2;
private Mapping mapper_;
@Override
public void setOption(String option, String value) {
if (option.equalsIgnoreCase("upos")) {
mapper_ = new Mapping(value);
} else {
throw new RuntimeException("Unknown option: " +option);
}
}
@Override
public double getScore(String[] actual_tokens, String[] expected_tokens) {
String actual_tag = actual_tokens[gold_tag_index_];
if (mapper_ != null) {
actual_tag = mapper_.get(actual_tag);
}
boolean tag_correct = actual_tag.equals(expected_tokens[predicted_tag_index_]);
if (tag_correct) {
return 1.0;
}
return 0.0;
}
}