将打印功能的结果保存为图形

时间:2018-10-17 16:06:15

标签: python-3.x stanford-nlp

我使用Stanford coreNLP来生成依赖关系树,但是由于它使用打印功能来显示树,因此无法存储结果。例如,“我在StackOverFlow中提问”的代码和依赖关系树如下:

nlp = StanfordCoreNLP('.')
parser=nlp.parse("I ask a question in StackOverFlow") 
tree=Tree.fromstring(parser.__str__()) 
tree.pretty_print()

enter image description here

在这里,我使用了Snipping Tool手动为生成的树截图,但是在我的代码中,我将生成超过一千棵树,不可能从所有树中截取截图。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

在基于UNIX的系统上,您可以执行以下操作:

parse.py

nlp = StanfordCoreNLP('.')
for i in range(len(sentences)):
    sentence = sentences[i]
    parser=nlp.parse(sentence) 
    tree=Tree.fromstring(parser.__str__())
    print(i, sentence)
    print('parse tree:')
    tree.pretty_print()
    print()

做类似python parse.py > parse_trees的操作,您的输出文件parse_trees的结构将为:

[index] [sentence]
parse tree:
[parse tree]

[index] [sentence]
parse tree:
[parse tree]

...