2

我正在 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 in 的文件夹 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 。感谢所有帮助。谢谢!

4

2 回答 2

3

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

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

于 2019-05-05T07:15:30.340 回答
0

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

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

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

于 2019-03-27T12:38:29.450 回答