Stanford NLP:法语选区解析器

时间:2019-03-21 15:06:08

标签: python stanford-nlp

我想在我的Python程序中使用Stanford NLP选区解析器。
我的服务器运行良好。


我想要的
我想获得在Web浏览器中使用服务器时得到的结果:

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 :(得分:0)

我终于找到了解决方法:

这是定义法语管道的基本代码:

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