
- spaCy 教程
- spaCy - 首頁
- spaCy - 簡介
- spaCy - 快速入門
- spaCy - 模型和語言
- spaCy - 架構
- spaCy - 命令列工具
- spaCy - 頂級函式
- spaCy - 視覺化函式
- spaCy - 實用函式
- spaCy - 相容性函式
- spaCy - 容器
- Doc 類上下文管理器和屬性
- spaCy - 詞元容器類 (Container Token Class)
- spaCy - 詞元屬性
- spaCy - Span 容器類 (Container Span Class)
- spaCy - Span 類屬性
- spaCy - 詞彙單元類 (Container Lexeme Class)
- 訓練神經網路模型
- 更新神經網路模型
- spaCy 有用資源
- spaCy - 快速指南
- spaCy - 有用資源
- spaCy - 討論
spaCy - 詞彙單元類 (Container Lexeme Class)
本章詳細解釋了 spaCy 中的詞彙單元類。
詞彙單元類 (Lexeme Class)
詞彙單元類是詞彙表中的一個條目。它沒有字串上下文。與單詞詞元相反,它是一個詞型。這就是它沒有詞性 (POS) 標籤、依存分析或詞形的原因。
屬性
下表解釋了它的引數:
名稱 (NAME) | 型別 (TYPE) | 描述 (DESCRIPTION) |
---|---|---|
vocab | Vocab | 它代表詞彙單元的詞彙表。 |
text | unicode | 表示逐字文字內容的 Unicode 屬性。 |
orth | int | 這是一個整數型別屬性,表示逐字文字內容的 ID。 |
orth_ | unicode | 這是與 Lexeme.text 相同的 Unicode 逐字文字內容。此文字內容主要為了與其他屬性保持一致。 |
rank | int | 它代表詞彙單元詞法型別的順序 ID,用於索引表格。 |
flags | int | 它代表詞彙單元二進位制標誌的容器。 |
norm | int | 此屬性代表詞彙單元的規範形式。 |
norm_ | unicode | 此屬性代表詞彙單元的規範形式。 |
lower | int | 顧名思義,它是單詞的小寫形式。 |
lower_ | unicode | 它也是單詞的小寫形式。 |
shape | int | 為了顯示正字法特徵,此屬性用於轉換單詞的字串。 |
shape_ | unicode | 為了顯示正字法特徵,此屬性用於轉換單詞的字串。 |
prefix | int | 它是單詞開頭長度為 N 的子字串的雜湊值。預設值為 N=1。 |
prefix_ | unicode | 它是單詞開頭長度為 N 的子字串。預設值為 N=1。 |
suffix | int | 它是單詞結尾長度為 N 的子字串的雜湊值。預設值為 N=3。 |
suffix_ | unicode | 它是單詞結尾長度為 N 的子字串。預設值為 N=3。 |
is_alpha | bool | 此屬性表示詞彙單元是否由字母字元組成?它等效於 lexeme.text.isalpha()。 |
is_ascii | bool | 此屬性表示詞彙單元是否由 ASCII 字元組成?它等效於 all(ord(c) < 128 for c in lexeme.text)。 |
is_digit | Bool | 此屬性表示詞彙單元是否由數字組成?它等效於 lexeme.text.isdigit()。 |
is_lower | Bool | 此屬性表示詞彙單元是否小寫?它等效於 lexeme.text.islower()。 |
is_upper | Bool | 此屬性表示詞彙單元是否大寫?它等效於 lexeme.text.isupper()。 |
is_title | bool | 此屬性表示詞彙單元是否為標題大小寫?它等效於 lexeme.text.istitle()。 |
is_punct | bool | 此屬性表示詞彙單元是否為標點符號? |
is_left_punct | bool | 此屬性表示詞彙單元是否為左標點符號,例如 '('? |
is_right_punct | bool | 此屬性表示詞彙單元是否為右標點符號,例如 ')'? |
is_space | bool | 此屬性表示詞彙單元是否由空格字元組成?它等效於 lexeme.text.isspace()。 |
is_bracket | bool | 此屬性表示詞彙單元是否為括號? |
is_quote | bool | 此屬性表示詞彙單元是否為引號? |
is_currency | bool | 在 2.0.8 版本中引入,此屬性表示詞彙單元是否為貨幣符號? |
like_url | bool | 此屬性表示詞彙單元是否類似於 URL? |
like_num | bool | 此屬性表示詞彙單元是否代表一個數字? |
like_email | bool | 此屬性表示詞彙單元是否類似於電子郵件地址? |
is_oov | bool | 此屬性表示詞彙單元是否具有詞向量? |
is_stop | bool | 此屬性表示詞彙單元是否屬於“停用詞列表”? |
Lang | Int | 此屬性表示父文件詞彙表的語言。 |
lang_ | unicode | 此屬性表示父文件詞彙表的語言。 |
Prob | float | 它是詞彙單元詞型的平滑對數機率估計。 |
cluster | int | 它代表布朗聚類 ID。 |
Sentiment | float | 它代表一個標量值,表示詞彙單元的積極性或消極性。 |
方法
以下是詞彙單元類中使用的方法:
序號 (Sr.No.) | 方法和描述 (Methods & Description) |
---|---|
1 | Lexeme._ _init_ _ 構造 Lexeme 物件。 |
2 | Lexeme.set_flag 更改布林標誌的值。 |
3 | Lexeme.check_flag 檢查布林標誌的值。 |
4 | Lexeme.similarity 計算語義相似度估計。 |
Lexeme._ _init_ _
這是詞彙單元類最常用的方法之一。顧名思義,它用於構造一個 **詞彙單元 (Lexeme)** 物件。
引數
下表解釋了它的引數:
名稱 (NAME) | 型別 (TYPE) | 描述 (DESCRIPTION) |
---|---|---|
Vocab | Vocab | 此引數表示父詞彙表。 |
Orth | int | 它是詞彙單元的正字法 ID。 |
示例
下面給出了 Lexeme._ _init_ _ 方法的一個示例:
import spacy nlp_model = spacy.load("en_core_web_sm") doc = nlp_model("The website is Tutorialspoint.com.") lexeme = doc[3] lexeme.text
輸出
執行程式碼時,您將看到以下輸出:
'Tutorialspoint.com'
Lexeme.set_flag
此方法用於更改布林標誌的值。
引數
下表解釋了它的引數:
名稱 (NAME) | 型別 (TYPE) | 描述 (DESCRIPTION) |
---|---|---|
flag_id | Int | 它表示要設定的標誌的屬性 ID。 |
value | bool | 它是標誌的新值。 |
示例
下面給出了 Lexeme.set_flag 方法的一個示例:
import spacy nlp_model = spacy.load("en_core_web_sm") New_FLAG = nlp_model.vocab.add_flag(lambda text: False) nlp_model.vocab["Tutorialspoint.com"].set_flag(New_FLAG, True) New_FLAG
輸出
執行程式碼時,您將看到以下輸出:
25
Lexeme.check_flag
此方法用於檢查布林標誌的值。
引數
下表解釋了它的引數:
名稱 (NAME) | 型別 (TYPE) | 描述 (DESCRIPTION) |
---|---|---|
flag_id | Int | 它表示要檢查的標誌的屬性 ID。 |
示例 1
下面給出了 Lexeme.check_flag 方法的一個示例:
import spacy nlp_model = spacy.load("en_core_web_sm") library = lambda text: text in ["Website", "Tutorialspoint.com"] my_library = nlp_model.vocab.add_flag(library) nlp_model.vocab["Tutorialspoint.com"].check_flag(my_library)
輸出
執行程式碼時,您將看到以下輸出:
True
示例 2
下面是 Lexeme.check_flag 方法的另一個示例:
nlp_model.vocab["Hello"].check_flag(my_library)
輸出
執行程式碼時,您將看到以下輸出:
False
Lexeme.similarity
此方法用於計算語義相似度估計。預設情況下,它是向量上的餘弦相似度。
引數
下表解釋了它的引數:
名稱 (NAME) | 型別 (TYPE) | 描述 (DESCRIPTION) |
---|---|---|
其他 (Other) | - | 這是將進行比較的物件。預設情況下,它將接受 Doc、Span、Token 和 Lexeme 物件。 |
示例
Lexeme.similarity 方法的示例如下:
import spacy nlp_model = spacy.load("en_core_web_sm") apple = nlp.vocab["apple"] orange = nlp.vocab["orange"] apple_orange = apple.similarity(orange) orange_apple = orange.similarity(apple) apple_orange == orange_apple
輸出
執行程式碼時,您將看到以下輸出:
True
屬性
以下是詞彙單元類的屬性。
序號 (Sr.No.) | 屬性和描述 (Property & Description) |
---|---|
1 | Lexeme.vector 它將返回一個一維陣列,表示詞彙單元的語義。 |
2 | Lexeme.vector_norm 它表示詞彙單元向量表示的 L2 範數。 |
Lexeme.vector
此詞彙單元屬性表示一個實值含義。它將返回一個一維陣列,表示詞彙單元的語義。
示例
下面給出了 Lexeme.vector 屬性的一個示例:
import spacy nlp_model = spacy.load("en_core_web_sm") apple = nlp_model.vocab["apple"] apple.vector.dtype
輸出
您將看到以下輸出:
dtype('float32')
Lexeme.vector_norm
此詞元屬性表示詞彙單元向量表示的 L2 範數。
示例
下面是 Lexeme.vector_norm 屬性的示例:
import spacy nlp_model = spacy.load("en_core_web_sm") apple = nlp.vocab["apple"] pasta = nlp.vocab["pasta"] apple.vector_norm != pasta.vector_norm
輸出
您將看到以下輸出:
True