Я студент-информатик, теперь занимаюсь проектом НЛП. Я сделал программу для преобразования данного входного предложения и структуры зависимостей представления, используя следующий кодИзвлечение основных семантических элементов из представления зависимости stlford core nlp
private void nextActionPerformed(java.awt.event.ActionEvent evt) {
Properties props = new Properties();
props.put("annotators", "tokenize, ssplit, pos, lemma, parse");
StanfordCoreNLP pipeline = new StanfordCoreNLP(props, false);
String text = input.getText();
Annotation document = pipeline.process(text);
for(CoreMap sentence: document.get(SentencesAnnotation.class))
{
SemanticGraph dependencies = sentence.get(CollapsedDependenciesAnnotation.class);
System.out.println(dependencies);
}
}
Я получаю выход для данного примера предложения «Кошка сидит на столе», как показано в Рисунок -> sitting/VBG (root) -> cat/NN (nsubj) -> A/DT (det) -> is/VBZ (aux) -> table/NN (nmod:on) -> on/IN (case) -> the/DT (det) Теперь я хочу получить основные семантические элементы из данного представления зависимостей. Например, в данном предложении я хочу получить заседание, кошка и стол. Это для простого простого предложения, я хочу получить корневое слово, тему и объект. Любой, пожалуйста, помогите с примерами кодов.