CleanText: Simplify Text Preprocessing in Python

Posted by Afsal on 30-Jun-2023

Hi Pythonistas!

Today we will learn a new package called cleantext. CleanText is a Python library designed to make text cleaning and preprocessing easier. It provides a set of functions and utilities that handle common text cleaning tasks, allowing you to focus on the core analysis rather than spending excessive time on data cleaning. CleanText offers a user-friendly and intuitive interface, making it accessible to both beginners and experienced data scientists.

Key Features of CleanText

Text Cleaning: CleanText provides functions to remove special characters, digits, URLs, and HTML tags from text data. It helps in eliminating noise and irrelevant information that can hinder the analysis process.

Lowercasing: Converting text to lowercase is a common preprocessing step. CleanText simplifies this by offering a function to convert the entire text to lowercase, ensuring consistent comparisons and reducing the vocabulary size.

Stopword Removal: Stopwords are common words that often carry little meaning and can be safely removed from the text. CleanText provides a built-in list of stopwords and a function to remove them, helping you focus on more informative words.

Tokenization: Tokenization breaks down text into individual words or tokens, facilitating further analysis. CleanText includes a tokenization function that supports different tokenization methods, such as whitespace-based tokenization or using regular expressions.

Lemmatization and Stemming: CleanText supports lemmatization and stemming, which reduce words to their base or root forms. These techniques are helpful for standardizing words and reducing the vocabulary size.

Customization: CleanText allows you to customize the cleaning pipeline by enabling or disabling specific cleaning steps based on your specific requirements. You can also add custom cleaning functions to handle domain-specific text cleaning tasks


pip install cleantext


a = "Thi$s is a sa@mple text to clean"
cleantext.clean(a, extra_spaces=True, lowercase=True, numbers=True, punct=True)


'this is a sample text to clean'

Getting cleaned words



['sampl', 'text', 'clean']

Hope you have learned something from this post. Please share your valuable suggestions with