打印displaCy会产生文本格式吗?

时间:2018-04-26 06:18:13

标签: nlp nltk stanford-nlp spacy

我想以文本格式打印displaCy结果。

https://explosion.ai/demos/displacy?text=The%20quick%20brown%20fox%20jumps%20over%20the%20lazy%20dog.&model=en_core_web_sm&cpu=1&cph=1

以下是打印树的一个示例。

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。

enter image description here

有人知道如何以文本格式精确复制displaCy输出吗?感谢。

0 个答案:

没有答案