- spaCy 教程
- spaCy - 首頁
- spaCy - 簡介
- spaCy - 快速入門
- spaCy - 模型和語言
- spaCy - 架構
- spaCy - 命令列助手
- spaCy - 高階函式
- spaCy - 視覺化函式
- spaCy - 實用函式
- spaCy - 相容性函式
- spaCy - 容器
- Doc 類上下文管理器和屬性
- spaCy - 容器 Token 類
- spaCy - Token 屬性
- spaCy - 容器 Span 類
- spaCy - Span 類屬性
- spaCy - 容器 Lexeme 類
- 訓練神經網路模型
- 更新神經網路模型
- spaCy 有用資源
- spaCy - 快速指南
- spaCy - 有用資源
- spaCy - 討論
spaCy - 高階函式
這裡,我們將討論 spaCy 中使用的一些高階函式。這些函式及其描述列在下面:
| 序號 | 命令及描述 |
|---|---|
| 1 | spacy.load() 載入模型。 |
| 2 | spacy.blank() 建立一個空白模型。 |
| 3 | spacy.info() 提供有關 spaCy 內的安裝、模型和本地設定的資訊。 |
| 4 | spacy.explain() 給出描述。 |
| 5 | spacy.prefer_gpu() 分配資料並在 GPU 上執行操作。 |
| 6 | spacy.require_gpu() 分配資料並在 GPU 上執行操作。 |
spacy.load()
顧名思義,此 spacy 函式將透過以下方式載入模型:
它的快捷連結。
已安裝模型包的名稱。
Unicode 路徑。
路徑類物件。
spaCy 將嘗試按以下順序解析 load 引數:
如果從快捷連結或包名載入模型,spaCy 將將其視為 Python 包並呼叫模型自己的load()方法。
另一方面,如果從路徑載入模型,spaCy 將假設它是一個數據目錄,因此會初始化Language類。
使用此函式後,資料將透過Language.from_disk載入。
引數
下表解釋了它的引數:
| 名稱 | 型別 | 描述 |
|---|---|---|
| name | unicode / Path | 它是要載入的模型的快捷連結、包名或路徑。 |
| disable | 列表 | 它表示要停用的管道元件的名稱。 |
示例
在下面的示例中,spacy.load() 函式透過使用快捷連結、包、Unicode 路徑和 pathlib 路徑來載入模型:
以下是使用快捷連結載入模型的 spacy.load() 函式的命令:
nlp_model = spacy.load("en")
以下是使用包載入模型的 spacy.load() 函式的命令:
nlp_model = spacy.load("en_core_web_sm")
以下是使用Unicode 路徑載入模型的 spacy.load() 函式的命令:
nlp_model = spacy.load("/path/to/en")
以下是使用pathlib 路徑載入模型的 spacy.load() 函式的命令:
nlp_model = spacy.load(Path("/path/to/en"))
以下是使用所有引數載入模型的 spacy.load() 函式的命令:
nlp_model = spacy.load("en_core_web_sm", disable=["parser", "tagger"])
spacy.blank()
它是 spacy.blank() 函式的孿生兄弟,建立一個給定語言類的空白模型。
引數
下表解釋了它的引數:
| 名稱 | 型別 | 描述 |
|---|---|---|
| name | unicode | 它表示要載入的語言類的 ISO 程式碼。 |
| disable | 列表 | 此引數表示要停用的管道元件的名稱。 |
示例
在下面的示例中,spacy.blank() 函式用於建立“en”語言類的空白模型。
nlp_model_en = spacy.blank("en")
spacy.info()
與 info 命令一樣,spacy.info() 函式提供有關 spaCy 內的安裝、模型和本地設定的資訊。
如果您想將模型元資料作為字典獲取,可以使用已載入模型的nlp物件上的meta-attribute。例如,nlp.meta。
引數
下表解釋了它的引數:
| 名稱 | 型別 | 描述 |
|---|---|---|
| model | unicode | 它是模型的快捷連結、包名或路徑。 |
| markdown | 布林值 | 此引數將資訊列印為 Markdown。 |
示例
下面給出一個例子:
spacy.info()
spacy.info("en")
spacy.info("de", markdown=True)
spacy.explain()
此函式將為我們提供以下內容的描述:
詞性標註
依存關係標籤
實體型別
引數
下表解釋了它的引數:
| 名稱 | 型別 | 描述 |
|---|---|---|
| term | unicode | 這是我們要解釋的術語。 |
示例
下面提到了 spacy.explain() 函式使用方法的示例:
import spacy
import en_core_web_sm
nlp= en_core_web_sm.load()
spacy.explain("NORP")
doc = nlp("Hello TutorialsPoint")
for word in doc:
print(word.text, word.tag_, spacy.explain(word.tag_))
輸出
Hello UH interjection TutorialsPoint NNP noun, proper singular
spacy.prefer_gpu()
如果您有 GPU,此函式將分配資料並在 GPU 上執行操作。但是,如果資料和操作已在 CPU 上可用,則不會將它們移動到 GPU。它將返回一個布林輸出,指示 GPU 是否已啟用。
示例
下面說明了 spacy.prefer_gpu() 的使用方法示例:
import spacy
activated = spacy.prefer_gpu()
nlp = spacy.load("en_core_web_sm")
spacy.require_gpu()
此函式在 2.0.14 版本中引入,它還將分配資料並在 GPU 上執行操作。如果沒有可用的 GPU,它將引發錯誤。如果資料和操作已在 CPU 上可用,則不會將它們移動到 GPU。
建議在匯入 spacy 之後以及載入任何模型之前立即呼叫此函式。它還將返回布林型別輸出。
示例
以下是 spacy.require_gpu() 函式使用方法的示例:
import spacy
spacy.require_gpu()
nlp = spacy.load("en_core_web_sm")