ChatterBot’s preprocessors are simple functions that modify the input statement that a chat bot receives before the statement gets processed by the logic adaper.

Here is an example of how to set preprocessors. The preprocessors parameter should be a list of strings of the import paths to your preprocessors.

chatbot = ChatBot(
    'Bob the Bot',

Preprocessor functions

ChatterBot comes with several built-in preprocessors.


Remove any consecutive whitespace characters from the statement text.


Convert escaped html characters into unescaped html characters. For example: “&lt;b&gt;” becomes “<b>”.


Converts unicode characters to ASCII character equivalents. For example: “på fédéral” becomes “pa federal”.

Creating new preprocessors

It is simple to create your own preprocessors. A preprocessor is just a function with a few requirements.

  1. It must take one parameter, a Statement instance.
  2. It must return a statement instance.