工业级
自然语言
处理

在Python中

完成任务

spaCy旨在帮助您完成实际工作——构建真实产品或获取切实洞见。该库尊重您的时间,并努力避免浪费。它易于安装,其API简洁高效。

极速

spaCy擅长大规模信息提取任务。它从头开始用精心管理内存的Cython编写。如果你的应用需要处理整个网络转储数据,spaCy就是你要使用的库。

强大的生态系统

自2015年发布以来,spaCy已成为拥有庞大生态系统的行业标准。您可以从多种插件中进行选择,与机器学习技术栈集成,并构建自定义组件和工作流程。

编辑代码并试用spaCyspaCy v3.7 · Python 3 · 通过 Binder

功能

  • 支持75+种语言
  • 84 个训练好的管道 支持 25 种语言
  • 使用预训练的transformers(如BERT)进行多任务学习
  • 预训练的词向量
  • 最先进的运行速度
  • 生产就绪的训练系统
  • 基于语言学的分词
  • 用于命名实体识别、词性标注、依存句法分析、句子分割、文本分类、词形还原、形态分析、实体链接等任务的组件
  • 通过自定义组件和属性轻松扩展
  • 支持在PyTorchTensorFlow及其他框架中使用自定义模型
  • 内置用于语法和命名实体识别的可视化工具
  • 便捷的模型打包、部署和工作流管理
  • 稳健、经过严格评估的准确性

最新
大型语言模型:将LLMs集成到结构化NLP流程中

The spacy-llm package 将大语言模型(LLMs)集成到spaCy中,具有模块化系统,可实现快速原型设计提示工程,并将非结构化响应转化为适用于各种NLP任务的稳健输出,且无需训练数据

来自spaCy的创造者
Prodigy: 极致高效的机器学习教学

Prodigy: Radically efficient machine teaching

Prodigy是一款标注工具,其高效性使得数据科学家可以亲自完成标注工作,实现快速迭代的新高度。无论您是在处理实体识别、意图检测还是图像分类任务,Prodigy都能帮助您 更快地训练和评估模型。

可复现的自定义流程训练

spaCy v3.0 引入了一个全面且可扩展的系统,用于配置训练运行。您的配置文件将描述训练运行的每个细节,没有隐藏的默认值,使得重新运行实验和跟踪变更变得容易。您可以使用快速启动小部件或init config命令开始,或者克隆一个项目模板以获得端到端的工作流程。

Get started

语言
Components
硬件
Optimize for
# This is an auto-generated partial config. To use it with 'spacy train' # you can run spacy init fill-config to auto-fill all default settings: # python -m spacy init fill-config ./base_config.cfg ./config.cfg [paths] train = null dev = null vectors = null [system] gpu_allocator = null [nlp] lang = "en" pipeline = [] batch_size = 1000 [components] [corpora] [corpora.train] @readers = "spacy.Corpus.v1" path = ${paths.train} max_length = 0 [corpora.dev] @readers = "spacy.Corpus.v1" path = ${paths.dev} max_length = 0 [training] dev_corpus = "corpora.dev" train_corpus = "corpora.train" [training.optimizer] @optimizers = "Adam.v1" [training.batcher] @batchers = "spacy.batch_by_words.v1" discard_oversize = false tolerance = 0.2 [training.batcher.size] @schedules = "compounding.v1" start = 100 stop = 1000 compound = 1.001 [initialize] vectors = ${paths.vectors}



从原型到生产的端到端工作流程

spaCy的新项目系统为您提供了从原型到生产的顺畅路径。它让您可以跟踪所有的数据转换、预处理和训练步骤,从而确保您的项目随时可以交付自动化。该系统具有源资产下载、命令执行、校验和验证功能,并支持多种后端和集成缓存。

Try it out

spaCy Tailored Pipelines

获取由spaCy核心开发团队为您NLP问题量身定制的专属spaCy流程管道。

  • 高效流畅。 没有人比我们更了解spaCy。将您的流程需求发送给我们,我们将立即着手为您打造解决方案。
  • 生产就绪。 spaCy 管道稳健且易于部署。您将获得一个完整的 spaCy 项目文件夹,可以直接运行 spacy project run
  • 可预测性。 您将确切知道会获得什么以及需要支付多少费用。我们预先报价,让您在购买前试用,并且不会因我们这边的超额运行而收费——所有风险由我们承担。
  • 可维护性。 spaCy是行业标准,我们将提供完整的代码、数据、测试和文档交付您的流程,因此您的团队可以根据需求变化重新训练、更新和扩展解决方案。

Advanced NLP with spaCy: A free online course

在这门免费且互动的在线课程中,您将学习如何使用spaCy构建高级自然语言理解系统,同时运用基于规则和机器学习的方法。课程包含55个练习,配有视频、幻灯片、选择题以及浏览器内的交互式编码实践。

基准测试

spaCy v3.0 引入了基于transformer的管道,将spaCy的准确率提升至当前最先进水平。您也可以使用CPU优化的管道,虽然准确性较低但运行成本更加经济。

更多结果

PipelineParserTaggerNER
en_core_web_trf (spaCy v3)95.197.889.8
en_core_web_lg (spaCy v3)92.097.485.5
en_core_web_lg (spaCy v2)91.997.285.5

完整流程准确率基于 OntoNotes 5.0语料库(在开发集上报告)。

命名实体识别系统OntoNotesCoNLL '03
spaCy RoBERTa (2020)89.891.6
Stanza (StanfordNLP)188.892.1
Flair289.793.1

命名实体识别准确率OntoNotes 5.0CoNLL-2003语料库上的表现。更多结果请参阅 NLP-progress。项目模板: benchmarks/ner_conll031. Qi et al. (2020)2. Akbik et al. (2018)