class_docstr: MultiWOZ 2.0 Teacher.
  
  This dataset contains more than just dialogue. It also contains:
  data.json also contains the following information:
  1. information about the goal of the conversation (what the person is looking for)
  2. topic of the conversation
  3. log of the conversation (the conversation itself + metadata about each utterance)
        Metadata: any taxi, police, restaurant, hospital, hotel, attraction, or train info mentioned
  Information about each metadata category is also contained in its own json file.
  1. restaurant.json: Restaurants + their attributes in the Cambridge UK area (address, pricerange, food...)
  2. attraction.json: Attractions + their attributes in the Cambridge UK area (location, address, entrance fee...)
  3. hotel_db.json: Hotels + their attributes in the Cambridge UK area  (address, price, name, stars...)
  4. train_db.json: Trains + their attributes in the Cambridge UK area (destination, price, departure...)
  5. hospital_db.json: data about the Cambridge hospital's departments (department, phone, id)
  6. police_db.json: Name address and phone number of Cambridge police station
  7. taxi_db.json: Taxi information (taxi_colors, taxi_types, taxi_phone)
  More information about the jsons can be found in readme.json
class_docstr_tok: ["MultiWOZ","2.0","Teacher",".","This","dataset","contains","more","than","just","dialogue",".","It","also","contains",":","data.json","also","contains","the","following","information",":","1.","information","about","the","goal","of","the","conversation","(","what","the","person","is","looking","for",")","2.","topic","of","the","conversation","3.","log","of","the","conversation","(","the","conversation","itself","+","metadata","about","each","utterance",")","Metadata",":","any","taxi",",","police",",","restaurant",",","hospital",",","hotel",",","attraction",",","or","train","info","mentioned","Information","about","each","metadata","category","is","also","contained","in","its","own","json","file",".","1.","restaurant.json",":","Restaurants","+","their","attributes","in","the","Cambridge","UK","area","(","address",",","pricerange",",","food","...",")","2.","attraction.json",":","Attractions","+","their","attributes","in","the","Cambridge","UK","area","(","location",",","address",",","entrance","fee","...",")","3.","hotel_db.json",":","Hotels","+","their","attributes","in","the","Cambridge","UK","area","(","address",",","price",",","name",",","stars","...",")","4.","train_db.json",":","Trains","+","their","attributes","in","the","Cambridge","UK","area","(","destination",",","price",",","departure","...",")","5.","hospital_db.json",":","data","about","the","Cambridge","hospital","'s","departments","(","department",",","phone",",","id",")","6.","police_db.json",":","Name","address","and","phone","number","of","Cambridge","police","station","7.","taxi_db.json",":","Taxi","information","(","taxi_colors",",","taxi_types",",","taxi_phone",")","More","information","about","the","jsons","can","be","found","in","readme.json"]
code: def _setup_data(self, data_path, jsons_path):
      print("loading: " + data_path)
      with PathManager.open(data_path) as data_file:
          self.messages = json.load(data_file)
  
      test_path = os.path.join(jsons_path, "testListFile.json")
      valid_path = os.path.join(jsons_path, "valListFile.json")
      if self.datatype.startswith("test"):
          with PathManager.open(test_path) as f:
              test_data = {
                  line.strip(): self.messages[line.strip()]
                  for line in f
              }
              self.messages = test_data
      elif self.datatype.startswith("valid"):
          with PathManager.open(valid_path) as f:
              valid_data = {
                  line.strip(): self.messages[line.strip()]
                  for line in f
              }
              self.messages = valid_data
      else:
          with PathManager.open(test_path) as f:
              for line in f:
                  if line.strip() in self.messages:
                      del self.messages[line.strip()]
          with PathManager.open(valid_path) as f:
              for line in f:
                  if line.strip() in self.messages:
                      del self.messages[line.strip()]
      self.messages = list(self.messages.values())
  
file_path: ParlAI/parlai/tasks/multiwoz_v20/agents.py
imports: from parlai.core.teachers import FixedDialogTeacher
  from parlai.utils.io import PathManager
  from .build import build
  import os
  import json
label_desc: Use image node_id 2 for calling the MultiWozTeacher obj's underlying member method code with example usage: obj._setup_data(data_path, jsons_path) without return types