2017-08-07 71 views
1

我想在CoreNLP中使用nndep進行依賴關係解析。所以輸入是一個簡單的德語句子和輸出應該是這樣的:斯坦福CoreNLP:nndep.DependencyParser與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) 

和該命令正在爲一個單一的文件:

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

但我需要這個以60.000的文件。所以我需要nlp.pipeline。如果我執行以下命令,輸出只是正常的解析樹,但不是解析的依賴關係。

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

有人可以幫忙嗎?

回答

0

您需要添加

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

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

第一加法告訴它使用的依賴解析器,二是告訴它使用了UD POS惡搞,這是必要的,因爲依賴解析器期望UD POS標籤。

還要確保從這裏從GitHub或最後一次發佈的版本(更穩定)使用最新的斯坦福CoreNLP:

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