title: Are there any classes in NLTK for text normalizing and canonizing?
body: <p>The prevalent amount of NLTK documentation and examples is devoted to lemmatization and stemming but is very sparse on such matters of normalization as:</p>
  
  <ul>
  <li>converting all letters to lower or upper case</li>
  <li>removing punctuation</li>
  <li><strong>converting numbers into words</strong></li>
  <li>removing accent marks and other diacritics</li>
  <li><strong>expanding abbreviations</strong></li>
  <li>removing stopwords or "too common" words</li>
  <li><strong>text canonicalization</strong> (tumor = tumour, it's = it is)</li>
  </ul>
  
  <p>Please point me where in NLTK to dig. Any NLTK equivalents (JAVA or any other) for aforementioned purposes are welcome. Thanks.</p>
  
  <p><strong>UPD</strong>. I have written a python library of text normalization for the text-to-speech purposes <a href="https://github.com/soshial/text-normalization" rel="noreferrer">https://github.com/soshial/text-normalization</a>. It might suit you as well.</p>