def save(self, path):
        """
        Save all the models.

        :param path: Path to save the experience logs
        :return:
        """

        # Save data
        self.recorder_sys.save(path+'DSTC2_system')
        self.recorder_usr.save(path+'DSTC2_user')

        # Pickle the self.user_policy_reactive and the responses
        obj = {'dialogue_policy': self.user_policy_reactive}

        with open('models/user_simulator/user_policy_reactive.pkl',
                  'wb') as file:
            pickle.dump(obj, file, pickle.HIGHEST_PROTOCOL)

        # Pickle the self.system_policy_reactive and the responses
        obj = {'dialogue_policy': self.system_policy_reactive}

        with open('models/camrest_policy/sys/system_policy_reactive.pkl',
                  'wb') as file:
            pickle.dump(obj, file, pickle.HIGHEST_PROTOCOL)

        # Pickle the self.user_policy
        obj = {'dialogue_policy': self.user_policy}

        with open('models/user_simulator/user_policy.pkl', 'wb') as file:
            pickle.dump(obj, file, pickle.HIGHEST_PROTOCOL)

        # Pickle the self.system_policy and the responses
        obj = {'dialogue_policy': self.system_policy}

        with open('models/camrest_policy/sys/sys_policy.pkl', 'wb') as file:
            pickle.dump(obj, file, pickle.HIGHEST_PROTOCOL)

        # Pickle self.goals
        obj = {'goals': self.goals}

        with open('data/goals.pkl', 'wb') as file:
            pickle.dump(obj, file, pickle.HIGHEST_PROTOCOL)

        Save all the models.

        :param path: Path to save the experience logs
        :return:
        
plato/utilities/parser/parse_dstc2.py