edu.stanford.nlp.parser.metrics.TopMatchEval Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of stanford-parser Show documentation
Show all versions of stanford-parser Show documentation
Stanford Parser processes raw text in English, Chinese, German, Arabic, and French, and extracts constituency parse trees.
package edu.stanford.nlp.parser.metrics;
import java.util.Collections;
import java.util.Set;
import edu.stanford.nlp.trees.Constituent;
import edu.stanford.nlp.trees.ConstituentFactory;
import edu.stanford.nlp.trees.LabeledScoredConstituentFactory;
import edu.stanford.nlp.trees.Tree;
/**
* Measures accuracy by only considering the very top of the parse tree, eg where S, SINV, etc go
*
* @author John Bauer
*/
public class TopMatchEval extends AbstractEval {
private final ConstituentFactory cf;
public TopMatchEval(String name, boolean runningAverages) {
super(name, runningAverages);
cf = new LabeledScoredConstituentFactory();
}
@Override
protected Set makeObjects(Tree tree) {
if (tree == null) {
return Collections.emptySet();
}
// The eval trees won't have a root level, instead starting with
// the S/SINV/FRAG/whatever, so just eval at the top level
Set result = tree.constituents(cf, 0);
return result;
}
}