带有spacy.load('en_core_web_sm')的ValueError

时间:2019-03-27 06:38:42

标签: anaconda spacy miniconda

我正在 ValueError: could not broadcast input array from shape (96) into shape (128) 对于 spacy.load('en_core_web_sm')

我在有下载限制的工作计算机上工作时,手动下载并安装了模型。

我已按照说明从以下链接下载和复制:https://github.com/explosion/spaCy/issues/3113

  1. 复制文件夹 Python35\lib\site-packages\en_core_web_sm 在以下位置创建一个名为en的文件夹 Python35\Lib\site-packages\spacy\data ,将复制的内容粘贴到en,然后将文件夹重命名为en_core_web_sm-2.0.0。

  2. 复制 __init__.py en_core_web_sm中的文件,并将其粘贴到en中(即 init .py文件必须同时位于 Python35\Lib\site-packages\spacy\data\enPython35\Lib\site-packages\spacy\data\en\en_core_web_sm-2.0.0

我能够跑步 spacy.load('en_core_web_sm') 但是却给了ValueError。 感谢所有帮助。谢谢!

2 个答案:

答案 0 :(得分:0)

为了让您通过快捷链接“ en”使用en_core_web_sm模型,spaCy创建了符号链接。这意味着您需要具有执行此操作的权限。有关更多详细信息,请参见此处:https://spacy.io/usage/models#usage-link

如果以后有人遇到此问题,请注意:如果您无法以管理员权限运行命令,则复制粘贴文件夹并重命名实际上只是最后的选择spacy.load('en')。通常不是这种情况–您可以安装模型并通过其全名spacy.load('en_core_web_sm')加载模型。实际上,我经常喜欢这种语法,因为它更明确,并且您会立即知道要加载哪个模型。

-从您在问题中提到的相同链接复制。没有侵犯版权的行为。

答案 1 :(得分:0)

我有同样的错误。 将spacy更新到版本2.1.3。 现在它可以正常工作了。

如果您正在使用Anaconda: conda install -c conda-forge spacy