Стэнфорд NLP Pos Tagging

1

Я делаю свой POS (часть речевой метки) из этого тегатора. Но когда я совмещаю эту часть с моим проектом maven, это не работает. Есть ли способ, с помощью которого я могу использовать stanford прямо для создания pos без использования отдельного теггера? Я хочу, чтобы результат был таким же, как и этот.

 MaxentTagger tagger = new MaxentTagger("taggers/left3words-wsj-0-18.tagger");
        String sample = "Im so happy about my marks";
        String tagged = tagger.tagString(sample);
        System.out.println(tagged);

вывод: Im/NNP so/RB happy/JJ about/IN my/PRP $ marks/NNS

Теги:
maven
nlp
stanford-nlp

1 ответ

6
Лучший ответ

Конечно, Stanford CoreNLP может выполнять тегирование напрямую. Следующие строки кода обозначают ваш пример и дают желаемый результат.

Properties props = new Properties();

props.setProperty("annotators","tokenize, ssplit, pos");

StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
Annotation annotation = new Annotation("I'm so happy about my marks");
pipeline.annotate(annotation);
List<CoreMap> sentences = annotation.get(CoreAnnotations.SentencesAnnotation.class);
for (CoreMap sentence : sentences) {
    for (CoreLabel token: sentence.get(CoreAnnotations.TokensAnnotation.class)) {
        String word = token.get(CoreAnnotations.TextAnnotation.class);
        // this is the POS tag of the token
        String pos = token.get(CoreAnnotations.PartOfSpeechAnnotation.class);
        System.out.println(word + "/" + pos);
    }
}
  • 0
    ты спасатель спасибки ..

Ещё вопросы

Сообщество Overcoder
Наверх
Меню