class_docstr: A negotiation teacher that loads the CaSiNo data from
  https://github.com/kushalchawla/CaSiNo.
  
  Each dialogue is converted into two datapoints, one from the perspective of each
  participant.
docstr: Starting a dialogue should be the same as continuing a dialogue but with just
  one difference: it will attach the welcome note to the teacher's utterance.
  
  Each dialogue has two agents possible: mturk_agent_1 or mturk_agent_2. One of
  them will act as the perspective for this episode.
docstr_tok: ["Starting","a","dialogue","should","be","the","same","as","continuing","a","dialogue","but","with","just","one","difference",":","it","will","attach","the","welcome","note","to","the","teacher","'s","utterance",".","Each","dialogue","has","two","agents","possible",":","mturk_agent_1","or","mturk_agent_2",".","One","of","them","will","act","as","the","perspective","for","this","episode","."]
code: def _start_dialogue(self):
      """
      Starting a dialogue should be the same as continuing a dialogue but with just
      one difference: it will attach the welcome note to the teacher's utterance.
  
      Each dialogue has two agents possible: mturk_agent_1 or mturk_agent_2. One of
      them will act as the perspective for this episode.
      """
  
      episode = self.episodes[self.episode_idx]
      self.perspective = episode["perspective"]
      self.other_id = (
          "mturk_agent_1"
          if self.perspective == "mturk_agent_2"
          else "mturk_agent_2"
      )
  
      part_info = episode["participant_info"][self.perspective]
      part_info_other = episode["participant_info"][self.other_id]
  
      welcome_values = get_welcome_values(part_info)
      welcome = WELCOME_MESSAGE.format(
          food_val=welcome_values["food_val"],
          water_val=welcome_values["water_val"],
          firewood_val=welcome_values["firewood_val"],
          food_argument=welcome_values["food_argument"],
          water_argument=welcome_values["water_argument"],
          firewood_argument=welcome_values["firewood_argument"],
      )
  
      self.dialogue = episode["chat_logs"]
      self.output = {
          "your_points_scored": part_info["outcomes"]["points_scored"],
          "how_satisfied_is_your_partner": part_info_other["outcomes"][
              "satisfaction"
          ],
          "how_much_does_your_partner_like_you": part_info_other[
              "outcomes"
          ]["opponent_likeness"],
      }
  
      self.dialogue_idx = -1
  
      action = self._continue_dialogue()
      if action["text"]:
          # This is non-empty; meaning the teacher starts the conversation and has something to say.
          action["text"] = f"{welcome}\n{action['text']}"
      else:
          # text is empty, meaning that the teacher did not start the conversation but the empty string is just a result of the dummy teacher utterance added in _setup_data
          action["text"] = welcome
  
      action["meta-info"] = welcome_values
  
      return action
  
imports: from parlai.core.teachers import Teacher
  from .build import build
  from parlai.utils.io import PathManager
  import json
  import os
  import random
  import copy
label_desc: Use image node_id 9 for calling the CasinoTeacher obj's underlying member method code with example usage: obj._start_dialogue() and returns: action