Spacy 简明教程

spaCy - Span Class Properties

在本章中,让我们学习 spaCy 中跨度的属性。

Properties

以下是 spaCy 中跨度类的属性。

Sr.No.

Span Properties & Description

1

Span.ents 用于跨度中的命名实体。

2

Span.as_doc 用于创建与跨度对应的新的文档对象。它还将复制其数据。

3

Span.root 向标记提供到句子的根部的最短路径。

4

Span.lefts 用于跨度左侧的标记,它们的头位于跨度内。

5

Span.rights 用于位于 span 右侧并且头部位于 span 之内的标记。

6

Span.n_rights 用于位于 span 右侧并且头部位于 span 之内的标记。

7

Span.n_lefts 用于位于 span 左侧并且头部位于 span 之内的标记。

8

Span.subtree 返回位于 span 之内并且从 span 派生的标记。

9

Span.vector Represents a real-valued meaning.

10

Span.vector_norm 表示文档向量表示的 L2 范数。

Span.ents

此 Span 属性用于 span 中的命名实体。如果已应用实体识别器,则此属性将返回命名实体 span 对象元组。

Example 1

Span.ents 属性的一个示例如下所示 −

import spacy
nlp_model = spacy.load("en_core_web_sm")
doc = nlp_model("This is Tutorialspoint.com.")
span = doc[0:5]
ents = list(span.ents)
ents[0].label

Output

您将收到以下输出 −

383

Example 2

Span.ents 属性的另一个示例如下所示 −

ents[0].label_

Output

您将收到以下输出 −

‘ORG’

Example 3

以下是 Span.ents 属性的另一个示例 −

ents[0].text

Output

您将收到以下输出 −

'Tutorialspoint.com'

Span.as_doc

顾名思义,此 Span 属性将创建一个对应于 Span 的新 Doc 对象。它还将拥有数据副本。

Example

Span.as_doc 属性的一个示例如下所示 −

import spacy
nlp_model = spacy.load("en_core_web_sm")
doc = nlp_model("I like India.")
span = doc[2:4]
doc2 = span.as_doc()
doc2.text

Output

您将收到以下输出 −

India

Span.root

此 Span 属性将提供标记与句子根之间的最短路径。如果有多个标记在树中高度较高,它将采用第一个标记。

Example 1

Span.root 属性的一个示例如下所示 −

import spacy
nlp_model = spacy.load("en_core_web_sm")
doc = nlp_model("I like New York in Autumn.")
i, like, new, york, in_, autumn, dot = range(len(doc))
doc[new].head.text

Output

您将收到以下输出 −

'York'

Example 2

Span.root 属性的另一个示例如下所示 −

doc[york].head.text

Output

您将收到以下输出 −

'like'

Example 3

以下是 Span.root 属性的一个示例 −

new_york = doc[new:york+1]
new_york.root.text

Output

您将收到以下输出 −

'York'

Span.lefts

此 Span 属性用于 span 左侧并且头部位于 span 之内的标记。

Example

Span.lefts 属性的一个示例如下所示 −

import spacy
nlp_model = spacy.load("en_core_web_sm")
doc = nlp_model("This is Tutorialspoint.com.")
lefts = [t.text for t in doc[1:4].lefts]
lefts

Output

您将收到以下输出 −

['This']

Span.rights

此 Span 属性用于 span 右侧并且头部位于 span 之内的标记。

Example

Span.rights 属性的一个示例如下所示 −

import spacy
nlp_model = spacy.load("en_core_web_sm")
doc = nlp_model("This is Tutorialspoint.com.")
rights = [t.text for t in doc[1:2].rights]
rights

Output

您将收到以下输出 −

['Tutorialspoint.com', '.']

Span.n_rights

此 Span 属性用于 span 右侧并且头部位于 span 之内的标记。

Example

Span.n_rights 属性示例如下所示 −

import spacy
nlp_model = spacy.load("en_core_web_sm")
doc = nlp_model("This is Tutorialspoint.com.")
doc[1:2].n_rights

Output

您将收到以下输出 −

2

Span.n_lefts

此 Span 属性用于那些在其头部位于 span 内的 span 左侧的标记中。

Example

Span.n_lefts 属性示例如下所示 −

import spacy
nlp_model = spacy.load("en_core_web_sm")
doc = nlp_model("This is Tutorialspoint.com.")
doc[1:2].n_lefts

Output

您将收到以下输出 −

1

Span.subtree

此 Span 属性产生 span 内的标记以及从它们派生的标记。

Example

Span.subtree 属性示例如下所示 −

import spacy
nlp_model = spacy.load("en_core_web_sm")
doc = nlp_model("This is Tutorialspoint.com.")
subtree = [t.text for t in doc[:1].subtree]
subtree

Output

您将收到以下输出 −

['This']

Span.vector

此 Span 属性表示一个实值含义。默认值是标记向量的平均值。

Example 1

Span.vector 属性示例如下所示 −

import spacy
nlp_model = spacy.load("en_core_web_sm")
doc = nlp_model("The website is Tutorialspoint.com.")
doc[1:].vector.dtype

Output

您将收到以下输出 −

dtype('float32')

Example 2

Span.vector 属性的另一个示例如下所示 −

Output

您将收到以下输出 −

(96,)

Span.vector_norm

此 doc 属性表示文档向量表示的 L2 范数。

Example

Span.vector_norm 属性示例如下所示 −

import spacy
nlp_model = spacy.load("en_core_web_sm")
doc = nlp_model("The website is Tutorialspoint.com.")
doc[1:].vector_norm
doc[2:].vector_norm
doc[1:].vector_norm != doc[2:].vector_norm

Output

您将收到以下输出 −

True