def METHOD_NAME(self, text_in: str = None) -> str:
    """Decoding
    """
    logger.info('Inverse Text Normalization: {0} ...'.format(text_in))
    lang = self.model_cfg['model_config']['lang']
    model_dir = self.model_cfg['model_workspace']
    itn_model_path = self.model_cfg['itn_model_path']
    # make directory recursively
    cache_dir = os.path.join(model_dir, lang, '.cache')
    if not os.path.isdir(cache_dir):
        os.makedirs(cache_dir, mode=0o777, exist_ok=True)
    name = '_{0}_itn.far'.format(lang)
    far_file = os.path.join(cache_dir, name)
    # copy file into cache_dir
    shutil.copy(itn_model_path, far_file)
    # generate itn inference command
    cmd = {
        'ngpu': 0,
        'log_level': 'ERROR',
        'text_in': text_in,
        'itn_model_file': far_file,
        'cache_dir': cache_dir,
        'overwrite_cache': False,
        'enable_standalone_number': True,
        'enable_0_to_9': True,
        'lang': lang,
        'verbose': False,
    }
    itn_result = self.run_inference(cmd)
    return itn_result