spaCy - 模型和語言



讓我們瞭解一下 spaCy 支援的語言及其統計模型。

語言支援

目前,spaCy 支援以下語言:

語言 程式碼
中文 zh
丹麥語 da
荷蘭語 nl
英語 en
法語 fr
德語 de
希臘語 el
義大利語 it
日語 ja
立陶宛語 lt
多語言 xx
挪威語(博克馬爾) nb
波蘭語 pl
葡萄牙語 pt
羅馬尼亞語 ro
西班牙語 es
南非荷蘭語 af
阿爾巴尼亞語 sq
阿拉伯語 ar
亞美尼亞語 hy
巴斯克語 eu
孟加拉語 bn
保加利亞語 bg
加泰羅尼亞語 ca
克羅埃西亞語 hr
捷克語 cs
愛沙尼亞語 et
芬蘭語 fi
古吉拉特語 gu
希伯來語 he
印地語 hi
匈牙利語 hu
冰島語 is
印尼語 id
愛爾蘭語 ga
卡納達語 kn
韓語 ko
拉脫維亞語 lv
利古里亞語 lij
盧森堡語 lb
馬其頓語 mk
馬拉雅拉姆語 ml
馬拉地語 mr
尼泊爾語 ne
波斯語 fa
俄語 ru
塞爾維亞語 sr
僧伽羅語 si
斯洛伐克語 sk
斯洛維尼亞語 sl
瑞典語 sv
他加祿語 tl
泰米爾語 ta
韃靼語 tt
泰盧固語 te
泰語 th
土耳其語 tr
烏克蘭語 uk
烏爾都語 ur
越南語 vi
約魯巴語 yo

spaCy 的統計模型

眾所周知,spaCy 的模型可以作為 Python 包安裝,這意味著就像任何其他模組一樣,它們是應用程式的一部分。這些模組可以進行版本控制,並在 **requirements.txt** 檔案中定義。

安裝 spaCy 的統計模型

以下是 spaCy 統計模型的安裝說明:

使用下載命令

使用 spaCy 的 **download** 命令是下載模型最簡單的方法之一,因為它會自動找到與我們的 spaCy 版本相容的最匹配模型。

您可以透過以下方式使用 **download** 命令:

以下命令將為您的 spaCy 版本下載特定模型的最匹配版本:

python -m spacy download en_core_web_sm

以下命令將下載最匹配的預設模型,並建立一個快捷方式連結:

python -m spacy download en

以下命令將下載精確的模型版本,並且不會建立任何快捷方式連結:

python -m spacy download en_core_web_sm-2.2.0 --direct

透過 pip

我們還可以透過 pip 直接下載和安裝模型。為此,您需要使用 **pip install** 以及存檔檔案的 URL 或本地路徑。如果您沒有模型的直接連結,請轉到模型釋出頁面,並從那裡複製。

例如:

使用 pip 和外部 URL 安裝模型的命令如下:

pip install https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.2.0/en_core_web_sm-2.2.0.tar.gz

使用 pip 和本地檔案安裝模型的命令如下:

pip install /Users/you/en_core_web_sm-2.2.0.tar.gz

以上命令將把特定模型安裝到您的 site-packages 目錄中。完成後,我們可以使用 **spacy.load()** 透過其包名稱載入它。

手動

您還可以手動下載資料並將其放置到您選擇的自定義目錄中。

使用以下任何一種方法手動下載資料:

  • 透過瀏覽器從最新版本下載模型。

  • 您可以使用存檔檔案的 URL(統一資源定位符)配置自己的下載指令碼。

下載完成後,我們可以將模型包目錄放置在本地檔案系統的任何位置。現在,要將其與 spaCy 一起使用,我們可以為資料目錄建立快捷方式連結。

在 spaCy 中使用模型

這裡解釋瞭如何在 spaCy 中使用模型。

使用自定義快捷方式連結

我們可以手動下載所有 spaCy 模型,如上所述,並將它們放入我們的本地目錄中。現在,每當 spaCy 專案需要任何模型時,我們都可以建立一個快捷方式連結,以便 spaCy 可以從那裡載入模型。這樣可以避免重複資料。

為此,spaCy 為我們提供了 link 命令,可以使用如下方式:

python -m spacy link [package name or path] [shortcut] [--force]

在上述命令中,第一個引數是包名稱或本地路徑。如果您已透過 pip 安裝了模型,則可以在這裡使用包名稱。或者,您有模型包的本地路徑。

第二個引數是內部名稱。這是您要用於模型的名稱。上述命令中的 –-**force** 標誌將覆蓋任何現有的連結。

以下給出兩種情況的示例。

示例

以下是如何設定快捷方式連結以將已安裝的包載入為“**default_model**”的示例:

python -m spacy link en_core_web_md en_default

以下是如何設定快捷方式連結以將本地模型載入為“**my_default_model**”的示例:

python -m spacy link /Users/Leekha/model my_default_en

作為模組匯入

我們還可以 **匯入** 已安裝的模型,它可以呼叫其 **load()** 方法,不帶任何引數,如下所示:

import spaCy
import en_core_web_sm
nlp_example = en_core_web_sm.load()
my_doc = nlp_example("This is my first example.")
my_doc

輸出

This is my first example.

使用自己的模型

您還可以使用您訓練的模型。為此,您需要使用 **Language.to_disk()** 方法儲存訓練模型的狀態。為了方便部署,您還可以將其包裝為 Python 包。

命名約定

通常,**[lang_[name]]** 命名約定是 spaCy 期望所有模型包遵循的一種約定。

spaCy 模型的名稱可以進一步細分為以下三個部分:

  • **型別** - 它反映了模型的功能。例如,**core** 用於具有詞彙表、語法和實體的通用模型。同樣,**depent** 用於僅具有詞彙表、語法和實體的模型。

  • **型別** - 它顯示了模型訓練的文字型別。例如,**web** 或 **news**。

  • **大小** - 顧名思義,它是模型大小的指示器。例如,**sm**(小)、**md**(中)或 **lg**(大)。

模型版本控制

模型版本控制反映以下內容:

  • 與 spaCy 的相容性。

  • 主要和次要模型版本。

例如,模型版本 r.s.t 轉換為以下內容:

  • **r** - **spaCy 主版本。**例如,spaCy v1.x 為 1。

  • **s** - **模型主版本。**它限制使用者使用相同的程式碼載入不同的主版本。

  • **t** - **模型次要版本。**它顯示相同的模型結構,但引數值不同。例如,在不同的資料上訓練了不同的迭代次數。

廣告

© . All rights reserved.