NLP Academy · leksjon

Bygg en spamdetektor

Tren på merkede meldinger

Leksjon 2 av 413 trinn

Bygg en spamdetektor er en gratis leksjon i NLP Academy på CoddyKit. Dette er leksjon 2 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i NLP Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i NLP Academy inneholder totalt 4 leksjoner.

Deres første virkelige modell

Det er på tide å bygge noe nyttig: et spamfilter. De skal trene en klassifikator på merkede meldinger og la den vurdere helt nye meldinger.

Start med merkede data

Alle veiledede modeller trenger eksempler med svar. Her har hver melding en etikett for spam eller ham, det vennlige navnet på meldinger som ikke er spam.

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

Gjør tekst om til tall

Modellen kan ikke lese rå ord, så De må telle dem først. En CountVectorizer gjør hver melding om til en rad med ordtellinger.

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

Møt MultinomialNB

For ordtellinger er riktig verktøy MultinomialNB, den tellebaserte varianten av Naive Bayes som er innebygd i scikit-learn.

from sklearn.naive_bayes import MultinomialNB
model = MultinomialNB()

Tilpass modellen

Trening er én linje: gi modellen funksjonene og etikettene Deres. Kallet fit teller ord per klasse og lagrer sannsynlighetene.

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

Prediker ny e-post

For å vurdere en ny melding gjør De den om til vektorer på samme måte og kaller predict. Modellen returnerer sin beste gjetning for spam eller ham.

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

Bruk vektorisereren på nytt

Ny tekst må bruke det samme ordforrådet som modellen lærte. Kall alltid transform, aldri fit på nytt, ellers vil kolonnene ikke samsvare.

Se på sikkerheten

I tillegg til etiketten kan modellen oppgi hvor sikker den er. Metoden predict_proba gir en sannsynlighet for hver mulig klasse.

print(model.predict_proba(new))

Hold av et testsett

Evaluer aldri en modell på dataene den ble trent på. Skill ut et testsett slik at De kan måle hvordan den gjør det på usette meldinger.

Evaluer filteret

Kjør prediksjoner på meldingene som ble holdt tilbake, og sammenlign med fasiten. Denne nøyaktigheten forteller deg om spamfilteret faktisk fungerer. 📬

Iterer for å forbedre

Mer rene data og bedre forbehandling gir raskt bedre resultater. Se på dette filteret som en baseline du gradvis kan forbedre, ikke som et ferdig produkt.

Rask sjekk

Hvordan bør du klargjøre en ny melding før du lager en prediksjon for den?

Oppsummering

Du vektoriserte meldinger, trente MultinomialNB og predikerte spam i ny tekst. Når du bruker den tilpassede vektoriseringen på nytt, holder du funksjonene samkjørte. ✅

Gratis å komme i gang

Lær deg Python med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
30
Leksjoner
120

Ofte stilte spørsmål

Er leksjonen «Bygg en spamdetektor» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien NLP Academy, inkludert «Bygg en spamdetektor», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i NLP Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Bygg en spamdetektor»?

Tren på merkede meldinger Du øver på NLP Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med NLP Academy?

Ingen tidligere erfaring er nødvendig. NLP Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «Bygg en spamdetektor»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne NLP Academy-leksjonen?

Ja. Alle NLP Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Intuisjonen bak Naive Bayes
  2. Bygg en spamdetektor
  3. Multinomiske kontra Bernoulli-modeller
  4. Les modellens prediksjoner
← Tilbake til NLP Academy