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")
廣告
© . All rights reserved.