spaCy - 模型和语言
让我们了解一下 spaCy 及其统计模型支持的语言。
语言支持
目前,spaCy 支持以下语言 −
语言 | 代码 |
---|---|
中文 | zh |
丹麦语 | da |
荷兰语 | nl |
英语 | en |
法语 | fr |
德语n | de |
希腊语 | el |
意大利语 | it |
日语 | ja |
立陶宛语 | lt |
多语言 | xx |
挪威语博克马尔语 | nb |
波兰语 | pl |
葡萄牙语 | pt |
罗马尼亚语 | ro |
西班牙语 | es |
南非荷兰语 | af |
阿尔巴尼亚语 | sq |
阿拉伯语 | ar |
亚美尼亚语 | hy |
巴斯克语 | eu |
孟加拉语 | bn |
保加利亚语 | bg |
加泰罗尼亚语 | c a |
克罗地亚语 | hr |
捷克语 | cs |
爱沙尼亚语 | et |
芬兰语 | fi |
古吉拉特语 | gu |
希伯来语 | he |
印地语 | hi |
匈牙利语 | hu |
冰岛语 | is |
印度尼西亚语 | id |
爱尔兰语 | ga |
卡纳达语 | kn |
韩语 | ko |
拉脱维亚语 | lv |
利古里亚语 | lij |
卢森堡语 | lb |
马其顿语 | mk |
马拉雅拉姆语 | ml |
马拉地语 | mr |
尼泊尔语 | ne |
波斯语 | fa |
俄语 | ru |
塞尔维亚语 | sr |
僧伽罗语 | si |
斯洛伐克语 | |
斯洛文尼亚语 | sl |
瑞典语 | sv |
他加禄语 | tl |
泰米尔语 | ta |
鞑靼语 | tt |
泰卢固语 | te |
泰语 | th |
土耳其语 | tr |
乌克兰语 | uk |
乌尔都语 | ur |
越南语 | vi |
约鲁巴语 | yo |
spaCy 的统计模型
众所周知,spaCy 的模型可以作为 Python 包安装,这意味着像任何其他模块一样,它们是我们应用程序的一个组件。这些模块可以在 requirement.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 或本地路径。如果您没有模型的直接链接,请转到模型发布,然后从那里复制。
例如,
使用带有外部 URL 的 pip 安装模型的命令如下 −
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 为我们提供了链接命令,可以按如下方式使用 −
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 的 model 的名称可以进一步分为以下三个部分 −
Type − 它反映了模型的功能。例如,core 用于具有词汇、语法、实体的通用模型。同样,depent 仅用于词汇、语法和实体。
Genre − 它显示了模型训练的文本类型。例如,web 或 news。
Size − 顾名思义,它是模型大小指示器。例如,sm(表示小)、md(表示中)或 lg(表示大)。
模型版本控制
模型版本控制反映了以下 −
与 spaCy 的兼容性。
主要和次要模型版本。
例如,模型版本 r.s.t 转换为以下 −
r − spaCy 主版本。例如,1 代表 spaCy v1.x。
s − 模型主版本。它限制用户通过相同的代码加载不同的主版本。
t − 模型次版本。它显示相同的模型结构,但参数值不同。例如,在不同的数据上进行不同次数的迭代训练。