Stanford NLP: синтаксический анализатор избирательного округа по-французски - PullRequest
0 голосов
/ 21 марта 2019

Я хочу использовать синтаксический анализатор группы Stanford NLP в моей программе на Python.
Мой сервер работает хорошо.


Что я хочу
Я хочу получить результат, полученный при использовании сервера в веб-браузере:

The result I want


Мой код
Вот мой код:

from stanfordnlp.server import CoreNLPClient
from nltk.tree import Tree
with CoreNLPClient(annotators=[ 'tokenize','ssplit','pos','parse'],
                   timeout=30000,
                   output_format="json",
                   properties={'tokenize.language' :'fr',
                               'pos.model' : 'edu/stanford/nlp/models/pos-tagger/french/french.tagger',
                               'parse.model' : 'edu/stanford/nlp/models/lexparser/frenchFactored.ser.gz'}) as client :
    ann = client.annotate(text)

output = ann['sentences'][0]['parse']
parsetree = Tree.fromstring(output)
parsetree.pretty_print()

Мой текущий результат
Мой текущий результат таков:

                         ROOT                 
                          |                    
                         SENT                 
    ______________________|________________    
   |           NP                          |  
   |      _____|__________                 |   
   |     |     |          PP               |  
   |     |     |      ____|____            |   
   VN    |     |     |         NP          |  
   |     |     |     |     ____|_______    |   
   V    DET    NC    P   ADV   P  DET  NC PUNC
   |     |     |     |    |    |   |   |   |   
Cherche les enfants  de moins  de  3  ans  .  

Мы видим, что структура не одинакова ...
У вас есть идея, почему мой результат отличается?

1 Ответ

0 голосов
/ 22 марта 2019

Я наконец нашел решение:

Вот базовый код, который определяет конвейер для французского:

https://github.com/stanfordnlp/CoreNLP/blob/master/src/edu/stanford/nlp/pipeline/StanfordCoreNLP-french.properties

Итак, модель разбора, используемая для получения того же результата:

parse.model = edu/stanford/nlp/models/lexparser/frenchFactored.ser.gz
...