NLP Academy · Oppitunti

Roskapostisuodattimen rakentaminen

Kouluta malli annotoiduilla viesteillä

Oppitunti 2/413 vaihetta

Roskapostisuodattimen rakentaminen on ilmainen NLP Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu NLP Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. NLP Academy-kurssilla on yhteensä 4 oppituntia.

Ensimmäinen oikea mallinne

On aika rakentaa jotakin hyödyllistä: roskapostisuodatin. Koulutatte luokittelijan merkityillä viesteillä ja annatte sen arvioida täysin uusia viestejä.

Aloittakaa merkitystä datasta

Jokainen ohjattu malli tarvitsee esimerkkejä, joihin liittyvät oikeat vastaukset. Tässä jokaisella viestillä on tunniste spam tai ham, joka on ystävällinen nimitys ei-roskapostille.

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

Muuttakaa teksti luvuiksi

Malli ei voi lukea raakoja sanoja, joten laskekaa ne ensin. CountVectorizer muuttaa jokaisen viestin sanamäärien riviksi.

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

Tutustukaa MultinomialNB:hen

Sanamäärille sopiva työkalu on MultinomialNB, Naive Bayesin lukumääriin perustuva muunnelma, joka kuuluu suoraan scikit-learn-kirjastoon.

from sklearn.naive_bayes import MultinomialNB
model = MultinomialNB()

Sovittakaa malli

Koulutus onnistuu yhdellä rivillä: antakaa mallille piirteenne ja tunnisteenne. fit-kutsu laskee sanamäärät luokittain ja tallentaa todennäköisyydet.

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

Ennustakaa uusi viesti

Arvioidaksenne uuden viestin muuttakaa se vektoriksi samalla tavalla ja kutsukaa predict-metodia. Malli palauttaa parhaan arvauksensa siitä, onko viesti spam vai ham.

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

Käyttäkää vektoroijaa uudelleen

Uuden tekstin on käytettävä samaa sanastoa, jonka malli oppi. Kutsukaa aina transform-metodia, älkääkä sovittako mallia uudelleen, jotta sarakkeet pysyvät kohdakkain.

Kurkistakaa varmuuteen

Tunnisteen lisäksi malli voi ilmoittaa, kuinka varma se on. predict_proba-metodi antaa todennäköisyyden jokaiselle mahdolliselle luokalle.

print(model.predict_proba(new))

Jättäkää testijoukko sivuun

Älkää koskaan arvioiko mallia datalla, jolla se koulutettiin. Erotelkaa testijoukko, jotta voitte mitata, miten malli toimii näkemättömillä viesteillä.

Arvioikaa suodatin

Suorittakaa ennusteet erillään pidetyille viesteille ja verratkaa niitä todellisiin luokkiin. Tämä tarkkuus kertoo, toimiiko roskapostisuodatin todella. 📬

Parantaminen iteroimalla

Puhtaampi data ja parempi esikäsittely parantavat tuloksia nopeasti. Käsitelkää tätä suodatinta vertailutasona, jota voitte jatkuvasti kehittää, ei valmiina tuotteena.

Pikatarkistus

Miten uusi viesti pitäisi valmistella ennen ennusteen tekemistä?

Kertaus

Vektorisointitte viestit, koulutitte MultinomialNB-mallin ja ennustitte uuden tekstin olevan roskapostia. Koulutetun vektoroijan käyttäminen uudelleen pitää piirteet yhdenmukaisina. ✅

Aloita maksutta

Opi Python tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
30
Oppitunnit
120

Usein kysytyt kysymykset

Onko oppitunti ”Roskapostisuodattimen rakentaminen” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa NLP Academy-oppimispolun 3 oppituntia, myös oppitunnin “Roskapostisuodattimen rakentaminen”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. NLP Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Roskapostisuodattimen rakentaminen”?

Kouluta malli annotoiduilla viesteillä Harjoittelet NLP Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni NLP Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin NLP Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.

Kuinka kauan ”Roskapostisuodattimen rakentaminen”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä NLP Academy-oppitunnilla?

Kyllä. Jokainen NLP Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Naive Bayesin intuitio
  2. Roskapostisuodattimen rakentaminen
  3. Multinomiaaliset ja Bernoulli-mallit
  4. Mallin ennusteiden tulkitseminen
← Takaisin: NLP Academy