gpt4 book ai didi

python - 导入错误 : cannot import name 'LEMMA_INDEX' from 'spacy.lang.en'

转载 作者:行者123 更新时间:2023-12-03 22:02:39 25 4
gpt4 key购买 nike

我正在尝试在 spaCy 中制作 lemmatizer,但是当我运行我拥有的代码时,此错误不断弹出。

Traceback (most recent call last):
File "word_pract.py", line 46, in <module>
from spacy.lang.en import LEMMA_INDEX, LEMMA_EXC, LEMMA_RULES
ImportError: cannot import name 'LEMMA_INDEX' from 'spacy.lang.en'

这是代码,
import spacy
from spacy.lemmatizer import Lemmatizer
from spacy.lang.en import LEMMA_INDEX, LEMMA_EXC, LEMMA_RULES

nlp = spacy.load("en_core_web_sm")

lemmatizer = Lemmatizer(LEMMA_INDEX, LEMMA_EXC, LEMMA_RULES)
lemmas = lemmatizer(u'ducks', u'NOUN')
print(lemmas)

我有最新的 spaCy,并且在 conda 环境中使用 python 3.7.4。我也下载了en_core_web_sm,所以不知道为什么会出错。

最佳答案

这是由于从 v2.1 到 v2.2 的更改,将大型查找表移出主库。 lemmatizer 数据现在存储在单独的包 spacy-lookups-data 中和 LemmatizerLookups 初始化对象而不是单个变量。请参阅此处有关初始化词形还原器的第二部分:https://spacy.io/usage/v2-2#migrating

如果您安装软件包 spacy-lookups-data ,您可以像这样访问默认的英语词形还原器:

from spacy.lang.en import English
lemmatizer = English.Defaults.create_lemmatizer()

它会自动加载来自 spacy-lookups-data 的数据如果可用。如果它不可用,引理将与文本中的标记相同。

如果您使用像 en_core_web_sm 这样的英文模型,查找表包含在模型中,因此您不需要额外的包 spacy-lookups-data :
import spacy
nlp = spacy.load('en_core_web_sm')
lemmatizer = nlp.Defaults.create_lemmatizer()

关于python - 导入错误 : cannot import name 'LEMMA_INDEX' from 'spacy.lang.en' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58779371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com