NLP Academy · Aula

Criando um detector de spam

Treine com mensagens rotuladas.

Aula 2 de 413 etapas

Criando um detector de spam é uma aula grátis de NLP Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de NLP Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de NLP Academy inclui 4 aulas no total.

Seu primeiro modelo real

É hora de construir algo útil: um filtro de spam. Você treinará um classificador com mensagens rotuladas e deixará que ele avalie mensagens totalmente novas.

Comece com dados rotulados

Todo modelo supervisionado precisa de exemplos com respostas. Aqui, cada mensagem vem com um rótulo de spam ou legítima, o nome amigável para uma mensagem que não é spam.

messages = ["win cash now", "lunch at noon?", "free prize click"]
labels = ["spam", "ham", "spam"]
print(len(messages), len(labels))

Transforme texto em números

O modelo não consegue ler palavras brutas, então você deve contá-las primeiro. Um CountVectorizer converte cada mensagem em uma linha de contagens de palavras.

from sklearn.feature_extraction.text import CountVectorizer
vec = CountVectorizer()
X = vec.fit_transform(messages)

Conheça o MultinomialNB

Para contagens de palavras, a ferramenta certa é o MultinomialNB, a variante do Naive Bayes baseada em contagens e integrada ao scikit-learn.

from sklearn.naive_bayes import MultinomialNB
model = MultinomialNB()

Ajuste o modelo

O treinamento ocupa uma linha: forneça ao modelo suas características e seus rótulos. A chamada fit conta as palavras por classe e armazena as probabilidades.

model.fit(X, labels)
print("trained on", X.shape[0], "messages")

Preveja novos e-mails

Para avaliar uma mensagem nova, transforme-a em vetor da mesma maneira e chame predict. O modelo retorna seu melhor palpite de spam ou mensagem legítima.

new = vec.transform(["free cash prize"])
print(model.predict(new))

Reutilize o transformador de vetores

Textos novos precisam usar o mesmo vocabulário aprendido pelo modelo. Sempre chame transform, nunca faça o ajuste novamente, ou as colunas não ficarão alinhadas.

Veja o nível de confiança

Além do rótulo, o modelo pode informar o quanto está seguro. O método predict_proba fornece uma probabilidade para cada classe possível.

print(model.predict_proba(new))

Separe um conjunto de teste

Nunca avalie um modelo com os dados usados para treiná-lo. Separe um conjunto de teste para medir seu desempenho em mensagens que ele não viu.

Avalie o filtro

Execute previsões nas mensagens reservadas para avaliação e compare-as com a verdade. Essa precisão informa se o seu filtro de spam realmente funciona. 📬

Itere para melhorar

Mais dados limpos e um pré-processamento melhor elevam os resultados rapidamente. Trate este filtro como uma linha de base que pode ser aprimorada continuamente, não como um produto finalizado.

Verificação rápida

Como o senhor deve preparar uma nova mensagem antes de fazer uma previsão sobre ela?

Recapitulação

O senhor vetorizou mensagens, treinou MultinomialNB e previu spam em um texto novo. Reutilizar o vetorizador ajustado mantém seus atributos alinhados. ✅

Grátis para começar

Aprenda Python com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
30
Aulas
120

Perguntas Frequentes

A aula “Criando um detector de spam” é grátis?

Sim — o texto completo de “Criando um detector de spam” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de NLP Academy, atualize para CoddyKit PRO. O curso de NLP Academy inclui 4 aulas no total.

O que vou aprender em “Criando um detector de spam”?

Treine com mensagens rotuladas. Você pratica NLP Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar NLP Academy?

Nenhuma experiência prévia é necessária. NLP Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Criando um detector de spam”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de NLP Academy?

Sim. Cada aula de NLP Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. A intuição por trás do Naive Bayes
  2. Criando um detector de spam
  3. Modelos multinomiais versus Bernoulli
  4. Lendo as previsões do modelo
← Voltar para NLP Academy