| | --- |
| | 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. |
| |
|