Como Detectar Fake News com Python e IA

Aprenda a usar inteligência artificial com Python para detectar fake news automaticamente. Projeto com dados reais, código comentado e explicações claras.

Compartilhe

Como Detectar Fake News com Python e IA — Projeto Prático
This entry is parte 20 de 24 in the series Python + IA: Fundamentos e Projetos Práticos

Python + IA: Fundamentos e Projetos Práticos

Python para Iniciantes: Instalando o Ambiente, Sintaxe e Variáveis (Dia 1/30)

Ambiente, Sintaxe Básica e Variáveis em Python — Bootcamp Dia 1

Como Trabalhar com Listas no Python — Bootcamp Dia 6

Como Trabalhar com Listas no Python — Bootcamp Dia 6

Tuplas e Sets em Python — Estruturas Imutáveis e Conjuntos Inteligentes

Tuplas e Sets em Python — Estruturas Imutáveis e Conjuntos Inteligentes | Bootcamp Dia 7

Como Usar Dicionários em Python — Bootcamp Python + IA Dia 8

Dicionários em Python: chave e valor, o jeito inteligente de armazenar dados

Como Criar Funções em Python — Parâmetros, Retorno e Reutilização

Funções em Python: Escreva Menos, Faça Mais

Como Tratar Erros em Python com try, except e finally

Tratamento de Erros em Python: programe com segurança

Leitura e Escrita de Arquivos em Python

Leitura e Escrita de Arquivos em Python: salve seus dados no mundo real

Como Salvar Listas de Dicionários em Arquivo JSON com Python

Salvando Dados Estruturados com JSON em Python

Funções com Múltiplos Retornos em Python — Análise de Dados com Elegância

Funções com Múltiplos Retornos em Python: eficiência e organização

Parâmetros Opcionais e Valores Padrão em Python

Parâmetros Opcionais e Valores Padrão em Python

Como Usar args e kwargs em Funções Python

*args e **kwargs em Python: flexibilidade total nas funções

Como Usar List Comprehensions em Python

List Comprehensions em Python: código elegante e eficiente

Como Manipular Arquivos CSV com Python

Manipulando Arquivos CSV com Python: automatize leitura e escrita de dados

Como Usar Pandas em Python para Análise de Dados

Começando com Pandas em Python: análise de dados para IA e automações

Como Limpar e Preparar Dados com Pandas | Bootcamp Dia 20

Limpeza e Transformação de Dados com Pandas: preparando para IA

Como usar a OpenAI com Python (API Atualizada, GPT-3.5)

Inteligência Artificial com Python: Fundamentos e Primeira Integração com a OpenAI

Como Classificar Textos com IA e Python (Zero-Shot Classification)

Classificação de Texto com IA: Detectando Temas e Categorias

Como Criar Textos com Python e IA (NLP + GPT-2)

Geração de Texto com IA: Criando Respostas Inteligentes com Python

Como Criar um Chatbot com IA em Python (com DialoGPT)

Chatbot com IA em Python: Construindo um Assistente Inteligente

Como Detectar Fake News com Python e IA — Projeto Prático

Como Detectar Fake News com Python e IA

Como Criar uma Interface com IA em Python para Detectar Fake News

Como Criar uma Interface com IA em Python para Detectar Fake News

Como Avaliar a Qualidade de um Modelo de IA com Python

Como Avaliar a Qualidade de um Modelo de IA com Python — Além da Acurácia

Como Balancear Dados e Validar Modelos com Python e IA

Como Balancear Dados e Validar Modelos com Python e IA

Classificador de Fake News com Interface Web em Python (Streamlit)

Projeto Final: Criando um Classificador de Fake News com Interface Web em Python (Streamlit)

Hoje vamos treinar um modelo de IA para detectar notícias falsas (fake news) com base em texto.

É um projeto real que aplica NLP (Processamento de Linguagem Natural) e Machine Learning com Python.


🧠 O que é a detecção de fake news?

É a tarefa de classificar uma notícia como VERDADEIRA ou FALSA com base em seu conteúdo textual. Isso ajuda a:

  • Combater desinformação em massa
  • Criar filtros automáticos em redes sociais
  • Ajudar jornalistas e plataformas de checagem

🧰 O que usamos

FerramentaFunção
pandasManipulação de dados em tabela (CSV)
scikit-learnMachine Learning e avaliação
TfidfVectorizerTransforma texto em números
PassiveAggressiveClassifierAlgoritmo eficiente para dados de texto

📦 Instale os pacotes

pip install pandas scikit-learn

📂 Dataset de exemplo

📥 Baixar fake_news_dataset.csv

Esse CSV contém 10 notícias (5 reais, 5 falsas) com colunas title, text e label.


🐍 Código Python:

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import PassiveAggressiveClassifier
from sklearn.metrics import accuracy_score

# Carrega o dataset
df = pd.read_csv("fake_news_dataset_v2.csv")
df = df[['title', 'text', 'label']].dropna()

# Divide os dados
X_train, X_test, y_train, y_test = train_test_split(
    df['text'], df['label'], test_size=0.25, random_state=7)

# Vetorização dos textos
vectorizer = TfidfVectorizer(stop_words='english', max_df=0.7)
X_train_vec = vectorizer.fit_transform(X_train)
X_test_vec = vectorizer.transform(X_test)

# Treinamento do classificador
model = PassiveAggressiveClassifier(max_iter=50)
model.fit(X_train_vec, y_train)

# Teste do modelo
y_pred = model.predict(X_test_vec)
score = accuracy_score(y_test, y_pred)

# Exibir resultados
resultado_df = pd.DataFrame({
    'Texto': X_test.values,
    'Real': y_test.values,
    'Previsto': y_pred
})

print("📋 Classificação de Notícias:")
print(resultado_df.to_string(index=False))
print(f"\n🔍 Acurácia: {round(score * 100, 2)}%")

✅ Aprendizado do Dia

Você aprendeu a:

  • Ler um dataset de texto
  • Transformar esse texto em dados numéricos (vetorização)
  • Treinar um modelo real de classificação
  • Avaliar e interpretar o resultado

🧪 Desafio

Crie um novo arquivo meu_classificador.py com os seguintes ajustes:

  • Treine o modelo com 100% dos dados (test_size=0)
  • Faça uma interface interativa via input():
    • Usuário digita um texto
    • O modelo responde se parece REAL ou FAKE
  • Permita digitar várias vezes até o usuário escrever “sair”

Python + IA: Fundamentos e Projetos Práticos

Chatbot com IA em Python: Construindo um Assistente Inteligente Como Criar uma Interface com IA em Python para Detectar Fake News