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
廣告

© . All rights reserved.