Doc 类上下文管理器和属性



在本章中,让我们学习 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.

重新分词方法

下面是表格,它简要地提供了关于重新分词方法的信息。表格下方详细解释了两种重新分词方法。

序号 方法和描述
1 Retokenizer.merge

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

2 Retokenizer.split

它将标记一个要拆分为指定 orths 的标记。

属性

下面解释了 spaCy 中 Doc 类的属性:

序号 Doc 属性和描述
1 Doc.ents

用于文档中的命名实体。

2 Doc.noun_chunks

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

3 Doc.sents

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

4 Doc.has_vector

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

5 Doc.vector

表示一个实数值意义。

6 Doc.vector_norm

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

广告