- spaCy 教程
- spaCy - 首页
- spaCy - 简介
- spaCy - 入门
- spaCy - 模型和语言
- spaCy - 架构
- spaCy - 命令行助手
- spaCy - 顶级函数
- spaCy - 可视化函数
- spaCy - 实用函数
- spaCy - 兼容性函数
- spaCy - 容器
- Doc 类上下文管理器和属性
- spaCy - 容器 Token 类
- spaCy - Token 属性
- spaCy - 容器 Span 类
- spaCy - Span 类属性
- spaCy - 容器 Lexeme 类
- 训练神经网络模型
- 更新神经网络模型
- spaCy 有用资源
- spaCy - 快速指南
- spaCy - 有用资源
- spaCy - 讨论
spaCy - 模型和语言
让我们了解一下 spaCy 支持的语言及其统计模型。
语言支持
目前,spaCy 支持以下语言:
语言 | 代码 |
---|---|
中文 | zh |
丹麦语 | da |
荷兰语 | nl |
英语 | en |
法语 | fr |
德语 | de |
希腊语 | el |
意大利语 | it |
日语 | ja |
立陶宛语 | lt |
多语言 | xx |
挪威语(博克马尔) | nb |
波兰语 | pl |
葡萄牙语 | pt |
罗马尼亚语 | ro |
西班牙语 | es |
南非荷兰语 | af |
阿尔巴尼亚语 | sq |
阿拉伯语 | ar |
亚美尼亚语 | hy |
巴斯克语 | eu |
孟加拉语 | bn |
保加利亚语 | bg |
加泰罗尼亚语 | ca |
克罗地亚语 | hr |
捷克语 | cs |
爱沙尼亚语 | et |
芬兰语 | fi |
古吉拉特语 | gu |
希伯来语 | he |
印地语 | hi |
匈牙利语 | hu |
冰岛语 | is |
印尼语 | id |
爱尔兰语 | ga |
卡纳达语 | kn |
韩语 | ko |
拉脱维亚语 | lv |
利古里亚语 | lij |
卢森堡语 | lb |
马其顿语 | mk |
马拉雅拉姆语 | ml |
马拉地语 | mr |
尼泊尔语 | ne |
波斯语 | fa |
俄语 | ru |
塞尔维亚语 | sr |
僧伽罗语 | si |
斯洛伐克语 | sk |
斯洛文尼亚语 | sl |
瑞典语 | sv |
他加禄语 | tl |
泰米尔语 | ta |
鞑靼语 | tt |
泰卢固语 | te |
泰语 | th |
土耳其语 | tr |
乌克兰语 | uk |
乌尔都语 | ur |
越南语 | vi |
约鲁巴语 | yo |
spaCy 的统计模型
众所周知,spaCy 的模型可以作为 Python 包安装,这意味着就像任何其他模块一样,它们是应用程序的一部分。这些模块可以进行版本控制,并在 **requirements.txt** 文件中定义。
安装 spaCy 的统计模型
以下是 spaCy 统计模型的安装说明:
使用下载命令
使用 spaCy 的 **download** 命令是下载模型最简单的方法之一,因为它会自动找到与我们的 spaCy 版本兼容的最匹配模型。
您可以通过以下方式使用 **download** 命令:
以下命令将为您的 spaCy 版本下载特定模型的最匹配版本:
python -m spacy download en_core_web_sm
以下命令将下载最匹配的默认模型,并创建一个快捷方式链接:
python -m spacy download en
以下命令将下载精确的模型版本,并且不会创建任何快捷方式链接:
python -m spacy download en_core_web_sm-2.2.0 --direct
通过 pip
我们还可以通过 pip 直接下载和安装模型。为此,您需要使用 **pip install** 以及存档文件的 URL 或本地路径。如果您没有模型的直接链接,请转到模型发布页面,并从那里复制。
例如:
使用 pip 和外部 URL 安装模型的命令如下:
pip install https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.2.0/en_core_web_sm-2.2.0.tar.gz
使用 pip 和本地文件安装模型的命令如下:
pip install /Users/you/en_core_web_sm-2.2.0.tar.gz
以上命令将把特定模型安装到您的 site-packages 目录中。完成后,我们可以使用 **spacy.load()** 通过其包名称加载它。
手动
您还可以手动下载数据并将其放置到您选择的自定义目录中。
使用以下任何一种方法手动下载数据:
通过浏览器从最新版本下载模型。
您可以使用存档文件的 URL(统一资源定位符)配置自己的下载脚本。
下载完成后,我们可以将模型包目录放置在本地文件系统的任何位置。现在,要将其与 spaCy 一起使用,我们可以为数据目录创建快捷方式链接。
在 spaCy 中使用模型
这里解释了如何在 spaCy 中使用模型。
使用自定义快捷方式链接
我们可以手动下载所有 spaCy 模型,如上所述,并将它们放入我们的本地目录中。现在,每当 spaCy 项目需要任何模型时,我们都可以创建一个快捷方式链接,以便 spaCy 可以从那里加载模型。这样可以避免重复数据。
为此,spaCy 为我们提供了 link 命令,可以使用如下方式:
python -m spacy link [package name or path] [shortcut] [--force]
在上述命令中,第一个参数是包名称或本地路径。如果您已通过 pip 安装了模型,则可以在这里使用包名称。或者,您有模型包的本地路径。
第二个参数是内部名称。这是您要用于模型的名称。上述命令中的 –-**force** 标志将覆盖任何现有的链接。
以下给出两种情况的示例。
示例
以下是如何设置快捷方式链接以将已安装的包加载为“**default_model**”的示例:
python -m spacy link en_core_web_md en_default
以下是如何设置快捷方式链接以将本地模型加载为“**my_default_model**”的示例:
python -m spacy link /Users/Leekha/model my_default_en
作为模块导入
我们还可以 **导入** 已安装的模型,它可以调用其 **load()** 方法,不带任何参数,如下所示:
import spaCy import en_core_web_sm nlp_example = en_core_web_sm.load() my_doc = nlp_example("This is my first example.") my_doc
输出
This is my first example.
使用自己的模型
您还可以使用您训练的模型。为此,您需要使用 **Language.to_disk()** 方法保存训练模型的状态。为了方便部署,您还可以将其包装为 Python 包。
命名约定
通常,**[lang_[name]]** 命名约定是 spaCy 期望所有模型包遵循的一种约定。
spaCy 模型的名称可以进一步细分为以下三个部分:
**类型** - 它反映了模型的功能。例如,**core** 用于具有词汇表、语法和实体的通用模型。同样,**depent** 用于仅具有词汇表、语法和实体的模型。
**类型** - 它显示了模型训练的文本类型。例如,**web** 或 **news**。
**大小** - 顾名思义,它是模型大小的指示器。例如,**sm**(小)、**md**(中)或 **lg**(大)。
模型版本控制
模型版本控制反映以下内容:
与 spaCy 的兼容性。
主要和次要模型版本。
例如,模型版本 r.s.t 转换为以下内容:
**r** - **spaCy 主版本。**例如,spaCy v1.x 为 1。
**s** - **模型主版本。**它限制用户使用相同的代码加载不同的主版本。
**t** - **模型次要版本。**它显示相同的模型结构,但参数值不同。例如,在不同的数据上训练了不同的迭代次数。