Děkuji za vysvětlení.
To jsem za celý život nepochopil, jak doopravdy lze implementovat linguistické teorie.
Dodatečně se omlovám všem svým studentům, že jsem se nenaučil programovat - a tak způsobil, že jejich teorie neberou u počítačů moc vážně. Ale snad se konečně začíná blýskat na lepší časy!
Ja nerikam nic o linguistickych teoriich. Rikam pouze to, ze pro antispamovy filtr neni lematizator potreba. Pokud mate nejakou vyhradu - mohl byste byt, prosim, konkretni?
Dost pouzivany Spam Assasin pouziva druhu metodu ... teda prevedie "slovo" (skupinu znakov) na zakladny tvar a zaroven si zachova aj povodny tvar ... nemyslim si, ze by to bolo zle riesenie.
Tohle jsem resil na konci minuleho dilu (ne tento konkretni pripad, ale obecne). Ono to ASCII art sdeleni neni moc pusobive. Spam je hlavne reklama a ta musi zaujmout. Navic hlavicky a subject do ASCII artu neprepisete :-) Asi proto se rozhodne se vic pouzivaji obrazky, nez ASCII art.
> slovnikem nejpouzivanejsich NONspamovejch
Takovy slovnik bych chtel videt ;-) On je totiz pro kazdeho uzivatele jiny 9opet viz predchozi dil).
> Dost pouzivany Spam Assasin pouziva druhu metodu ...
Myslite bayesovsky filtr obsazeny v SA? A zakladnim tvarem myslite prevedeni na mala pismena atp? To je mozne.
Co se tyce vlastnosti: Ve vysledku muzete mit v hodnoceni dve informace se silnou korelaci (poruseni principu nezavislosti). Tipuji, ze ten zakladni tvar bude mit hodnoceni pomerne blizko k polovine, takze ve vetsine pripadu se do "uzsiho vyberu asi nedostane"... Navic pokud pocitate v mailu jako skutecnosti pouze vyskyty slov (coz SA dela), tak to asi prilis nevadi. Mozna v nekterych pripadech to muze mit nizsi ucinnost/jistotu (ten zakladni tvar bude hodnoceni tahnout ke stredu). Ale zas to bude mit kratsi dobu uceni.
Takze muj teoreticky zaver je, ze to neni vylozene spatne (zvlast vzhledem k hodnoticimu systemu SA - viz predchozi dil), ani (zrejme) nijak genialni. Realne vlastnosti by se museli overit experimentalne.
Ten algoritmus má ale jednu podmínku pro správné fungování, kterou jsem vám minule zatajil. Pravděpodobnosti, se kterými počítá, musí být nezávislé. To však není v praxi splněno.
Proč si myslíte, že pro správnou funkci musí být vlastnosti na sebe kolmé (vzájemně nezávislé)? Není to tak docela pravda. Bayesiánský klasifikátor funguje, i když jsou některé vlastnosti totožné.
Je pravda, že, když některé vlastnosti nejsou na sebe kolmé, tak klasifikátor nefunguje optimálně rychle, ale funguje. Důležité je, aby na sebe kolmých vlastností (nebo aspoň téměř kolmých) bylo dostatečně mnoho a tyto vlastnosti byly co nejvíce diskriminující - čím větší pravděpodobnost, že se podle dané vlastnosti rozhodne správně, tím lépe.
Protože slovník je velmi rozsáhlý soubor vlastností, je prakticky nemožné vybrat, které vlastnosti jsou ty nejvhodnější. Existují algoritmy, jak nalézt aspoň dostatečně dobrou skupinu takových vlastností, ale i tak je to výpočetně velmi složitá procedura. Proto, když to není nezbytně nutné, je lepší výběr nedělat, nebo ho udělat nějak naivně s rizikem, že v něm zůstanou vzájemně na sobě závislé vlastnosti.
Ten algoritmus má ale jednu podmínku pro správné fungování, kterou jsem vám minule zatajil. Pravděpodobnosti, se kterými počítá, musí být nezávislé. To však není v praxi splněno.
Proč si myslíte, že pro správnou funkci musí být vlastnosti na sebe kolmé (vzájemně nezávislé)? Není to tak docela pravda. Bayesiánský klasifikátor funguje, i když jsou některé vlastnosti totožné.
Je pravda, že, když některé vlastnosti nejsou na sebe kolmé, tak klasifikátor nefunguje optimálně rychle, ale funguje. Důležité je, aby na sebe kolmých vlastností (nebo aspoň téměř kolmých) bylo dostatečně mnoho a tyto vlastnosti byly co nejvíce diskriminující - čím větší pravděpodobnost, že se podle dané vlastnosti rozhodne správně, tím lépe.
Protože slovník je velmi rozsáhlý soubor vlastností, je prakticky nemožné vybrat, které vlastnosti jsou ty nejvhodnější. Existují algoritmy, jak nalézt aspoň dostatečně dobrou skupinu takových vlastností, ale i tak je to výpočetně velmi složitá procedura. Proto, když to není nezbytně nutné, je lepší výběr nedělat, nebo ho udělat nějak naivně s rizikem, že v něm zůstanou vzájemně na sobě závislé vlastnosti.
Nicmene myslim, ze nejsme ve sporu. Jen jsem asi mel vice zduraznit, ze funguje i kdyz nejsou kolme, jenom hure. A ze to ve vetsine pripadu v praxi nevadi (az na ten problem s HTML).
"... teda prevedie "slovo" (skupinu znakov) na zakladny tvar ..."
A toto je právě "sgallovština". Nikdo neví, co po překladu (z cizí literatury) asi tak může znamenat "zakladny tvar". To ale nevadí, aby se to nedalo diplomantům programovat. (Natož aby je to naprogramovat někdo naučil. Hlavně, když se do diplomky opíše neimlementovaná teorie, protože se stejně muselo udělat plno zanedbání. Vždyť na to v životě nikdo nepřijde.)