Spacy报错AttributeError: EnglishDefaults无create_tokenizer属性求助
解决AttributeError: EnglishDefaults没有create_tokenizer属性的问题
原因
你的spaCy版本和代码适配的版本不兼容,create_tokenizer方法在较新的spaCy版本中已被移除或调整了调用方式。
解决方案
方案1:适配当前spaCy版本获取分词器
直接使用nlp.tokenizer获取模型自带的分词器,替换原代码中的对应行即可:
import os import torch import numpy as np import random import spacy from bpemb import BPEmb nlp = spacy.load("en_core_web_sm") tokenizer = nlp.tokenizer # 替换原create_tokenizer调用
方案2:降级到兼容版本
如果必须保留create_tokenizer的调用方式,可以降级到spaCy 2.x系列版本(如2.3.5),执行以下命令:
pip install spacy==2.3.5 python -m spacy download en_core_web_sm
降级后原代码即可正常运行。
内容的提问来源于stack exchange,提问作者AASHI GOEL
相关产品推荐
相关产品推荐

