File size: 3,678 Bytes
9499fda
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
---
language:
  - pt
tags:
  - sentiment-analysis
  - nps
  - text-classification
  - portuguese
license: mit
pipeline_tag: text-classification
datasets:
  - nps
  - customer-feedback
---

# 🤖 BERT NPS Feedback Analyzer (PT-BR)

Este modelo é uma adaptação de `cardiffnlp/twitter-xlm-roberta-base-sentiment` voltada para a **análise de sentimentos em textos longos de NPS** (Net Promoter Score), com foco em avaliações técnicas, institucionais e operacionais típicas de ambientes corporativos.

---

## 🧠 Contexto do Problema

Frases de NPS corporativas em português tendem a ser extensas e mistas, contendo tanto elogios quanto críticas em uma mesma resposta. A maioria dos modelos tradicionais apresenta falhas ao interpretar esse tipo de conteúdo, classificando erroneamente como **negativo** textos que relatam **problemas já resolvidos** ou **experiências neutras**.

---

## 🏗️ Arquitetura do Modelo

- **Base**: [`cardiffnlp/twitter-xlm-roberta-base-sentiment`](https://huggingface.co/cardiffnlp/twitter-xlm-roberta-base-sentiment)
- **Arquitetura**: XLM-RoBERTa base (multilíngue, robusto para entradas longas)
- **Tarefa**: `text-classification` com 3 classes:
  - `Negative`
  - `Neutral`
  - `Positive`

---

## 📥 Uso do Modelo

### 🔧 Requisitos

```bash
pip install transformers torch
```

### 📦 Código de uso

```python
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch.nn.functional as F
import torch

# Nome do modelo no Hugging Face Hub
modelo = "ViniciusKhan/bert-nps-feedback-analyzer"

# Carregar modelo e tokenizer
tokenizer = AutoTokenizer.from_pretrained(modelo)
model = AutoModelForSequenceClassification.from_pretrained(modelo)

# Texto de NPS para avaliação
texto = """ 
Conversei com Alexandre em 20/06 e ele relatou insatisfação com os relatórios, pois vieram misturados.
O chamado foi resolvido e desde então me procura sempre que precisa. Está satisfeito com os serviços atuais.
"""

# Tokenizar e inferir
inputs = tokenizer(texto, return_tensors="pt", truncation=True)
with torch.no_grad():
    outputs = model(**inputs)
    probs = F.softmax(outputs.logits, dim=1)

# Rótulos
classes = ['Negative', 'Neutral', 'Positive']
classe_predita = classes[probs.argmax().item()]

print("Sentimento:", classe_predita)
```

---

## ✅ Aplicações práticas

Este modelo é ideal para:

- Classificação de feedback de clientes em **SAC, helpdesk e pós-venda**
- Avaliação de **sentimento em pesquisas de satisfação (NPS)**
- Processamento automatizado de tickets e reclamações
- Sistemas de BI e dashboards com análise textual

---

## 🗂️ Estrutura do Repositório

| Arquivo              | Descrição                           |
|----------------------|-------------------------------------|
| `pytorch_model.bin`  | Pesos do modelo                     |
| `config.json`        | Configuração do modelo              |
| `tokenizer.json`     | Vocabulário do tokenizer            |
| `README.md`          | Descrição técnica do modelo         |

---

## 🧬 Dataset original do modelo base

O modelo base foi treinado com dados multilingues do Twitter, incluindo português, e adaptado para generalização ampla de sentimentos. A robustez do XLM-RoBERTa permite interpretar frases com vocabulário técnico e institucional mesmo sem fine-tuning adicional.

---

## 👨‍💻 Autor

**Vinicius de Souza Santos**  
Cientista de Dados • IFSP • Especialista em Machine Learning aplicado a serviços e experiência do cliente  
🔗 [GitHub](https://github.com/ViniciusKanh)

---

## 📄 Licença

Este modelo é disponibilizado sob a licença MIT.