找不到型号“en_core_web_lg”。它似乎不是 Python 包或数据目录的有效路径。即使它们在同一目录中

问题描述 投票:0回答:1

我正在尝试不同的文本处理模型。我正在尝试使用 spacy,它的模型是 en_core_web_lg。

import spacy
import spacy.language
from spacy_langdetect import LanguageDetector
from spacy.language import Language



@Language.factory('language_detector')
def language_detector(nlp, name):
    return LanguageDetector()
my_nlp = spacy.load('en_core_web_lg')
my_nlp.add_pipe('language_detector')

但是在运行此程序时,我收到以下错误:-

---------------------------------------------------------------------------
OSError                                   Traceback (most recent call last)
<ipython-input-36-4cd126296f60> in <module>
----> 1 my_nlp = spacy.load('en_core_web_lg')
      2 my_nlp.add_pipe('language_detector')


~/.local/lib/python3.8/site-packages/spacy/__init__.py in load(name, vocab, disable, enable, exclude, config)
     49     RETURNS (Language): The loaded nlp object.
     50     """
---> 51     return util.load_model(
     52         name,
     53         vocab=vocab,

~/.local/lib/python3.8/site-packages/spacy/util.py in load_model(name, vocab, disable, enable, exclude, config)
    470     if name in OLD_MODEL_SHORTCUTS:
    471         raise IOError(Errors.E941.format(name=name, full=OLD_MODEL_SHORTCUTS[name]))  # type: ignore[index]
--> 472     raise IOError(Errors.E050.format(name=name))
    473 
    474 

OSError: [E050] Can't find model 'en_core_web_lg'. It doesn't seem to be a Python package or a valid path to a data directory.

我手动检查了 spacy 和 en_core_web_lg 的目录,它们都存在于站点包中。

我什至尝试创建一个新的虚拟环境并安装并运行代码,但遇到相同的错误。

我尝试了ChatGPT给出的解决方案,例如手动插入

[paths] en_core_web_lg = /home/.local/lib/python3.8/site-packages/en_core_web_lg
在 spacy 和
export PYTHONPATH=$PYTHONPATH
环境变量中的 confid.cfg 文件夹内,但出现相同的错误。是否可能存在特定于环境或特定于平台的因素导致此问题?如果没有请帮我解决这个错误。预先感谢您。

python nlp spacy tokenize text-processing
1个回答
0
投票

在进行任何更改之前,请打开您的终端并输入:

python -m spacy info

此命令将显示已安装型号的列表。查找名为“en_core_web_lg”的模型。如果已安装,请仔细检查您输入的内容是否正确。如果它不起作用,您可以尝试使用以下命令卸载它:

python -m spacy uninstall en_core_web_lg

您始终可以通过打开终端并输入以下内容来安装模型:

python -m spacy download en_core_web_lg

这将确保模型安装正确。完成后,请记住重新启动运行时环境。如果您想给它一个绝对路径,请继续:

nlp = spacy.load('/path/to/en_core_web_lg')

如果上述解决方案都不适合您,我建议访问 spaCy 根据其效率或准确性探索其他可用模型。

© www.soinside.com 2019 - 2024. All rights reserved.