class_docstr: This ``SpanConstituencyParser`` simply encodes a sequence of text
  with a stacked ``Seq2SeqEncoder``, extracts span representations using a
  ``SpanExtractor``, and then predicts a label for each span in the sequence.
  These labels are non-terminal nodes in a constituency parse tree, which we then
  greedily reconstruct.
  
  Parameters
  ----------
  vocab : ``Vocabulary``, required
      A Vocabulary, required in order to compute sizes for input/output projections.
  text_field_embedder : ``TextFieldEmbedder``, required
      Used to embed the ``tokens`` ``TextField`` we get as input to the model.
  span_extractor : ``SpanExtractor``, required.
      The method used to extract the spans from the encoded sequence.
  encoder : ``Seq2SeqEncoder``, required.
      The encoder that we will use in between embedding tokens and
      generating span representations.
  feedforward : ``FeedForward``, required.
      The FeedForward layer that we will use in between the encoder and the linear
      projection to a distribution over span labels.
  pos_tag_embedding : ``Embedding``, optional.
      Used to embed the ``pos_tags`` ``SequenceLabelField`` we get as input to the model.
  initializer : ``InitializerApplicator``, optional (default=``InitializerApplicator()``)
      Used to initialize the model parameters.
  regularizer : ``RegularizerApplicator``, optional (default=``None``)
      If provided, will be used to calculate the regularization penalty during training.
  evalb_directory_path : ``str``, optional (default=``DEFAULT_EVALB_DIR``)
      The path to the directory containing the EVALB executable used to score
      bracketed parses. By default, will use the EVALB included with allennlp,
      which is located at allennlp/tools/EVALB . If ``None``, EVALB scoring
      is not used.
class_docstr_tok: ["This","``","SpanConstituencyParser","``","simply","encodes","a","sequence","of","text","with","a","stacked","``","Seq2SeqEncoder","``",",","extracts","span","representations","using","a","``","SpanExtractor","``",",","and","then","predicts","a","label","for","each","span","in","the","sequence",".","These","labels","are","non-terminal","nodes","in","a","constituency","parse","tree",",","which","we","then","greedily","reconstruct",".","Parameters","--","--","--","--","--","vocab",":","``","Vocabulary","``",",","required","A","Vocabulary",",","required","in","order","to","compute","sizes","for","input\/output","projections",".","text_field_embedder",":","``","TextFieldEmbedder","``",",","required","Used","to","embed","the","``","tokens","``","``","TextField","``","we","get","as","input","to","the","model",".","span_extractor",":","``","SpanExtractor","``",",","required",".","The","method","used","to","extract","the","spans","from","the","encoded","sequence",".","encoder",":","``","Seq2SeqEncoder","``",",","required",".","The","encoder","that","we","will","use","in","between","embedding","tokens","and","generating","span","representations",".","feedforward",":","``","FeedForward","``",",","required",".","The","FeedForward","layer","that","we","will","use","in","between","the","encoder","and","the","linear","projection","to","a","distribution","over","span","labels",".","pos_tag_embedding",":","``","Embedding","``",",","optional",".","Used","to","embed","the","``","pos_tags","``","``","SequenceLabelField","``","we","get","as","input","to","the","model",".","initializer",":","``","InitializerApplicator","``",",","optional","(","default=","``","InitializerApplicator","(",")","``",")","Used","to","initialize","the","model","parameters",".","regularizer",":","``","RegularizerApplicator","``",",","optional","(","default=","``","None","``",")","If","provided",",","will","be","used","to","calculate","the","regularization","penalty","during","training",".","evalb_directory_path",":","``","str","``",",","optional","(","default=","``","DEFAULT_EVALB_DIR","``",")","The","path","to","the","directory","containing","the","EVALB","executable","used","to","score","bracketed","parses",".","By","default",",","will","use","the","EVALB","included","with","allennlp",",","which","is","located","at","allennlp\/tools\/EVALB",".","If","``","None","``",",","EVALB","scoring","is","not","used","."]
code: def __init__(
      self,
      vocab,
      text_field_embedder,
      span_extractor,
      encoder,
      feedforward=None,
      pos_tag_embedding=None,
      initializer=InitializerApplicator(),
      regularizer=None,
      evalb_directory_path=DEFAULT_EVALB_DIR,
  ):
      super(SpanConstituencyParser, self).__init__(vocab, regularizer)
  
      self.text_field_embedder = text_field_embedder
      self.span_extractor = span_extractor
      self.num_classes = self.vocab.get_vocab_size("labels")
      self.encoder = encoder
      self.feedforward_layer = (
          TimeDistributed(feedforward) if feedforward else None
      )
      self.pos_tag_embedding = pos_tag_embedding or None
      if feedforward is not None:
          output_dim = feedforward.get_output_dim()
      else:
          output_dim = span_extractor.get_output_dim()
  
      self.tag_projection_layer = TimeDistributed(
          Linear(output_dim, self.num_classes)
      )
  
      representation_dim = text_field_embedder.get_output_dim()
      if pos_tag_embedding is not None:
          representation_dim += pos_tag_embedding.get_output_dim()
      check_dimensions_match(
          representation_dim,
          encoder.get_input_dim(),
          "representation dim (tokens + optional POS tags)",
          "encoder input dim",
      )
      check_dimensions_match(
          encoder.get_output_dim(),
          span_extractor.get_input_dim(),
          "encoder input dim",
          "span extractor input dim",
      )
      if feedforward is not None:
          check_dimensions_match(
              span_extractor.get_output_dim(),
              feedforward.get_input_dim(),
              "span extractor output dim",
              "feedforward input dim",
          )
  
      self.tag_accuracy = CategoricalAccuracy()
  
      if evalb_directory_path is not None:
          self._evalb_score = EvalbBracketingScorer(
              evalb_directory_path
          )
      else:
          self._evalb_score = None
      initializer(self)
  
imports: from __future__ import absolute_import
  import torch
  from torch.nn.modules.linear import Linear
  from nltk import Tree
  from allennlp.common.checks import check_dimensions_match
  from allennlp.data import Vocabulary
  from allennlp.modules import Seq2SeqEncoder, TimeDistributed, TextFieldEmbedder, FeedForward
  from allennlp.modules.token_embedders import Embedding
  from allennlp.modules.span_extractors.span_extractor import SpanExtractor
  from allennlp.models.model import Model
  from allennlp.nn import InitializerApplicator, RegularizerApplicator
  from allennlp.nn.util import get_text_field_mask, sequence_cross_entropy_with_logits
  from allennlp.nn.util import last_dim_softmax, get_lengths_from_binary_sequence_mask
  from allennlp.training.metrics import CategoricalAccuracy
  from allennlp.training.metrics import EvalbBracketingScorer, DEFAULT_EVALB_DIR
  from allennlp.common.checks import ConfigurationError
label_desc: Use image node_id 1 to create a new SpanConstituencyParser object from inherited base classes: Model with example: obj = SpanConstituencyParser(vocab, text_field_embedder, span_extractor, encoder, feedforward, pos_tag_embedding, initializer, regularizer, evalb_directory_path)