My Sentiment Analyzer 🚀
Este proyecto es una aplicación de lÃnea de comandos para analizar el sentimiento de textos en español. Utiliza un modelo de lenguaje para determinar si una frase es positiva, negativa o neutral. La caracterÃstica principal de esta herramienta es su sistema de caché inteligente, que acelera el proceso al evitar recalcular el sentimiento de oraciones que ya han sido analizadas previamente. CaracterÃsticas
Análisis de Sentimiento: Clasifica textos en español como POS, NEG o NEU.
Sistema de Caché Eficiente: Utiliza una caché de archivos JSON para almacenar los resultados del análisis.
Similitud de Coseno: Compara los embeddings de las oraciones para encontrar coincidencias en la caché, incluso si la frase no es idéntica.
Diseño Modular: El proyecto está dividido en clases (EmbeddingGenerator, CacheManager, SentimentAnalyzer) para una mejor organización y mantenimiento.
Instalación
Para ejecutar este proyecto, necesitas tener Python 3.8 o superior instalado. Primero, clona este repositorio en tu máquina (no puedo saber tu usuario de GitHub, pero estoy seguro de que sabrás cómo hacerlo 😉).
A continuación, navega hasta la carpeta del proyecto e instala las dependencias necesarias.
cd my_sentiment_analyzer/src pip install -r requirements.txt
Uso
Para iniciar la aplicación, ejecuta el script principal desde la terminal.
python main.py
El programa te pedirá que introduzcas un texto. Escribe una oración y presiona Enter. Para salir de la aplicación, escribe salir y presiona Enter. Estructura del Proyecto
El proyecto sigue una estructura modular clara:
my_sentiment_analyzer/ ├── src/ │ ├── EmbeddingGenerator.py │ ├── cache_manager.py │ ├── sentiment_analyzer.py │ └── main.py ├── .gitignore ├── README.md └── requirements.txt
Créditos
Este proyecto fue desarrollado con la asistencia y la documentación proporcionada por Gemini, un gran modelo de lenguaje de Google.
El núcleo de la funcionalidad de análisis de sentimiento y generación de embeddings depende de estas increÃbles bibliotecas de código abierto:
pysentimiento: Desarrollado por Juan M. MartÃn, Cesar F. O. O. d. S. Souza y la comunidad.
torch: Una biblioteca de aprendizaje automático de código abierto.
Agradecemos a todos los contribuyentes por su valioso trabajo. Mejoras Futuras
Interfaz Gráfica de Usuario (GUI): Implementar una GUI para una experiencia de usuario más intuitiva en formato web.
Análisis en Lote: Agregar la capacidad de analizar archivos de texto completos.
Funcionalidades Adicionales: Extender la aplicación para detectar emociones o ironÃa, aprovechando las capacidades de pysentimiento.