Warning
This page is located in archive. Go to the latest version of this course pages. Go the latest version of this page.

Spam filtr

Filtrování spamu je velmi praktická úloha s velkým reálným dopadem. Je to představitel klasifikačního problému, s nimiž se setkáváme ve strojovém učení, a lze na ní ukázat jejich typické rysy. Vyžaduje práci s nestrukturovanými daty (textem). Lze ji řešit velkou škálou metod - od jednoduchých až po velmi propracované.

Přínos úlohy pro studenty

  • Studenti si procvičí objektové programování v Pythonu a práci s nestrukturovanými daty (textem).
  • Studenti si vyzkouší řešení složitější úlohy, která vyžaduje spolupráci několika tříd.
  • Studenti se seznámí s prvky automatického testování softwaru - s unit testy.
  • Studenti se na praktické úloze seznámí se základními principy strojového učení (jak ohodnotit kvallitu filtru, trénovací/testovací data, …).
  • Studenti zažijí pocit, že zvládnou vyřešit netriviální úlohu.
  • V závěrečném srovnání studenti zjistí, zda lépe fungují člověkem navržené filtry nebo filtry schopné sami se učit z dat.

Cíle úlohy

Vaším prvořadým úkolem v této úloze nebude vytvoření co nejkvalitnější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 je především

  • pochopit, oč v této úloze jde, úlohu analyzovat a dekomponovat,
  • vytvořit si sadu funkcí či tříd v jazyce Python, které vám umožní 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”.
courses/b4b33rph/cviceni/spam/start.txt · Last modified: 2018/07/17 13:25 (external edit)