Slovo "naivní" v kontextu "naivní bayesův filtr" má ovšem naprosto jiný význam, než zde autor uvádí. Vůbec se totiž nejedná o to, že bychom slova vybírali naivně.
Podstata se ukrývá v poněkud naivní úpravě Bayesova teorému, který ale dává výborné výsledky při vysoké rychlosti.
Mate samozrejme pravdu (s tim vyznamem). To slovo neni v clanku pouzite jako "terminus technicus", ale jako, rekneme, synonymum pro "jednoduse". Proto je taky v uvozovkach. Ale muze to mast.
SA obsahuje bayesovský klasifikátor jako jednu z komponent, tudíž psát, že bayesovský klasifikátor dělá něco na rozdíl od SA, je přinejmenším hodně nepřesné.
SA používá pro přiřazení vah abnormalitám genetický algoritmus optimalizující úspěšnost třídění, tudíž zpětnou vazbu má nepochybně lepší -- rozdíl je jen v tom, že váhy pravidel optimalizuje jen autor a pár šílenců, kdežto bayesovský klasifikátor si trénuje kdekdo.
> SA obsahuje bayesovský klasifikátor jako jednu z komponent
To samozrejme vim. Akorat ten vystup pak zmrsi tim, ze ho prevede na nejake hausnumero - skore.
> bayesovský klasifikátor dělá něco
Ja jsem nepsal dela, ale "ma" (fungujici zpetnou vazbu).
> SA používá pro přiřazení vah abnormalitám genetický algoritmus
> optimalizující úspěšnost třídění, tudíž zpětnou vazbu má nepochybně lepší
Prectete si, jak to cele funguje. Jednak od verze 3 je tam simulace neuronove site, ale to neni podstatne. Jestli je lepsi GA/NN nebo statistiky a-la Bayes bychom mohli debatovat dlouho, a nevim, jestli bychom se dobrali k nejakemu smysluplnemu vysledku.
Ale ve svetle faktu, ze cela zpetna vazba trva SA 4 tydny (http://wiki.apache.org/spamassassin/VirusScannerTypeUpdates) bych si o jejich lepsich vlastnostech dovolil dost silne pochybovat.
Stejne pochybny je fakt, ze tato vazba je pouze globalni - pro vsechny stejna. A to je IMHO velky omyl (viz casti clanku o obchazeni filtru). Pro cecha musi byt skore pro predmet mailu v ISO-8859-2 zcela zjevne jine, nez pro americana.
Asi by se dala ta zpetna vazba poustet lokalne, ale na to potrebujete uchovavat kompletni texty mailu (i kdyz by mozna stacilo uchovavat jen skore ruznych testu pro ne) a trvala by netrivialni dobu.
> Ale ve svetle faktu, ze cela zpetna vazba trva SA 4 tydny
> http://wiki.apache.org/spamassassin/VirusScannerTypeUpdates)
> bych si o jejich lepsich vlastnostech dovolil dost silne
> pochybovat.
Prosim? Ved si protirecite - vidite predsa, ze ta stranka sa tyka este verzie 2, kde je onen GA a nie NN.
Pokud spravne chapu vyznam slova "protirecite" ve slovenstine, tak nikoli ;-) Nic neznacuje, ze by pro verzi 3 byl princip prepocitavani jiny. Viz http://wiki.apache.org/spamassassin/HowScoresAreAssigned. Lisi se pouze algoritmus pouzivany pro nalezeni nejlepsich skore.
Ano, vztahuji. Pokud jsem to pochopil, tak vy si ty hodnoty nemuzete (jednoduse) ani sam spocitat.
sa-learn ale aktualizuje pouze databazi bayesovske komponenty, nikoli skore jednotlivych testu spamassassinovskeho filtru. Takze sa vam muze stat, ze vam budou chodit maily, chybne klasifikovane jako spamy - protoze budou matchovat nekolik kontrol s velkym skore. A s trochou smuly budou oznaceny jako spamy i kdyz Bayes rekne, ze je to 100% ham. Vy je pak muzete prohanet sa-learn jak chcete, ale porad se budou klasifikovat spatne.
To se tam jeste doplni lematizator, nekdo ho nazyva normalizatorem, ale nikdo zadny jednoduchy pro cestinu jeste nenaprogramoval.
To jsou ale teoreticke kecy o vyhledavani slov - mozna v anglictine, kde je minimalni ohebnost.
Proto bych prosil, aby nasi teoretici vzdy predem napsali: "Funguje to v anglictine, v cestine to je nepouzitelne, ale nam to nevadi, my jsme ten problem zanedbali, protoze si to nikdo neodvazi zase pripomenout, nebot my vsichni teoretici bychom ho za to jednotne priste vydusili."
Stejne je ale vetsina spamu v anglictine, takze o co vlastne jde?
Zdravim!
to ale neznamena ze je nenajde jinymi indikacemi nez BF. Mj nezaobirate se nekdo/neklapli jste nekdo z pritomnych na soubezne zpracovavani/uceni/sdileni informaci z vice serveru.
1) Resite problem, ktery neexistuje. Proste tam to slovo bude v ruznych tvarech. Dokonce to tak muze byt i lepsi. Budeme mit vice jistoty ve slovech, jejichz zakladni tvar je shodny s nejakym anglickym slovem. Sice budeme potrebovat o neco vice casu na nauceni a o neco vetsi DB, ale porad to bude snesitelne. (Navic byste musel obohatit antispam o detekci jazyka, abyste vedel, jaky lematizator pouzit. Krom toho muze mail obsahovat ruzne casti v ruznych jazycich.)
2) Definujte "jednoduchy lematizator" ;-) Ja zrovna nedavno jednu lematizacni knihovnu pouzival.
3) Autor je zaprisahly pragmatik.
4) A nejen to. Autor tu neprezentuje teoreticke plky, ale prakticke zkusenosti. On totiz jeden antispam zalozeny na bayesovskem filtrovani naprogramoval. Dokonce si jej muzete zdarma vyzkouset na mailu Centrum.cz ;-)
Autor by tedy mel popsat doopravdy, co vlastne naprogramoval - a ne plkat o castecne pravdive teorii,
Jedina pripominka pro spamery. Musite nasilne pouzivat totez ceske slovo v co nejvetsim poctu padu. To bude jeste dalsi dva roky trvat, nez nase linguisticka fronta pochopi, ze nejsnazsi je v cestina pokladat slova za stejna az na jedno ci dve pismena (vetsinou na konci).
A pak to nekdo prevede rovnou na fuzy mnoziny - a to teprve budeme koukat, jaky je to borec.
> Autor by tedy mel popsat doopravdy, co vlastne naprogramoval
To prave udelal.
> a ne plkat o castecne pravdive teorii,
Mozna byste nam mohl prozradit, co na ni tedy neni pravdiveho. Mne ta teorie funguje a ukazuje se jako pravdiva. Jake mate s programovaim bayesovskych filtru zkusenosti Vy? ;-)
> Jedina pripominka pro spamery.
Je mi lito, ale obavam se, ze spammeri zaplavujici nase inboxy diskuse na Lupe nejspis nectou :-)))
> Musite nasilne pouzivat totez ceske slovo v co nejvetsim poctu padu.
Napsano melo byt asi toto: Udelal jsem to jako v anglictine, ale za "slovo" jsem bral proste retezec znaku i pro cestinu (a jeji tyicky kod iso-8859-2 jsem ignoroval).
Presto mi to skoro funguje i na cestinu, i kdyz originalni teorie je vytvorena pro slovo a ne pro retezec znaku. Ale toho si u nas nikdo ani nevsimne.
To mate sice pravdu. Jenom nejak nechapu, jak se ve vasem pojeti lisi "slovo" a "retezec znaku pro cestinu".
Pokud jste chtel slyset: "Teorie sice byla vytvorena na jazyku s malou mirou morfovani slov, ale podle mych zkusenosti funguje stejne dobre i na jazyku s velkou mirou morfovani slov", tak to prave slysite.
Vyse uz jsem vysvetlil, proc vetsi mira morfovani muze vystup naopak zkvalitnit.
Zkuste si nainstalovat SpamBayes (nebo filtr na Centrum.cz) a pak pokračujte v diskuzi o tom, jestli filtr funguje. Nejspíš budete velmi příjemně překvapen.
Ale to je trosku stara historie, behem posledniho mesice nebo dvou se jeho shopnosti VELMI zlepsili(nedavno mi propustil jeden spam z asi 100 za 14dni).Takze jen tak dal:-)
Behem ledna? Odkdy presne? :-) Nekdy v puli ledna jsem anti-spam na centru musel vypnout, protoze byl (v mem pripade) zcela nepouzitelny v souvislosti s prijmem posty z ruznych mailovych konferenci. Nastaveni vyjimek nepomaha, protoze ty se (zrejme) vztahuji na adresy z From: a nikoli ze Sender:. Mozna by stalo za uvahu zaradit anti-spam/anti-virus mezi filtry - jako bezna pravidla. Pak by se dalo prostym predrazenim jineho pravidla definovat, ze zpravy s predmetem (s prefixem) xyz budou padat do slozky 123 a teprve /pote/ by se aplikovalo pravidlo pro spam. Ale mozna pro jednotlive stromy nevidim les a reseni je jine a uplne jednoduche ;)
A kdyz uz tak mam nekoho z centra "na lajne", tak prihodim dalsi dva problemy.
1. Zpravy od uzivatelu (tyka se porad konferenci!), kteri maji v hlavicce ve From: definovanu svoji adresu stylem "e-mail (jmeno prijmeni)" namisto beznejsiho "jmeno prijmeni <e-mail>, jsou zobrazeny jako by prisly z adresy konference nebo presneji jako adresa se zobrazi adresa z pole "Sender:". Trochu nonsense, ne?
2. Proc je pri pristupu pres web zkracen predmet na 20 pismen? Zvlaste v pripade zprav z konferenci s dlouhym prefixem (napr. [konference xyz] predmet) clovek vetsinou nema sanci identifikovat, ceho se dana zprava tyka. Nebylo by lepsi max. delku predmetu dynamicky pocitat na zaklade sirky okna prohlizece?
Jinak nemam vaznejsich pripominek, centrum funguje dobre :-)
Uz si presne nepamatuji, kdy... Mel jste tam uz tlacitko "Neni spam" (to je znakem noveho antispamu)? Pokud vim, tak s maily z konferenci nebyl vaznejsi problem - stacilo jich pripadne par oznacit tim tlatickem a pak to chodilo OK.
K tomu filtrovani - i kdyz mate antispam vypnuty, melo by byt mozne pouzivat podminku "mail je spam" ve filtrech - zkuste na konec pridat podminku "kdyz je mail spam, dat do slozky spamovy kos".
Ad 2: To bylo omezeni backendu. V nove verzi mailu (gigamail) uz zadna omezeni nejsou. I kdyz frontend to nejak omezuje, ale snad dobre; v ramci betatestovani si tam hodne lidi nechalo posilat i konference.
Ad 1: Kdyztak mi, prosim, jednu takovou zpravu preposlete, at ji mohu otestovat v gigamailu a pripadne opravit. Pripadne mi jeste nejaka pozvanka zbyla; mohu Vam ji poslat a muzete to vyzkouset sam ;-)
Moznost "Neni spam" tam byla. I po cca 14dnech uceni se nic nezlepsilo. Typicky byl jako spam neustale oznacovan kazdodenni automaticky vypis nove aktualizovanych dat jednoho projektu. Tykalo se to ovsem nejen tohohle celkem pochopitelneho pripadu, ale i jinych. Hlavicky tech danych zprav jsem pak uz moc neprohlizel, nemel jsem na to nervy :)
Ad filtrovani: takova moznost tam je, diky za radu. Vyzkousim.
Ad 1: Ukazku poslu, snad nekde najdu kontaktni e-mail :) Na gigamail bych se rad podival, ale obavam se, ze jako tester moc nepomuzu. Z casovych duvodu...
No, asi takhle... "bayesový" filtr to byt nemuze, protoze Bayes je jmeno. "bayesův" taky ne, protoze ho ten pan Bayes nevymyslel. Takze "bayesiansky" mi prisla jako docela dobra moznost.
Mimochodem. Mame kralovnu Viktorii. Styl v jejim obdobi je nazyvan cesky "viktoriansky", anglicky tusim "victorian". Nazev filtru je v anglictine "bayesian". Tedy "bayesiansky" se odvodi stejne jako "viktoriansky". Takze i v tomhle je to IMHO konzistentni.