chatbot error: [E941] Can‘t find model ‘en‘

Today, when you try to run a demo of Chatbot and create an entity, an error occurs:

Traceback (most recent call last):
  File "c:/users/USER/desktop/", line 77, in <module>
    chatbot = ChatBot('Ron Obvious')
  File "C:\Users\USER\AppData\Local\Programs\Python\Python37\lib\site-packages\chatterbot\", line 28, in __init__ = utils.initialize_class(storage_adapter, **kwargs)
  File "C:\Users\USER\AppData\Local\Programs\Python\Python37\lib\site-packages\chatterbot\", line 33, in initialize_class
    return Class(*args, **kwargs)
  File "C:\Users\USER\AppData\Local\Programs\Python\Python37\lib\site-packages\chatterbot\storage\", line 20, in __init__
  File "C:\Users\USER\AppData\Local\Programs\Python\Python37\lib\site-packages\chatterbot\storage\", line 21, in __init__
    'tagger_language', languages.ENG
  File "C:\Users\USER\AppData\Local\Programs\Python\Python37\lib\site-packages\chatterbot\", line 13, in __init__
    self.nlp = spacy.load(self.language.ISO_639_1.lower())
  File "C:\Users\USER\AppData\Local\Programs\Python\Python37\lib\site-packages\spacy\", line 47, in load
    return util.load_model(name, disable=disable, exclude=exclude, config=config)
  File "C:\Users\USER\AppData\Local\Programs\Python\Python37\lib\site-packages\spacy\", line 328, in load_model
    raise IOError(Errors.E941.format(name=name, full=OLD_MODEL_SHORTCUTS[name]))
OSError: [E941] Can't find model 'en'. It looks like you're trying to load a model from a shortcut, which is deprecated as of spaCy v3.0. To load the model, use its full name instead:

nlp = spacy.load("en_core_web_sm")

For more details on the available models, see the models directory: If you want to create a blank model, use spacy.blank: nlp = spacy.blank("en")

In fact, I feel that there is a conflict between packages. Spacyv3.0 will no longer support the simple reference of “en”, and I expect the full name of “en”_ core_ web_ SM “reference. Chatbot failed to follow up, and kept trying the deprecated shortcut such as “en” in the source code.


Enter the module in the Chatbot package in the PY environment, and the sentence mentioned in the error message will be:

self.nlp = spacy.load(self.language.ISO_639_1.lower())

Change to:

if self.language.ISO_639_1.lower() == 'en':
    self.nlp = spacy.load('en_core_web_sm')
    self.nlp = spacy.load(self.language.ISO_639_1.lower())

The problem is resolved after reloading.

Read More: