Original author(s)Matthew Honnibal
Developer(s)Explosion AI, various
Initial releaseFebruary 2015; 9 years ago (2015-02)[1]
Stable release
3.7.4[2] Edit this on Wikidata / 15 February 2024; 3 months ago (15 February 2024)
Written inPython, Cython
Operating systemLinux, Windows, macOS, OS X
TypeNatural language processing
LicenseMIT License Edit this at Wikidata

spaCy (/spˈs/ spay-SEE) is an open-source software library for advanced natural language processing, written in the programming languages Python and Cython.[3][4] The library is published under the MIT license and its main developers are Matthew Honnibal and Ines Montani, the founders of the software company Explosion.

Unlike NLTK, which is widely used for teaching and research, spaCy focuses on providing software for production usage.[5][6] spaCy also supports deep learning workflows that allow connecting statistical models trained by popular machine learning libraries like TensorFlow, PyTorch or MXNet through its own machine learning library Thinc.[7][8] Using Thinc as its backend, spaCy features convolutional neural network models for part-of-speech tagging, dependency parsing, text categorization and named entity recognition (NER). Prebuilt statistical neural network models to perform these tasks are available for 23 languages, including English, Portuguese, Spanish, Russian and Chinese, and there is also a multi-language NER model. Additional support for tokenization for more than 65 languages allows users to train custom models on their own datasets as well.[9]


Main features

Extensions and visualizers

Dependency parse tree visualization generated with the displaCy visualizer
Dependency parse tree visualization generated with the displaCy visualizer

spaCy comes with several extensions and visualizations that are available as free, open-source libraries:


  1. ^ "Introducing spaCy". Retrieved 2016-12-18.
  2. ^ "Release 3.7.4". 15 February 2024. Retrieved 20 February 2024.
  3. ^ Choi et al. (2015). It Depends: Dependency Parser Comparison Using A Web-based Evaluation Tool.
  4. ^ "Google's new artificial intelligence can't understand these sentences. Can you?". Washington Post. Retrieved 2016-12-18.
  5. ^ "Facts & Figures - spaCy". Retrieved 2020-04-04.
  6. ^ Bird, Steven; Klein, Ewan; Loper, Edward; Baldridge, Jason (2008). "Multidisciplinary instruction with the Natural Language Toolkit" (PDF). Proceedings of the Third Workshop on Issues in Teaching Computational Linguistics, ACL: 62. doi:10.3115/1627306.1627317. ISBN 9781932432145. S2CID 16932735.
  7. ^ "PyTorch, TensorFlow & MXNet". Retrieved 2020-04-04.
  8. ^ "explosion/thinc". GitHub. Retrieved 2016-12-30.
  9. ^ "Models & Languages | spaCy Usage Documentation". Retrieved 2020-03-10.
  10. ^ "explosion/spaCy". GitHub. Retrieved 2021-02-08.
  11. ^ "explosion/spaCy". GitHub. Retrieved 2021-02-08.
  12. ^ "explosion/spaCy". GitHub. Retrieved 2021-02-08.
  13. ^ "Models & Languages - spaCy". Retrieved 2021-02-08.
  14. ^ "Models & Languages | spaCy Usage Documentation". Retrieved 2021-02-08.
  15. ^ "Benchmarks | spaCy Usage Documentation". Retrieved 2021-02-08.
  16. ^ Trask et al. (2015). sense2vec - A Fast and Accurate Method for Word Sense Disambiguation In Neural Word Embeddings.