Um sistema simples e eficiente para classificação automática de emails e sugestão de respostas, utilizando modelos da Hugging Face com interface web em Flask.
email-classifier/
├── src/
│ ├── app.py # Backend principal (Flask)
│ ├── templates/
│ │ └── index.html # Interface web (HTML)
│ └── static/
│ ├── style.css # Estilos customizados (CSS)
│ └── script.js # Loader no botão (JavaScript)
├── requirements.txt # Dependências Python
└── README.md # Documentação
- Python 3.8+ (recomendado 3.10+)
- Pip para instalar dependências
- Conexão com internet (para baixar os modelos Hugging Face na primeira execução)
-
Clone ou baixe este repositório:
git clone https://github.com/seuusuario/email-classifier.git cd email-classifier
-
Crie e ative um ambiente virtual (opcional, mas recomendado):
python -m venv venv # Windows venv\Scripts\activate # macOS/Linux source venv/bin/activate
-
Instale as dependências:
pip install -r requirements.txt
No terminal, dentro da pasta raiz do projeto, execute:
python src/app.py
A aplicação ficará disponível em:
-
Insira o texto do email diretamente no campo de texto ou faça upload de um arquivo
.txt
ou.pdf
. -
Clique em Classificar e Sugerir Resposta.
-
Aguarde o processamento (um spinner será exibido no botão).
-
Veja:
- Classificação do email
- Nível de confiança da classificação
- Idioma detectado
- Resposta automática sugerida
-
Edite a resposta sugerida antes de copiar ou enviar (se desejar).
-
Backend: Python, Flask
-
NLP/IA: Hugging Face Transformers
facebook/bart-large-mnli
→ Classificaçãot5-small
→ Geração de respostas
-
Pré-processamento: NLTK (tokenização, stop words)
-
Detecção de idioma: langdetect
-
Leitura de PDFs: PyPDF2
-
Frontend: HTML, CSS, Bootstrap 5, Bootstrap Icons, JavaScript
-
Na primeira execução, os modelos Hugging Face serão baixados (~500MB).
-
A classificação é zero-shot (sem treinamento prévio), podendo falhar em textos muito curtos ou ambíguos.
-
A geração de resposta utiliza
t5-small
(rápido, mas simples).- Para melhor suporte ao português, pode-se usar
google/mt5-small
.
- Para melhor suporte ao português, pode-se usar
-
A interface é responsiva e acessível, com suporte a teclado e leitores de tela.
- Suporte a modelos maiores e otimizados para português.
- Expansão para mais idiomas.
- Edição inline da resposta na interface.
- API REST para integração com outros sistemas.
- Autenticação e histórico de emails classificados.
- Pré-processamento mais robusto (lemmatização, análise de sentimento).
- Email: seu.email@exemplo.com
- GitHub: seuusuario
Este projeto está licenciado sob a MIT License. Consulte o arquivo LICENSE para mais detalhes.