code: def respond(self, text, sessionID = "general"):
          
          text =  self.__normalize(text)
          previousText = self.__normalize(self.conversation[sessionID][-2])
          text_correction = self.__correction(text)
          current_topic = self.topic[sessionID]
          current_topic_order = current_topic.split(".")
          while current_topic_order:
            try:return self.__response_on_topic(text, previousText, text_correction, current_topic, sessionID)
            except ValueError as e:pass
            current_topic_order.pop()
            current_topic = ".".join(current_topic_order)
          try:return self.__response_on_topic(text, previousText, text_correction, current_topic, sessionID)
          except ValueError as e:return "Sorry I couldn't find anything relevant"
docs: Generate a response to the user input.
  
          :type text: str
          :param text: The string to be mapped
          :rtype: str