spaCy - 架構



本章介紹了 spaCy 中的資料結構,並解釋了物件及其作用。

資料結構

spaCy 中的核心資料結構如下:

  • Doc - 這是 spaCy 架構中最重要的物件之一,它擁有標記序列及其所有註釋。

  • Vocab - spaCy 另一個重要的核心資料結構物件是 Vocab。它擁有一個查詢表集合,使文件之間可以共享常見資訊。

spaCy 的資料結構有助於集中字串、詞向量和詞彙屬性,透過避免儲存資料的多個副本來節省記憶體。

物件及其作用

以下是 spaCy 中的物件及其作用和示例:

Span

它是Doc物件的切片,我們在上面討論過。我們可以使用以下命令從切片建立 Span 物件:

doc[start : end]

示例

下面是一個 span 的示例:

import spacy
import en_core_web_sm
nlp_example = en_core_web_sm.load()
my_doc = nlp_example("This is my first example.")
span = my_doc[1:6]
span

輸出

is my first example.

Token

顧名思義,它代表單個標記,例如單詞、標點符號、空格、符號等。

示例

下面是一個 token 的示例:

import spacy
import en_core_web_sm
nlp_example = en_core_web_sm.load()
my_doc = nlp_example("This is my first example.")
token = my_doc[4]
token

輸出

example

Tokenizer

顧名思義,tokenizer 類將文字分割成單詞、標點符號等。

示例

此示例將建立一個僅包含英語詞彙表的空分詞器:

from spacy.tokenizer import Tokenizer
from spacy.lang.en import English
nlp_lang = English()
blank_tokenizer = Tokenizer(nlp_lang.vocab)
blank_tokenizer

輸出

<spacy.tokenizer.Tokenizer at 0x26506efc480>

Language

這是一個文字處理管道,我們需要每個程序載入一次並將例項傳遞到應用程式中。呼叫spacy.load()方法時將建立此類。

它包含以下內容:

  • 共享詞彙表

  • 語言資料

  • 從模型包載入的可選模型資料

  • 包含諸如標記器或解析器之類的元件的處理管道。

示例

此語言示例將初始化英語語言物件

from spacy.vocab import Vocab
from spacy.language import Language
nlp_lang = Language(Vocab())
from spacy.lang.en import English
nlp_lang = English()
nlp_lang

輸出

執行程式碼後,您將看到以下輸出:

<spacy.lang.en.English at 0x26503773cf8>
廣告
© . All rights reserved.