Industrial-strength NLP library for Python and Cython, offering tokenization, pretrained pipelines and trained models for tagging, parsing and entity recognition.
stanfordnlp/stanza
Stanford NLP Group's Python library for tokenization, sentence segmentation, NER, and dependency parsing across 60+ human languages.
- Stars
- 7,906
- Forks
- 966
- Open issues
- 103
- Last commit
- 2 days ago
What is it?
Stanza is a Python natural language processing library from the Stanford NLP Group. It runs neural pipelines for tokenization, sentence segmentation, multi-word token expansion, part-of-speech and morphological tagging, lemmatization, dependency parsing and named entity recognition on text in more than 60 languages.
Beyond the neural pipeline, Stanza includes a wrapper that lets Python code call the Java Stanford CoreNLP software. Users point the wrapper at a local CoreNLP installation through the CORENLP_HOME environment variable and extract annotations from it. Pretrained models cover all Universal Dependencies treebanks in version 2.8, along with NER models for several widely spoken languages and biomedical and clinical English packages.
The library is built on PyTorch and installs via pip or conda. Developers can train their own tokenizer, tagger, lemmatizer, parser or NER models from CoNLL-U or BIOES data by running the training code from the source repository.
Key features
- 01Neural pipelines for tokenization, POS tagging, lemmatization, and dependency parsing
- 02Named entity recognition models for several widely spoken languages
- 03Pretrained models for all Universal Dependencies 2.8 treebanks
- 04Python wrapper for calling the Java Stanford CoreNLP software
- 05Biomedical and clinical English model packages
- 06Train custom models from CoNLL-U or BIOES data
Use cases
- Parsing and annotating text in many languages within a Python NLP pipeline
- Extracting named entities from biomedical literature or clinical notes
- Running Stanford CoreNLP annotators from Python code
- Training a custom parser or tagger for a low-resource language treebank
Quick start
- 1
Install Stanza with pip
pip install stanza - 2
Start Python and import Stanza, then download English models (optional)
python -c "import stanza; stanza.download('en')" - 3
Create an English neural pipeline and parse a sentence
Things to know
- Training your own models requires cloning the repository, since the Pipeline interface does not support training.
- Using the Java CoreNLP wrapper requires separately downloading Stanford CoreNLP and its models.
- Anaconda installation does not work for Python 3.10; use pip instead.
- The license is listed as NOASSERTION in metadata, though the README states Apache License 2.0.
In collections
Topics
FAQ
- What is stanza?
- Stanford NLP Group's Python library for tokenization, sentence segmentation, NER, and dependency parsing across 60+ human languages. Stanza is a Python natural language processing library from the Stanford NLP Group. It runs neural pipelines for tokenization, sentence segmentation, multi-word token expansion, part-of-speech and morphological tagging, lemmatization, dependency parsing and named entity recognition on text in more than 60 languages.
- Is stanza free to use? What license does it have?
- stanza is open source under the Other license. Check the license terms before using it in commercial products.
- Is stanza still maintained?
- Actively maintained. The last commit to stanza was on Nov 5, 2026.
- What can I use stanza for?
- Parsing and annotating text in many languages within a Python NLP pipeline Extracting named entities from biomedical literature or clinical notes Running Stanford CoreNLP annotators from Python code Training a custom parser or tagger for a low-resource language treebank
- How do I install stanza?
- Install Stanza with pip: pip install stanza Start Python and import Stanza, then download English models (optional): python -c "import stanza; stanza.download('en')" Create an English neural pipeline and parse a sentence
- Where can I get stanza?
- The source code and installation instructions are on GitHub: https://github.com/stanfordnlp/stanza
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A JavaScript natural language processing library that tags parts of speech, matches text patterns, and transforms text such as verb tenses and numbers.
A Python NLP framework built on PyTorch for named entity recognition, sentiment analysis, PoS tagging, and text embeddings.
A Python toolkit that splits text into sentences or other semantic units, with pretrained SaT and WtP models covering 85 languages.
A lightweight, type-checked functional deep learning library for composing models and wrapping PyTorch, TensorFlow and MXNet layers.
Fast, state-of-the-art tokenization library in Rust with Python and Node.js bindings for NLP and language model pipelines.