使用stanfordcorenlp格式在Python中绘制依赖关系树

时间:2018-11-15 04:54:52

标签: python draw stanford-nlp

我正在将StanfordCoreNLP用于依赖性解析器语句。我按照本教程https://www.khalidalnajjar.com/setup-use-stanford-corenlp-server-python/进行设置并使用StanfordCoreNLP。

输入一个句子“他从骑自行车中获得极大的快乐和幸福”,我得到一个输出:

  

[('ROOT',0,2),('nsubj',2,1),('amod',4,3),('dobj',2,4),   ('cc',4,5),('conj',4,6),('prep',2,7),('pobj',7,8)]

我如何使用nltk软件包或使用此输出的其他软件包绘制依赖关系树。

感谢帮助。

1 个答案:

答案 0 :(得分:0)

@ambientlight回答了这个问题,使用斯坦福依赖树来绘制树。

依赖关系树如下所示:

enter image description here

使用NLTK python,您可以尝试以下操作。

import nltk
from nltk.tokenize import word_tokenize
from nltk.tag import pos_tag
doc = "He derives great joy and happiness from cycling"
doc = nltk.word_tokenize(doc)
doc = nltk.pos_tag(doc)
grammar = "NP: {<DT>?<JJ>*<NN>}"
cp = nltk.RegexpParser(grammar)
result = cp.parse(doc)
result.draw()

输出: enter image description here