Spacy 简明教程

spaCy - Token Properties

在本章中,我们将了解与 spaCy 中令牌类有关的属性。

Properties

令牌属性及其各自的描述如下:

Sr.No.

Token Property & Description

1

Token.ancestors 用于此令牌的句法后代的最右令牌。

2

Token.conjuncts 用于返回协调令牌的元组。

3

Token.children 用于返回令牌的直接句法子项的序列。

4

Token.lefts 用于单词的向左直接子项。

5

Token.rights 用于单词的向右直接子项。

6

Token.n_rights 用于单词的向右直接子项数。

7

Token.n_lefts 用于单词的向左直接子项数。

8

Token.subtree 这会产生一个包含令牌及其所有令牌句法后代的序列。

9

Token.vector 这表示实值含义。

10

Token.vector_norm 这表示令牌向量表示的 L2 范数。

Token.ancestors

此令牌属性用于此令牌的句法后代的最右令牌。

Example

下面给出了令牌的 ancestors 属性示例 -

import spacy
nlp_model = spacy.load("en_core_web_sm")
from spacy.tokens import Token
doc = nlp_model("Give it back! He pleaded.")

it_ancestors = doc[1].ancestors
[t.text for t in it_ancestors]

Output

['Give']

Token.conjuncts

此令牌属性用于返回协调令牌的元组。在此处,令牌本身将不包括在内。

Example

以下是 Token.conjuncts 属性的示例:

import spacy
nlp_model = spacy.load("en_core_web_sm")
from spacy.tokens import Token
doc = nlp_model("I like cars and bikes")
cars_conjuncts = doc[2].conjuncts
[t.text for t in cars_conjuncts]

Output

输出如下:

['bikes']

Token.children

此标记属性用于返回标记的直接句法子级的序列。

Example

以下是 Token.children 属性的示例:

import spacy
nlp_model = spacy.load("en_core_web_sm")
from spacy.tokens import Token
doc = nlp_model("This is Tutorialspoint.com.")
give_child = doc[1].children
[t.text for t in give_child]

Output

['This', 'Tutorialspoint.com', '.']

Token.lefts

此标记属性用于单词的左向直接子级。这会在句法依存关系解析中。

Example

以下是 Token.lefts 属性的示例:

import spacy
nlp_model = spacy.load("en_core_web_sm")
from spacy.tokens import Token
doc = nlp_model("This is Tutorialspoint.com.")
left_child = [t.text for t in doc[1].lefts]
left_child

Output

你将获得以下输出 -

['This']

Token.rights

此标记属性用于单词的右向直接子级。这会在句法依存关系解析中。

Example

以下是 Token.rights 属性的示例:

import spacy
nlp_model = spacy.load("en_core_web_sm")
from spacy.tokens import Token
doc = nlp_model("This is Tutorialspoint.com.")
right_child = [t.text for t in doc[1].rights]
right_child

Output

['Tutorialspoint.com', '.']

Token.n_rights

此标记属性用于单词的右向直接子级的数量。这会在句法依存关系解析中。

Example

以下是 Token.n_rights 属性的示例:

import spacy
nlp_model = spacy.load("en_core_web_sm")
from spacy.tokens import Token
doc = nlp_model("This is Tutorialspoint.com.")
doc[1].n_rights

Output

2

Token.n_lefts

此标记属性用于单词的左向直接子级的数量。这会在句法依存关系解析中。

Example

以下是 Token.n_lefts 属性的示例:

import spacy
nlp_model = spacy.load("en_core_web_sm")
from spacy.tokens import Token
doc = nlp_model("This is Tutorialspoint.com.")
doc[1].n_lefts

Output

输出如下 −

1

Token.subtree

此标记属性会生成一个包含标记和所有标记句法后代的序列。

Example

以下是 Token.subtree 属性的示例:

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

Output

['This', 'is', 'Tutorialspoint.com', '.']

Token.vector

此标记属性表示实值含义。它会返回一个表示标记语义的一维数组。

Example 1

以下是 Token.vector 属性的示例:

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

Output

输出如下 −

dtype('float32')

Example 2

以下是 Token.vector 属性的另一个示例:

doc.vector.shape

Output

输出如下 −

(96,)

Token.vector_norm

此标记属性表示标记向量表示的 L2 范数。

Example

以下是 Token.vector_norm 属性的示例:

import spacy
nlp_model = spacy.load("en_core_web_sm")
doc1 = nlp_model("The website is Tutorialspoint.com.")
doc2 = nlp_model("It is having best technical tutorials.")
doc1[2].vector_norm !=doc2[2].vector_norm

Output

True