Есть ли способ обработать уже помеченный POS-текст с помощью Stanford CoreNLP?Форсирование тегов POS в Stanford CoreNLP
К примеру, у меня есть предложение в этом формате
They_PRP are_VBP hunting_VBG dogs_NNS ._.
, и я хотел бы пояснение леммы нера, разобрать и т.д., заставляя данную POS аннотации.
Обновление. Я пробовал этот код, но он не работает.
Properties props = new Properties();
props.setProperty("annotators", "tokenize, ssplit, pos, lemma");
StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
String sentText = "They_PRP are_VBP hunting_VBG dogs_NNS ._.";
List<CoreLabel> sentence = new ArrayList<>();
String[] parts = sentText.split("\\s");
for (String p : parts) {
String[] split = p.split("_");
CoreLabel clToken = new CoreLabel();
clToken.setValue(split[0]);
clToken.setWord(split[0]);
clToken.setOriginalText(split[0]);
clToken.set(CoreAnnotations.PartOfSpeechAnnotation.class, split[1]);
sentence.add(clToken);
}
Annotation s = new Annotation(sentText);
s.set(CoreAnnotations.TokensAnnotation.class, sentence);
Annotation document = new Annotation(s);
pipeline.annotate(document);
Я пробовал решения, размещенные [здесь] (http://stackoverflow.com/questions/26245422/stanford-corenlp-use-partial-existing-annotation?rq=1), но когда я выполняю 'pipe.nnote (документ); теги POS изменились. –
Что значит «это не работает»? –
Если я правильно помню, аннотатор 'parse' может изменить часть речевых аннотаций. Сохраняется ли проблема при удалении аннотатора синтаксического анализа? –