TypeError: объект «модуль» не вызывается в Spacy Python

Я хочу напечатать Parse Tree, используя Spacy. Но код ниже дает ошибку

en_nlp = spacy.language('English') TypeError: объект 'module' не вызывается

Ошибка в этой en_nlp = spacy.loads('en') строке. Пробовал сбагрить как en_nlp = spacy.language(English) импортировав from spacy.en import English Но все равно не работает. Кто-нибудь может помочь?

Код:

import spacy
from nltk import Tree

en_nlp = spacy.loads('en')

doc = en_nlp("The quick brown fox jumps over the lazy dog.")

def to_nltk_tree(node):
    if node.n_lefts + node.n_rights > 0:
        return Tree(node.orth_, [to_nltk_tree(child) for child in node.children])
    else:
        return node.orth_


[to_nltk_tree(sent.root).pretty_print() for sent in doc.sents]

person user6750923    schedule 04.09.2016    source источник
comment
Из ошибки spacy.language - это модуль, а не вызываемый метод   -  person OneCricketeer    schedule 04.09.2016
comment
Попробуйте использовать spacy.load('en') без 's'   -  person mpurg    schedule 04.09.2016
comment
@mpurg Все еще не работает без 's'.   -  person user6750923    schedule 04.09.2016


Ответы (1)


Это spacy.load('en') или spacy.loads('en')?

В официальном документе https://spacy.io/docs/ говорится: spacy.load('en') . Это может быть проблемой.

person florex    schedule 04.09.2016
comment
в чем ошибка при замене spacy.loads на spacy.load()? - person florex; 04.09.2016
comment
OMG Я получил это RuntimeError: Model 'en' not installed. Please run 'python -m spacy.en.download' to install latest compatible model. Теперь я устанавливаю . Вернусь через секунду. - person user6750923; 04.09.2016