explosion

spaCy 是一个工业级 Python 自然语言处理库,提供分词、词性标注、命名实体识别、句法解析与文本分类等预训练模型,支持 70 多种语言,为真实产品环境设计。

release-v3.8.18
发布于
1 天前
34,000
星标
71,701
下载
同步于
1 天前

最新版本

release-v3.8.182026年10月27日 05:18
下载慢?可在上方随时切换镜像源

项目说明

项目概述

spaCy 是一个面向真实产品的工业级自然语言处理库,基于最新的研究构建,用 Python 与 Cython 实现以保证速度。它自带预训练 pipeline,支持 70 多种语言的分词与训练,内置词性标注、句法解析、命名实体识别、文本分类等任务的神经网络模型,可与 BERT 等 transformer 结合做多任务学习,并配套从训练、打包、部署到工作流管理的完整生产体系。

把前沿 NLP 研究变成能上生产的高性能 pipeline。

项目 内容
平台 Linux、macOS、Windows
语言 Python、Cython
许可 MIT
语言支持 70+ 语言分词与训练

主要功能

  • 分词:针对各语言定制的非破坏性分词器
  • 词性标注与依存解析:神经网络驱动的句法分析
  • 命名实体识别:识别人名、地名、机构等实体,支持训练自定义实体
  • 文本分类:单标签与多标签文本分类管道
  • Transformer 支持:接入 BERT 等预训练模型提升精度
  • 训练系统:配置文件驱动的训练流程,支持实验管理
  • 模型打包部署:模型打包为 Python 包,版本化分发
  • 实体链接:把实体消歧到知识库条目

适用人群

  • 构建文本处理服务的后端工程师
  • 训练 NER 与文本分类模型的数据科学家
  • 生产环境要求高吞吐的 NLP 团队
  • 需要多语言处理的国际化产品

快速上手

  1. 安装:
pip install spacy
  1. 下载英文预训练模型:
python -m spacy download en_core_web_sm
  1. 处理文本:
import spacy

nlp = spacy.load('en_core_web_sm')
doc = nlp('Apple is looking at buying U.K. startup for $1 billion')
print([(ent.text, ent.label_) for ent in doc.ents])

核心优势

  • 生产就绪:从训练到部署的完整链路,性能为真实产品设计
  • 速度快:Cython 底层实现,吞吐显著高于教学型库
  • 生态完整:模型商店、项目模板与详细的官方文档

系统要求

项目 要求
操作系统 Linux、macOS、Windows
语言环境 Python
硬件 CPU 即可运行,GPU 可选加速

注意事项

  • 模型单独安装:库本体不含模型,需按语言与规模用 spacy download 拉取
  • 小模型取舍:_sm 模型快但精度一般,生产建议用 _lg 或 transformer 版

历史版本

排序