Practical overview
When it fits
Use it when an NLP workflow needs phrase-structure trees. For raw text, the README recommends its spaCy integration; the NLTK interface is intended for workflows that already tokenize and split sentences.
Who it is for
- NLP developers adding phrase-structure information to text-processing pipelines.
- Researchers working with multilingual parsing, pre-tokenized data, or treebanks.
- Teams building syntax-aware text analysis that can use constituency trees.
Documented uses
- Generate constituency trees for sentences in a supported language.
- Retrieve parse strings, labels, constituents, and parent-child relationships through spaCy extensions.
- Parse pre-tokenized sentences or batches of sentences through the NLTK interface.
- Train or use a custom parser based on a selected pretrained model.
Requirements & limits
The repository specifies an MIT license. Installation requires Python 3.6 or newer and PyTorch 1.6 or newer; parsing models are downloaded separately.
- The README lists pretrained models for 11 languages; select a parsing model separately for the intended language.
- For raw text, spaCy is the recommended route because it handles tokenization and sentence segmentation.
- The NLTK interface expects prepared sentence input for accuracy-oriented use; raw string parsing is described as suitable only for debugging or interactive use.
- Inference uses PyTorch, with GPU use dependent on a GPU being available to PyTorch.
- The project supports custom parser training, with pretrained model choice as part of that workflow.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Set up the parser with spaCy for English
Install benepar, prepare an English spaCy pipeline, and load a parsing model as described in the README.
Before you start
- Python 3.6 or newer
- PyTorch 1.6 or newer
- spaCy and an English spaCy model; the README example uses en_core_web_md
Steps
Install the parser with pip install benepar.
Install the English spaCy model with python -m spacy download en_core_web_md.
Download a parsing model in Python with benepar.download('benepar_en3').
Load the spaCy model and add the benepar component using the configuration appropriate to the installed spaCy major version.
Expected outcome
A spaCy pipeline configured with a constituency parser; the README shows sentence parse strings and labels accessible through spaCy extensions.
Guide limitations
- The spaCy model supplies tokenization and sentence segmentation; it is separate from the benepar parsing model.
- The parsing model must be downloaded separately.
- The README gives different component-registration code for spaCy 2 and later versions.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 17 October 2026
- Original website title
- nikitakit/self-attentive-parser · Official homepage title · retained in its source language

