docs: def tokenize(self, sentence,
                   normalize=True,
                   is_feature=False,
                   is_surface=False,
                   return_list=False,
                   func_normalizer=text_preprocess.normalize_text):
          # type: (text_type, bool, bool, bool, bool, Callable[[text_type], text_type]) -> Union[TokenizedSenetence, List[text_type]]
          """* What you can do
          -
          """
          if normalize:
              normalized_sentence = func_normalizer(sentence)
          else:
              normalized_sentence = sentence
  
          ml_token_object = self.call_juman_interface(normalized_sentence)
  
          token_objects = [
              juman_utils.extract_morphological_information(
                  mrph_object=morph_object,
                  is_surface=is_surface,
                  is_feature=is_feature
              )
              for morph_object in ml_token_object]
  
          if return_list:
              tokenized_objects = TokenizedSenetence(
                  sentence=sentence,
                  tokenized_objects=token_objects)
              return tokenized_objects.convert_list_object()
          else:
              tokenized_objects = TokenizedSenetence(
                  sentence=sentence,
                  tokenized_objects=token_objects)
              return tokenized_objects