NLTK (Natural Language Toolkit) is an open-source platform for writing Python programs that work with human language data, a field called natural language processing (NLP). It is a community-driven project of the NLTK Project. Its creators also wrote the book Natural Language Processing with Python, which teaches the library.
NLTK contains text-processing libraries for tokenization (splitting text into words and sentences), stemming (reducing words to a root form), part-of-speech tagging, parsing, classification and semantic reasoning. It gives access to over 50 corpora and lexical resources, such as WordNet; a corpus is a large collection of texts used to study or train language programs. These data packages are not part of the code installation. A program calls nltk.download(), or a user runs python -m nltk.downloader, to fetch single packages, such as the Brown Corpus, or whole collections into an nltk_data folder.
NLTK runs on Windows, macOS and Linux and is free. The code is released under the Apache-2.0 license.