This document discusses several natural language processing techniques in Python including:
1. Sentence tokenization using the NLTK tokenizer to split text into sentences.
2. Stemming using the Snowball stemmer to reduce words to their root form.
3. Lemmatization to reduce words to their canonical form.
4. Part-of-speech tagging to label tokens with their part of speech like noun, verb, adjective.
5. Frequency distribution and rare word filtering to analyze word frequencies in a corpus.