A diagram illustrating the architecture of the FusionNet 7.4M model.

FusionNet: una arquitectura de red neuronal para el análisis de sentimiento

FusionNet es un modelo de red neuronal diseñado para mejorar el análisis de sentimiento mediante una combinación de representaciones semánticas y estadísticas del texto. Utiliza incrustaciones de GloVe y combina redes convolucionales y recurrentes para una mejor comprensión contextual de los datos introducidos.

Su repositorio de almacenamiento tiene una comparación cruzada con técnicas clásicas de aprendizaje automático (Naïve Bayes, Support Vector Machines) y técnicas más modernas, como transformadores de ajuste fino.

FusionNet se puede integrar con los sistemas de CRM y los motores recomendados para proporcionar información sobre las últimas tendencias cinematográficas.

Resumen del proyecto

El proyecto explora múltiples técnicas de aprendizaje automático para el análisis de sentimiento en datos procedentes de Rotten Tomatoes. Estas técnicas incluyen métodos clásicos como Naive Bayes y enfoques modernos como FusionNet. El modelo final integra incrustaciones semánticas y preprocesamiento estadístico para mejorar el rendimiento. FusionNet se basa en la arquitectura propuesta por Luo et al. (2022), y utiliza incrustaciones de GloVe y redes neuronales avanzadas para una predicción óptima del sentimiento.

Objeto del proyecto

Este proyecto fue el ganador de un Datathon para alumnos del programa organizado por Alejandro Vaca Serrano , profesor de IE University.

El producto final buscaba superar las limitaciones de los métodos tradicionales de aprendizaje automático en la vectorización de textos, especialmente las relacionadas con la captura del orden y el significado de las palabras. FusionNet utiliza arquitecturas de redes neuronales avanzadas para ofrecer clasificaciones más precisas.

Información técnica

En la construcción de FusionNet se utilizaron los siguientes elementos:

  • Incrustaciones: incrustaciones de palabras de GloVe previamente entrenadas (vectores de 100 dimensiones).
  • Arquitectura modelo: una combinación de capas convolucionales, GRU y redes prealimentadas.
  • Marcos y bibliotecas: PyTorch y PyTorch Lightning.
  • Estrategias de entrenamiento: incluye técnicas como la parada temprana, el ajuste de hiperparámetros y la pérdida de entropía cruzada binaria para la optimización.
  • Conjuntos de datos: opiniones de los usuarios de IMDb y Rotten Tomatoes, preprocesadas para eliminar palabras vacías y gestionar la tokenización y el padding.

Retos y soluciones

Reto n.º 1: encontrar un equilibrio entre la eficiencia computacional y la necesidad de utilizar incrustaciones de alta dimensión. 

  • Solución: análisis de sensibilidad para determinar las dimensiones de incrustación y los tamaños de núcleo óptimos. 

Reto n.º 2: entrenamiento con grandes conjuntos de datos y recursos limitados.  

  • Solución: utilización de recursos de GPU de Google Colab y adopción de una representación de punto flotante (fp16) para reducir la sobrecarga computacional.  

Colaboración y trabajo en equipo

El proyecto se ha trabajado de forma colaborativa, teniendo en cuenta datos de investigaciones publicadas y los comentarios de compañeros y profesores. El trabajo en equipo ha contribuido al rigor de los experimentos y a la implementación de metodologías de vanguardia.

Aprendizajes y conclusiones

  • Desarrollo de experiencia práctica en el diseño y la optimización de redes neuronales para el análisis del sentimiento.
  • Desarrollo de habilidades de preprocesamiento de datos de texto, implementación de canalizaciones de aprendizaje automático y ajuste de hiperparámetros en modelos de redes neuronales.

Desarrollo futuro

  • Ampliación del modelo para que pueda gestionar análisis de sentimiento de varias clases.
  • Exploración de incrustaciones alternativas como FastText o Word2Vec para comparar su rendimiento.