spaCy 是 Python 中的高级自然语言处理库,并且 赛顿。它建立在最新的研究基础上,从第一天到 用于实际产品。
spaCy 带有预训练的管道,目前 支持 70+ 种语言的分词化和训练。它的特点 最先进的速度和神经网络模型,用于标记、解析、命名实体识别、文本分类等,多任务 使用预训练的转换器(如 BERT)以及 生产就绪的**培训系统和** EASY 模型打包、部署和工作流管理。spaCy 是商业的 开源软件,在 MIT 许可下发布。
主要功能:
- 支持 70+ 种语言
- 针对不同语言和任务的训练有素的管道
- 使用 BERT 等预训练转换器进行多任务学习
- 支持预训练的单词向量和嵌入
- 最先进的速度
- 生产就绪的培训系统
- 语言驱动的标记化
- 用于命名实体识别、词性标记、 依赖解析、句子分割、文本分类、 词形还原、形态学分析、实体链接等
- 使用自定义组件和属性轻松扩展
- 支持 PyTorch、TensorFlow 和其他框架中的自定义模型
- 内置语法和 NER 可视化工具
- 轻松的模型打包、部署和工作流管理
- 稳健、经过严格评估的精度
安装和使用
⏳ 安装 spaCy
有关详细的安装说明,请参阅文档。
- 操作系统版本: macOS / OS X ·Linux ·Windows(Cygwin、MinGW、Visual 工作室)
- Python 版本:Python 3.7+(仅 64 位)
- 包管理器: pip ·conda (通过
conda-forge
)
使用Pip
使用 pip,spaCy 版本可以作为源包和二进制轮子使用。 在安装 spaCy 及其依赖项之前,请确保您的 和 是最新的。pipsetuptoolswheel
pip install -U pip setuptools wheel
pip install spacy
要安装其他数据表进行词形还原和规范化,您可以 单独运行或安装 spacy-lookups-data。需要 lookups 包来创建空白模型 词形还原数据,以及在尚未附带的语言中进行词形还原 预训练模型,不受第三方库支持。pip install spacy[lookups]
使用 pip 时,通常建议将软件包安装在虚拟 environment 以避免修改系统状态:
python -m venv .env
source .env/bin/activate
pip install -U pip setuptools wheel
pip install spacy
使用conda
您还可以通过通道安装 spaCy。对于 Feedstock(包括构建配方和配置),请查看此存储库。condaconda-forge
conda install -c conda-forge spacy
更新 spaCy
spaCy 的某些更新可能需要下载新的统计模型。如果你是 运行 spaCy v2.0 或更高版本,您可以使用命令检查是否 您安装的型号兼容,如果不兼容,请打印有关如何更新的详细信息 他们:validate
pip install -U spacy
python -m spacy validate
如果您训练了自己的模型,请记住,您的训练和运行时 输入必须匹配。更新 spaCy 后,我们建议使用新版本重新训练您的模型。
📦 下载模型包
经过训练的 spaCy 管道可以作为 Python 包安装。这意味着 它们是应用程序的一个组件,就像任何其他模块一样。模型 可以使用 spaCy 的 download
命令进行安装,也可以通过将 pip 指向路径或 URL 来手动安装。
文档 | |
---|---|
可用管道 | 详细的管道描述、准确性数据和基准。 |
模型文档 | 详细的使用和安装说明。 |
训练 | 如何在数据上训练自己的管道。 |
# Download best-matching version of specific model for your spaCy installation
python -m spacy download en_core_web_sm
# pip install .tar.gz archive or .whl from path or URL
pip install /Users/you/en_core_web_sm-3.0.0.tar.gz
pip install /Users/you/en_core_web_sm-3.0.0-py3-none-any.whl
pip install https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.0.0/en_core_web_sm-3.0.0.tar.gz
加载和使用模型
要加载模型,请将 spacy.load()
与模型名称或模型数据目录的路径一起使用。
import spacy
nlp = spacy.load("en_core_web_sm")
doc = nlp("This is a sentence.")
你也可以直接通过模型的全名来调用模型,然后不带参数地调用其方法。importload()
import spacy
import en_core_web_sm
nlp = en_core_web_sm.load()
doc = nlp("This is a sentence.")
📖 有关更多信息和示例,请查看 models 文档。
⚒ 从源码编译
安装 spaCy 的另一种方法是克隆其 GitHub 存储库并从 源。如果要对代码库进行更改,这是常见的方法。 您需要确保您的开发环境由 Python 发行版,包括头文件、编译器、pip、virtualenv 和 git 安装。编译器部分是最棘手的。如何 这取决于您的系统。
平台 | |
---|---|
Ubuntu 浏览器 | 通过 : 安装系统级依赖项。apt-getsudo apt-get install build-essential python-dev git |
苹果电脑 | 安装最新版本的 XCode,包括所谓的 “命令行工具”。macOS 和 OS X 预装了 Python 和 git。 |
窗户 | 安装与用于编译 Python 解释器的版本匹配的 Visual C++ 生成工具或 Visual Studio Express 版本。 |
有关更多详细信息和说明,请参阅有关从源代码编译 spaCy 的文档和快速入门小部件以获取正确的 命令。
git clone https://github.com/explosion/spaCy
cd spaCy
python -m venv .env
source .env/bin/activate
# make sure you are using the latest pip
python -m pip install -U pip setuptools wheel
pip install -r requirements.txt
pip install --no-build-isolation --editable .
要使用 extras 进行安装:
pip install --no-build-isolation --editable .[lookups,cuda102]
🚦 运行测试
spaCy 附带一个广泛的测试套件。为了运行 测试中,您通常需要克隆存储库并从源代码构建 spaCy。 这还将安装所需的开发依赖项和测试实用程序 在 requirements.txt
.
或者,您可以从已安装的软件包中运行测试。不要忘记通过 spaCy 的 requirements.txt 安装测试实用程序:pytestspacy
pip install -r requirements.txt
python -m pytest --pyargs spacy