1 前言

explosion网址https://explosion.ai/
spaCy下载网址https://explosion.ai/software
spaCy的GitHub网址https://github.com/explosion/spaCy
spaCy的网页网址https://spacy.io/

此存储库包含spaCy NLP库的模型发布版。有关如何下载、安装和使用模型的更多信息,请参阅模型文档

⚠️ Important note:
由于模型可能非常大且主要由二进制数据组成,我们不能简单地将其作为文件提供在GitHub存储库中。因此,我们选择将它们添加到发布版本中,以 .whl 和 .tar.gz 文件格式提供。这样我们仍然可以保持公开发布历史。

2 安装

快速入门

要安装特定模型,请运行以下命令并输入模型名称(例如,英文:en_core_web_sm ,中文:zh_core_web_sm):

python -m spacy download [model]

对于spaCy v1.x模型,请 查看此处

3 模型命名规范

总的来说,spaCy期望所有模型包遵循 [lang]_[name]的命名规范。对于我们提供的流水线,我们将名称分为三个部分:
core: dep: ent: sent: genre:

  • 类型: 模型功能:
    • core: 具有标记、解析、词形还原和命名实体识别的通用模型
    • dep: 仅具有标记、解析和词形还原
    • ent: 仅具有命名实体识别
    • sent: 仅具有句子分割
  • 体裁: 模型训练的文本类型(例如,web 表示网络文本,news 表示新闻文本)
  • 大小: 模型大小指示器:
    • sm: 没有单词向量
    • md: 减少的单词向量表,包含20,000个唯一的向量,用于约500,000个单词
    • lg: 大型单词向量表,包含约500,000个条目
      例如,en_core_web_md是一个中等大小的英语模型,经过书面网络文本(博客、新闻、评论)的训练,包括一个标记器、一个依赖解析器、一个词形还原器、一个命名实体识别器和一个包含20k个唯一向量的词向量表。

3.1 模型版本控制

此外,模型版本控制反映了与spaCy的兼容性以及模型版本。模型版本a.b.c可以翻译为:

  • a: spaCy主要版本 例如,2 代表spaCy v2.x。
  • b: spaCy小版本号 例如,对于spaCy v2.3.x,版本号为 3
  • c: 模型版本 不同的模型配置:例如在不同的数据上进行训练,使用不同的参数,训练不同的次数,使用不同的向量等。

要详细了解兼容性,请查看压缩包spacy-models-master.zip中的compatibility.json文件。这也是spaCy执行内部兼容性检查的来源,当您运行下载命令时会进行检查。

3.2 支持对旧版本的兼容

如果您正在使用较旧版本(v1.6.0或更低版本),您仍然可以通过spaCy使用python -m spacy.en.download all或者 python -m spacy.de.download all从内部下载并安装旧模型。.tar.gz归档文件也已附加到v1.6.0版本中。

要手动下载并安装模型,请解压缩归档文件,将其中的目录放入spacy/data中,并通过spacy.load('en')spacy.load('de')加载模型。

4 下载模型

为了提高透明度并使使用spaCy与您自己的模型更加容易,现在所有数据都可以作为直接下载,按单独的版本进行组织。spaCy 1.7还支持安装和加载模型作为Python软件包。现在,您可以选择如何以及在哪里保存数据文件,并设置“快捷链接”以从spaCy内部按名称加载模型。有关此内容的更多信息,请参阅新的模型文档

# 下载与您的spaCy安装最匹配的特定模型版本。
python -m spacy download en_core_web_sm

# pip install .whl or .tar.gz archive from path or URL
# 处理英文
pip install /Users/you/en_core_web_sm-3.0.0.tar.gz
pip install /Users/you/en_core_web_sm-3.0.0-py3-none-any.whl
pip install https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.0.0/en_core_web_sm-3.0.0.tar.gz
pip install https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.0.0/en_core_web_sm-3.0.0-py3-none-any.whl
# 处理中文,例如:
pip install https://github.com/explosion/spacy-models/releases/download/zh_core_web_sm-3.0.0/zh_core_web_sm-3.0.0.tar.gz

5 加载和使用模型

要加载模型,请使用spacy.load(),并传入模型名称、快捷链接或模型数据目录的路径。

import spacy
nlp = spacy.load("en_core_web_sm")
doc = nlp(u"This is a sentence.")

您还可以通过其全名直接导入模型,然后使用没有参数的 load()方法调用它。这种方法也应该适用于旧版本 spaCy 中的较早模型。

import spacy
import en_core_web_sm

nlp = en_core_web_sm.load()
doc = nlp(u"This is a sentence.")

6 手动下载和安装

在某些情况下,您可能更喜欢手动下载数据,例如将其放入自定义目录中。您可以通过浏览器从最新版本中下载模型,或者使用归档文件的URL配置自己的下载脚本。归档包含一个模型目录,其中包含另一个包含模型数据的目录。

└── en_core_web_md-3.0.0.tar.gz       # downloaded archive
    ├── setup.py                      # setup file for pip installation
    ├── meta.json                     # copy of pipeline meta
    └── en_core_web_md                # 📦 pipeline package
        ├── __init__.py               # init for pip installation
        └── en_core_web_md-3.0.0      # pipeline data
            ├── config.cfg            # pipeline config
            ├── meta.json             # pipeline meta
            └── ...                   # directories with component data

📖 有关更多信息和示例,请查看模型文档

spaCy v1.x Releases回到上文

DateModelVersionDepEntVecSizeLicense
2017-06-06es_core_web_md1.0.0XXX377 MBCC BY-SA![][i]![][dl]
2017-04-26fr_depvec_web_lg1.0.0XX1.33 GBCC BY-NC![][i]![][dl]
2017-03-21en_core_web_md1.2.1XXX1 GBCC BY-SA![][i]![][dl]
2017-03-21en_depent_web_md1.2.1XX328 MBCC BY-SA![][i]![][dl]
2017-03-17en_core_web_sm1.2.0XXX50 MBCC BY-SA![][i]![][dl]
2017-03-17en_core_web_md1.2.0XXX1 GBCC BY-SA![][i]![][dl]
2017-03-17en_depent_web_md1.2.0XX328 MBCC BY-SA![][i]![][dl]
2016-05-10de_core_news_md1.0.0XXX645 MBCC BY-SA![][i]![][dl]
2016-03-08en_vectors_glove_md1.0.0X727 MBCC BY-SA![][i]![][dl]

[dl]: https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=http%3A%2F%2Fi.imgur.com%2FgQvPgr0.png&pos_id=img-NUTrKsbV-1710925040651)
[i]: https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=http%3A%2F%2Fi.imgur.com%2FOpLOcKn.png&pos_id=img-4soWqJXA-1710925036950)

7 spaCy v1.x模型的命名规范

  • 类型: 模型能力 (例如 core,表示具有词汇、语法、实体和词向量的通用模型,或者depent,表示只有词汇、语法和实体的模型)
  • 体裁: 模型训练的文本类型(例如web,表示网络文本,news,表示新闻文本)
  • 大小: 模型大小标识(例如smmdlg

例如,en_depent_web_md是一个在书面网络文本(博客、新闻、评论)上训练的中等大小的英语模型,其中包含词汇、语法和实体。

8 问题和错误报告

要报告模型问题,请在spaCy问题跟踪器上打开一个问题。
请注意,没有一个模型是完美的。因为模型是统计性的,它们的预期行为总是会包含一些错误。然而,特定的错误可能表明训练特征提取或优化代码存在更深层次的问题。如果您发现模型性能中存在可疑的模式,请务必提交一份报告。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐