def __init__(self, ontology, database, slot_confuse_prob, op_confuse_prob,
                 value_confuse_prob):
        """
        Initialize the internal structures of the Error Model

        :param ontology: the domain domain
        :param database: the domain Database
        :param slot_confuse_prob: a list of probabilities by which slots will
                                  be confused
        :param op_confuse_prob: a list of probabilities by which operators will
                                be confused
        :param value_confuse_prob: a list of probabilities by which values will
                                   be confused
        """
        self.slot_confuse_prob = slot_confuse_prob
        self.op_confuse_prob = op_confuse_prob
        self.value_confuse_prob = value_confuse_prob

        self.ontology = None
        if isinstance(ontology, Ontology):
            self.ontology = ontology
        else:
            raise ValueError('Unacceptable ontology type %s ' % ontology)

        self.database = None
        if isinstance(database, DataBase):
            self.database = database
        else:
            raise ValueError('Unacceptable database type %s ' % database)

        Initialize the internal structures of the Error Model

        :param ontology: the domain domain
        :param database: the domain Database
        :param slot_confuse_prob: a list of probabilities by which slots will
                                  be confused
        :param op_confuse_prob: a list of probabilities by which operators will
                                be confused
        :param value_confuse_prob: a list of probabilities by which values will
                                   be confused
        
plato/agent/component/user_simulator/agenda_based_user_simulator/error_model.py