new Following(2)));
ContextExtractor<BaseToken> tokenContextExtractor1 = new ContextExtractor<BaseToken>(
BaseToken.class,
new SpannedTextExtractor(),
new ContextExtractor.Ngram(new Covered()),
new ContextExtractor.Ngram(new Preceding(1)),
new ContextExtractor.Ngram(new Preceding(2)),
//new ContextExtractor.Ngram(new Preceding(1, 2)),
new ContextExtractor.Ngram(new Preceding(3)),
//new ContextExtractor.Ngram(new Preceding(2, 3)),
new ContextExtractor.Ngram(new Following(1)),
new ContextExtractor.Ngram(new Following(2)),
//new ContextExtractor.Ngram(new Following(1, 2)),
new ContextExtractor.Ngram(new Following(3))
//new ContextExtractor.Ngram(new Following(2,3))
);
tokenContextFeatureExtractors = new ArrayList<ContextExtractor<BaseToken>>();
tokenContextFeatureExtractors.add(tokenContextExtractor1);
TypePathExtractor posExtractor = new TypePathExtractor(BaseToken.class, "partOfSpeech");
ContextExtractor<BaseToken> extractor2 = new ContextExtractor<BaseToken>(
BaseToken.class,
posExtractor,
new ContextExtractor.Ngram(new Covered()),
new ContextExtractor.Ngram(new Preceding(1)),
new ContextExtractor.Ngram(new Preceding(2)),
new ContextExtractor.Ngram(new Following(1)),
new ContextExtractor.Ngram(new Following(2))
/*