class_docstr: This version of SquAD inherits from the Default Teacher.
  
  The only
  difference is that the 'text' field of an observation will contain
  the title of the article separated by a newline from the paragraph and the
  query.
  Note: The title will contain underscores, as it is the part of the link for
  the Wikipedia page; i.e., the article is at the site:
  https://en.wikipedia.org/wiki/{TITLE}
  Depending on your task, you may wish to remove underscores.
code: def setup_data(self, path):
      print("loading: " + path)
      with PathManager.open(path) as data_file:
          self.squad = json.load(data_file)["data"]
      for article in self.squad:
          title = article["title"]
          # each paragraph is a context for the attached questions
          for paragraph in article["paragraphs"]:
              # each question is an example
              for qa in paragraph["qas"]:
                  question = qa["question"]
                  ans_iter = [
                      {"text": self.opt["impossible_answer_string"]}
                  ]
                  if not qa["is_impossible"]:
                      ans_iter = qa["answers"]
                  answers = [a["text"] for a in ans_iter]
                  context = paragraph["context"]
                  yield (
                      "\n".join([title, context, question]),
                      answers,
                  ), True
  
imports: from typing import Optional
  from parlai.core.params import ParlaiParser
  from parlai.core.opt import Opt
  from parlai.core.teachers import FixedDialogTeacher, DialogTeacher
  from parlai.utils.io import PathManager
  from .build import build
  import json
  import os
label_desc: Use image node_id 2 for calling the TitleTeacher obj's underlying member method code with example usage: obj.setup_data(path) without return types