Detector de manchetes clickbait em português brasileiro usando Machine Learning.
🏆 Modelo: Random Forest Otimizado (97.2% F1-Score)
- 📦 Modelo Treinado: Hugging Face Model Hub
- 📚 Datasets: Hugging Face Datasets
- 🚀 Demo Interativa: Hugging Face Space
- 👤 Perfil Hugging Face: @rodrigoaraujorosa
- 💻 Repositório GitHub: detector-clickbait-br
Os datasets utilizados neste projeto estão disponíveis no Hugging Face:
Conteúdo:
- Raw Dataset:
detector-clickbait-br-raw.csv(10.565 manchetes originais) - Processed Dataset:
detector-clickbait-br-processed.csv(9.532 manchetes após limpeza) - Train/Test Split:
X_train.csv,X_test.csv,y_train.csv,y_test.csv - Transformers:
tfidf_vectorizer.pkl,scaler.pkl
from huggingface_hub import hf_hub_download
import pandas as pd
# Baixar dataset raw
dataset_path = hf_hub_download(
repo_id="rodrigoaraujorosa/detector-clickbait-br-datasets",
filename="detector-clickbait-br-raw.csv",
repo_type="dataset"
)
# Carregar
df = pd.read_csv(dataset_path)
print(f"Total de manchetes: {len(df):,}")# Instalar Hugging Face CLI
pip install huggingface_hub
# Fazer login (opcional, para datasets privados)
huggingface-cli login
# Baixar dataset
huggingface-cli download rodrigoaraujorosa/detector-clickbait-br-datasets \
--repo-type dataset \
--local-dir ./dataAcesse: https://huggingface.co/datasets/rodrigoaraujorosa/detector-clickbait-br-datasets/tree/main
E faça download manual dos arquivos.
detector-clickbait-br/
├── app.py # Aplicação Gradio
├── requirements.txt # Dependências
├── README.md # Este arquivo
├── notebooks/ # Análise exploratória e treinamento
│ ├── 01_analise_exploratoria.ipynb
│ ├── 02_preprocessamento_e_engenharia_features.ipynb
│ ├── 03_divisao_vetorizacao.ipynb
│ ├── 04_treinamento_modelos.ipynb
│ └── 05_verificar_metricas_e_dados.ipynb
├── models/ # Modelos treinados (ignorado pelo git)
│ ├── melhor_modelo.pkl
│ ├── random_forest_otimizado_model.pkl
│ └── model_comparison_final.csv
├── data/ # Datasets (ignorado pelo git)
│ ├── raw/
│ │ └── detector-clickbait-br-raw.csv
│ └── processed/
│ ├── detector-clickbait-br-processed.csv
│ ├── X_train.csv, X_test.csv
│ ├── y_train.csv, y_test.csv
│ ├── tfidf_vectorizer.pkl
│ └── scaler.pkl
└── src/ # Código fonte
├── train.py
└── utils.py
git clone https://github.com/rodrigoaraujorosa/detector-clickbait-br.git
cd detector-clickbait-br# Criar ambiente virtual
python -m venv .venv
# Ativar
# Linux/Mac:
source .venv/bin/activate
# Windows:
.venv\Scripts\activatepip install -r requirements.txt# Executar script de download
python scripts/download_datasets.pyOu manualmente via Hugging Face Hub (ver seção de Datasets acima).
python app.pyAcesse: http://localhost:7860
| Métrica | Valor |
|---|---|
| Acurácia | 97.1% |
| Precisão | 98.3% |
| Recall | 96.2% |
| F1-Score | 97.2% |
Modelo Final: Random Forest Otimizado
- 5.297 manchetes treinadas
- 204 features (200 TF-IDF + 4 numéricas)
- Otimizado via RandomizedSearchCV
Execute os notebooks na ordem:
01_analise_exploratoria.ipynb- Análise dos dados02_preprocessamento_e_engenharia_features.ipynb- Limpeza e features03_divisao_vetorizacao.ipynb- Train/test split e TF-IDF04_treinamento_modelos.ipynb- Treinamento e otimização05_verificar_metricas_e_dados.ipynb- Validação final
Contribuições são bem-vindas! Sinta-se à vontade para:
- Reportar bugs
- Sugerir melhorias
- Enviar pull requests
Este projeto está licenciado sob a MIT License.
Rodrigo Araujo Rosa
- 🌐 Hugging Face: @rodrigoaraujorosa
- 💼 GitHub: @rodrigoaraujorosa
- 📧 Email: seu_email@exemplo.com
⭐ Se este projeto foi útil, considere dar uma estrela no GitHub e seguir no Hugging Face!