- 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。
最新版本
spaCy v3.0 是最新的版本,作為夜間版本提供。這是一個透過名為 spacy-nightly 的單獨通道提供的 spaCy 的實驗性和 Alpha 版本。它反映了“未來的 spaCy”,不能用於生產環境。
為避免潛在的衝突,請嘗試使用新的虛擬環境。
您可以使用以下 pip 命令進行安裝:
pip install spacy-nightly --pre
新功能和改進
以下是 spaCy 最新版本中的新功能和改進:
基於 Transformer 的管道
它具有所有新的基於 Transformer 的管道,並支援多工學習。這些新的基於 Transformer 的管道使其成為精度最高的框架(在最佳可用框架的 1% 之內)。
您可以訪問數千個預訓練模型以用於您的管道,因為 spaCy 的 Transformer 支援與 PyTorch 和 HuggingFace transformers 等其他框架互操作。
新的訓練工作流程和配置系統
spaCy v3.0 為我們的訓練執行提供了單個配置檔案。
沒有隱藏的預設值,因此可以輕鬆地返回我們的實驗並跟蹤更改。
使用任何機器學習框架的自定義模型
spaCy v3.0 的新配置系統使我們能夠輕鬆自定義神經網路 (NN) 模型並透過機器學習庫 Thinc 實現我們自己的架構。
管理端到端工作流程和專案
spaCy 專案允許我們管理和共享各種用例和領域的端到端工作流程。
它還允許我們組織訓練、打包和服務我們的自定義管道。
另一方面,我們還可以與其他資料科學和機器學習工具整合,例如 DVC(資料版本控制)、Prodigy、Streamlit、FastAPI、Ray 等。
使用 Ray 進行並行訓練和分散式計算
為了加快訓練過程,我們可以使用 Ray(一個快速簡單的構建和執行分散式應用程式的框架)在一臺或多臺遠端機器上訓練 spaCy。
新的內建管道元件
這是 spaCy 的新版本,它包含新的可訓練和基於規則的元件,我們可以將其新增到我們的管道中。
這些元件如下:
SentenceRecognizer (句子識別器)
Morphologizer (形態分析器)
Lemmatizer (詞形還原器)
AttributeRuler (屬性規則器)
Transformer (轉換器)
TrainablePipe (可訓練管道)
新的管道元件 API
SpaCy v3.0 為我們提供了新的和改進的管道元件 API 和裝飾器,這使得定義、配置、重用、訓練和分析更加輕鬆和便捷。
依賴匹配
SpaCy v3.0 為我們提供了新的 DependencyMatcher,它允許我們在依賴解析器中匹配模式。它使用 Semgrex 運算子。
新的和更新的文件
它包含新的和更新的文件,包括:
關於嵌入、轉換器和遷移學習的新使用指南。
關於訓練管道和模型的指南。
關於新的 spaCy 專案的詳細資訊以及關於自定義管道元件的更新使用文件。
新的插圖和新的 API 參考頁面,記錄了 spaCy 的機器學習模型架構和預測資料格式。
相容性
spaCy 可以在所有主要作業系統上執行,例如 Windows、macOS/OS X 和 Unix/Linux。它與 64 位 CPython 2.7/3.5+ 版本相容。
安裝 spaCy
以下是安裝 spaCy 的不同選項:
使用包管理器
spaCy 的最新發行版可在 pip 和 conda 這兩種包管理器上獲得。讓我們來看看如何使用它們來安裝 spaCy:
pip - 要使用 pip 安裝 Spacy,您可以使用以下命令:
pip install -U spacy
為了避免修改系統狀態,建議在虛擬環境中安裝 spacy 包,如下所示:
python -m venv .env source .env/bin/activate pip install spacy
conda - 要透過 conda-forge 安裝 spaCy,您可以使用以下命令:
conda install -c conda-forge spacy
從原始碼安裝
您還可以透過從 GitHub 倉庫克隆 spaCy 並從原始碼構建它來安裝 spaCy。這是更改程式碼庫的最常見方法。
但是,為此,您需要一個包含以下內容的 Python 發行版:
標頭檔案
編譯器
pip
virtualenv
git
使用以下命令:
首先,更新 pip,如下所示:
python -m pip install -U pip
現在,使用以下命令克隆 spaCy
git clone https://github.com/explosion/spaCy
現在,我們需要使用下面提到的命令導航到目錄:
cd spaCy
接下來,我們需要在 .env 中建立環境,如下所示:
python -m venv .env
現在,啟用上面建立的虛擬環境。
source .env/bin/activate
接下來,我們需要將 Python 路徑設定為 spaCy 目錄,如下所示:
export PYTHONPATH=`pwd`
現在,安裝所有依賴項,如下所示:
pip install -r requirements.txt
最後,編譯 spaCy:
python setup.py build_ext --inplace
Ubuntu
在 Ubuntu 作業系統 (OS) 中使用以下命令安裝系統級依賴項:
sudo apt-get install build-essential python-dev git
macOS/OS X
實際上,macOS 和 OS X 預裝了 Python 和 git。因此,我們只需要安裝最新版本的 XCode,包括 CLT(命令列工具)。
Windows
在下表中,給出了 Python 直譯器的官方發行版中提供的 Visual C++ 構建工具或 Visual Studio Express 版本。根據您的需求選擇一個並安裝:
| 發行版 | 版本 |
|---|---|
| Python 2.7 | Visual Studio 2008 |
| Python 3.4 | Visual Studio 2010 |
| Python 3.5+ | Visual Studio 2015 |
升級 spaCy
升級 spaCy 時應記住以下幾點:
從乾淨的虛擬環境開始。
要將 spaCy 升級到新的主要版本,您必須安裝最新的相容模型。
您的虛擬環境中不應存在舊的快捷方式連結或不相容的模型包。
如果您已經訓練了自己的模型,則訓練和執行時輸入必須匹配,即您也必須使用較新版本重新訓練您的模型。
spaCy v2.0 及更高版本提供了一個 validate 命令,允許使用者驗證所有已安裝的模型是否與已安裝的 spaCy 版本相容。
如果存在任何不相容的模型,validate 命令將列印提示和安裝說明。此命令還可以檢測在各種虛擬環境中建立的模型連結不同步。
您可以按如下方式使用 validate 命令:
pip install -U spacy python -m spacy validate
在上面的命令中,使用 python -m 來確保我們正在執行正確的 spaCy 版本。
使用 GPU 執行 spaCy
spaCy v2.0 及更高版本附帶可在 Thinc 中實現的神經網路 (NN) 模型。如果您想使用圖形處理單元 (GPU) 支援執行 spaCy,請使用 Chainer 的 CuPy 模組的工作。此模組為 GPU 陣列提供了一個與 numpy 相容的介面。
您可以透過指定以下內容在 GPU 上安裝 spaCy:
spaCy[cuda]
spaCy[cuda90]
spaCy[cuda91]
spaCy[cuda92]
spaCy[cuda100]
spaCy[cuda101]
spaCy[cuda102]
另一方面,如果您知道您的 cuda 版本,則顯式說明符允許安裝 cupy。它將節省編譯時間。
使用以下命令進行安裝:
pip install -U spacy[cuda92]
安裝啟用 GPU 後,透過呼叫 spacy.prefer_gpu 或 spacy.require_gpu 來啟用它,如下所示:
import spacy
spacy.prefer_gpu()
nlp_model = spacy.load("en_core_web_sm")