Spam filtr
Úloha bude představena na přednášce přibližně ve 4. týdnu. Filtrování spamu je velmi praktická úloha s velkým reálným dopadem. Současně je to představitel jisté třídy problémů, s nimiž se setkáváme ve strojovém učení, a lze na ní ukázat jejich typické rysy.
Co nám přinese úloha "Spam filtr"?
Ukážeme si základní principy, na nichž jsou postaveny spam filtry.
Dozvíme se (velmi neformálně), co je to data mining.
Ukážeme si, jak lze Python využít na strojové zpracování textů.
Procvičíme si Python na další úloze.
Některá z uvedených témat budou jen zlehka naťuknuta, ovšem se studenty, kteří se budou cítit nevytížení, lze domluvit individuální přístup.
Cíle
Na úloze chceme ukázat následující:
Pro řešení některých problémů je schopnost učení (adaptace) zcela zásadní.
Automatické učení obsahuje jistá úskalí, na která je třeba dát si pozor.
Existuje celá řada úloh, u nichž je poměrně obtížné posoudit kvalitu řešení.
Vaším prvořadým úkolem v této úloze nebude vytvoření kvalitního spam filtru, jak by se mohlo zdát. Metody, které by vám v tom mohly pomoci, ještě neznáte a dozvíte se o nich v dalším průběhu studia. Vaším úkolem bude především
pochopit, oč v této úloze jde, úlohu analyzovat a dekomponovat,
vytvořit si sadu funkcí či objektů v jazyce Python, které by vám umožňovaly snadno použít spam filtr (až nějaký budete mít) a vyhodnotit jeho kvalitu, příp. porovnat dva a více spam filtrů, a
vytvořit jednoduchý (třeba i velmi primitivní) spam filtr, který bude možno použít v rámci vytvořeného “frameworku”.
Data
K dispozici máte 2 sady dat pocházející ze stejného zdroje. Upozorňujeme, že závěrečné hodnocení vašeho spam filtru bude probíhat na jiné sadě dat - váš spam filtr by měl více méně fungovat i na tato nová data.