Stanford NLP Типы грамматических отношений? - PullRequest
0 голосов
/ 28 января 2019

Так ... Программа работает именно так, как и должна, но я не понимаю, какие причудливые сокращения выдает программа.

Если я введу «Я хочу, чтобы сегодня был школьный день», программавыдаст

I/PRP : wish/VBP : nsubj
wish/VBP : day/NN : csubj
today/NN : wish/VBP : nmod:tmod
was/VBD : day/NN : cop
a/DT : day/NN : det
school/NN : day/NN : compound
day/NN : ROOT : root

Я просто хочу знать, что такое вещи типа 'cop', 'det', 'nsubj', 'csubj' и т.д .;так что я могу понять отношения между этими словами.

String modelPath = null;
String taggerPath = null;
MaxentTagger tagger = null;
DependencyParser parser = null;
Properties props;
StanfordCoreNLP pipeline;

public ConversationEngine() {
    modelPath = DependencyParser.DEFAULT_MODEL;
    taggerPath = "edu/stanford/nlp/models/pos-tagger/english-left3words/english-left3words-distsim.tagger";
    tagger = new MaxentTagger(taggerPath);
    parser = DependencyParser.loadFromModelFile(modelPath);
    props = new Properties();
    props.setProperty("annotators", "tokenize, ssplit, pos, lemma, ner, parse, dcoref");
    pipeline = new StanfordCoreNLP(props);
}

public void parseSentence(String text) {
    String subject = "";
    DocumentPreprocessor tokenizer = new DocumentPreprocessor(new StringReader(text));
    for (List<HasWord> sentence : tokenizer) {
        List<TaggedWord> tagged = tagger.tagSentence(sentence);
        GrammaticalStructure gs = parser.predict(tagged);
        for (TypedDependency dep : gs.typedDependenciesEnhancedPlusPlus()) {
            System.out.println(dep.dep() + " : " + dep.gov() + " : " + dep.reln());

        }
    }
}

1 Ответ

0 голосов
/ 28 января 2019

Я полагаю, что вы хотите dep.reln().toPrettyString() (см. GrammaticRelation # toPrettyString )

Когда вы вызываете dep.reln() внутри println, это подразумевается как dep.reln().toString() и javadocsутверждают, что this

Возвращает короткое имя (аббревиатуру) для этого GrammaticRelation.

(см. Грамматическая связь # toString )

...