Doc 类 ContextManager 和属性

在本章中,让我们了解 spaCy 中的上下文管理器和 Doc 类的属性。

上下文管理器

它是一个上下文管理器,用于处理 Doc 类的重新标记。现在让我们详细了解一下。

Doc.retokenize

当您使用此上下文管理器时,它将首先修改 Doc 的标记化,存储它,然后在上下文管理器存在时一次性完成。

此上下文管理器的优点是效率更高,错误更少。

示例 1

请参阅下面给出的 Doc.retokenize 上下文管理器示例 −

import spacy
nlp_model = spacy.load("en_core_web_sm")
from spacy.tokens import Doc
doc = nlp_model("This is Tutorialspoint.com.")
with doc.retokenize() as retokenizer:
	retokenizer.merge(doc[0:0])
doc

输出

您将看到以下输出 −

is Tutorialspoint.com.

示例 2

这是 Doc.retokenize 上下文管理器的另一个示例 −

import spacy
nlp_model = spacy.load("en_core_web_sm")
from spacy.tokens import Doc
doc = nlp_model("This is Tutorialspoint.com.")
with doc.retokenize() as retokenizer:
	retokenizer.merge(doc[0:2])
doc

输出

您将看到以下输出 −

This is Tutorialspoint.com.

重新标记方法

下表简要介绍了重新标记方法。下表详细解释了两种重新标记方法。

Sr.No. 方法 &描述
1 Retokenizer.merge

它将标记一个要合并的跨度。

2 Retokenizer.split

它将标记一个要拆分成指定正交的标记。

属性

spaCy 中 Doc 类的属性解释如下 −

Sr.No. Doc属性和说明
1 Doc.ents

用于文档中的命名实体。

2 Doc.noun_chunks

用于迭代特定文档中的基本名词短语。

3 Doc.sents

用于迭代特定文档中的句子。

4 Doc.has_vector

表示一个布尔值,指示词向量是否与对象相关联。

5 Doc.vector

表示实值含义。

6 Doc.vector_norm

表示文档向量表示的 L2 范数。