Skip to content

Otaaviio/Emails-IA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“§ Sistema de ClassificaΓ§Γ£o Inteligente de Emails

Sistema automatizado de triagem e classificaΓ§Γ£o de emails corporativos usando InteligΓͺncia Artificial Gemini

Python Flask Gemini AI License


🎯 Sobre o Projeto

O Sistema de ClassificaΓ§Γ£o Inteligente de Emails Γ© uma aplicaΓ§Γ£o web que automatiza a triagem de emails corporativos, classificando-os em Produtivos (que requerem aΓ§Γ£o) ou Improdutivos (informativos, marketing, etc.).

Utilizando a API do Google Gemini AI combinada com anΓ‘lise estrutural avanΓ§ada, o sistema identifica:

  • πŸ“‹ Emails que exigem aΓ§Γ£o ou resposta
  • 🎯 Prioridade e tempo de resposta sugerido
  • πŸ’¬ SugestΓ£o de resposta contextual
  • 🧠 Justificativa detalhada da classificaΓ§Γ£o

Por que usar este sistema?

  • ⚑ Economia de tempo: Triagem automΓ‘tica de centenas de emails
  • 🎯 PriorizaΓ§Γ£o inteligente: Identifica emails que realmente precisam de atenΓ§Γ£o
  • πŸ“Š Alta precisΓ£o: Combina IA generativa com regras estruturais
  • πŸ”’ Seguro: Processamento local, sem armazenamento de dados
  • 🌐 FlexΓ­vel: Suporta texto direto ou upload de arquivos (.txt, .pdf, .eml)

✨ Funcionalidades

πŸ” ClassificaΓ§Γ£o AvanΓ§ada

  • Dual-Layer Analysis: AnΓ‘lise estrutural + IA Gemini
  • 10+ Tipos de Email: Marketing, transacional, casual, corporativo, etc.
  • ValidaΓ§Γ£o em 3 Camadas: Tipos Γ³bvios β†’ Produtividade corporativa β†’ ConsistΓͺncia final

πŸ“Š DetecΓ§Γ£o Inteligente

  • βœ… Listas de tarefas numeradas
  • βœ… SolicitaΓ§Γ΅es explΓ­citas
  • βœ… Prazos e deadlines
  • βœ… Convites para reuniΓ΅es
  • βœ… Verbos de aΓ§Γ£o
  • βœ… MenΓ§Γ΅es a anexos
  • βœ… Marcadores de urgΓͺncia

🎨 Interface Moderna

  • Design responsivo com Tailwind CSS
  • Upload via drag & drop
  • Feedback visual em tempo real
  • Indicadores de confianΓ§a animados
  • CΓ³pia de resposta com um clique

πŸ“„ Suporte a MΓΊltiplos Formatos

  • .txt - Arquivos de texto
  • .pdf - Documentos PDF
  • .eml - Arquivos de email nativos

πŸ›  Tecnologias Utilizadas

Backend

  • Python 3.8+
  • Flask - Framework web
  • Flask-CORS - Gerenciamento de CORS
  • Google Gemini AI - Modelo de linguagem generativa
  • NLTK - Processamento de linguagem natural
  • PyPDF2 - ExtraΓ§Γ£o de texto de PDFs
  • python-dotenv - Gerenciamento de variΓ‘veis de ambiente

Frontend

  • HTML5 / CSS3
  • JavaScript (Vanilla)
  • Tailwind CSS - Framework de estilizaΓ§Γ£o

IA e Machine Learning

  • Google Gemini Pro - ClassificaΓ§Γ£o inteligente
  • NLTK - TokenizaΓ§Γ£o e stopwords

πŸ— Arquitetura

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   UsuΓ‘rio       β”‚
β”‚  (Frontend)     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚
         β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚        Flask API Server             β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚  /classify endpoint         β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚             β”‚                       β”‚
β”‚             β–Ό                       β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚  ExtraΓ§Γ£o de Texto          β”‚   β”‚
β”‚  β”‚  (.txt, .pdf, .eml)        β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚             β”‚                       β”‚
β”‚             β–Ό                       β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚  AnΓ‘lise Estrutural         β”‚   β”‚
β”‚  β”‚  - Tipo de email            β”‚   β”‚
β”‚  β”‚  - Estrutura do conteΓΊdo    β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚             β”‚                       β”‚
β”‚             β–Ό                       β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚  ClassificaΓ§Γ£o Gemini AI    β”‚   β”‚
β”‚  β”‚  + Prompt Engineering       β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚             β”‚                       β”‚
β”‚             β–Ό                       β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚  ValidaΓ§Γ£o em 3 Camadas     β”‚   β”‚
β”‚  β”‚  1. Tipos Γ³bvios            β”‚   β”‚
β”‚  β”‚  2. Produtividade corporat. β”‚   β”‚
β”‚  β”‚  3. ConsistΓͺncia final      β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚             β”‚                       β”‚
β”‚             β–Ό                       β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚  Resultado JSON             β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“¦ PrΓ©-requisitos

  • Python 3.8 ou superior
  • Conta Google Cloud com API Gemini ativada
  • Navegador moderno (Chrome, Firefox, Safari, Edge)

πŸš€ InstalaΓ§Γ£o

1. Clone o repositΓ³rio

git clone https://github.com/seu-usuario/email-classification-system.git
cd email-classification-system

2. Crie um ambiente virtual (recomendado)

python -m venv venv

# Windows
venv\Scripts\activate

# Linux/Mac
source venv/bin/activate

3. Instale as dependΓͺncias

cd app
pip install -r requirements.txt

4. Baixe recursos do NLTK (se necessΓ‘rio)

python -c "import nltk; nltk.download('punkt'); nltk.download('stopwords')"

βš™οΈ ConfiguraΓ§Γ£o

1. Obtenha sua API Key do Google Gemini

  1. Acesse Google AI Studio
  2. Crie um novo projeto (se necessΓ‘rio)
  3. Gere uma API Key
  4. Copie a chave

2. Configure as variΓ‘veis de ambiente

Crie um arquivo .env na pasta app/:

GEMINI_API_KEY=sua_chave_api_aqui

3. Estrutura de pastas

Certifique-se de que sua estrutura estΓ‘ assim:

projeto/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ .env                    # VariΓ‘veis de ambiente
β”‚   β”œβ”€β”€ app.py                  # AplicaΓ§Γ£o principal
β”‚   β”œβ”€β”€ requirements.txt        # DependΓͺncias
β”‚   β”œβ”€β”€ templates/
β”‚   β”‚   └── index.html         # Interface web
β”‚   β”œβ”€β”€ static/
β”‚   β”‚   └── assets/
β”‚   β”‚       └── js/
β”‚   β”‚           └── script.js  # JavaScript frontend
β”‚   └── uploads/               # Pasta temporΓ‘ria (criada automaticamente)
└── README.md

🧠 Lógica de Classificação

Sistema de 3 Camadas

Layer 1: Tipos Γ“bvios

Identifica e classifica automaticamente:

  • ❌ Marketing (score β‰₯ 3): PromoΓ§Γ΅es, descontos, ofertas
  • ❌ Transacional (score β‰₯ 3): ConfirmaΓ§Γ΅es, notificaΓ§Γ΅es automΓ‘ticas
  • ❌ Casual (score β‰₯ 2): Memes, piadas, entretenimento
  • ❌ Vago (score β‰₯ 3): ReflexΓ΅es filosΓ³ficas sem pedido claro

Layer 2: Produtividade Corporativa

ForΓ§a classificaΓ§Γ£o como PRODUTIVO quando detecta:

  • βœ… Lista numerada + Prazo
  • βœ… ReuniΓ£o + HorΓ‘rio especΓ­fico
  • βœ… AΓ§Γ£o aprovada + Prazo urgente
  • βœ… SolicitaΓ§Γ£o + Anexo + Prazo

Layer 3: ConsistΓͺncia Final

Valida e corrige inconsistΓͺncias:

  • Produtivo sem requires_action β†’ adiciona flag
  • Improdutivo com requires_action β†’ remove flag
  • Tom celebratΓ³rio marcado como produtivo β†’ corrige

πŸ§‘β€πŸ’» Autor

About

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published