📊 Análisis de Sentimiento sobre Políticas Energéticas en Colombia mediante BERT
Banner
📌 Resumen
Este proyecto analiza el sentimiento de comentarios sobre políticas energéticas en Colombia usando un modelo NLP basado en BERT. Se evaluó la percepción pública sobre la transición energética, energías renovables y políticas ambientales a partir de comentarios extraídos de redes sociales (Twitter/X).
El modelo alcanzó una precisión del 62.96%, identificando patrones lingüísticos asociados a opiniones positivas y negativas. Se detectó un debate polarizado con una ligera tendencia hacia comentarios positivos sobre energías renovables, aunque con preocupaciones económicas y de implementación.
🌐 Acceso al Modelo
🔍 Este modelo es un archivo .pt que contiene una versión finetuneada de BERT, específicamente entrenada para el análisis de comentarios sobre políticas públicas y energéticas en Colombia. 🏛️⚡
📢 ¡El modelo ya está disponible para su uso en línea! Puedes probarlo directamente en la aplicación de Streamlit:
👉 🔗 bert-talent-tech.streamlit.app
1️⃣ Prueba el modelo en línea en la aplicación de Streamlit.
2️⃣ Descarga manualmente el modelo y agrégalo a la carpeta models/ de tu proyecto.
3️⃣ Descarga automática desde Hugging Face dentro de la aplicación.
🖼️ Ejemplo de la opción en la aplicación:
Interfaz de Streamlit
🖼️ Pasos para cargar modelo:
Interfaz de Streamlit
🚀 Opciones de Uso
Cargar el modelo preentrenado y obtener resultados de inmediato.
Generar un nuevo modelo usando el dataset disponible.
📊 Metodología
📥 Recopilación de Datos
Se extrajeron comentarios de Twitter/X con términos clave sobre energía y sostenibilidad en Colombia. Se analizaron menciones en:
Ministerio de Medio Ambiente
Presidente Gustavo Petro
Ecopetrol
Palabras clave: "energía", "clima", "paneles", "sostenibilidad", etc.
🔬 Arquitectura del Modelo Preentrenado
BERT en español (bert-base-cased)
Capas densas adicionales (768→512→256→2)
Activación ReLU + Dropout 0.5
Balanceo de clases mediante pesos calculados
109M parámetros entrenables
🚀 Instrucciones para Implementar la Aplicación Streamlit
Sigue estos pasos para desplegar tu aplicación de análisis de sentimiento en Streamlit. Asegúrate de cumplir cada parte para garantizar su correcto funcionamiento. 😎
📁 1. Estructura de Carpetas
Organiza tu proyecto con la siguiente estructura para mantener todo bien ordenado:
analisis-sentimiento-energia/
├── app.py # Código principal de la aplicación
├── requirements.txt # Archivo con las dependencias necesarias
└── models/
├── mejor_modelo.pt # Tu modelo pre-entrenado
└── tokenizer/ # Archivos del tokenizador de BERT
├── vocab.txt
├── config.json
├── tokenizer_config.json
└── ... # Otros archivos del tokenizador
Esta organización facilita la gestión de los archivos y evita errores al cargar los modelos.
🛠️ 2. Pasos de Implementación
🐍 Paso 1: Crea y Activa un Entorno Virtual
Para aislar las dependencias del proyecto, crea y activa un entorno virtual:
bash
1# Crear un entorno virtual llamado 'env'2python -m venv env34# Activar el entorno virtual5# En Windows:6env\Scripts\activate
7# En macOS/Linux:8source env/bin/activate
Esto evitará conflictos de dependencias con otros proyectos.
📦 Paso 2: Instala las Dependencias
Instala los paquetes requeridos con el archivo requirements.txt:
pip install -r requirements.txt
Esto descargará e instalará todas las librerías necesarias.
📚 Paso 3: Copia tu Modelo Pre-entrenado y Tokenizador
Crea la carpeta models (si no existe):
mkdir -p models
Copia el archivo mejor_modelo.pt dentro de models/.
Si tienes los archivos del tokenizador (ej. vocab.txt, config.json), colócalos en models/tokenizer/.
Esto garantizará que el modelo y el tokenizador sean accesibles por la aplicación.
🚀 Paso 4: Ejecuta la Aplicación en Streamlit
Con el entorno listo y los archivos en su lugar, inicia la aplicación con:
streamlit run app.py
Al ejecutar este comando, Streamlit abrirá automáticamente el navegador con la interfaz de la aplicación.
💻 3. Uso de la Aplicación
La aplicación tiene dos modos de funcionamiento:
🔍 Modo 1: Usar Modelo Pre-entrenado
Selecciona "Usar modelo pre-entrenado" en la barra lateral.
Ingresa la ruta al modelo (por defecto: models/mejor_modelo.pt).
Haz clic en "Cargar Modelo".
Analiza comentarios individuales o por lotes.
👩🎓 Modo 2: Entrenar un Nuevo Modelo
Selecciona "Entrenar nuevo modelo" en la barra lateral.
Usa ejemplos predefinidos o carga tus propios datos.
Configura los parámetros de entrenamiento (número de épocas, batch size, etc.).
Haz clic en "Entrenar Modelo".
Una vez finalizado el entrenamiento, usa el nuevo modelo para clasificar comentarios.
🔧 4. Solución de Problemas Comunes
📅 Error al Cargar el Modelo
Si ves "No se pudo cargar el modelo", verifica:
Que mejor_modelo.pt exista en la ruta correcta.
Que la estructura del modelo coincida con ClasificadorSentimientoBERT.
💪 Error de Memoria Durante el Entrenamiento
Si el entrenamiento falla por problemas de memoria:
Reduce el batch size (ej. de 32 a 16 o 8).
Usa un subconjunto de datos más pequeño.
Reduce la longitud máxima de secuencia (MAX_LEN).
📝 Error al Cargar Archivos CSV
Si hay problemas al cargar datos:
Verifica que el archivo tenga las columnas review y sentiment.
Asegúrate de que esté en formato UTF-8.
Comprueba que no haya valores nulos en las columnas principales.
Siguiendo estos pasos, tu aplicación de análisis de sentimiento en Streamlit funcionará sin problemas. ¡Éxito! 🚀😄