spaCy NLP库的模型的下载、安装和使用说明书

文章目录

  • [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 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]

[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问题跟踪器上打开一个问题。

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

相关推荐
Narutolxy1 分钟前
Python 单元测试:深入理解与实战应用20240919
python·单元测试·log4j
LLSU134 分钟前
聚星文社AI软件小说推文软件
人工智能
JackieZhengChina6 分钟前
吴泳铭:AI最大的想象力不在手机屏幕,而是改变物理世界
人工智能·智能手机
ShuQiHere8 分钟前
【ShuQiHere】 探索数据挖掘的世界:从概念到应用
人工智能·数据挖掘
嵌入式杂谈8 分钟前
OpenCV计算机视觉:探索图片处理的多种操作
人工智能·opencv·计算机视觉
时光追逐者9 分钟前
分享6个.NET开源的AI和LLM相关项目框架
人工智能·microsoft·ai·c#·.net·.netcore
东隆科技10 分钟前
PicoQuant公司:探索铜铟镓硒(CIGS)太阳能电池技术,引领绿色能源革新
人工智能·能源
DisonTangor21 分钟前
上海AI气象大模型提前6天预测“贝碧嘉”台风登陆浦东 今年已多次精准预测
人工智能
Amo Xiang24 分钟前
2024 Python3.10 系统入门+进阶(十五):文件及目录操作
开发语言·python
liangbm334 分钟前
数学建模笔记——动态规划
笔记·python·算法·数学建模·动态规划·背包问题·优化问题