В API вы должны сами токенизировать слова и теги, а затем передавать слова с тегами в метод разбора. См. Документацию Javadoc для метода разбора:
public boolean parse(List<? extends HasWord> sentence)
Вы передаете ему список токенов, которые могут быть объектами Word, TaggedWord или CoreLabel. Если эти объекты реализуют HasTag, то любой сохраненный ими тег будет извлечен и использован. Например, будет работать следующее:
String[] words = { "This", "is", "an", "easy", "sentence", "." };
String[] tags = { "DT", "VBZ", "DT", "JJ", "NNP", "." };
List<TaggedWord> sentence = new ArrayList<TaggedWord>();
assert words.length == tags.length;
for (int i = 0; i < words.length; i++) {
sentence.add(new TaggedWord(words[i], tags[i]));
}
Tree parse = lp.apply(sentence);
Если вы посмотрите на выходное дерево синтаксического анализа, то «предложение» будет (ошибочно) помечено как «NNP», так как это то, что было запрошено ....