- 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 支援的語言及其統計模型。
語言支援
目前,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** - **模型次要版本。**它顯示相同的模型結構,但引數值不同。例如,在不同的資料上訓練了不同的迭代次數。