use of edu.illinois.cs.cogcomp.core.datastructures.textannotation.TextAnnotation in project cogcomp-nlp by CogComp.
the class TestClauseFeatureExtractor method testFex.
private void testFex(FeatureExtractor fex) throws Exception {
for (TextAnnotation ta : tas) {
if (!ta.hasView(ViewNames.PARSE_CHARNIAK))
continue;
ta.addView(ClauseViewGenerator.CHARNIAK);
ta.addView(PseudoParse.CHARNIAK);
PredicateArgumentView pav = (PredicateArgumentView) ta.getView(ViewNames.SRL_VERB);
for (Constituent predicate : pav.getPredicates()) {
Constituent p = predicate.cloneForNewView("dummy");
for (Relation arg : pav.getArguments(predicate)) {
Constituent c = arg.getTarget().cloneForNewView("dummy");
new Relation("", p, c, 1.0);
Set<Feature> features = fex.getFeatures(c);
logger.info(c + "\t" + features);
}
}
}
}
use of edu.illinois.cs.cogcomp.core.datastructures.textannotation.TextAnnotation in project cogcomp-nlp by CogComp.
the class TestSyntacticFrame method testFex.
private void testFex(FeatureExtractor fex) throws Exception {
for (TextAnnotation ta : tas) {
if (!ta.hasView(ViewNames.PARSE_CHARNIAK))
continue;
PredicateArgumentView pav = (PredicateArgumentView) ta.getView(ViewNames.SRL_VERB);
for (Constituent predicate : pav.getPredicates()) {
Constituent p = predicate.cloneForNewView("dummy");
for (Relation arg : pav.getArguments(predicate)) {
Constituent c = arg.getTarget().cloneForNewView("dummy");
new Relation("", p, c, 1.0);
Set<Feature> features = fex.getFeatures(c);
logger.info(c + "\t" + features);
assertEquals(3, features.size());
}
}
}
}
use of edu.illinois.cs.cogcomp.core.datastructures.textannotation.TextAnnotation in project cogcomp-nlp by CogComp.
the class TestHeadFinderDependencyHelper method testHeadFinderDependencyHelper.
@Test
public final void testHeadFinderDependencyHelper() {
String s = "There is no recovery period -- it 's go , go , go .";
String treeString = "(S1 (S (S (NP (EX There)) (VP (AUX is) (NP (DT no) (NN recovery) " + " (NN period)))) (: --) (S (NP (PRP it)) (VP (AUX 's) (S (VP (VB go) " + " (, ,) (VB go) (, ,) (VB go))))) (. .)))";
TextAnnotation ta = TextAnnotationUtilities.createFromTokenizedString(s);
TreeView parse = new TreeView(ViewNames.PARSE_CHARNIAK, "", ta, 1.0);
parse.setParseTree(0, TreeParserFactory.getStringTreeParser().parse(treeString));
ta.addView(ViewNames.PARSE_CHARNIAK, parse);
logger.info(ta.getView(ViewNames.PARSE_CHARNIAK).toString());
HeadFinderDependencyViewGenerator dep = new HeadFinderDependencyViewGenerator(ViewNames.PARSE_CHARNIAK);
TreeView depTree = null;
try {
depTree = (TreeView) dep.getView(ta);
} catch (AnnotatorException e) {
e.printStackTrace();
fail(e.getMessage());
}
logger.info(depTree.toString());
assertEquals(depTree.getNumberOfConstituents(), ta.size());
}
use of edu.illinois.cs.cogcomp.core.datastructures.textannotation.TextAnnotation in project cogcomp-nlp by CogComp.
the class TestContextFeatureExtractor method testGetFeaturesIndexWithoutConstituent.
@Test
public void testGetFeaturesIndexWithoutConstituent() throws EdisonException {
ContextFeatureExtractor fex = new ContextFeatureExtractor(2, true, true);
fex.addFeatureExtractor(new WordFeatureExtractor() {
@Override
public Set<Feature> getWordFeatures(TextAnnotation ta, int wordPosition) throws EdisonException {
String s = WordHelpers.getWord(ta, wordPosition).toLowerCase();
Set<Feature> ss = new HashSet<>();
ss.add(DiscreteFeature.create(s));
return ss;
}
});
TextAnnotation ta = TextAnnotationUtilities.createFromTokenizedString("This is a test for the feature extractor .");
Constituent c1 = new Constituent("", "", ta, 2, 3);
Set<String> c1fs = new HashSet<>();
c1fs.addAll(Arrays.asList("context-2:#word#:this", "context-1:#word#:is", "context1:#word#:test", "context2:#word#:for"));
Set<Feature> c1f = FeatureUtilities.getFeatures(c1fs);
Set<Feature> features = fex.getFeatures(c1);
c1f.removeAll(features);
assertEquals(0, c1f.size());
Constituent c2 = new Constituent("", "", ta, 2, 4);
Set<String> c2fs = new HashSet<>();
c2fs.addAll(Arrays.asList("context-2:#word#:this", "context-1:#word#:is", "context1:#word#:for", "context2:#word#:the"));
Set<Feature> c2f = FeatureUtilities.getFeatures(c2fs);
c2f.removeAll(fex.getFeatures(c2));
assertEquals(0, c2f.size());
}
use of edu.illinois.cs.cogcomp.core.datastructures.textannotation.TextAnnotation in project cogcomp-nlp by CogComp.
the class TestNGramFeatures method testBigrams.
private void testBigrams(WordFeatureExtractor f) throws EdisonException {
final NgramFeatureExtractor bigrams = NgramFeatureExtractor.bigrams(f);
for (final TextAnnotation ta : tas) {
for (int i = 0; i < ta.size(); i++) {
final Set<Feature> b = bigrams.getWordFeatures(ta, i);
Set<Feature> wordFeatures0 = f.getWordFeatures(ta, i - 1);
Set<Feature> wordFeatures1 = f.getWordFeatures(ta, i);
assertEquals(wordFeatures0.size() * wordFeatures1.size(), b.size());
for (Feature w0 : wordFeatures0) {
for (Feature w1 : wordFeatures1) {
assertEquals(true, b.contains(w0.conjoinWith(w1)));
}
}
}
}
}
Aggregations