class_docstr: The model used as POS-tagger and chunker for sentence tagging, which contains three
  Bidirectional LSTM layers.
  
  This model can have one or two input(s):
  - word indices of shape (batch, sequence_length)
  *If char_vocab_size is not None:
  - character indices of shape (batch, sequence_length, word_length)
  This model has two outputs:
  - pos tags of shape (batch, sequence_length, num_pos_labels)
  - chunk tags of shape (batch, sequence_length, num_chunk_labels)
  
  :param num_pos_labels: Positive int. The number of pos labels to be classified.
  :param num_chunk_labels: Positive int. The number of chunk labels to be classified.
  :param word_vocab_size: Positive int. The size of the word dictionary.
  :param char_vocab_size: Positive int. The size of the character dictionary.
                          Default is None and in this case only one input, namely word indices
                          is expected.
  :param word_length: Positive int. The max word length in characters. Default is 12.
  :param feature_size: Positive int. The size of Embedding and Bi-LSTM layers. Default is 100.
  :param dropout: Dropout rate. Default is 0.5.
  :param classifier: String. The classification layer used for tagging chunks.
                     Either 'softmax' or 'crf' (Conditional Random Field). Default is 'softmax'.
  :param optimizer: Optimizer to train the model. If not specified, it will by default
                    to be tf.train.AdamOptimizer().
class_docstr_tok: ["The","model","used","as","POS-tagger","and","chunker","for","sentence","tagging",",","which","contains","three","Bidirectional","LSTM","layers",".","This","model","can","have","one","or","two","input","(","s",")",":","-","word","indices","of","shape","(","batch",",","sequence_length",")","*","If","char_vocab_size","is","not","None",":","-","character","indices","of","shape","(","batch",",","sequence_length",",","word_length",")","This","model","has","two","outputs",":","-","pos","tags","of","shape","(","batch",",","sequence_length",",","num_pos_labels",")","-","chunk","tags","of","shape","(","batch",",","sequence_length",",","num_chunk_labels",")",":","param","num_pos_labels",":","Positive","int",".","The","number","of","pos","labels","to","be","classified",".",":","param","num_chunk_labels",":","Positive","int",".","The","number","of","chunk","labels","to","be","classified",".",":","param","word_vocab_size",":","Positive","int",".","The","size","of","the","word","dictionary",".",":","param","char_vocab_size",":","Positive","int",".","The","size","of","the","character","dictionary",".","Default","is","None","and","in","this","case","only","one","input",",","namely","word","indices","is","expected",".",":","param","word_length",":","Positive","int",".","The","max","word","length","in","characters",".","Default","is","12.",":","param","feature_size",":","Positive","int",".","The","size","of","Embedding","and","Bi-LSTM","layers",".","Default","is","100.",":","param","dropout",":","Dropout","rate",".","Default","is","0.5.",":","param","classifier",":","String",".","The","classification","layer","used","for","tagging","chunks",".","Either","'softmax","'","or","'crf","'","(","Conditional","Random","Field",")",".","Default","is","'softmax","'",".",":","param","optimizer",":","Optimizer","to","train","the","model",".","If","not","specified",",","it","will","by","default","to","be","tf.train.AdamOptimizer","(",")","."]
code: def __init__(
      self,
      num_pos_labels,
      num_chunk_labels,
      word_vocab_size,
      char_vocab_size=None,
      word_length=12,
      feature_size=100,
      dropout=0.2,
      classifier="softmax",
      optimizer=None,
  ):
      classifier = classifier.lower()
      assert classifier in [
          "softmax",
          "crf",
      ], "classifier should be either softmax or crf"
      super(SequenceTagger, self).__init__(
          chunker.SequenceTagger(use_cudnn=False),
          vocabulary_size=word_vocab_size,
          num_pos_labels=num_pos_labels,
          num_chunk_labels=num_chunk_labels,
          char_vocab_size=char_vocab_size,
          max_word_len=word_length,
          feature_size=feature_size,
          dropout=dropout,
          classifier=classifier,
          optimizer=optimizer,
      )
  
imports: from nlp_architect.models import chunker
  from zoo.tfpark.text.keras.text_model import TextKerasModel
label_desc: Use image node_id 1 to create a new SequenceTagger object from inherited base classes: TextKerasModel with example: obj = SequenceTagger(num_pos_labels, num_chunk_labels, word_vocab_size, char_vocab_size, word_length, feature_size, dropout, classifier, optimizer)