code: def main_mono(args):
      corpus_processor = MonoCorpusProcessor(
          lang=args.lang,
          tokenizer=args.tokenizer,
          min_num_words=args.min_num_words,
          max_num_words=args.max_num_words,
          discard_non_latin1=args.discard_non_latin1,
      )
      print("Clean the mono corpus:")
      print("   {}: {}".format(args.lang, args.corpus))
      if args.save_path is None:
          save_path = "corpus.tok.{}".format(args.lang)
      else:
          save_path = args.save_path
      print("Save to {} -> {} \n".format(args.lang, save_path))
      if os.path.exists(save_path) and not args.overwrite:
          warnings.warn(
              "{} exists, skip. If you need to overwrite this file, "
              "rerun the script with --overwrite.".format(save_path)
          )
      else:
          corpus_processor.process_mono_corpus(
              corpus_paths=args.corpus,
              out_path=save_path,
              num_process=args.num_process,
          )
  
imports: import argparse
  import os
  import multiprocessing
  import time
  import numpy
  import warnings
  import re
  from gluonnlp.data.filtering import MosesNormalizer
  from gluonnlp.data.tokenizers import MosesTokenizer, BaseTokenizer, WhitespaceTokenizer, JiebaTokenizer
  from typing import List, Union, Optional
label_desc: Use image node_id 8 for calling a global function with example usage: main_mono(args) without return types