Roskapostisuodattimen rakentaminen
Kouluta malli annotoiduilla viesteillä
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. ✅
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
- Naive Bayesin intuitio
- Roskapostisuodattimen rakentaminen
- Multinomiaaliset ja Bernoulli-mallit
- Mallin ennusteiden tulkitseminen