This entry is parte 21 de 24 in the series Python + IA: Fundamentos e Projetos Práticos
Python + IA: Fundamentos e Projetos Práticos
Hoje vamos transformar nosso modelo em um mini-sistema interativo, onde o usuário digita uma notícia e a IA responde se é verdadeira ou falsa.
🧠 O que estamos fazendo
Até agora:
- Lemos dados reais com
pandas - Vetorizamos texto com
TfidfVectorizer - Treinamos um classificador com
PassiveAggressiveClassifier - Avaliamos acurácia
Agora, vamos criar uma interface no terminal para o usuário testar a IA com entradas manuais!
✍️ Código do dia: classificador_interativo.py
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import PassiveAggressiveClassifier
# 1. Carrega e prepara os dados
df = pd.read_csv("fake_news_dataset_v2.csv")
df = df[['text', 'label']].dropna()
# 2. Vetoriza todos os dados
vectorizer = TfidfVectorizer(stop_words='english', max_df=0.7)
X = vectorizer.fit_transform(df['text'])
y = df['label']
# 3. Treina o modelo com todos os dados disponíveis
model = PassiveAggressiveClassifier(max_iter=50)
model.fit(X, y)
# 4. Inicia interface interativa
print("🧠 IA Detectora de Fake News iniciada!")
print("Digite uma notícia para saber se ela é FAKE ou REAL. Digite 'sair' para encerrar.\n")
while True:
entrada = input("📝 Digite a notícia: ")
if entrada.strip().lower() == 'sair':
print("👋 Encerrando o classificador. Até a próxima!")
break
entrada_vec = vectorizer.transform([entrada])
predicao = model.predict(entrada_vec)[0]
print(f"📣 Classificação: {predicao}\n")
✅ O que você aprendeu hoje
- Como usar um modelo treinado para prever novos dados
- Como transformar um script de IA em uma ferramenta interativa
- Como aplicar IA em casos reais e dinâmicos
💡 Dica: você pode agora criar uma interface gráfica com tkinter ou enviar essa entrada de texto via formulário de um site.
🎯 Desafio para praticar
Crie uma variação do classificador com:
- Exibição da probabilidade da previsão (use
predict_proba()com outro modelo, comoLogisticRegression) - Contagem de quantas notícias foram testadas
- Log dos resultados salvos num arquivo
.csv