class_docstr: A class to perform joint morphological and syntactic parsing.
  It is just a wrapper that calls the models for tagging and parsing
  and comprises their results in a single output.
  Args:
      tagger: the morphological tagger model (a :class:`~deeppavlov.core.common.chainer.Chainer` instance)
      parser_path: the syntactic parser model (a :class:`~deeppavlov.core.common.chainer.Chainer` instance)
      output_format: the output format, it may be either `ud` (alias: `conllu`) or `json`.
  Attributes:
      tagger: a morphological tagger model (a :class:`~deeppavlov.core.common.chainer.Chainer` instance)
      parser: a syntactic parser model (a :class:`~deeppavlov.core.common.chainer.Chainer` instance)
code: def __call__(
      self, data: Union[List[str], List[List[str]]]
  ) -> Union[List[List[dict]], List[str], List[List[str]]]:
      tagger_output = self.tagger(data)
      parser_output = self.parser(data)
      answer = []
      for i, (tagger_sent, parser_sent) in enumerate(
          zip(tagger_output, parser_output)
      ):
          curr_sent_answer = []
          for j, curr_word_tagger_output in enumerate(tagger_sent):
              curr_word_tagger_output = curr_word_tagger_output.split(
                  "\t"
              )
              curr_word_parser_output = parser_sent[j].split("\t")
              curr_word_answer = curr_word_tagger_output[:]
              # setting parser output
              curr_word_answer[6:8] = curr_word_parser_output[6:8]
              if self.output_format in ["json", "dict"]:
                  curr_word_answer = {
                      key: curr_word_answer[index]
                      for key, index in UD_COLUMN_FEAT_MAPPING.items()
                  }
                  curr_word_answer = str(curr_word_answer)
              curr_word_answer = "\t".join(curr_word_answer)
              curr_sent_answer.append(curr_word_answer)
          curr_sent_answer = "\n".join(str(x) for x in curr_sent_answer)
          answer.append(curr_sent_answer)
      return answer
  
imports: from typing import Union, List
  from deeppavlov.core.common.chainer import Chainer
  from deeppavlov.core.common.registry import register
  from deeppavlov.core.models.component import Component
label_desc: Use image node_id 2 for calling the JointTaggerParser obj's underlying member method code with example usage: obj.__call__(data) and returns: answer