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 团队
- 需要多语言处理的国际化产品
快速上手
- 安装:
pip install spacy- 下载英文预训练模型:
python -m spacy download en_core_web_sm- 处理文本:
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 版
历史版本
排序