我想以文本格式打印displaCy结果。
以下是打印树的一个示例。
How to get the dependency tree with spaCy?
但它仍然与displaCy显示的不同。例如,如果我使用以下代码,
import spacy
from nltk import Tree
en_nlp = spacy.load('en')
import sys
doc = en_nlp(u'The quick brown fox jumps over the lazy dog.')
def tok_format(tok):
return "_".join([tok.orth_, tok.tag_])
def to_nltk_tree(node):
if node.n_lefts + node.n_rights > 0:
return Tree(tok_format(node), [to_nltk_tree(child) for child in node.children])
else:
return tok_format(node)
print [to_nltk_tree(sent.root).pretty_print() for sent in doc.sents]
它将打印以下内容。
jumps_VBZ
_____________|________________________
| | over_IN
| | |
| fox_NN dog_NN
| ________|________ _______|_______
._. The_DT quick_JJ brown_JJ the_DT lazy_JJ
[None]
但是,displaCy显示以下内容,其中包含NOUN,VERB,ADP,NOUN以及nsub,prep,pobj。
有人知道如何以文本格式精确复制displaCy输出吗?感谢。