spaCy - Span 类属性



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

属性

以下是关于 spaCy 中 Span 类的属性。

序号 Span 属性及描述
1

Span.ents

用于 Span 中的命名实体。

2

Span.as_doc

用于创建对应于 Span 的新的 Doc 对象。它也将包含数据的副本。

3

Span.root

提供到句子根节点的最短路径的标记。

4

Span.lefts

用于 Span 左侧的标记,其头部在 Span 内。

5

Span.rights

用于 Span 右侧的标记,其头部在 Span 内。

6

Span.n_rights

用于 Span 右侧的标记,其头部在 Span 内。

7

Span.n_lefts

用于 Span 左侧的标记,其头部在 Span 内。

8

Span.subtree

生成 Span 内的标记以及从它们派生的标记。

9

Span.vector

表示一个实数值含义。

10

Span.vector_norm

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

Span.ents

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

示例 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

输出

您将收到以下输出:

383

示例 2

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

ents[0].label_

输出

您将收到以下输出:

‘ORG’

示例 3

下面是 Span.ents 属性的另一个示例:

ents[0].text

输出

您将收到以下输出:

'Tutorialspoint.com'

Span.as_doc

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

示例

下面给出了 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

输出

您将收到以下输出:

India

Span.root

此 Span 属性将提供到句子根节点的最短路径的标记。如果树中有多个标记具有相同的高度,它将取第一个标记。

示例 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

输出

您将收到以下输出:

'York'

示例 2

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

doc[york].head.text

输出

您将收到以下输出:

'like'

示例 3

下面给出了 Span.root 属性的一个示例:

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

输出

您将收到以下输出:

'York'

Span.lefts

此 Span 属性用于 Span 左侧的标记,其头部在 Span 内。

示例

下面提到了 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

输出

您将收到以下输出:

['This']

Span.rights

此 Span 属性用于 Span 右侧的标记,其头部在 Span 内。

示例

下面给出了 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

输出

您将收到以下输出:

['Tutorialspoint.com', '.']

Span.n_rights

此 Span 属性用于 Span 右侧的标记,其头部在 Span 内。

示例

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

输出

您将收到以下输出:

2

Span.n_lefts

此 Span 属性用于 Span 左侧的标记,其头部在 Span 内。

示例

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

输出

您将收到以下输出:

1

Span.subtree

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

示例

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

输出

您将收到以下输出:

['This']

Span.vector

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

示例 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

输出

您将收到以下输出:

dtype('float32')

示例 2

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

输出

您将收到以下输出:

(96,)

Span.vector_norm

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

示例

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

输出

您将收到以下输出:

True
广告