class_docstr: Block for text data.
  
  # Arguments
      block_type: String. 'vanilla', 'transformer', and 'ngram'. The type of
          Block to use. 'vanilla' and 'transformer' use a TextToIntSequence
          vectorizer, whereas 'ngram' uses TextToNgramVector. If unspecified,
          it will be tuned automatically.
      max_tokens: Int. The maximum size of the vocabulary.
          If left unspecified, it will be tuned automatically.
      pretraining: String. 'random' (use random weights instead any pretrained
          model), 'glove', 'fasttext' or 'word2vec'. Use pretrained word
          embedding.  If left unspecified, it will be tuned automatically.
code: def build(self, hp, inputs=None):
      input_node = nest.flatten(inputs)[0]
      output_node = input_node
      if self.block_type is None:
          block_type = hp.Choice(
              BLOCK_TYPE, [VANILLA, TRANSFORMER, NGRAM, BERT]
          )
          with hp.conditional_scope(BLOCK_TYPE, [block_type]):
              output_node = self._build_block(
                  hp, output_node, block_type
              )
      else:
          output_node = self._build_block(
              hp, output_node, self.block_type
          )
      return output_node
  
imports: from typing import Optional
  from tensorflow import nest
  from autokeras.blocks import basic
  from autokeras.blocks import preprocessing
  from autokeras.blocks import reduction
  from autokeras.engine import block
label_desc: Use image node_id 3 for calling the TextBlock obj's underlying member method code with example usage: obj.build(hp, inputs) and returns: output_node