Анализатор зависимостей Python NLP из spacy библиотеки не работает
Когда я даю пространственному парсеру предложение: "Человек шел по улице", он говорит, что "был" - это корень, а ходьба - это xcompl, как и "ходьба" в предложении: "Человек любит идти вниз". улица". Что не так.
Теперь этого не происходит при перемещении ( https://demos.explosion.ai/displacy/?text=a%20man%20has%20been%20walking%20in%20the%20street&model=en&cpu=0&cph=0). Кто-нибудь знает, как скачать версию модели, которая используется дисплеем? Я был бы очень признателен.
1 ответ
Да, это может быть связано с разницей в моделях, в которых установлен Spacy, и с использованием дисплеев.
>>> import spacy
>>> nlp = spacy.load('en')
>>> parsed = nlp("a man has been walking in the street")
>>> [(x.text,x.dep_,x.pos) for x in parsed]
[(u'a', u'det', 88), (u'man', u'nsubj', 90), (u'has', u'aux', 98), (u'been', u'ROOT', 98), (u'walking', u'xcomp', 98), (u'in', u'prep', 83), (u'the', u'det', 88), (u'street', u'pobj', 90)]
>>> nlp.meta
{u'lang': u'en', u'name': u'core_web_sm', u'license': u'CC BY-SA 3.0', u'author': u'Explosion AI', u'url': u'https://explosion.ai', u'version': u'1.2.0', u'spacy_version': u'>=1.7.0,<2.0.0', u'email': u'contact@explosion.ai', u'description': u'Small English model for spaCy. Includes vocabulary, syntax, entities and word vectors (GloVe).'}
Модель дисплазии может быть из одной из более обширных, перечисленных здесь:
https://github.com/explosion/spacy-models
core_web_sm является легковесным, возможно, смещение использует en_core_web_md