ランキングに戻る

explosion/spacy-models

Pythonspacy.io

💫 Models for the spaCy Natural Language Processing (NLP) library

spacynlpnatural-language-processingmachine-learningmodelsmachine-learning-modelsstatistical-modelsspacy-models
スター成長
スター
1.9k
フォーク
318
週間成長
Issue
0
5001k1.5k
2017年3月2020年4月2023年6月2026年7月
成果物PyPIpip install spacy-models
README

spaCy models

This repository contains releases of models for the spaCy NLP library. For more info on how to download, install and use the models, see the models documentation.

⚠️ Important note: Because the models can be very large and consist mostly of binary data, we can't simply provide them as files in a GitHub repository. Instead, we've opted for adding them to releases as .whl and .tar.gz files. This allows us to still maintain a public release history.

Quickstart

To install a specific model, run the following command with the model name (for example en_core_web_sm):

python -m spacy download [model]

For the spaCy v1.x models, see here.

Model naming conventions

In general, spaCy expects all model packages to follow the naming convention of [lang]_[name]. For our provided pipelines, we divide the name into three components:

  • type: Model capabilities:
    • core: a general-purpose model with tagging, parsing, lemmatization and named entity recognition
    • dep: only tagging, parsing and lemmatization
    • ent: only named entity recognition
    • sent: only sentence segmentation
  • genre: Type of text the model is trained on (e.g. web for web text, news for news text)
  • size: Model size indicator:
    • sm: no word vectors
    • md: reduced word vector table with 20k unique vectors for ~500k words
    • lg: large word vector table with ~500k entries

For example, en_core_web_md is a medium-sized English model trained on written web text (blogs, news, comments), that includes a tagger, a dependency parser, a lemmatizer, a named entity recognizer and a word vector table with 20k unique vectors.

Model versioning

Additionally, the model versioning reflects both the compatibility with spaCy, as well as the model version. A model version a.b.c translates to:

  • a: spaCy major version. For example, 2 for spaCy v2.x.
  • b: spaCy minor version. For example, 3 for spaCy v2.3.x.
  • c: Model version. Different model config: e.g. from being trained on different data, with different parameters, for different numbers of iterations, with different vectors, etc.

For a detailed compatibility overview, see the compatibility.json. This is also the source of spaCy's internal compatibility check, performed when you run the download command.

Support for older versions

If you're using an older version (v1.6.0 or below), you can still download and install the old models from within spaCy using python -m spacy.en.download all or python -m spacy.de.download all. The .tar.gz archives are also attached to the v1.6.0 release. To download and install the models manually, unpack the archive, drop the contained directory into spacy/data and load the model via spacy.load('en') or spacy.load('de').

Downloading models

To increase transparency and make it easier to use spaCy with your own models, all data is now available as direct downloads, organised in individual releases. spaCy 1.7 also supports installing and loading models as Python packages. You can now choose how and where you want to keep the data files, and set up "shortcut links" to load models by name from within spaCy. For more info on this, see the new models documentation.

# download best-matching version of specific model for your spaCy installation
python -m spacy download en_core_web_sm

# pip install .whl or .tar.gz archive from path or URL
pip install /Users/you/en_core_web_sm-3.0.0.tar.gz
pip install /Users/you/en_core_web_sm-3.0.0-py3-none-any.whl
pip install https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.0.0/en_core_web_sm-3.0.0.tar.gz
pip install https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.0.0/en_core_web_sm-3.0.0-py3-none-any.whl

Loading and using models

To load a model, use spacy.load() with the model name, a shortcut link or a path to the model data directory.

import spacy
nlp = spacy.load("en_core_web_sm")
doc = nlp(u"This is a sentence.")

You can also import a model directly via its full name and then call its load() method with no arguments. This should also work for older models in previous versions of spaCy.

import spacy
import en_core_web_sm

nlp = en_core_web_sm.load()
doc = nlp(u"This is a sentence.")

Manual download and installation

In some cases, you might prefer downloading the data manually, for example to place it into a custom directory. You can download the model via your browser from the latest releases, or configure your own download script using the URL of the archive file. The archive consists of a model directory that contains another directory with the model data.

└── en_core_web_md-3.0.0.tar.gz       # downloaded archive
    ├── setup.py                      # setup file for pip installation
    ├── meta.json                     # copy of pipeline meta
    └── en_core_web_md                # 📦 pipeline package
        ├── __init__.py               # init for pip installation
        └── en_core_web_md-3.0.0      # pipeline data
            ├── config.cfg            # pipeline config
            ├── meta.json             # pipeline meta
            └── ...                   # directories with component data

📖 For more info and examples, check out the models documentation.

spaCy v1.x Releases

Date Model Version Dep Ent Vec Size License
2017-06-06 es_core_web_md 1.0.0 X X X 377 MB CC BY-SA
2017-04-26 fr_depvec_web_lg 1.0.0 X X 1.33 GB CC BY-NC
2017-03-21 en_core_web_md 1.2.1 X X X 1 GB CC BY-SA
2017-03-21 en_depent_web_md 1.2.1 X X 328 MB CC BY-SA
2017-03-17 en_core_web_sm 1.2.0 X X X 50 MB CC BY-SA
2017-03-17 en_core_web_md 1.2.0 X X X 1 GB CC BY-SA
2017-03-17 en_depent_web_md 1.2.0 X X 328 MB CC BY-SA
2016-05-10 de_core_news_md 1.0.0 X X X 645 MB CC BY-SA
2016-03-08 en_vectors_glove_md 1.0.0 X 727 MB CC BY-SA

Model naming conventions for v1.x models

  • type: Model capabilities (e.g. core for general-purpose model with vocabulary, syntax, entities and word vectors, or depent for only vocab, syntax and entities)
  • genre: Type of text the model is trained on (e.g. web for web text, news for news text)
  • size: Model size indicator (sm, md or lg)

For example, en_depent_web_md is a medium-sized English model trained on written web text (blogs, news, comments), that includes vocabulary, syntax and entities.

Issues and bug reports

To report an issue with a model, please open an issue on the spaCy issue tracker. Please note that no model is perfect. Because models are statistical, their expected behaviour will always include some errors. However, particular errors can indicate deeper issues with the training feature extraction or optimisation code. If you come across patterns in the model's performance that seem suspicious, please do file a report.

関連リポジトリ
explosion/spaCy

💫 Industrial-strength Natural Language Processing (NLP) in Python

PythonPyPIMIT Licensenatural-language-processingdata-science
spacy.io
33.8k4.7k
RasaHQ/rasa

💬 Open source machine learning framework to automate text- and voice-based conversations: NLU, dialogue management, connect to Slack, Facebook, and more - Create chatbots and voice assistants

PythonPyPIApache License 2.0nlpmachine-learning
rasa.com/docs/rasa/
21.3k4.9k
data-privacy-stack/presidio

An open-source framework for detecting, redacting, masking, and anonymizing sensitive data (PII) across text, images, and structured data. Supports NLP, pattern matching, and customizable pipelines.

PythonPyPIMIT Licensepythonpii
presidio.dataprivacystack.org
10.1k1.2k
huggingface/neuralcoref

✨Fast Coreference Resolution in spaCy with Neural Networks

CMIT Licensepythonmachine-learning
huggingface.co/coref/
2.9k471
explosion/thinc

🔮 A refreshing functional take on deep learning, compatible with your favorite libraries

PythonPyPIMIT Licensemachine-learningdeep-learning
thinc.ai
2.9k294
keithrozario/Klayers

Python Packages as AWS Lambda Layers

PythonPyPIOtherpythonlambda
2.5k353
explosion/spacy-course

👩‍🏫 Advanced NLP with spaCy: A free online course

PythonPyPIMIT Licensespacynlp
course.spacy.io
2.4k377
dipanjanS/practical-machine-learning-with-python

Master the essential skills needed to recognize and solve complex real-world problems with Machine Learning and Deep Learning by leveraging the highly popular Python Machine Learning Eco-system.

Jupyter NotebookApache License 2.0machine-learningdeep-learning
2.4k1.7k
chartbeat-labs/textacy

NLP, before and after spaCy

PythonPyPIOthernatural-language-processingnlp
textacy.readthedocs.io
2.2k247
DerwenAI/pytextrank

Python implementation of TextRank algorithms ("textgraphs") for phrase extraction

PythonPyPIMIT Licensetextranksummarization
derwen.ai/docs/ptr/
2.2k335
allenai/scispacy

A full spaCy pipeline and models for scientific/biomedical documents.

PythonPyPIApache License 2.0scientific-documentsspacy
allenai.github.io/scispacy/
2k258
dipanjanS/text-analytics-with-python

Learn how to process, classify, cluster, summarize, understand syntax, semantics and sentiment of text data with the power of Python! This repository contains code and datasets used in my book, "Text Analytics with Python" published by Apress/Springer.

Jupyter NotebookApache License 2.0text-analyticstext-summarization
1.7k846