Skip to content

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.

Notifications You must be signed in to change notification settings

Lancellot/python-flask-email-classifier-ai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

📧 Email Classifier

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.


📂 Estrutura do Projeto

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

✅ Requisitos

  • 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)

⚙️ Instalação

  1. Clone ou baixe este repositório:

    git clone https://github.com/seuusuario/email-classifier.git
    cd email-classifier
  2. Crie e ative um ambiente virtual (opcional, mas recomendado):

    python -m venv venv
    
    # Windows
    venv\Scripts\activate
    
    # macOS/Linux
    source venv/bin/activate
  3. Instale as dependências:

    pip install -r requirements.txt

▶️ Como Executar

No terminal, dentro da pasta raiz do projeto, execute:

python src/app.py

A aplicação ficará disponível em:

👉 http://127.0.0.1:5000/


💡 Como Usar

  1. Insira o texto do email diretamente no campo de texto ou faça upload de um arquivo .txt ou .pdf.

  2. Clique em Classificar e Sugerir Resposta.

  3. Aguarde o processamento (um spinner será exibido no botão).

  4. Veja:

    • Classificação do email
    • Nível de confiança da classificação
    • Idioma detectado
    • Resposta automática sugerida
  5. Edite a resposta sugerida antes de copiar ou enviar (se desejar).


🛠️ Tecnologias Utilizadas

  • Backend: Python, Flask

  • NLP/IA: Hugging Face Transformers

    • facebook/bart-large-mnli → Classificação
    • t5-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


📌 Observações

  • 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.
  • A interface é responsiva e acessível, com suporte a teclado e leitores de tela.


🚀 Possíveis Melhorias Futuras

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

📬 Contato


📄 Licença

Este projeto está licenciado sob a MIT License. Consulte o arquivo LICENSE para mais detalhes.

About

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.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages