spaCy

其他源码 2025-08-06

spaCy :工业强度NLP

spaCy是Python和Cython中高级自然语言处理的图书馆。它建立在最新研究的基础上,从第一天开始设计用于真实产品。

spaCy带有预算的管道,目前支持70多种语言的令牌化和培训。它具有最先进的速度和神经网络模型,用于标记,解析,命名实体识别文本分类以及更多任意任务的多任务学习,以及诸如BERT之类的经过审计的变压器,以及适用于生产的培训系统以及简单的模型包装,部署和工作流程管理。 spaCy是根据MIT许可发布的商业开源软件。

?现在3.8版!在此处查看发行说明。


文档

文档
spaCy x101 spaCy新手?这是您需要知道的一切!
用法指南 如何使用spaCy及其功能。
v3.0中的新事物 新功能,向后不兼容和迁移指南。
?项目模板 您可以克隆,修改和运行的端到端工作流程。
?API参考 spaCy的API的详细参考。
⏩GPU处理 将spaCy与兼容CUDA兼容的GPU处理。
?型号 下载训练有素的管道用于spaCy 。
?大语言模型 将LLM集成到spaCy管道中。
?宇宙 spaCy生态系统的插件,扩展,演示和书籍。
spaCy VS代码扩展 与spaCy的配置文件一起工作的其他工具和功能。
?‍?在线课程 在此免费互动的在线课程中学习spaCy 。
?博客 阅读有关爆炸中当前的spaCy和神秘发展,发行,演讲等等的信息。
视频 我们的YouTube频道带有视频教程,谈话等等。
?直播 加入马特(Matt),他在spaCy上工作并谈论NLP,每周生活。
?Changelog 更改和版本历史记录。
?贡献 如何为spaCy项目和代码库做出贡献。
?赃物 用独特的,定制设计的赃物来支持我们和我们的工作!
spaCy的核心开发团队定制NLP咨询,实施和战略建议。精简,准备生产,可预测且可维护。给我们发送电子邮件或接受我们的5分钟问卷,并保持联系!了解更多→

在哪里问问题

spaCy项目由spaCy团队维护。请了解,我们将无法通过电子邮件提供个人支持。我们还认为,如果帮助公开共享,帮助将会更有价值,因此更多的人可以从中受益。

类型 平台
错误报告 GitHub问题跟踪器
?功能请求和想法 github讨论·直播
?‍使用问题 github讨论·堆栈溢出
?一般讨论 github讨论·直播

特征

  • 支持70多种语言
  • 不同语言和任务的训练有素的管道
  • 多任务学习与伯特(Bert)这样的经过验证的变压器
  • 支持预算的单词矢量和嵌入
  • 最先进的速度
  • 准备生产的培训系统
  • 语言动机的令牌化
  • 指定实体识别的组成部分,一部分标记,依赖性解析,句子细分,文本分类,窃听,形态学分析,实体链接等等
  • 易于使用自定义组件和属性扩展
  • 支持PytorchTensorflow和其他框架中的自定义模型
  • 内置的语法和ner的可视化器
  • 简单的型号包装,部署和工作流程管理
  • 坚固,严格评估的精度

有关更多详细信息,请参见事实,数字和基准。

⏳安装spaCy

有关详细的安装说明,请参见文档。

  • 操作系统:MacOS / OS X·Linux·Windows(Cygwin,Mingw,Visual Studio)
  • Python版本:Python> = 3.7,<3.13(只有64位)
  • 包装管理人员:PIP·Conda(通过Conda-Forge)

pip

使用PIP可以作为源包和二进制轮毂提供spaCy版本。在安装spaCy及其依赖项之前,请确保您的PIP,SetUptools和Wheel是最新的。

spaCy">
pip install -U pip setuptools wheel
pip install spaCy

要安装其他数据表进行Lemmatization和归一化,您可以单独安装PIP INSTALS spaCy [查找]或单独安装spaCy -lookups -data。需要查找软件包来创建带有Lemmatization数据的空白模型,并以尚未鉴定的模型且不由第三方库提供动力的语言进行窃听。

使用PIP时,通常建议在虚拟环境中安装软件包,以避免修改系统状态:

spaCy">
python -m venv .env
source .env/bin/activate
pip install -U pip setuptools wheel
pip install spaCy

康达

您也可以通过Conda-Forge频道从Conda安装spaCy 。对于包括构建食谱和配置在内的原料,请查看此存储库。

conda install -c conda-forge spaCy

更新spaCy

spaCy的一些更新可能需要下载新的统计模型。如果您正在运行spaCy V2.0或更高版本,则可以使用Validate命令检查您的已安装型号是否兼容,如果没有,请打印有关如何更新它们的详细信息:

spaCy python -m spaCy validate">
pip install -U spaCy
python -m spaCy validate

如果您已经培训了自己的模型,请记住,您的培训和运行时输入必须匹配。更新spaCy后,我们建议使用新版本对您的模型进行重新培训

有关从spaCy 2.x升级到spaCy 3.X的详细信息,请参见《迁移指南》。

?下载型号软件包

训练有素的spaCy管道可以安装为Python软件包。这意味着它们是您应用程序的组成部分,就像其他任何模块一样。可以使用spaCy的下载命令或通过将PIP指向路径或URL来安装模型。

文档
可用管道 详细的管道描述,准确性数字和基准。
模型文档 详细的用法和安装说明。
训练 如何在数据上训练自己的管道。
spaCy installation python -m spaCy download en_core_web_sm # pip install .tar.gz archive or .whl 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://git*hub**.com/explosion/spaCy-models/releases/download/en_core_web_sm-3.0.0/en_core_web_sm-3.0.0.tar.gz">
 # Download best-matching version of specific model for your spaCy installation
python -m spaCy download en_core_web_sm

# pip install .tar.gz archive or .whl 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://git*hub**.com/explosion/spaCy-models/releases/download/en_core_web_sm-3.0.0/en_core_web_sm-3.0.0.tar.gz

加载和使用模型

要加载模型,请使用spaCy .load()与模型名称或模型数据目录的路径。

spaCy nlp = spaCy .load("en_core_web_sm") doc = nlp("This is a sentence.")">
 import spaCy
nlp = spaCy . load ( "en_core_web_sm" )
doc = nlp ( "This is a sentence." )

您也可以通过其全名直接导入模型,然后在没有参数的情况下调用其load()方法。

spaCy import en_core_web_sm nlp = en_core_web_sm.load() doc = nlp("This is a sentence.")">
 import spaCy
import en_core_web_sm

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

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

⚒从源编译

安装spaCy的另一种方法是克隆其GitHub存储库并从源构建。如果您想更改代码库,那是常见的方式。您需要确保拥有一个由Python发行的开发环境,包括标题文件,编译器,PIP,Virtualenv和Git已安装。编译器部分是最棘手的部分。如何做到这取决于您的系统。

平台
Ubuntu 通过apt-get安装系统级依赖关系:sudo apt-get安装构建构建式python-dev git。
苹果 安装最新版本的Xcode,包括所谓的“命令行工具”。 MacOS和OS X船与Python和Git预装。
视窗 安装Visual C ++构建工具或Visual Studio Express的版本,该版本匹配用于编译Python解释器的版本。

有关更多详细信息和说明,请参阅有关从源和快速启动小部件编译spaCy的文档,以获取适合您的平台和Python版本的命令。

spaCy python -m venv .env source .env/bin/activate # make sure you are using the latest pip python -m pip install -U pip setuptools wheel pip install -r requirements.txt pip install --no-build-isolation --editable .">
git clone https://g*i*th*ub.com/explosion/spaCy
cd spaCy

python -m venv .env
source .env/bin/activate

# make sure you are using the latest pip
python -m pip install -U pip setuptools wheel

pip install -r requirements.txt
pip install --no-build-isolation --editable .

安装附加:

pip install --no-build-isolation --editable .[lookups,cuda102]

?运行测试

spaCy带有广泛的测试套件。为了运行测试,您通常需要克隆存储库并从源构建spaCy 。这还将安装需求中定义的所需开发依赖性和测试实用程序。

另外,您可以从安装的spaCy软件包中的测试上运行pytest。不要忘记还通过spaCy的要求安装测试实用程序.txt:

spaCy">
pip install -r requirements.txt
python -m pytest --pyargs spaCy
下载源码

通过命令行克隆项目:

git clone https://github.com/explosion/spaCy.git