文章目录
- [1 前言](#1 前言)
- [2 安装](#2 安装)
- [3 模型命名规范](#3 模型命名规范)
-
- [3.1 模型版本控制](#3.1 模型版本控制)
- [3.2 支持对旧版本的兼容](#3.2 支持对旧版本的兼容)
- [4 下载模型](#4 下载模型)
- [5 加载和使用模型](#5 加载和使用模型)
- [6 手动下载和安装](#6 手动下载和安装)
- [7 spaCy v1.x模型的命名规范](#7 spaCy v1.x模型的命名规范)
- [8 问题和错误报告](#8 问题和错误报告)
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
):
bash
python -m spacy download [model]
- spaCy v3.x models directory
- spaCy v3.x model comparison
- spaCy v2.x models directory
- spaCy v2.x model comparison
- Individual release notes
对于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内部按名称加载模型。有关此内容的更多信息,请参阅新的模型文档。
bash
# 下载与您的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()
,并传入模型名称、快捷链接或模型数据目录的路径。
python
import spacy
nlp = spacy.load("en_core_web_sm")
doc = nlp(u"This is a sentence.")
您还可以通过其全名直接导入
模型,然后使用没有参数的 load()
方法调用它。这种方法也应该适用于旧版本 spaCy 中的较早模型。
python
import spacy
import en_core_web_sm
nlp = en_core_web_sm.load()
doc = nlp(u"This is a sentence.")
6 手动下载和安装
在某些情况下,您可能更喜欢手动下载数据,例如将其放入自定义目录中。您可以通过浏览器从最新版本中下载模型,或者使用归档文件的URL配置自己的下载脚本。归档包含一个模型目录,其中包含另一个包含模型数据的目录。
yaml
└── 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 (回到上文)
Date | Model | Version | Dep | Ent | Vec | Size | License | ||
---|---|---|---|---|---|---|---|---|---|
2017-06-06 |
es_core_web_md |
1.0.0 | X | X | X | 377 MB | CC BY-SA | ![][i] | ![][dl] |
2017-04-26 |
fr_depvec_web_lg |
1.0.0 | X | X | 1.33 GB | CC BY-NC | ![][i] | ![][dl] | |
2017-03-21 |
en_core_web_md |
1.2.1 | X | X | X | 1 GB | CC BY-SA | ![][i] | ![][dl] |
2017-03-21 |
en_depent_web_md |
1.2.1 | X | X | 328 MB | CC BY-SA | ![][i] | ![][dl] | |
2017-03-17 |
en_core_web_sm |
1.2.0 | X | X | X | 50 MB | CC BY-SA | ![][i] | ![][dl] |
2017-03-17 |
en_core_web_md |
1.2.0 | X | X | X | 1 GB | CC BY-SA | ![][i] | ![][dl] |
2017-03-17 |
en_depent_web_md |
1.2.0 | X | X | 328 MB | CC BY-SA | ![][i] | ![][dl] | |
2016-05-10 |
de_core_news_md |
1.0.0 | X | X | X | 645 MB | CC BY-SA | ![][i] | ![][dl] |
2016-03-08 |
en_vectors_glove_md |
1.0.0 | X | 727 MB | CC BY-SA | ![][i] | ![][dl] |
7 spaCy v1.x模型的命名规范
- 类型 : 模型能力 (例如
core
,表示具有词汇、语法、实体和词向量的通用模型,或者depent
,表示只有词汇、语法和实体的模型) - 体裁 : 模型训练的文本类型(例如
web
,表示网络文本,news
,表示新闻文本) - 大小 : 模型大小标识(例如
sm
、md
或lg
)
例如,en_depent_web_md
是一个在书面网络文本(博客、新闻、评论)上训练的中等大小的英语模型,其中包含词汇、语法和实体。
8 问题和错误报告
要报告模型问题,请在spaCy问题跟踪器上打开一个问题。
请注意,没有一个模型是完美的。因为模型是统计性的,它们的预期行为总是会包含一些错误。然而,特定的错误可能表明训练特征提取或优化代码存在更深层次的问题。如果您发现模型性能中存在可疑的模式,请务必提交一份报告。