class_docstr: Sequence of utterances and responses with background knowledge about movies.
  
  From the Holl-E dataset. More information found at
  https://github.com/nikitacs16/Holl-E.
class_docstr_tok: ["Sequence","of","utterances","and","responses","with","background","knowledge","about","movies",".","From","the","Holl-E","dataset",".","More","information","found","at","https",":","\/\/github.com\/nikitacs16\/Holl-E","."]
code: def setup_data(self, path):
      # use test json if valid is given
      json_dtype = (
          self.datatype
          if not self.datatype.startswith("valid")
          else "test"
      )
      json_path = os.path.join(path, f"raw_{json_dtype}_data.json")
      with PathManager.open(json_path) as f:
          data = json.load(f)
      episodes = []
      prev_id = None
      episode = None, []
      for d in data:
          utterance = {"query": d["query"], "response": d["response"]}
          if d["chat_id"] == prev_id:
              episode[1].append(utterance)
          else:
              if episode[1]:
                  episodes.append(episode)
              knowledge = self.get_knowledge(d)
              if knowledge.endswith("EOD"):
                  knowledge = knowledge[:-3]
              episode = knowledge, [utterance]
              prev_id = d["chat_id"]
      if self.datatype.startswith("valid"):
          episodes = episodes[: len(episodes) // 2]
      elif self.datatype.startswith("test"):
          episodes = episodes[len(episodes) // 2 :]
      return episodes
  
imports: from typing import Optional
  from parlai.core.params import ParlaiParser
  from parlai.core.opt import Opt
  from parlai.core.teachers import FixedDialogTeacher
  from parlai.utils.io import PathManager
  from .build import build
  import json
  import os
label_desc: Use image node_id 3 for calling the HollETeacher obj's underlying member method code with example usage: obj.setup_data(path) and returns: episodes