spaCy - 高级函数



这里,我们将讨论 spaCy 中使用的一些高级函数。这些函数及其描述列在下面:

序号 命令及描述
1

spacy.load()

加载模型。

2

spacy.blank()

创建一个空白模型。

3

spacy.info()

提供有关 spaCy 内的安装、模型和本地设置的信息。

4

spacy.explain()

给出描述。

5

spacy.prefer_gpu()

分配数据并在 GPU 上执行操作。

6

spacy.require_gpu()

分配数据并在 GPU 上执行操作。

spacy.load()

顾名思义,此 spacy 函数将通过以下方式加载模型:

  • 它的快捷链接。

  • 已安装模型包的名称。

  • Unicode 路径。

  • 路径类对象。

spaCy 将尝试按以下顺序解析 load 参数:

  • 如果从快捷链接或包名加载模型,spaCy 将将其视为 Python 包并调用模型自己的load()方法。

  • 另一方面,如果从路径加载模型,spaCy 将假设它是一个数据目录,因此会初始化Language类。

使用此函数后,数据将通过Language.from_disk加载。

参数

下表解释了它的参数:

名称 类型 描述
name unicode / Path 它是要加载的模型的快捷链接、包名或路径。
disable 列表 它表示要禁用的管道组件的名称。

示例

在下面的示例中,spacy.load() 函数通过使用快捷链接、包、Unicode 路径和 pathlib 路径来加载模型:

以下是使用快捷链接加载模型的 spacy.load() 函数的命令:

nlp_model = spacy.load("en")

以下是使用加载模型的 spacy.load() 函数的命令:

nlp_model = spacy.load("en_core_web_sm")

以下是使用Unicode 路径加载模型的 spacy.load() 函数的命令:

nlp_model = spacy.load("/path/to/en")

以下是使用pathlib 路径加载模型的 spacy.load() 函数的命令:

nlp_model = spacy.load(Path("/path/to/en"))

以下是使用所有参数加载模型的 spacy.load() 函数的命令:

nlp_model = spacy.load("en_core_web_sm", disable=["parser", "tagger"])

spacy.blank()

它是 spacy.blank() 函数的孪生兄弟,创建一个给定语言类的空白模型。

参数

下表解释了它的参数:

名称 类型 描述
name unicode 它表示要加载的语言类的 ISO 代码。
disable 列表 此参数表示要禁用的管道组件的名称。

示例

在下面的示例中,spacy.blank() 函数用于创建“en”语言类的空白模型。

nlp_model_en = spacy.blank("en")

spacy.info()

与 info 命令一样,spacy.info() 函数提供有关 spaCy 内的安装、模型和本地设置的信息。

如果您想将模型元数据作为字典获取,可以使用已加载模型的nlp对象上的meta-attribute。例如,nlp.meta

参数

下表解释了它的参数:

名称 类型 描述
model unicode 它是模型的快捷链接、包名或路径。
markdown 布尔值 此参数将信息打印为 Markdown。

示例

下面给出一个例子:

spacy.info()
spacy.info("en")
spacy.info("de", markdown=True)

spacy.explain()

此函数将为我们提供以下内容的描述:

  • 词性标注

  • 依存关系标签

  • 实体类型

参数

下表解释了它的参数:

名称 类型 描述
term unicode 这是我们要解释的术语。

示例

下面提到了 spacy.explain() 函数使用方法的示例:

import spacy
import en_core_web_sm
nlp= en_core_web_sm.load()
spacy.explain("NORP")
doc = nlp("Hello TutorialsPoint")
for word in doc:
   print(word.text, word.tag_, spacy.explain(word.tag_))

输出

Hello UH interjection
TutorialsPoint NNP noun, proper singular

spacy.prefer_gpu()

如果您有 GPU,此函数将分配数据并在 GPU 上执行操作。但是,如果数据和操作已在 CPU 上可用,则不会将它们移动到 GPU。它将返回一个布尔输出,指示 GPU 是否已激活。

示例

下面说明了 spacy.prefer_gpu() 的使用方法示例:

import spacy
activated = spacy.prefer_gpu()
nlp = spacy.load("en_core_web_sm")

spacy.require_gpu()

此函数在 2.0.14 版本中引入,它还将分配数据并在 GPU 上执行操作。如果没有可用的 GPU,它将引发错误。如果数据和操作已在 CPU 上可用,则不会将它们移动到 GPU。

建议在导入 spacy 之后以及加载任何模型之前立即调用此函数。它还将返回布尔类型输出。

示例

以下是 spacy.require_gpu() 函数使用方法的示例:

import spacy
spacy.require_gpu()
nlp = spacy.load("en_core_web_sm")
广告