Я работаю со Stanford CoreNLP и у меня есть сомнения. Я хочу определить грамматическую категорию каждого слова, и когда я выполняю текст в командной строке с помощью:
java -cp "*" -Xmx2g edu.stanford.nlp.pipeline.StanfordCoreNLP -props StanfordCoreNLP-spanish.properties -annotators tokenize,ssplit,pos, ner -file entrada.txt -outputFormat conll
, вывод выглядит так:
1 tomar _ VERB _ _ _
2 una _ DET _ _ _
3 cerveza _ NOUN _ _ _
4 en _ ADP _ _ _
5 Madrid _ PROPN _ _ _
Но когда я выполняю изNetBeans с этим кодом:
Properties props = new Properties();
props.setProperty("annotators", "tokenize, ssplit, pos, lemma, ner");
props.setProperty("tokenize.language", "es");
props.setProperty("pos.model", "edu/stanford/nlp/models/pos-tagger/spanish/spanish-distsim.tagger");
props.setProperty("ner.model", "edu/stanford/nlp/models/ner/spanish.ancora.distsim.s512.crf.ser.gz");
props.setProperty("ner.applyNumericClassifiers", "true");
props.setProperty("ner.useSUTime", "false");
props.setProperty("ner.applyFineGrained", "false");
props.setProperty("ner.language", "es");
String text = "Ver una película de miedo, pasear por un parque";
StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
Annotation document = new Annotation(text);
pipeline.annotate(document);
List<CoreMap> sentences = document.get(SentencesAnnotation.class);
for(CoreMap sentence: sentences) {
for (CoreLabel token: sentence.get(TokensAnnotation.class)) {
String g = token.tag();
String word = token.get(TextAnnotation.class);
String pos = token.get(PartOfSpeechAnnotation.class);
String ne = token.get(NamedEntityTagAnnotation.class);
String lema = token.get(LemmaAnnotation.class);
System.out.println(String.format("[%s] "
+ "[%s] "
+ "[%s] "
+ "[%s] " , word, pos, ne, lema));
}
}
вывод выглядит так:
[Ver] [vmn0000] [O] [ver]
[una] [di0000] [O] [una]
[película] [nc0s000] [O] [película]
[de] [sp000] [O] [de]
[miedo] [nc0s000] [O] [miedo]
[,] [fc] [O] [,]
[pasear] [vmn0000] [O] [pasear]
[por] [sp000] [O] [por]
[un] [di0000] [O] [un]
[parque] [nc0s000] [O] [parque]
Итак, как я могу преобразовать теги, такие как "vmn0000" в "Глагол"?
Спасибо заранее !!