Spacy 简明教程
spaCy - Getting Started
本章将帮助读者了解 spaCy 的最新版本。此外,读者可以了解各个版本中的新特性和改进内容、其兼容性以及如何安装 spaCy。
Latest version
spaCy v3.0 是最新版本,以夜间发布的形式提供。这是 spaCy 通过一个名为 spacy-nightly 的单独渠道进行的实验和 alpha 版发布。它反映了“未来的 spaCy”,不能用于生产用途。
为了防止潜在的冲突,请尝试使用一个新的虚拟环境。
您可以使用以下给出的 pip 命令来安装它:
pip install spacy-nightly --pre
New Features and Improvements
下面解释了 spaCy 最新版本中的新特性和改进:
Transformer-based pipelines
它具有所有新的基于转换器的管道,并支持多任务学习。这些新的基于转换器的管道使其成为最高精度的框架(在最佳可用精度范围内 1%)。
您可以为您的管道访问数千个预训练模型,因为 spaCy 的转换器支持与 PyTorch 和 HuggingFace 转换器等其他框架互操作。
New training workflow and config system
spaCy v3.0 提供了我们训练运行的单个配置文件。
没有隐藏的默认值,因此,它使我们能够轻松地返回实验并跟踪更改。
Custom models using any ML framework
spaCy v3.0 的新配置系统使我们能够轻松定制神经网络 (NN) 模型,并通过 ML 库 Thinc 实现我们自己的架构。
Manage end-to-end workflows and projects
spaCy 项目让我们可以管理和共享各种用例和域的端到端工作流。
它还允许我们组织训练、打包和提供我们自己的管道服务。
另一方面,我们还可以与其他数据科学和 ML 工具集成,例如 DVC (Data Vision Control) 、 Prodigy 、 Streamlit 、 FastAPI 、 Ray 等。
Parallel training and distributed computing with Ray
为了加速训练过程,我们可以使用 Ray,这是一个用于构建和运行分布式应用程序的快速且简单的框架,以在一台或多台远程机器上训练 spaCy。
New built-in pipeline components
这是 spaCy 的新版本,遵循新的可训练和基于规则的组件,我们可以将其添加到我们的管道中。
这些组件如下:
-
SentenceRecognizer
-
Morphologizer
-
Lemmatizer
-
AttributeRuler
-
Transformer
-
TrainablePipe
Installing spaCy
下面阐释了安装 spaCy 的不同选项 −
Using package manager
spaCy 的最新发布版本可以通过两个包管理器 pip 和 conda 获得。让我们了解如何使用它们来安装 spaCy −
pip − 要使用 pip 安装 Spacy,可以使用以下命令 −
pip install -U spacy
为了避免修改系统状态,建议在虚拟环境中安装 spacy 包,如下所示 −
python -m venv .env
source .env/bin/activate
pip install spacy
conda − 要通过 conda-forge 安装 spaCy,可以使用以下命令 −
conda install -c conda-forge spacy
From source
您还可以通过从 GitHub repository 制作克隆并从源代码构建来安装 spaCy。这是对代码库进行更改的最常用方式。
但是,为此,您需要拥有包含以下内容的 python 发行版 −
-
Header files
-
A compiler
-
pip
-
virtualenv
-
git
使用以下命令 −
首先,依次 update pip −
python -m pip install -U pip
现在,使用下面给出的命令 clone spaCy :
git clone https://github.com/explosion/spaCy
现在,我们需要通过使用下面提到的命令 navigate into directory −
cd spaCy
接下来,我们需要 create environment in .env ,如下所示 −
python -m venv .env
现在, activate the above created virtual environment 。
source .env/bin/activate
接下来,我们需要按如下方式 set the Python path to spaCy directory −
export PYTHONPATH=`pwd`
现在,按如下方式 install all requirements −
pip install -r requirements.txt
最后, compile spaCy −
python setup.py build_ext --inplace
Upgrading spaCy
升级 spaCy 时应牢记以下几点 −
-
从一个干净的虚拟环境开始。
-
要将 spaCy 升级到一个新的主要版本,则必须安装最新的兼容模型。
-
虚拟环境中不应存在旧的快捷方式链接或不兼容的模型包。
-
如果您已训练了自己的模型,则训练和运行时输入必须匹配,即您还必须使用较新版本重新训练模型。
SpaCy v2.0 和更高版本提供了一个 validate 命令,它允许用户验证是否所有已安装的模型都与已安装的 spaCy 版本兼容。
如果存在任何不兼容模型, validate 命令将打印提示和安装说明。此命令还可以检测在不同虚拟环境中创建的、不同步的模型链接。
您可以按如下方式使用 validate 命令 −
pip install -U spacy
python -m spacy validate
在上述命令中,使用 python -m 确保我们执行的是正确的 spaCy 版本。
Running spaCy with GPU
spaCy v2.0 及更高版本附带了可以在 Thinc 中实现的神经网络 (NN) 模型。如果想要使用图形处理器 (GPU) 支持运行 spaCy,请使用 Chainer 的 CuPy 模块。此模块为 GPU 数组提供了一个兼容 numpy 的接口。
您可以通过指定以下内容在 GPU 上安装 spaCy −
-
spaCy[cuda]
-
spaCy[cuda90]
-
spaCy[cuda91]
-
spaCy[cuda92]
-
spaCy[cuda100]
-
spaCy[cuda101]
-
spaCy[cuda102]
另一方面,如果您知道 cuda 的版本,显式指定符允许安装 cupy 。它将节省编译时间。
使用以下命令进行安装:
pip install -U spacy[cuda92]
在启用 GPU 的安装后,按照如下方式调用 spacy.prefer_gpu 或 spacy.require_gpu 激活它:
import spacy
spacy.prefer_gpu()
nlp_model = spacy.load("en_core_web_sm")