Skip to main content

Modelos de IA

Un modelo de IA (o simplemente modelo) representa un programa que ha sido capacitado en un conjunto de datos para reconocer ciertos patrones o tomar ciertas decisiones sin más intervención humana.

Manejará los modelos en Administración Inteligencia Artificial > Modelos

Models
 

Puede contar con diferentes tipos de modelos para implementar algoritmos de IA específicos, con diferentes configuraciones.

Ajustes

Creas tus propios modelos haciendo clic en Agregar Modelo o editar uno existente.

Settings
 

El panel de configuración es diferente dependiendo del tipo de modelo y le permite configurar correctamente todos sus aspectos.

Adiestramiento

Debido a que cada modelo debe ser entrenado primero, la pestaña de Adiestramiento es el lugar donde instruye al sistema sobre como ejecutar dicha actividad.

La configuración más importante es el Sampler que le permite elegir entre la lista de samplers que creó anteriormente.

Todos los modelos requieren más ciclos de entrenamiento, esto especifica en las épocas el número de iteraciones que desea al entrenar el modelo.

Las épocas de modo que pones, más preciso será el modelo, pero la operación de entrenamiento llevará más tiempo.

Training
 

Si el conjunto de datos que utiliza para entrenar los modelos cambia regularmente, sería bueno marcar la opción de Habilitar la programación y proporcionar una programación, de esta manera el modelo estará constantemente capacitado.

En cualquier momento, puede forzar manualmente la capacitación utilizando el elemento de Iniciar adiestramiento del menú contextual.

Resultado del entrenamiento

La finalización de la capacitación se refleja en la cuadrícula de modelos, pero también en el área de registro de la pestaña de capacitación donde puede ver cómo se realizaron las operaciones.

El modelo capacitado se guarda en LogicalDOC en sí mismo como un documento regular en la carpeta /Default/ai-models, así como otros archivos, dependiendo de la naturaleza del modelo.

Puede cambiar la ruta donde LogicalDOC guarda los resultados de la capacitación utilizando el botón Configuración de la barra de herramientas

Consulta del modelo

Después de que el modelo haya sido entrenado, puede consultarlo. Para hacerlo, simplemente elija el elemento del menú contextual consulta el modelo para abrir el cuadro de diálogo de consulta e ingrese la muestra para evaluar.

Query
 

Los posibles resultados se muestran a continuación, ordenados por puntaje descendente.

Historia y Estadísticas

En la pestaña Historial, encuentra la lista de eventos relacionados con el modelo actual.

History
 

Dentro de la pestaña Estadísticas hay una representación gráfica de las consultas totales por mes.

Statistics

Exportación e Importación

Los modelos se pueden exportar e importar, se ha pensado que esto le permite preparar y capacitar a sus modelos en una instalación lógica y luego importarlos ya capacitados en el sistema de producción.

Para exportar un modelo, simplemente elija la opción Exportar del menú contextual. Descargará un archivo comprimido que contenga tanto la definición del modelo como su entrenamiento.

En un sistema de destino donde desea importar un modelo exportado previamente, haga clic en el botón Importar la barra de herramientas, se le pedirá que cargue el archivo y proporcione el nombre para el nuevo modelo.

En caso de que desee actualizar un modelo existente, simplemente seleccione y elija el elemento de importación del menú contextual, luego cargará el archivo y sobrescribe el modelo actual.

Red neuronal

Una red neuronal es un modelo de IA que enseña a las computadoras a procesar datos modelándolos según el funcionamiento del cerebro humano. Es un tipo de proceso de aprendizaje automático (AA), llamado aprendizaje profundo, que utiliza nodos o neuronas interconectados en una estructura en capas similar al cerebro humano. Crea un sistema adaptativo que las computadoras utilizan para aprender de sus errores y mejorar continuamente. Por lo tanto, las redes neuronales artificiales intentan resolver problemas complejos.

Cómo funciona una red neuronal

La arquitectura de una red neuronal se inspira en el cerebro humano. Las células cerebrales humanas, llamadas neuronas, forman una red compleja y altamente interconectada que se envía señales eléctricas entre sí para ayudar a los humanos a procesar información. De igual manera, una red neuronal artificial está compuesta por neuronas artificiales que trabajan juntas para resolver un problema. Las neuronas artificiales son módulos de software, llamados nodos, y las redes neuronales artificiales son programas de software o algoritmos que, esencialmente, utilizan la computación para resolver cálculos matemáticos.

Una red neuronal básica tiene neuronas artificiales interconectadas en tres niveles:

Capa de Entrada

La información del mundo exterior ingresa a la red neuronal en la capa de entrada. Los nodos de entrada procesan los datos, los analizan o categorizan y los transmiten a la siguiente capa.

Capa Oculta

Las capas ocultas toman su información de la capa de entrada o de otras capas ocultas. Las redes neuronales artificiales pueden tener un gran número de capas ocultas. Cada capa oculta analiza la salida de la capa anterior, la procesa y la pasa a la siguiente.

Capa de Salida

La capa de salida devuelve el resultado final de todo el procesamiento de datos a través de la red neuronal artificial. Puede tener uno o más nodos. Por ejemplo, si tenemos un problema de clasificación binaria (sí/no), la capa de salida tendrá un solo nodo de salida, que devolverá 1 o 0. Sin embargo, si tenemos un problema de clasificación multiclase, la capa de salida podría constar de varios nodos de salida.

Arquitectura de redes neuronales profundas

Las redes neuronales profundas, o redes de aprendizaje profundo, tienen múltiples capas ocultas con millones de neuronas artificiales conectadas entre sí. Un número, llamado peso, representa las conexiones entre cada nodo. El peso es positivo si un nodo estimula a otro y negativo si lo suprime. Los nodos con valores de peso más altos ejercen una mayor influencia sobre los demás.
En teoría, las redes neuronales profundas pueden asignar cualquier tipo de entrada a cualquier tipo de salida. Sin embargo, requieren más entrenamiento que otros métodos de aprendizaje automático. Requieren millones de ejemplos de datos de entrenamiento, en comparación con los cientos o miles que necesita una red más simple.

Deep Neural Network Architecture
 

Función de Activación

Cada nivel define una función matemática llamada Función de Activación. Esta función recibe la entrada del nivel anterior multiplicada por el peso y genera la salida para el siguiente nivel.

Activation FunctionGraphic
CUBE

CUBE
 

ELU

ELU
 

HARDSIGMOID

HARDSIGMOID
 

HARDTANH

HARDTANH
 

IDENTITY

IDENTITY
 

LEAKYRELU

LEAKYRELU
 

RATIONALTANH

RATIONALTANH
 

RELU

RELU
 

RELU6

RELU6
 

RRELU

RRELU
 

SIGMOID

SIGMOID
 

SOFTMAX

SIGMOID
 

SOFTPLUS

SOFTPLUS
 

SOFTSIGN

SOFTSIGN
 

TANH

TANH
 

RECTIFIEDTANH

RECTIFIEDTANH
 

SELU

SELU
 

SWISH

SWISH
 

THRESHOLDEDRELU

THRESHOLDEDRELU
 

GELU

GELU
 

MISH

THRESHOLDEDRELU
 


Capacitación

El entrenamiento de una red neuronal es la tarea de asignar los mejores valores a todos los pesos para minimizar la diferencia entre la predicción del modelo y el valor objetivo real.

Función de Pérdida

Una función de pérdida (también llamada función de coste o función de error) mide la diferencia entre las predicciones de un modelo y los valores objetivo reales. Cuantifica el rendimiento de la red y guía el proceso de aprendizaje al proporcionar una medida numérica del "error". El objetivo durante el entrenamiento es minimizar la función de pérdida, lo que significa que las predicciones del modelo deberían acercarse a los valores reales.

Configuración de una red neuronal

La entrada de una red neuronal es una tupla de números denominada características, por lo que debe especificar el nombre de cada característica en el campo Características como una cadena de nombres separados por comas.

La salida es una de las posibles categorías que se especifican como una cadena de opciones separadas por comas en el campo Categorías.

Neural Network Settings
 

El campo Lote representa el número de muestras devueltas por el iterador de muestras durante el entrenamiento.

Semilla es un número que se utiliza como semilla para el generador interno de números aleatorios.

El Esquema de inicialización de pesos es el algoritmo que se utiliza para asignar un valor inicial a todos los pesos.

En el selector Función de pérdida, se indica la función que se utilizará para medir el error de los valores predichos.

El selector Función de activación indica la función predeterminada que se utilizará para las capas.

En el lado derecho del panel, se definen todas las capas, asignando una función de activación específica para cada una.

Evaluación

La evaluación le permite probar la red contra un subconjunto aleatorio del mismo conjunto de datos de entrenamiento, para iniciar el proceso elija el elemento Comenzar Evaluación del menú contextual y al final mire los resultados en la pestaña Evaluación.

Neural Network Evaluation
 

Matriz de confusión

La matriz de confusión es una representación sintética del rendimiento de la red neuronal.

A continuación se muestra un desglose de lo que muestra una matriz de confusión:

Filas: Representan las etiquetas de clase reales (verdaderas) de los datos.
Columnas: Representan las etiquetas de clase predichas por el modelo.
Celdas: Cada celda de la matriz representa una combinación específica de etiquetas reales y predichas. El número en la celda indica cuántas instancias pertenecen a esa categoría.

Procesamiento del lenguaje natural

El procesamiento del lenguaje natural, o simplemente PNL, es una clase de modelo de IA diseñado para procesar textos escritos de forma natural.

El PLN permite a las computadoras comprender, interpretar y generar lenguaje humano. Reduce la brecha entre la comunicación humana y la comprensión de las máquinas, permitiéndoles leer texto, escuchar el habla, interpretarlo e incluso responder de forma natural. El PLN combina la lingüística computacional con modelos estadísticos, de aprendizaje automático y de aprendizaje profundo para procesar y analizar grandes cantidades de datos de lenguaje natural.

Al utilizar PNL, los sistemas pueden realizar tareas como traducción de idiomas, análisis de sentimientos, reconocimiento de voz, conversaciones de chatbot y resumen de documentos.

Cómo funciona el procesamiento del lenguaje natural

La PNL implica una serie de técnicas y pasos que convierten el lenguaje humano no estructurado en datos estructurados que las máquinas pueden entender y utilizar para actuar.

Procesamiento de Texto

  • Tokenización: fragmentación del texto en palabras o frases.
  • Eliminación de palabras vacías: filtrado de palabras comunes (como "y", "el") con poco significado.
  • Lematización: reducción de palabras a su forma raíz.

Análisis de sintaxis y semántica

  • El análisis sintáctico (análisis sintáctico) implica analizar la estructura gramatical de una oración, identificando las categorías gramaticales y las relaciones entre las palabras.
  • El análisis semántico se centra en comprender el significado de las palabras, las oraciones y el contexto.

Extracción de Características

Se extraen del texto características relevantes, como palabras clave, entidades con nombre (p. ej., personas, lugares) e indicadores de sentimiento. Estas características sirven como entrada para los modelos de aprendizaje automático.

Modelado e Interpretación

Utilizando técnicas como clasificación, agrupamiento o redes neuronales, el sistema interpreta el texto y realiza una tarea, como identificar sentimientos, generar respuestas o categorizar contenido.

Al momento de escribir este artículo, existen diferentes tipos de modelos de PLN, cada uno diseñado para resolver tareas específicas relacionadas con el lenguaje. Los modelos utilizados en LogicalDOC son:

Vector Stores

Un vector store indexa y almacena embeddings vectoriales (la representación vectorial de documentos) para una rápida recuperación y búsqueda semántica. Los embeddings se generan mediante modelos de IA; en el contexto del aprendizaje automático, estas características representan diferentes dimensiones de los datos, esenciales para comprender patrones, relaciones y estructuras subyacentes.

Los almacenes vectoriales se gestionan en Administración > Inteligencia Artificial > Embeddings > Vector Stores

Actualmente, LogicalDOC solo admite MariaDB como vector store; próximamente, se ofrecerán más proveedores de vector store.

Por lo tanto, es necesario insertar los datos de conexión a una base de datos MariaDB (versión 11.8 o posterior); puede usar el icono del asistente para obtener ayuda para crear la Url de conexión.

MariaDB

Desde LogicalDOC 9.2.2, el instalador de Windows también incluye una base de datos MariaDB moderna con capacidades vectoriales y la utiliza automáticamente sin necesidad de realizar ninguna acción. De igual forma, si ya instaló LogicalDOC con una versión anterior, pero ya estaba conectado a una base de datos MariaDB >= 11.8, la actualización 9.2.2 la utilizará automáticamente como vector store.

En todos los demás casos, debe proporcionar una instalación de MariaDB 11.8 o posterior y configurar manualmente la conexión.

Consulte el sitio web del producto para instalar MariaDB: https://mariadb.org/download

 

Robots

Un robot es un agente inteligente diseñado para comprender las preguntas de los usuarios y proporcionar respuestas significativas.

Los robots actúan como interfaz entre el usuario y el motor de Procesamiento del Lenguaje Natural (PLN), utilizando modelos entrenados para clasificar consultas y extraer información clave. La plataforma proporciona un robot predeterminado llamado Mentor, pero puedes crear robots específicos para áreas específicas.

Cómo funcionan los robots

Cada robot está configurado con dos modelos básicos de PNL:

  • Clasificador: categoriza la pregunta del usuario según una acción o intención específica (p. ej., GETDOC, SEARCHFILE, UNKNOWN).
  • Detector de Tokens: extrae valores específicos del texto, como el ID del documento o el nombre del archivo.

Cuando un usuario hace una pregunta, el robot:

  • Clasifica la oración usando el clasificador.
  • Extrae tokens usando el detector de tokens.
  • Ejecuta un script de automatización coincidente (llamado "respuesta") asociado con la categoría identificada.
  • Si la clasificación o la extracción de tokens falla, se utiliza una respuesta de respaldo predeterminada.

Configuración del Robot

Los robots se configuran a través de la interfaz de gestión de robots.

classifier_properties_specs
 

El aspecto más relevante de la configuración de un robot es la sección Respuesta, donde cada categoría (p. ej., GETDOC, SEARCHDOC, SEARCHFILE) se asigna a un script de automatización. Estos scripts definen cómo responde el robot a la consulta del usuario una vez que el clasificador y el detector de tokens han realizado su trabajo.

Usando estos scripts, puedes:

  • Recuperar y abrir documentos por ID
  • Realizar búsquedas de texto completo basadas en palabras clave
  • Buscar archivos por nombre
  • Gestionar consultas desconocidas con facilidad

Estas respuestas se almacenan como scripts de automatización, lo que permite una lógica condicional avanzada, acceso a datos y representación dinámica de resultados.

Diccionario disponible para la Automatización en este contexto.

AUTOMATION CONTEXT: ROBOT
VariableJava ClassDescription
robot

Robot

La instancia de robot actual (por ejemplo, A.I.D.A.).
transaction

RobotHistory

Contiene metadatos sobre la consulta actual, el ID del usuario, el inquilino y la sesión.
categoryStringLa categoría asignada por el clasificador (por ejemplo, GETDOC, SEARCHDOC, etc.)
tokensMap>>Tokens extraídos de la entrada
answer

Value<String>

Porta valores usado para llevar la respuesta, pon aquí tu respuesta

Lea el manual de la Automatización para más información.