Распечатать результаты дисплеев в текстовом формате? - PullRequest
0 голосов
/ 26 апреля 2018

Я хотел бы напечатать результат смещения в текстовом формате.

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

Вот один пример, который печатает дерево.

Какполучить дерево зависимостей с помощью spaCy?

Но оно все равно отличается от того, что показано смещением.Например, если я использую следующий код,

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

Кто-нибудь знает способ точной репликации вывода дисплеев в текстовом формате?Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...