--- 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} } ```