spaCy - Span 类属性

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

属性

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

Sr.No. Span 属性 &说明
1

Span.ents

用于span内的命名实体。

2

Span.as_doc

用于创建一个与Span对应的新的Doc对象。它也会有一个数据的副本。

3

Span.root

为 token 提供到句子根的最短路径。

4

Span.lefts

用于跨度左侧的 token,其头部在跨度内。

5

Span.rights

用于跨度右侧的 token,其头部在跨度内。

6

Span.n_rights

用于跨度右侧且头部在跨度内的标记。

7

Span.n_lefts

用于跨度左侧且头部在跨度内的标记。

8

Span.subtree

生成跨度内的标记以及从它们衍生的标记。

9

Span.vector

表示实值含义。

10

Span.vector_norm

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

Span.ents

此 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 属性将为标记提供到句子根的最短路径。如果有多个 token 在树中的位置相同,它将采用第一个 token。

示例 1

Span.root 属性的示例如下 −

import spacy
nlp_model = spacy.load("en_core_web_sm")
doc = nlp_model("我喜欢秋天的纽约。")
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 内的 token。

示例

下面给出了 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 右侧的 token头部在跨度内的跨度的标记。

示例

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.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.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 属性表示实值含义。默认值是 token 向量的平均值。

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