2017-08-07 2 views
1

Je veux utiliser le nndep dans CoreNLP pour le traitement des dépendances. Ainsi, l'entrée est une phrase simple allemande et la sortie devrait ressembler à ceci:Stanford CoreNLP: nndep.DependencyParser en pipeline avec le modèle geman

case(Schulen-3, An-1) 
amod(Schulen-3, Stuttgarter-2) 
nmod(gegrüßt-13, Schulen-3) 
aux(gegrüßt-13, darf-4) 
case(MitschülerInnen-7, wegen-5) 
amod(MitschülerInnen-7, muslimischer-6) 
nmod(gegrüßt-13, MitschülerInnen-7) 
neg(gegrüßt-13, nicht-8) 
advmod(nicht-8, mehr-9) 
case(Gott-12, mit-10) 
amod(Gott-12, Grüß-11) 
nmod(gegrüßt-13, Gott-12) 
root(ROOT-0, gegrüßt-13) 
auxpass(gegrüßt-13, werden-14) 
punct(gegrüßt-13, .-15) 

et cette commande fonctionne pour un seul fichier:

java -cp "*" -Xmx2g edu.stanford.nlp.parser.nndep.DependencyParser -model edu/stanford/nlp/models/parser/nndep/UD_German.gz -textFile /Users/.../input.txt 

Mais je dois à cela avec 60,000 fichiers. J'ai donc besoin du nlp.pipeline. Si j'exécute la commande suivante, la sortie est seulement l'arbre d'analyse normal mais pas les dépendances analysées.

java -Xmx6g -cp "*:." -Xmx2g edu.stanford.nlp.pipeline.StanfordCoreNLP -filelist /Users/.../filelist.txt -props StanfordCoreNLP-german.properties -outputFormat text -parse.originalDependencies 

Quelqu'un peut-il aider?

Répondre

0

Vous devez ajouter

-annotators tokenize,ssplit,pos,lemma,parse,depparse

et

-pos.model edu/stanford/nlp/models/pos-tagger/german/german-ud.tagger

Le premier ajout est dit à utiliser l'analyseur de dépendance, le second est révélateur à utiliser l'UD POS tagger , ce qui est nécessaire puisque l'analyseur de dépendances attend des tags POS UD.

Aussi assurez-vous d'utiliser la dernière Stanford CoreNLP de GitHub ou la dernière version publiée (plus stable) d'ici:

https://stanfordnlp.github.io/CoreNLP/download.html