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

文章目录

  • 1 前言
  • 2 安装
  • 3 模型命名规范
    • 3.1 模型版本控制
    • 3.2 支持对旧版本的兼容
  • 4 下载模型
  • 5 加载和使用模型
  • 6 手动下载和安装
  • 7 spaCy v1.x模型的命名规范
  • 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):

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内部按名称加载模型。有关此内容的更多信息,请参阅新的模型文档。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/759217.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RISC-V架构的三种特权模式如何切换

1、RISC-V的三种特权模式 特权模式功能描述机器模式(M-mode)具有最高特权等级,具有访问所有资源的权限,通常运行固件和内核用户模式(U-mode)权限要比M模式低,通常是用来运行操作系统内核管理员…

MyBatis3源码深度解析(十七)MyBatis缓存(一)一级缓存和二级缓存的实现原理

文章目录 前言第六章 MyBatis缓存6.1 MyBatis缓存实现类6.2 MyBatis一级缓存实现原理6.2.1 一级缓存在查询时的使用6.2.2 一级缓存在更新时的清空 6.3 MyBatis二级缓存的实现原理6.3.1 实现的二级缓存的Executor类型6.3.2 二级缓存在查询时使用6.3.3 二级缓存在更新时清空 前言…

Python每日三道经典面试题(十七)

1.为什么使用* args,** kwargs? 在Python中,*args和**kwargs是用于函数定义时,处理可变数量的参数。它们允许你创建更灵活和通用的函数,能够接受任意数量的位置参数和关键字参数。 使用*args *args用于收集那些没有…

2024年第六届区块链与物联网国际会议(BIOTC 2024)即将召开!

2024年第六届区块链与物联网国际会议(简称:BIOTC 2024)将于2024 年 7 月 19 日至 21 日在日本福冈召开,旨在为来自行业、学术界和政府的研究人员、从业者和专业人士提供一个论坛,就研发区块链和物联网的专业实践进行交…

简介:使用TensorFlow实现python简版神经网络模型

如果你想进一步深入AI编程的魔法世界,那么TensorFlow和PyTorch这两个深度学习框架将是你的不二之选。它们可以帮助你构建更加复杂的神经网络模型,实现图像识别、语音识别等高级功能。 模型原理:神经网络是一种模拟人脑神经元结构的计算模型&a…

python 基于 websocket 的简单将视频推流到网页

本来有一台设备是要搞成无线的形式的,设备的摄像头的数据可以在一台局域网连接的平板上查看,因为试着使用 RTMP 推流,感觉延时太大了,而 Webrtc 感觉有太麻烦了,所以一开始看到这篇文章使用 UDP 协议进行推流&#xff…

stable diffusion webui ubuntu 安装

1.git clone 下来 GitHub - AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UIStable Diffusion web UI. Contribute to AUTOMATIC1111/stable-diffusion-webui development by creating an account on GitHub.https://github.com/AUTOMATIC1111/stable-diffus…

数据仓库相关概述

数据仓库概述 数据仓库概念 数据仓库是一个为数据分析而设计的企业级数据管理系统。数据仓库可集中、整合多个信息源的大量数据,借助数据仓库的分析能力,企业可从数据中获得宝贵的信息进而改进决策。同时,随着时间的推移,数据仓…

期刊如何反击一波可疑图像

出版商正在部署基于人工智能的工具来检测可疑图像,但生成式人工智能威胁着他们的努力。 期刊正在努力检测用于分析蛋白质和DNA的凝胶的操纵图像。图片来源:Shutterstock 似乎每个月都会有一系列针对研究人员的新高调指控,这些研究人员的论文…

Go --- Go语言垃圾处理

概念 垃圾回收(GC-Garbage Collection)暂停程序业务逻辑SWT(stop the world)程序根节点:程序中被直接或间接引用的对象集合,能通过他们找出所有可以被访问到的对象,所以Go程序的根节点通常包括…

完全理解ARM启动流程:Uboot-Kernel

内容共计5W字数,但是我还是很多地方说的不够尽兴。那么下次聊! 前言 bootloader是系统上电后最初加载运行的代码。它提供了处理器上电复位后最开始需要执行的初始化代码。 PC机上引导程序一般由BIOS开始执行,然后读取硬盘中位于MBR(Main Bo…

openGauss学习笔记-247 openGauss性能调优-SQL调优关键参数调整

文章目录 openGauss学习笔记-247 openGauss性能调优-SQL调优关键参数调整247.1 SQL调优关键参数调整 openGauss学习笔记-247 openGauss性能调优-SQL调优关键参数调整 247.1 SQL调优关键参数调整 本节将介绍影响openGauss SQL调优性能的关键数据库主节点配置参数,配…

【JVM】为对象分配内存的方式,死亡对象判断方法

目录 为对象分配内存的方式 指针碰撞 空闲列表 TLAB 死亡对象判断方法 引用计数法 可达性分析算法 为对象分配内存的方式 指针碰撞 一般情况下,JVM的对象都放在堆内存中(发生逃逸分析除外)。当类加载检查通过后,JVM为新生…

大模型-什么是Fine-tuning

推荐一篇比较透彻的介绍 对于深度学习模型中的 Fine-tuning(微调)操作,以下是详细介绍和原理说明: 什么是 Fine-tuning(微调)? Fine-tuning 是指在一个已经训练好的模型基础上,通…

在Spring Boot中如何处理跨域请求(CORS)?

什么是跨域? 跨域(Cross-Origin Resource Sharing,CORS)是一种机制,它允许在 Web 页面上运行的脚本能够请求从不同源(域名、协议或端口)的资源。在浏览器安全策略中,有一条称为同源…

python 中怎样使用任意关键词实参?

在 Python 中,可以使用任意数量的关键字实参和任意关键字实参,也被称为 kwargs。 这允许你在函数调用时传递任意数量的关键字参数。 你可以使用任意数量的关键字实参(Keyword Arguments)和任意关键字实参(Arbitrary Ke…

sonar接入maven项目

1、介绍 sonar是一款静态代码质量分析工具,支持Java、Python、PHP、JavaScript、CSS等25种以上的语言,而且能够集成在IDE、Jenkins、Git等服务中,方便随时查看代码质量分析报告。他有如下特性 (1) 检查代码是否遵循编程标准:如命…

走迷宫---dfs在矩阵图里的应用模板

题目描述如下: dfs算法解决迷宫问题的一个标准模板 ,通过递归与回溯暴力遍历所有能走的点,并比较找出所有可行方案的最优解 解决这道问题的核心思想和组合数如出一辙,可以说是组合数的升级版 结合注释看dfs更清晰易懂&#xff0…

springcloud-Eureka注册中心

如果你要理解这个技术博客博客专栏 请先学习以下基本的知识: 什么是微服务什么是服务拆分什么是springcloud Springcloud为微服务开发提供了一个比较泛用和全面的解决框架,springcloud继承了spring一直以来的风格——不重复造轮子,里面很多的…

测试平台——前端框架

一、创建vue项目 npm init vitelatest web_class wylWYLdeMacBook-Air testplatform % npm init vitelatest web_class ✔ Select a framework: › Vue ✔ Select a variant: › JavaScriptScaffolding project in /Users/wyl/workspace/testplatform/web_class...Done. Now…