2016-04-14 2 views
2

Я пытаюсь использовать Stanford CoreNLP для французских текстов. Пометка и разбор POS работает нормально, но с моей конфигурацией зависимости вывода не имеют никакого смысла.Анализ зависимостей для французского языка с CoreNLP

Моя команда

java -mx1g -cp "~/stanford-corenlp/stanford-corenlp-full-2015-12-09/*" 
edu.stanford.nlp.pipeline.StanfordCoreNLP -props french.conf 
-file /tmp/file.txt -outputFormat text 

где french.conf содержит:

annotators = tokenize, ssplit, pos, depparse, parse 
tokenize.language = fr 
pos.model = edu/stanford/nlp/models/pos-tagger/french/french.tagger 
parse.model = edu/stanford/nlp/models/lexparser/frenchFactored.ser.gz 
depparse.model = edu/stanford/nlp/models/parser/nndep/UD_French.gz 

Я использую CoreNLP 3,6 с французскими моделями нашли here. Журнал выглядит хорошо с этой связью:

[main] INFO edu.stanford.nlp.pipeline.StanfordCoreNLP - Adding annotator tokenize 
[main] INFO edu.stanford.nlp.pipeline.StanfordCoreNLP - Adding annotator ssplit 
[main] INFO edu.stanford.nlp.pipeline.StanfordCoreNLP - Adding annotator pos 
Reading POS tagger model from edu/stanford/nlp/models/pos-tagger/french/french.tagger ... done [0,2 sec]. 
[main] INFO edu.stanford.nlp.pipeline.StanfordCoreNLP - Adding annotator depparse 
Loading depparse model file: edu/stanford/nlp/models/parser/nndep/UD_French.gz ... 
PreComputed 100000, Elapsed Time: 1.43 (s) 
Initializing dependency parser done [3,4 sec]. 
[main] INFO edu.stanford.nlp.pipeline.StanfordCoreNLP - Adding annotator parse 
[main] INFO edu.stanford.nlp.parser.common.ParserGrammar -  Loading parser from serialized file edu/stanford/nlp/models/lexparser/frenchFactored.ser.gz ... 
done [3,0 sec]. 

но вот результат с «Le чатом чесотки ла Саурис» (кошка ест мышь, с точно такой же структурой)

root(ROOT-0, chat-2) 
det(chat-2, Le-1) 
case(souris-5, mange-3) 
det(souris-5, la-4) 
nmod:mange(chat-2, souris-5) 
punct(chat-2, .-6) 

это просто вздор; и это не является исключительным, я тестировал множество предложений и всегда получал такой вид вывода. Вот почему, я думаю, я использую плохой конфигурационный файл.

Любая помощь будет оценена!

+0

Вы нашли решение? @jpl – zwlayer

ответ

0

Это потому, что синтаксический анализатор CoreNLP рассчитывает получить в качестве входных значений POS-метки Universal Dependencies и французский теггер POS, предоставленный CoreNLP, выводит метки POS-тегов French Treebank.

Я сделал патч, который преобразует французский вывод POS Tagger для того, чтобы получить универсальный POS зависимости теги: https://github.com/askplatypus/CoreNLP/commit/e6215bdc5d4903bc3e2d2fb533da7e3938fa825f

1

Для тех, которые были бы заинтересованы, Stanford CoreNLP теперь обновили свои модели, и они работают очень хорошо Теперь.