code: def decode(self, tokens):
      is_multi_sentences = is_tokens_from_multiple_sentences(tokens)
      token_type = get_token_type(tokens)
      if not is_multi_sentences:
          tokens = [tokens]
      if token_type is int:
          ret = self._bpe.decode(tokens)
      elif token_type is str:
          ret = []
          for ele_tokens in tokens:
              sentence = "".join(ele_tokens)
              if len(sentence) > 0 and sentence[0] == self._meta_symbol:
                  sentence = sentence[1:]
              sentence = sentence.replace(self._meta_symbol, " ")
              ret.append(sentence)
      else:
          raise TokenTypeNotSupportedError(token_type)
      if is_multi_sentences:
          return ret
      else:
          return ret[0]
  
file_path: gluon-nlp/src/gluonnlp/data/tokenizers/yttm.py
imports: from typing import Optional, Tuple, Union, List
  import os
  from .base import *
  from ..vocab import Vocab, load_vocab
  from ...utils.lazy_imports import try_import_yttm
label_desc: Use image node_id 3 for calling the YTTMTokenizer obj's underlying member method code with example usage: obj.decode(tokens) and returns: ret, ret