Skip to content

Din0Dan1/Sentiment-Analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sentiment Analysis System

Autores:

José Daniel Moreno

Juan Felipe Murriel

Asigantura: Aprendizaje Automático

Este proyecto implementa varios sistemas de análisis de sentimientos en inglés. Se utiliza un conjunto de reseñas etiquetadas como positivas (+) o negativas (-), y los sistemas aprende a clasificar nuevas reseñas con base en la información aprendida.

🧠 Descripción El flujo del proyecto es el siguiente:

Carga y preprocesamiento de datos Se leen archivos CSV con reseñas y etiquetas, se realiza limpieza básica del texto, y se tokeniza. Clasificador Meme Un punto de partida

Clasificador de vocabulario Se implementa desde cero un clasificador que asigna una etiqueta a una reseña según los tokens que contiene, ponderando con un parámetro alpha.

-Evaluación del modelo Se evalúa la precisión, exactitud, y F1-score, comparando contra un baseline (clasificador aleatorio).

-Optimización del hiperparámetro alpha Se usa Optuna para encontrar el valor óptimo de alpha que maximiza el F1-score del clasificador.

Modelo de Naive Bayes Implementando desde nltk

Modelo BERT Un modelo muy robusto para el problema

Modelo de Regresión Logística Un clasificador clásico, no tan robusto, idóneo para el problema

⚙️ Requisitos Instala los siguientes paquetes para ejecutar el notebook correctamente:

numpy pandas scikit-learn nltk matplotlib seaborn optuna plotly Requiere además:

Python 3.8+

Jupyter Notebook o entorno compatible (por ejemplo, VS Code)

🚀 Cómo ejecutar Clona o descarga el proyecto.

Asegúrate de tener los archivos train.csv y test.csv en el mismo directorio.

Ejecuta el notebook Sentiment_Analysis.ipynb paso a paso. Algunas celdas de código pueden tomar varios minutos, no se recomienda ejecutar las celdas que entrenan los modelos de Naive Bayes y BERT, toman más de 15 minutos.

Visualiza métricas, gráficos y el mejor hiperparámetro encontrado (alpha).

📊 Análisis de resultados F1-score optimizado para cada modelo.

Comparación de tiempo, dificultad y porcentaje de acierto de cada modelo

Una reflexión sobre el problema y su implementación.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors