Table of Contents

Spam filter: Specifikace

Na této stránce jsou popsány požadavky, jimž musíte vyhovět! Jejich nedodržení by mohlo vést k tomu, že vaše řešení úlohy nebude uznáno jako platné!

  • Spam filtr musí fungovat v Pythonu 3.10.x, který bude nainstalován na strojích pro automatické hodnocení! Jinak se může stát, že vaše kódy nebudou fungovat správně!
  • Je dán předepsaný formát dat a metadat, která budete buď číst nebo vytvářet. Když jej nedodržíte, váš filtr nebude rozumět datům, která mu budeme předkládat při testování, nebo my nebudeme rozumět výstupům, které váš filtr vytvoří.
  • Úloha má definovány 3 kontrolní body, jejichž požadavky jsou detailně popsány níže:
    1. Specifikace pro sp_eval (individuální úloha, plníte každý sám).
    2. Specifikace pro sp_filt (týmová úloha, řešíte ve dvojicích).
    3. Specifikace pro sp_prez (týmový úloha, řešíte ve dvojicích).

1. ODEVZDÁNÍ: xx_sp_eval

Individuální úloha!

Účelem prvního kontrolního bodu je zajistit, že všichni máte k dispozici funkci, která správně ohodnotí kvalitu filtru. Předmětem testování v této fázi bude pouze funkce compute_quality_for_corpus() (a kód, který tato funkce využívá), jejíž detailnější specifikaci najdete v kroku 3.

Míra kvality filtru

“Kvalita filtru”, podle níž budou přidělovány body, se bude počítat podle následujícího vzorce:

$$q = \frac{TP + TN}{TP + TN + 10 \cdot FP + FN}$$

Pozitivní případy (P) zde odpovídají mailům, které filtr označil jako spam, negativní (N) pak těm, které filtr označil jako korektní emaily. FP tedy označuje počet korektních emailů označených jako spam, FN označuje počet spamů označených jako korektní email. Zdůrazňujeme, že hodnoty TP, FP, TN, FN ve výše uvedeném vzorci představují počty případů, nikoli procenta.

Co odevzdat?

2. ODEVZDÁNÍ: xx_sp_filt

Týmová úloha!

Cílem druhého kontrolního bodu je otestovat a ohodnotit vámi vytvořený filtr. Předmětem testování bude třída MyFilter, jejíž detailnější specifikace najdete v kroku 6.

Časové požadavky

Velikost uploadu

Filtr nesmí

Co odevzdat?

3. REPORT A PREZENTACE: xx_sp_prez

Týmová úloha!

V této úloze je vaším úkolem splnit krok 7, tj. vytvořit report a prezentaci k vašemu Spam filtru.

Co odevzdat?

Budete odevzdávat ZIP archiv s