🍔 Foxy Burger NLP - Multi-Task Customer Service Model
Modelo multi-task para atendimento automatizado de fast food em Português Brasileiro.
Baseado no BERTimbau com 4 heads de classificação simultâneas.
🎯 Tasks
| Task | Classes | Accuracy |
|---|---|---|
| Intenção | 16 | 0.9970 |
| Sentimento | 5 | 0.5830 |
| Urgência | 4 | 0.6700 |
| Escalação Humana | 2 | 0.9990 |
📋 Intenções Suportadas (16)
| Intenção | Descrição |
|---|---|
pedido_atrasado |
Cliente reclamando de atraso na entrega |
pedido_errado |
Pedido veio errado ou incompleto |
cancelamento |
Solicitação de cancelamento |
status_pedido |
Consulta de status/rastreamento |
consulta_cardapio |
Perguntas sobre o cardápio |
consulta_preco |
Perguntas sobre preços/promoções |
horario_funcionamento |
Horário de funcionamento |
area_entrega |
Área/região de entrega |
problema_pagamento |
Problemas com pagamento |
fazer_pedido |
Cliente quer fazer um pedido |
alterar_pedido |
Alteração de pedido existente |
reclamacao_geral |
Reclamação geral |
elogio |
Feedback positivo |
problema_app |
Problemas técnicos com o app |
saudacao |
Saudação |
despedida |
Despedida |
🔧 Como Usar
Instalação
pip install torch transformers huggingface_hub
from huggingface_hub import snapshot_download
from pipeline import FoxyNLPPipeline
# Baixar modelo
model_dir = snapshot_download(repo_id="MattosDev/foxy-burger-nlp")
# Carregar pipeline
pipe = FoxyNLPPipeline(model_dir)
# Predição
result = pipe.predict("mano cade meu lanche faz 1 hora!!")
print(result)
Exemplo de Saída
json
{
"intencao": {"label": "pedido_atrasado", "confianca": 0.9542},
"sentimento": {"label": "negativo", "confianca": 0.8731},
"urgencia": {"label": "alta", "confianca": 0.8219},
"precisa_humano": false,
"resposta_sugerida": "Peço desculpas pela demora! Vou verificar o status do seu pedido agora mesmo. 🔍"
}
Predição em Lote
python
mensagens = [
"quero cancelar meu pedido",
"melhor hambúrguer da cidade!",
"o app tá travando",
]
results = pipe.predict_batch(mensagens)
🏗️ Arquitetura
text
BERTimbau (768d)
│
├── Shared Dense (768 → 512) + GELU + LayerNorm
│
├── Intent Head (512 → 256 → 128 → 16) weight: 1.0
├── Sentiment Head (512 → 128 → 5) weight: 0.5
├── Urgency Head (512 → 128 → 4) weight: 0.5
└── Human Escalation Head (512 → 64 → 2) weight: 0.3
📊 Dataset
10.000 exemplos com variação linguística realista
16 intenções balanceadas (~625 por classe)
Ruído: gírias, erros de digitação, emojis, variação de caixa
Split: 80% treino / 10% validação / 10% teste
⚙️ Treinamento
Base: neuralmind/bert-base-portuguese-cased
Epochs: 15 (early stopping patience=5)
Batch Size: 64
Learning Rate: 3e-5 (cosine schedule)
Hardware: Google Colab A100
📜 Licença
Apache 2.0
✍️ Autor
MattosDev
Dataset used to train MattosDev/foxy-burger-nlp
Evaluation results
- Accuracyself-reported0.997
- F1 (weighted)self-reported0.997