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