Mar*_*_DS 5 python nlp model spacy
我似乎无法在任何地方找到这个问题的解决方案:
我正在尝试使用 spacy 的中等英语模型:en_core_web_md
由于通过命令行下载 spacy 根本不起作用,我将模型下载到我的目录中并继续调用它:
import spacy
nlp = spacy.load('en_core_web_md-3.1.0')
Run Code Online (Sandbox Code Playgroud)
但是,我不断收到以下错误:
KeyError: "[E002] Can't find factory for 'tok2vec'. This usually happens when spaCy calls `nlp.create_pipe` with a component name that's not built in - for example, when constructing the pipeline from a model's meta.json. If you're using a custom component, you can write to `Language.factories['tok2vec']` or remove it from the model meta and add it
via `nlp.add_pipe` instead."
Run Code Online (Sandbox Code Playgroud)
小型 spacy 模型 en_core_web_sm 工作得很好,但我需要一个更大的模型来执行我需要的计算。
pip 21.1.3
spaCy version 2.3.5
Platform Windows-10-10.0.19041-SP0
Python version 3.9.5
Run Code Online (Sandbox Code Playgroud)
您使用的 spaCy 版本与您使用的模型版本不匹配。前两个数字应该相同。
spaCy version 2.3.5
en_core_web_md-3.1.0
Run Code Online (Sandbox Code Playgroud)
我建议您将 spaCy 升级到 3.1.1,然后您的模型应该可以工作。
请注意,有时人们在使用 conda base env 时会安装旧版本 2.3.5。尝试使用干净的 conda 环境并遵循快速入门(或者只是不使用 conda)。
| 归档时间: |
|
| 查看次数: |
9126 次 |
| 最近记录: |