Chatbot con Redes Neuronales
Proyecto con enfoque científico que utiliza redes neuronales para experimentación y análisis de resultados académicos.
Resultados Científicos
Este proyecto se centra en el uso de redes neuronales para resolver problemas complejos en el ámbito académico. Los resultados obtenidos han sido validados mediante métricas rigurosas y comparaciones con métodos tradicionales.
Stack Tecnológico y Decisiones
Redes Neuronales
Se utilizaron redes neuronales profundas para abordar problemas de clasificación y predicción, aprovechando su capacidad para modelar relaciones complejas en los datos.
Frameworks Utilizados
Se emplearon frameworks como TensorFlow y PyTorch para el desarrollo y entrenamiento de los modelos, garantizando flexibilidad y eficiencia.
Introducción
Actualmente, la inteligencia artificial se manifiesta en diversas esferas de la sociedad, y una de las últimas innovaciones radica en la capacidad de generar conversaciones en lenguaje natural. Este proyecto se centra en modelos de Procesamiento de Lenguaje Natural (NLP) aplicados a resolver consultas de egresados universitarios sobre los reglamentos para la obtención de grados académicos y títulos profesionales en la Universidad Nacional de Moquegua (UNAM).
Metodología
La metodología utilizada para el desarrollo fue una adaptación de CRISP-DM, recomendada para proyectos relacionados con Inteligencia Artificial. Incluye las siguientes etapas:
- Construcción del corpus: Recolección y normalización de datos provenientes de encuestas y cuestionarios dirigidos a estudiantes y egresados.
- Preprocesamiento de datos: Limpieza de datos, eliminación de duplicados y corrección de errores ortográficos.
- Modelado: Entrenamiento de modelos basados en arquitecturas LSTM, GRU y sus variantes bidireccionales.
- Evaluación: Uso de métricas como precisión, sensibilidad y especificidad para medir el rendimiento de los modelos.
Resultados
Se evaluaron cuatro modelos diferentes: LSTM, BiLSTM, GRU y BiGRU. Los resultados obtenidos son los siguientes:
| Modelo | Precisión | Exactitud |
|---|---|---|
| LSTM | 98.36% | 99.43% |
| BiLSTM | 99.15% | 99.22% |
| GRU | 98.10% | 98.25% |
| BiGRU | 99.57% | 99.62% |
Fragmento de Código Destacado
Este fragmento en Python muestra la implementación de una red neuronal simple para clasificación de datos.
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
# Crear el modelo
model = Sequential([
Dense(128, activation='relu', input_shape=(input_dim,)),
Dense(64, activation='relu'),
Dense(num_classes, activation='softmax')
])
# Compilar el modelo
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
# Entrenar el modelo
model.fit(X_train, y_train, epochs=10, batch_size=32, validation_data=(X_val, y_val))