小舟、杜伟报道

提供基于transformer的pipeline、准确率达SOTA,spaCy 3.0正式版发布

spaCy 3.0 正式版来了。

spaCy 是具有工业级强度的 Python NLP 工具包,被称为最快的工业级自然语言处理工具。它支持多种自然语言处理的基本功能,主要功能包括分词、词性标注、词干化、命名实体识别、名词短语提取等。

近日,spaCy v3.0 正式发布,这是一次重大更新。

spcCy 3.0 更新文档地址:https://github.com/explosion/spaCy/releases/tag/v3.0.0

spaCy v3.0 有以下特点:
  • 具有新的基于 transformer 的 pipeline,这使得 spaCy 的准确率达到了当前的 SOTA 水平;

  • 提供了新的 workflow 系统,帮助用户将原型变为产品;

  • pipeline 配置更加简单,训练 pipeline 也更加轻松;

  • 与 NLP 生态系统的其他部分有许多新的和改进的集成。

spaCy v3.0 旨在优化用户的应用体验。用户可以使用强大的新配置系统来描述所有的设置,从而在 PyTorch 或 TensorFlow 等框架中编写支持 spaCy 组件的模型。新的 workflow 系统更加适用于步骤复杂的现代 NLP 流程。

快速安装启动

为了实现最流畅的更新过程,项目开发者建议用户在一个新的虚拟环境中启动:
pip install -U spacy
在具体操作上,用户可以选择自己的操作系统、包管理器、硬件、配置、训练 pipeline,以及选择 pipeline 时可以选择侧重效率性或者准确性。

新功能与改进之处

本次更新的 spaCy v3.0 增添了一些新功能,也进行了一系列改进,具体如下:
  • 基于 Transformer 的 pipeline,支持多任务学习;

  • 针对 18 + 种语言再训练的模型集合以及 58 个训练的 pipeline(包括 5 个基于 transformer 的pipeline);

  • 针对所有支持语言再训练的 pipeline,以及用于马其顿语和俄语的新的核心 pipeline;

  • 新的训练工作流和配置系统;

  • 使用 PyTorch、TensorFlow 和 MXNet 等任何机器学习框架实现自定义模型;

  • 管理从预处理到模型部署等端到端多步骤工作流的 spaCy 项目;

  • 集成数据版本控制(Data Version Control, DVC)、Streamlit、Weights & Biases、Ray 等;

  • 利用 Ray 的并行训练和分布式计算;

  • 新的内置pipeline组件:SentenceRecognizer、Morphologizer、Lemmatizer、AttributeRuler 和 Transformer;

  • 针对自定义组件的全新改进版 pipeline 组件 API 和装饰器;

  • 从用户训练配置的其他 pipeline 中获取经过训练的组件;

  • 为所有经过训练的 pipeline 包提供预建和更高效的二进制 wheel;

  • 使用 Semgrex 运算符在依赖解析(dependency parse)中提供用于匹配模式的 DependencyMatcher;

  • 在 Matcher 中支持贪婪模式(greedy pattern);

  • 新的数据结构 SpanGroup,可以通过 Doc.spans 有效地存储可能重叠的 span 的集合;

  • 用于自定义注册函数的类型提示和基于类型的数据验证;

  • 各种新方法、属性和命令。

58 个训练的 pipeline

用户在下载训练的 pipeline 时,可以使用 spacy download 命令。58 个训练的 pipeline 如下图所示:

部分截图。

用户在自己的数据上训练 pipeline 时可参考训练文档,地址:https://spacy.io/usage/training

已删除或重命名的 API

下图中弃用的方法、属性和参数已经在 v3.0 中删除,其中的大多数已经弃用了一段时间,并且很多以往会引发错误。如果用户使用的是最新版本的 spaCy v2.x,则代码对它们的依赖性不大。

参考链接:
https://explosion.ai/blog/spacy-v3
https://zhuanlan.zhihu.com/p/51425975
入门spacyPython NLP工具包v3.0版本更新
相关数据
参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

推荐文章
暂无评论
暂无评论~