OSS探訪

tokenization・NER・tagging・parsing・text classification・trainingをproduction向けPython/Cython pipelineとして提供するNLP library

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
33,935
主要言語
Python
ライセンス
MIT
リポジトリ最終更新
2026/09/30
ページ内ナビ

概要

spaCyはproduction利用を想定したPython/Cython製NLP libraryです。linguistic tokenizationを基盤に、part-of-speech tagging、dependency parsing、named entity recognition、text classification、lemmatization、entity linking等をpipeline componentとして組み合わせ、70+言語のtokenization/trainingを扱えます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

tokenizationからNER・parser・classifierまでpipeline化する

spaCyはtokenizerと複数のtrainable/non-trainable componentを順に適用するpipeline modelを採用し、文書解析を一つのDoc objectへ集約します。

出典:[1]

trained pipelineとcustom componentを組み合わせる

languageごとのtrained pipelineを導入しつつ、project固有ruleやPyTorch/TensorFlow modelをcustom componentとして拡張できます。

出典:[1]

training・packaging・deployment workflowまで一貫して扱う

READMEはproduction-ready training system、model packaging、deployment/workflow managementを主要機能として挙げています。

出典:[1]

向いている用途

大量textを再現可能なNLP pipelineで処理したい場合に向く

tokenization、NER、classification等を個別scriptではなくversioned pipelineとして学習・配備・再利用したいNLP applicationに適します。

出典:[1]

導入前の確認

spaCy本体とtrained pipelineのcompatibilityを別に管理する

library更新によってstatistical modelの再downloadが必要になる場合があります。productionではspaCy本体だけでなくpipeline packageとcustom componentのversionも固定します。

出典:[1]

3.8.16はPython 3.9以上3.15未満を宣言する

release-v3.8.16のpackage metadataではpython_requires = >=3.9,<3.15で、Python 3.9〜3.14 classifierを持ちます。

出典:[2]

pretrained transformerやGPU利用は追加dependencyを分離する

transformer integrationやCUDA supportはextra dependencyを伴います。CPU-only NLPとGPU/transformer workloadを同じenvironmentへ無条件に混在させず、target runtimeに応じて依存を選定します。

出典:[2][1]

参考にした公式資料

  1. [1]spaCy 3.8.16 README(2026-10-04)
  2. [2]spaCy 3.8.16 package metadata(2026-10-04)
  3. [3]spaCy 3.8.16 release(2026-10-04)
  4. [4]spaCy MIT license(2026-10-04)
編集部からの補足

spaCy本体とtrained pipelineは別versioned packageです。本体を更新したらspacy validate等でmodel compatibilityを確認し、productionではlibrary・pipeline・custom componentをまとめて固定してください。3.8.16はPython >=3.9,<3.15を宣言しています。

3ステップで試す

  1. 1

    spaCy 3.8.16をvirtualenvへ導入する

    stable 3.8.16をversion固定で導入します。trained modelはまだdownloadしません。

    python3 -m venv spacy-demo && . spacy-demo/bin/activate && pip install 'spacy==3.8.16'
  2. 2

    blank English pipelineでtokenization sampleを作る

    外部modelを使わず、spaCy本体のtokenizerとDoc APIだけを確認するsampleです。

    printf 'import spacy\nnlp = spacy.blank("en")\ndoc = nlp("spaCy processes text.")\nprint([t.text for t in doc])\n' > spacy-demo/demo.py
  3. 3

    local tokenizerを実行する

    network accessやGPUなしでtokenizationが動作することを確認します。trained pipeline導入時は別途version compatibilityを確認してください。

    . spacy-demo/bin/activate && python spacy-demo/demo.py
公式READMEで確認

成長

成長の推移 · 直近30日

33,935 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
1
Open PR
70

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • natural-language-processing
  • data-science
  • machine-learning
  • python
  • cython
  • nlp
  • artificial-intelligence
  • ai
  • spacy
  • nlp-library
  • neural-network
  • neural-networks
Stars
33,935
Forks
4,734
Watchers
564
Open Issues
178
Contributors
388
所有者種別
Organization
主要言語
Python
ライセンス
MIT
リポジトリ最終更新
2026/09/30

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?