Ejemplo n.º 1
0
    def get_examples_history(self, model_id):
        """
        Retorna un listado con todos los ejemplos, sin importar su estado, para un determinado
        modelo.

        :model_id: [String] - Id del modelo.

        :return: [List] - Listado de todos los ejemplos para el modelo solicitado.
        """
        if not self.__find_model(model_id):
            ErrorHandler.raise_error('E-0082')
        results = list([])
        Logger.log('L-0326')
        examples_data = db_get_items(TRAIN_MANAGER_DB,
                                     TRAIN_DATA_EXAMPLES_COLLECTION,
                                     {'model_id': model_id})
        Logger.log('L-0327')
        Logger.log('L-0328')
        for example_data in examples_data:
            example = TrainExample(example_data['example_id'],
                                   example_data['sentence'],
                                   example_data['tags'], example_data['type'],
                                   example_data['status'])
            results.append(example)
        Logger.log('L-0329')
        return results
Ejemplo n.º 2
0
    def get_models():
        """
        Devuelve un listado de los modelos disponibles y sus caracteristicas.

        :return: [List(Dict)] - Listado de todos los modelos y sus datos.
        """
        try:
            available_models = db_get_items(MODEL_MANAGER_DB,
                                            MODEL_MANAGER_MODELS_COLLECTION,
                                            None, {'_id': 0})
            return available_models
        except:
            return None
Ejemplo n.º 3
0
    def get_analyzer_exceptions_data(model_id):
        """
        Obtiene la lista de excepciones para el analizador de un modelo.

        :model_id: [String] - Id del modelo.

        :return: [List] - Listado con las excepciones encontradas para el
        modelo solicitado
        """
        analyzer_exceptions = list(
            db_get_items(MODEL_MANAGER_DB, ANALYZER_EXCEPTIONS_COLLECTION,
                         {'model_id': model_id}))
        return analyzer_exceptions
Ejemplo n.º 4
0
    def check_existing_model(model_id):
        """
        Devuelve un listado de los identificadores de cada modelo disponible.

        :model_id: [String] - id del modelo buscado. 

        :return: [Boolean] - True si se ha encontrado el modelo, False en caso contrario
        """
        available_model_names = list(
            map(
                lambda model: model['model_id'],
                db_get_items(MODEL_MANAGER_DB, MODEL_MANAGER_MODELS_COLLECTION,
                             None, {'model_id': 1})))
        return model_id in available_model_names
Ejemplo n.º 5
0
 def __init(self, available_models):
     """
     Inicializa el modulo.
     """
     try:
         Logger.log('L-0247')
         Logger.log('L-0248')
         for model in available_models:
             model_train_data = ModelTrainData(model, [])
             self.__models.append(model_train_data)
         Logger.log('L-0249')
         Logger.log('L-0250')
         examples_query = {
             '$and': [{
                 'status': {
                     '$ne': TRAIN_EXAMPLE_STATUS_APPLIED
                 }
             }, {
                 'status': {
                     '$ne': TRAIN_EXAMPLE_STATUS_REJECTED
                 }
             }]
         }
         training_examples = db_get_items(TRAIN_MANAGER_DB,
                                          TRAIN_DATA_EXAMPLES_COLLECTION,
                                          examples_query)
         Logger.log('L-0251')
         Logger.log('L-0252')
         for training_example in training_examples:
             model_id = training_example['model_id']
             model_train_data = self.__find_model(model_id)
             if model_train_data is not None:
                 model_train_data.add_training_example(training_example)
         Logger.log('L-0253')
         self.__custom_entity_manager = CustomEntityTagManager()
         if self.__custom_entity_manager.is_ready():
             Logger.log('L-0254')
             self.__init_success = True
             return
         Logger.log('L-0255')
     except Exception as e:
         self.__init_success = False
         ErrorHandler.raise_error('E-0023', [{
             'text': e,
             'color': ERROR_COLOR
         }])
Ejemplo n.º 6
0
 def __init(self):
     """
     Inicializa el administrador de tags personalizados.
     """
     try:
         Logger.log('L-0257')
         Logger.log('L-0258')
         stored_entities = db_get_items(TRAIN_MANAGER_DB,
                                        CUSTOM_ENTITY_MANAGER_COLLECTION)
         Logger.log('L-0259')
         Logger.log('L-0260')
         for stored_entity in stored_entities:
             entity = CustomEntity(stored_entity['name'],
                                   stored_entity['description'])
             self.__custom_entities.append(entity)
         Logger.log('L-0261')
         self.__init_susccess = True
         Logger.log('L-0262')
     except Exception as e:
         self.__init_susccess = False
         ErrorHandler.raise_error('E-0024', [{
             'text': e,
             'color': ERROR_COLOR
         }])