class_docstr: This version of SQuAD inherits from the core Dialog Teacher, which just requires it
  to define an iterator over its data `setup_data` in order to inherit basic metrics,
  a default `act` function.
  
  Note: This teacher omits the context paragraph
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:
          # 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]
                  yield (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 3 for calling the OpenSquadTeacher obj's underlying member method code with example usage: obj.setup_data(path) without return types