docstr: Parses user goal into dictionary format.
docstr_tok: ["Parses","user","goal","into","dictionary","format","."]
code: def _parseGoal(self, goal, true_goal, domain):
      """Parses user goal into dictionary format."""
      goal[domain] = {}
      goal[domain] = {
          "informable": {},
          "requestable": [],
          "booking": [],
      }
      if "info" in true_goal[domain]:
          if domain == "train":
              # we consider dialogues only where train had to be booked!
              if "book" in true_goal[domain]:
                  goal[domain]["requestable"].append("reference")
              if "reqt" in true_goal[domain]:
                  if "id" in true_goal[domain]["reqt"]:
                      goal[domain]["requestable"].append("id")
          else:
              if "reqt" in true_goal[domain]:
                  for s in true_goal[domain][
                      "reqt"
                  ]:  # addtional requests:
                      if s in [
                          "phone",
                          "address",
                          "postcode",
                          "reference",
                          "id",
                      ]:
                          # ones that can be easily delexicalized
                          goal[domain]["requestable"].append(s)
              if "book" in true_goal[domain]:
                  goal[domain]["requestable"].append("reference")
  
          for s, v in true_goal[domain]["info"].items():
              s_, v_ = clean_slot_values(
                  domain, s, v, self.mapping_pair_path
              )
              if len(v_.split()) > 1:
                  v_ = " ".join(
                      [token.text for token in self.reader.nlp(v_)]
                  ).strip()
              goal[domain]["informable"][s_] = v_
  
          if "book" in true_goal[domain]:
              goal[domain]["booking"] = true_goal[domain]["book"]
      return goal
  
imports: import math, logging, copy, json
  from collections import Counter, OrderedDict
  from nltk.util import ngrams
  from .None import ontology
  from .clean_dataset import clean_slot_values
label_desc: Use image node_id 18 for calling the MultiWozEvaluator obj's underlying member method code with example usage: obj._parseGoal(goal, true_goal, domain) and returns: goal