pypi i estnltk


Open source tools for Estonian natural language processing

by estnltk

1.7.0 (see all)License:GPLv2
pypi i estnltk

EstNLTK -- Open source tools for Estonian natural language processing

EstNLTK provides common natural language processing functionality such as paragraph, sentence and word tokenization, morphological analysis, named entity recognition, etc. for the Estonian language.

The project is funded by EKT (Eesti Keeletehnoloogia Riiklik Programm).

This package contains EstNLTK's basic linguistic analysis, system and database tools:

  • Text class with the Estonian NLP pipeline;
  • tokenization tools: word, sentence and paragraph tokenization; clause segmentation;
  • morphology tools: morphological analysis and disambiguation, spelling correction, morphological synthesis and syllabification, HFST based analyser and GT converter;
  • information extraction tools: addresses tagger, named entity recognizer, temporal expression tagger; tools for rule based and grammar based fact extraction;
  • experimental taggers: verb chain detector, noun phrase chunker, adjective phrase tagger;
  • syntactic analysis tools: preprocessing for syntactic analysis, VislCG3 and Maltparser based syntactic parsers;
  • Estonian Wordnet and Collocation-Net;
  • web taggers -- such as bert embeddings web tagger, stanza syntax web tagger and stanza ensemble syntax web tagger;
  • corpus importing tools -- tools for importing data from large Estonian corpora, such as the Reference Corpus or the National Corpus of Estonia;
  • system taggers -- regex tagger, disambiguator, atomizer, merge tagger etc;
  • resource utils for downloading additional resources (e.g. model files required by taggers);
  • Postgres database tools;

Version 1.7


EstNLTK is available for osx, windows-64, and linux-64, and for python versions 3.7 to 3.10. You can install the latest version via PyPI:

pip install estnltk==1.7.0

Alternatively, you can install EstNLTK via Anaconda. Installation steps with conda:

  1. create a conda environment with python 3.8, for instance:
conda create -n py38 python=3.8
  1. activate the environment, for instance:
conda activate py38
  1. install EstNLTK with the command:
conda install -c estnltk -c conda-forge estnltk=1.7.0

Note: for using some of the tools in estnltk, you also need to have Java installed in your system. We recommend using Oracle Java, although alternatives such as OpenJDK ( should also work.

Using on Google Colab

You can install EstNLTK on Google Colab environment via command:

!pip install estnltk==1.7.0


EstNLTK's tutorials come in the form of jupyter notebooks. However, updating tutorials is currently work-in-progress.

Additional educational materials on EstNLTK are available on web pages of an NLP course taught at the University of Tartu:

Note: if you have trouble viewing jupyter notebooks in github (you get an error message Sorry, something went wrong. Reload? at loading a notebook), then try to open notebooks with the help of


The source of the last release is available at the main branch.

Changelog is available here.


In case you use EstNLTK in your work, please cite us as follows:

  author    = {Laur, Sven  and  Orasmaa, Siim  and  Särg, Dage  and  Tammo, Paul},
  title     = {EstNLTK 1.6: Remastered Estonian NLP Pipeline},
  booktitle = {Proceedings of The 12th Language Resources and Evaluation Conference},
  month     = {May},
  year      = {2020},
  address   = {Marseille, France},
  publisher = {European Language Resources Association},
  pages     = {7154--7162},
  url       = {}

License: GNU General Public License v2.0

(C) University of Tartu

GitHub Stars



1yr ago








2mos ago
5mos ago
1yr ago
1yr ago
No alternatives found
No tutorials found
Add a tutorial