--- base_model: nlptown/bert-base-multilingual-uncased-sentiment library_name: peft tags: - base_model:adapter:nlptown/bert-base-multilingual-uncased-sentiment - lora - transformers - sentiment-analysis - spanish - social-media - text-classification datasets: - pyupeu/social-media-peruvian-sentiment metrics: - accuracy --- # SenaSoft/chdv-sentiment-analysis Este modelo es una adaptación de `nlptown/bert-base-multilingual-uncased-sentiment` entrenado con **LoRA** para la tarea de **análisis de sentimiento** en textos en español. Fue ajustado específicamente en un dataset de publicaciones en redes sociales peruanas con 3 etiquetas: **negativo, neutral y positivo**. --- ## Model Details ### Model Description - **Autores:** Christopher Aponte y David Navarro - **Modelo base:** [nlptown/bert-base-multilingual-uncased-sentiment](https://huggingface.co/nlptown/bert-base-multilingual-uncased-sentiment) - **Tipo de modelo:** Clasificación de secuencias (sentiment analysis) - **Idiomas:** Multilingual - **Tarea:** Análisis de sentimiento en textos cortos (ej. redes sociales) - **License:** Apache 2.0 - **Finetuned from:** `nlptown/bert-base-multilingual-uncased-sentiment` ### Model Sources - **Repository:** [Hugging Face Hub](https://huggingface.co/SenaSoft/chdv-sentiment-analysis) - **Dataset:** [pyupeu/social-media-peruvian-sentiment](https://huggingface.co/datasets/pyupeu/social-media-peruvian-sentiment) --- ## Uses ### Direct Use Este modelo puede usarse directamente para clasificar textos en español en **positivo, negativo o neutral**. Ejemplos de uso: ```python from transformers import pipeline clasificador = pipeline( "sentiment-analysis", model="SenaSoft/chdv-sentiment-analysis" ) print(clasificador("Me encanta la sopa")) # [{'label': 'positivo', 'score': 0.85}] print(clasificador("No me gusta nada la sopa")) # [{'label': 'negativo', 'score': 0.89}] print(clasificador("La sopa está bien, pero prefiero otra cosa")) # [{'label': 'neutral', 'score': 0.39}] ``` ### Downstream Use Puede integrarse en: - Plataformas de monitoreo de redes sociales. - Sistemas de atención al cliente. - Análisis de feedback de usuarios. ### Out-of-Scope Use - No está entrenado para otros idiomas distintos al español, pero el modelo base sí. - No es un detector de sarcasmo ni de sentimientos complejos como miedo o sorpresa. - No debe usarse en contextos médicos, legales o financieros sin verificación adicional. --- ## Bias, Risks, and Limitations - Entrenado con un dataset específico (Perú, redes sociales). Puede no generalizar igual en otros países o contextos. - Riesgo de sesgo cultural y lingüístico. - Puede fallar en casos de ironía, sarcasmo o ambigüedad semántica. ### Recommendations - Se recomienda evaluar antes de usar en producción fuera de su dominio. - Puede complementarse con técnicas de **ensembles** o datasets más diversos. --- ## Training Details ### Training Data Dataset: [pyupeu/social-media-peruvian-sentiment](https://huggingface.co/datasets/pyupeu/social-media-peruvian-sentiment) Etiquetas: - `0`: negativo - `1`: neutral - `2`: positivo ### Training Procedure #### Preprocessing - Textos truncados y/o rellenados a `max_length=128`. - Tokenización con `AutoTokenizer` de `bert-base-multilingual-uncased-sentiment`. #### Training Hyperparameters - **LoRA Config:** - `r=8` - `lora_alpha=16` - `lora_dropout=0.7` - **TrainingArguments:** - `batch_size=16` - `num_train_epochs=20` - `learning_rate=5e-5` - `weight_decay=0.01` - `eval_strategy="epoch"` - `save_strategy="epoch"` - `load_best_model_at_end=True` - `metric_for_best_model="accuracy"` #### Speeds, Sizes, Times - Número de épocas: 20 - Mejor resultado en **epoch 15** - Checkpoint tamaño aproximado: ~420 MB --- ## Evaluation ### Testing Data Dataset de prueba del mismo `pyupeu/social-media-peruvian-sentiment`. ### Metrics - **Accuracy**: 0.66 - **Training Loss (epoch 15):** 0.722 - **Validation Loss (epoch 15):** 0.785 ### Results - Mejor rendimiento alcanzado en epoch 15. - Buen ajuste considerando dataset pequeño y dominio específico. --- ## Environmental Impact - **Hardware:** NVIDIA GPU (única) - **Tiempo de entrenamiento:** ~2 horas - **Cloud Provider:** Local / Dockerizado - **Carbon Emitted:** No estimado --- ## Technical Specifications ### Model Architecture and Objective - Modelo base: BERT Multilingüe (`uncased`) - Objetivo: clasificación en 3 clases - Técnica usada: Fine-tuning con LoRA ### Compute Infrastructure - **Hardware:** GPU local - **Software:** - Python 3.10+ - Transformers 4.56.1 - PEFT 0.17.1 - Datasets 3.0.2 --- ## Citation **BibTeX** ```bibtex @misc{aponte2025chdv, title={SenaSoft CHDV Sentiment Analysis}, author={Aponte, Christopher and Navarro, David}, year={2025}, howpublished={Hugging Face}, url={https://huggingface.co/SenaSoft/chdv-sentiment-analysis} } ``` **APA** Aponte, C., & Navarro, D. (2025). *SenaSoft CHDV Sentiment Analysis* [Model]. Hugging Face. https://huggingface.co/SenaSoft/chdv-sentiment-analysis --- ## Model Card Authors Christopher Aponte y David Navarro ## Model Card Contact Para consultas: [Christopher Aponte & David Navarro, SenaSoft 2025] --- ### Framework versions - **PEFT:** 0.17.1 - **Transformers:** 4.56.1 - **Datasets:** 3.0.2