#python #spacy
#python #spacy
Вопрос:
Я изо всех сил пытаюсь установить подсказки типа для всего, что связано с типами spaCy.
Пытаюсь использовать возвращаемые типы, такие как «Язык» и «Токен» из документации spaCy, но они, похоже, не работают … я на python 3.8.5.
В качестве примера, скажем, у меня есть это:
import spacy
def load_lang() -> what_goes_here:
return spacy.load("en_core_web_sm")
Согласно документам, это «возвращает язык».
Я пробовал Language или spacy.Языку не повезло.
У меня похожие проблемы при работе с токенами, например, при выполнении чего-то подобного:
return [token for token in doc if not token.is_stop]
Снова в документах упоминается «Возвращает токен» в качестве возвращаемого объекта, но я не могу ввести намек на это. Я не хочу переходить по списку [str] от ввода, поскольку я предполагаю, что это неправильный путь.
Любая помощь будет высоко оценена. Заранее благодарю вас.
Комментарии:
1. Вы пытались импортировать с помощью «из spacy. язык импортирует язык», а затем использует язык в качестве возвращаемого типа?
2. что именно произошло, когда вы указали
Language
в качестве подсказки типа?3. Спасибо вам обоим за ответы. Если я просто использую язык или токен и т. Д. Я получаю ошибку имени: имя «Язык» не определено. Если я выполню дополнительный импорт в соответствии с комментарием daniboy, это сработает. Я предположил, что импорт spacy приведет к этому. Еще раз спасибо.
Ответ №1:
Не должно быть никаких проблем, если вы импортируете Language
класс с помощью:
from spacy.language import Language
а затем используйте его в качестве подсказки типа:
def load_lang() -> Language:
return spacy.load("en_core_web_sm")
Комментарии:
1. Аналогично
from spacy.tokens import Token
, а затем используйтеList[Token]
в качестве аннотации для другой упомянутой функции.2. Сработало как шарм. Спасибо! Я (ошибочно) предположил, что импорт spacy приведет к появлению соответствующих типов. Еще раз спасибо.