docstr: Clean a string (e.g. a training set) by removing all ngrams previously
  registered as contaminants. Returns a list of clean chunks, or empty if
  the string was too dirty
docstr_tok: ["Clean","a","string","(","e.g",".","a","training","set",")","by","removing","all","ngrams","previously","registered","as","contaminants",".","Returns","a","list","of","clean","chunks",",","or","empty","if","the","string","was","too","dirty"]
code: def clean(self, dirty_string):
      """Clean a string (e.g. a training set) by removing all ngrams previously
      registered as contaminants. Returns a list of clean chunks, or empty if
      the string was too dirty"""
      if JANITOR_CPP:
          return self.clean_cpp(dirty_string)
      else:
          print("WARNING: Janitor running in python mode")
          return self.clean_python(dirty_string)
  
imports: import re
  import string
  import timeit
  import pickle
  import traceback
  from pprint import pprint
label_desc: Use image node_id 5 for calling the Janitor obj's underlying member method code with example usage: obj.clean(dirty_string) and returns: self, self