Este proyecto analiza el sentimiento de un texto (positivo, negativo o neutro) utilizando Machine Learning, una API en Flask y una interfaz en Streamlit.
El modelo de Machine Learning fue entrenado con scikit-learn y usa TfidfVectorizer para procesar el texto. Luego, se despliega una API en Flask y una interfaz visual en Streamlit, ambas alojadas en Render.
- Python 3.9+
- Flask (API REST)
- Streamlit (Interfaz Gráfica)
- scikit-learn (Machine Learning)
- pandas (Manejo de datos)
- nltk (Procesamiento de texto)
- joblib (Guardar/cargar el modelo)
- Render (Despliegue en la nube)
git clone https://github.com/RoseRossi/SentimentAnalyzer.git
cd SentimentAnalyzerpython -m venv venv
# Activar el entorno
# En Windows:
venv\Scripts\activate
# En Mac/Linux:
source venv/bin/activatepip install -r requirements.txtpython src/train_model.pypython src/api.pyLa API estará disponible en: http://127.0.0.1:5000/
streamlit run src/app.pyLa interfaz estará disponible en: http://localhost:8501/
La API está desplegada en Render y se puede acceder desde:
https://sentimentanalyzer-yvg1.onrender.com/analizar
Ejemplo de petición con curl:
curl -X POST https://sentimentanalyzer-yvg1.onrender.com/analizar \
-H "Content-Type: application/json" \
-d '{"texto": "Me encanta este producto, es increíble"}'La interfaz está desplegada en:
https://sentimentanalyzer-uistreamlit-run-src.onrender.com
Aquí puedes escribir cualquier texto y ver su análisis de sentimiento en tiempo real.