gpt4 book ai didi

python - SpaCy 在 spacy-lookups-data 中找不到语言 'en' 的表 lexeme_norm

转载 作者:行者123 更新时间:2023-12-04 02:27:39 28 4
gpt4 key购买 nike

我正在尝试在 SpaCy 中训练文本分类管道:

import spacy

nlp = spacy.load("en_core_web_sm")
nlp.add_pipe("textcat", last=True)
other_pipes = [pipe for pipe in nlp.pipe_names if pipe != 'textcat']
with nlp.disable_pipes(*other_pipes):
optimizer = nlp.begin_training()
# training logic
但是,每次我调用 nlp.begin_training() ,我得到错误
ValueError: [E955] Can't find table(s) lexeme_norm for language 'en' in spacy-lookups-data. Make sure you have the package installed or provide your own lookup tables if no default lookups are available for your language.
运行 python3 -m spacy validate返回
✔ Loaded compatibility table

================= Installed pipeline packages (spaCy v3.0.3) =================
ℹ spaCy installation:
/xxx/xxx/xxx/env/lib/python3.8/site-packages/spacy

NAME SPACY VERSION
en_core_web_lg >=3.0.0,<3.1.0 3.0.0 ✔
en_core_web_sm >=3.0.0,<3.1.0 3.0.0 ✔
此外,我尝试安装 spacy-lookups-data没有成功。
如何解决此错误?

最佳答案

不允许调用nlp.begin_training()在预训练模型上。如果你想训练一个新模型,只需使用:nlp = spacy.blank('en')而不是 nlp = spacy.load("en_core_web_sm")但是,如果您想继续在现有模型上进行训练,调用 optimizer = nlp.create_optimizer()而不是 begin_training()

关于python - SpaCy 在 spacy-lookups-data 中找不到语言 'en' 的表 lexeme_norm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66367447/

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