CoolFace
Apppublic

Benghy/sistema-pln-opiniones-universitarias

sourceHugging Faceupdated 3mo agoView on Hugging Face
0likes
App README

Sistema PLN de Opiniones Universitarias

Proyecto local para clasificar opiniones universitarias mediante un modelo mBERT multitarea. La aplicacion recibe una opinion escrita por el usuario y devuelve:

  • —el sentimiento de la opinion: POSITIVO o NEGATIVO;
  • —la categoria principal: CURSO, DOCENCIA o UNIVERSIDAD.

El sistema esta compuesto por una API desarrollada en Flask, una interfaz web en HTML, CSS y JavaScript, y un modelo entrenado guardado localmente.

Estructura

text
app.py
requirements.txt
frontend/
  index.html
  app.js
  styles.css
modelo_mbert_sentimiento_categoria/
  config.json
  label_maps.json
  model.safetensors
  tokenizer.json
scripts/
  create_edurabsa_multitask_csv.py
data/
  processed/
    edurabsa_sentimiento_categoria.csv

Instalacion

Crear y activar un entorno virtual:

powershell
python -m venv .venv
.\.venv\Scripts\Activate.ps1

Instalar las dependencias:

powershell
pip install -r requirements.txt

Ejecucion

Iniciar la aplicacion:

powershell
python app.py

Luego abrir en el navegador:

text
http://127.0.0.1:5000

Funcionamiento

La interfaz permite ingresar una opinion universitaria. Al presionar el boton de analisis, el texto se envia al endpoint /predict, donde se tokeniza y se procesa con el modelo mBERT entrenado.

La respuesta incluye:

  • —sentimiento predicho;
  • —confianza del sentimiento;
  • —categoria predicha;
  • —confianza de la categoria;
  • —probabilidades por clase.

Dataset

El archivo usado para el entrenamiento fue generado a partir de EduRABSA mediante el script:

text
scripts/create_edurabsa_multitask_csv.py

El dataset procesado contiene 5007 registros utiles:

  • —3405 opiniones positivas;
  • —1602 opiniones negativas;
  • —2662 opiniones de docencia;
  • —1919 opiniones de curso;
  • —426 opiniones de universidad.

Los registros neutrales fueron excluidos porque el modelo trabaja con clasificacion binaria de sentimiento.

Alcance

El modelo esta preparado para clasificar solo las etiquetas usadas durante el entrenamiento:

  • —sentimiento: positivo o negativo;
  • —categoria: curso, docencia o universidad.

La longitud maxima usada por el modelo es de 128 tokens. Si la opinion ingresada supera ese limite, la aplicacion informa que el texto fue truncado antes de realizar la prediccion.

Este proyecto esta orientado a una ejecucion local y academica.