promosense-modelo / README.md
Amand4priscil4's picture
Create README.md
cc2499c verified
---
language:
- pt
license: mit
tags:
- text-classification
- sentiment-analysis
- portuguese
- bert
- e-commerce
- promotional-periods
metrics:
- accuracy
- f1
base_model: neuralmind/bert-base-portuguese-cased
---
# PromoSense — Modelo de Análise de Sentimento (v2)
Modelo de classificação de sentimento em avaliações de e-commerce brasileiro, com foco em períodos promocionais (Double Dates, Black Friday).
Desenvolvido como parte do **Projeto Integrador** do curso de Tecnólogo em Análise e Desenvolvimento de Sistemas — Senac Recife.
---
## Uso
```python
from transformers import pipeline
clf = pipeline(
"text-classification",
model="Amand4priscil4/promosense-modelo",
truncation=True,
max_length=512
)
# Mapeamento de labels
LABEL_MAP = {
"LABEL_0": "negativo",
"LABEL_1": "neutro",
"LABEL_2": "positivo"
}
texto = "Produto chegou antes do prazo, qualidade ótima, super recomendo!"
resultado = clf(texto)[0]
sentimento = LABEL_MAP[resultado["label"]]
print(f"{sentimento} ({resultado['score']:.2%})")
# positivo (98.45%)
```
---
## Modelo Base
- **Arquitetura:** BERT
- **Base:** `neuralmind/bert-base-portuguese-cased` (BERTimbau)
- **Tarefa:** Classificação de sequência (3 classes)
---
## Labels
| Label | Sentimento |
|---|---|
| LABEL_0 | negativo |
| LABEL_1 | neutro |
| LABEL_2 | positivo |
---
## Dataset de Treinamento
- **Fonte:** Olist (avaliações de e-commerce brasileiro)
- **Arquivo:** `olist_rotulado_hibrido.csv`
- **Total de amostras:** ~35.246 avaliações processadas
- **Rotulagem:** Híbrida — nota da estrela + léxico de 150 expressões + conectivos de contraste
- **Distribuição após rotulagem híbrida:** neutros expandidos de 3.557 para 5.936 amostras
### Hiperparâmetros de Treinamento
| Parâmetro | Valor |
|---|---|
| Épocas | 3 |
| Batch size | 32 |
| Learning rate | 2e-5 |
| GPU | T4 (Google Colab) |
| Framework | PyABSA + HuggingFace Transformers |
---
## Avaliação
### Treino (Olist)
| Métrica | Valor |
|---|---|
| Accuracy | 87.03% |
| F1 macro | 79.50% |
### Ground Truth v1 — 110 amostras (Shopee)
Produtos: JBL Boombox 4, E6S TWS Bluetooth
| Métrica | Valor |
|---|---|
| **Accuracy** | **90.00%** (99/110) |
### Ground Truth v2 — 165 amostras (Shopee)
Produtos: PS4 Slim, E6S TWS Bluetooth, JBL Boombox 4, Cozedor de Ovos 3 Andares, Fone de Ouvido E6S TWS
Aspectos avaliados: preço, entrega, qualidade
| Métrica | Valor |
|---|---|
| **Accuracy** | **59.39%** (98/165) |
#### Relatório por classe (GT v2)
| Classe | Precision | Recall | F1 | Support |
|---|---|---|---|---|
| positivo | 0.6268 | 0.9889 | 0.7672 | 90 |
| neutro | 1.0000 | 0.0154 | 0.0303 | 65 |
| negativo | 0.3636 | 0.8000 | 0.5000 | 10 |
| macro avg | 0.6635 | 0.6014 | 0.4325 | 165 |
#### Matriz de Confusão (GT v2)
| | Pred. positivo | Pred. neutro | Pred. negativo |
|---|---|---|---|
| **Real positivo** | 89 | 0 | 1 |
| **Real neutro** | 51 | 1 | 13 |
| **Real negativo** | 2 | 0 | 8 |
### Ground Truth Combinado (v1 + v2)
| Amostras | Accuracy |
|---|---|
| 275 | **71.64%** (197/275) |
---
## Limitações Conhecidas
- **Neutro subclassificado:** F1 de neutro = 0.03 no GT v2. O modelo tem forte viés para a classe positivo, classificando a maioria dos neutros como positivo (51 de 65 casos).
- **Viés positivo:** 86% das predições no GT v2 foram classificadas como positivo.
- **Avaliações mistas:** Textos que combinam elogios e críticas (ex: "produto ótimo, mas controle com defeito") tendem a ser classificados como positivo ou negativo, nunca neutro.
- **PyABSA incompatível com Python 3.12:** A análise de sentimento por aspecto (ABSA) foi substituída por abordagem híbrida léxico + BERTimbau como fallback.
- **Léxico limitado:** Rotulagem baseada em 150 expressões — expansão para 200 prevista no v3.
---
## Trabalho Futuro (v3)
- Expandir léxico de 150 para 200 expressões
- Retreinar com dataset híbrido atualizado
- Melhorar F1 de neutro (meta: > 0.40)
- Melhorar detecção de aspecto "entrega" (precision baixa no léxico ABSA)
---
## Equipe
| Membro | Papel |
|---|---|
| Amanda | QA, anotação, modelagem, testes |
| Lucas | Backend (FastAPI) e Frontend (dashboard) |
| Kellvyn | Léxico (em desenvolvimento) |
| Ana Beatriz | Documentação |
---
## Citação
```
@misc{promosense2026,
title={PromoSense: Análise de Sentimento em Avaliações de E-commerce Brasileiro em Períodos Promocionais},
author={Amanda and Lucas and Kellvyn and Ana Beatriz},
year={2026},
institution={Senac Pernambuco — Tecnólogo em Análise e Desenvolvimento de Sistemas}
}
```