package edu.stanford.nlp.trees; import edu.stanford.nlp.stats.EquivalenceClassEval; /** * An EqualityChecker for WordCatConstituents. * Words only have to have the correct span * while tags (word/POS) and cats (labeled brackets) must have correct span * and label. * * @author Galen Andrew */ public class WordCatEqualityChecker implements EquivalenceClassEval.EqualityChecker { public boolean areEqual(Object o, Object o2) { WordCatConstituent span = (WordCatConstituent) o; WordCatConstituent span2 = (WordCatConstituent) o2; if (span.type != span2.type) { return false; } else if (span.start() != span2.start() || span.end() != span2.end()) { return false; } else if (span.type != WordCatConstituent.wordType && !span.value().equals(span2.value())) { return false; } else { return true; } } }