Как получить леммы из предложений в DKPro/UIMA?

Я пытаюсь настроить конвейер, который производит лемматизированные предложения. Я знаю, как получить либо все предложения, либо все леммы, но я не знаю, как получить наборы лемм, разделенных на конец предложения. Вот фрагмент кода с отсутствующим аргументом, помеченным как ??????:

AnalysisEngine pipeline = createEngine(createEngineDescription( 
                              createEngineDescription(BreakIteratorSegmenter.class),
                              createEngineDescription(StanfordLemmatizer.class),
                              createEngineDescription(StopWordRemover.class, StopWordRemover.PARAM_MODEL_LOCATION,
                                  new String[]{"stopwords.txt"})));

JCas jcas = JCasFactory.createJCas();

jcas.setDocumentText    ("Almost all energy on Earth comes from the Sun. Plants make food energy from sunlight.");
jcas.setDocumentLanguage("en");
pipeline.process        (jcas);

for (Sentence s : select(jcas, Sentence.class)) {
  out.println("");

  for (Lemma l : select(??????, Lemma.class)) 
    out.print(l.getValue() + " ");
}

Что мне нужно изменить в этом коде, чтобы он печатал леммы из двух входных предложений в две строки.

1 ответ

Решение

Ну вот:

for (Lemma l : JCasUtil.selectCovered(Lemma.class, s)) 
    out.print(l.getValue() + " ");

Раскрытие информации: я работаю над проектом Apache UIMA

Другие вопросы по тегам