class_docstr: Bert Like Tokenizer, ref: https://github.com/CyberZHG/keras-bert/blob/master/keras_bert/tokenizer.py
class_docstr_tok: ["Bert","Like","Tokenizer",",","ref",":","https",":","\/\/github.com\/CyberZHG\/keras-bert\/blob\/master\/keras_bert\/tokenizer.py"]
code: def _tokenize(self, text: str) -> List[str]:
      if not self._cased:
          text = unicodedata.normalize("NFD", text)
          text = "".join(
              [ch for ch in text if unicodedata.category(ch) != "Mn"]
          )
          text = text.lower()
      spaced = ""
      for ch in text:
          if self._is_punctuation(ch) or self._is_cjk_character(ch):
              spaced += " " + ch + " "
          elif self._is_space(ch):
              spaced += " "
          elif (
              ord(ch) == 0 or ord(ch) == 0xFFFD or self._is_control(ch)
          ):
              continue
          else:
              spaced += ch
  
      if len(self._token_dict) > 0:
          tokens: List[str] = []
          for word in spaced.strip().split():
              tokens += self._word_piece_tokenize(word)
          return tokens
      else:
          return spaced.strip().split()
  
file_path: Kashgari/kashgari/tokenizers/bert_tokenizer.py
imports: import codecs
  import unicodedata
  from typing import List, Optional, Dict
  from kashgari.tokenizers.base_tokenizer import Tokenizer
label_desc: Use image node_id 4 for calling the BertTokenizer obj's underlying member method code with example usage: obj._tokenize(text) and returns: tokens, spaced