Spamassassin sa-learn

 ( kiuka | 2014. február 19., szerda - 15:18 )

Sziasztok,

van nekem egy postfixem, amin spamassassin szűrné a spameket, amit tanítgatnék is, ellenben ez nem igazán jön össze. hónapok óta adom neki a leveleket, ami spam / ham, de istennek nem tudja megtanulni, hogy melyik melyik.

például brands.hu -s hirlevelet (ami nem spam, mert tényleg fel van iratkozva) 99%-ra spamnek veszi, hiába adtam neki belőle már vagy 30-40 mailt

pts rule name description
---- ---------------------- --------------------------------------------------
5.0 BAYES_99 BODY: Bayes spam probability is 99 to 100%
[score: 1.0000]
0.4 HTML_IMAGE_RATIO_02 BODY: HTML has a low ratio of text to image area
0.0 HTML_MESSAGE BODY: HTML included in message

és például a bkik .hu vagy akármi leveleket meg folyton beengedi, annak ellenére hogy abból is már vagy 30-40et adtam neki hogy spam
X-Spam-Level: **
X-Spam-Status: No, score=2.4 required=5.0 tests=BAYES_50,HTML_IMAGE_ONLY_20,
HTML_IMAGE_RATIO_06,HTML_MESSAGE,MIME_HTML_ONLY,RP_MATCHES_RCVD
autolearn=disabled version=3.3.2

tanitani igy szoktam:
sa-learn --ham -u filter dir
sa-learn --spam -u filter dir

valakinek valami ötlete hogy mit csinálhatok rosszul, vagy hogy mivel tudnám hatékonyabbá tenni a tanítást? köszönöm a figyelmet

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

sa-learn --no-sync --spam --mbox /home/valaki/SPAM/*
sa-learn --sync

Ez így működni szokott.

azért 1 forget nem szokott rontani

szerintem a sync az default, bár a manualja nem irja, csak azt hogy ha az rekordok módositása után történik alapvetően, de azért beleraktam a script végére, rosszabb biztos nem lesz tőle:)
szerintem megtanulja őket, mert ki is irja hogy hány levélből tanult, csak valahogy nem igazán hatékonyan pld:
Learned tokens from 2010 message(s) (5492 message(s) examined)

neked mennyi levéllel kell tanítani, hogy spamként kezeljen valamit utána?

Ha megfigyeled, az elején no-sync van megadva. Akkor érdekes, ha sok leveled van. Ha rögtön szinkelsz, akkor darabonként játssza el, így meg a végén egyben.
Változó amúgy, volt, hogy egy után is tökéletesen megtalálta a haverjait és küldte a pékbe őket, de volt, amit több tanítás után.

"You need to train with both spam and ham mails. One type of mail alone will not have any effect."
"Another thing to be aware of, is that typically you should aim to train with at least 1000 messages of spam, and 1000 ham messages, if possible. More is better"
"Be careful that you train from the same source -- for example, if you train on old spam, but new ham mail, then the classifier will think that a mail with an old date stamp is likely to be spam."
"It's also worth noting that training with a very small quantity of ham, will produce atrocious results. You should aim to train with at least the same amount (or more if possible!) of ham data than spam."
http://spamassassin.apache.org/full/3.1.x/doc/sa-learn.html

az elején megtanitottam neki párezer ham-et, vagy ezt vajon folyamatosan kellene, nem elég egyszer?:)

btw kapott még pár ezret a biztonság kedvéért:)

A local.cf-be tudsz whitelist email címeket megadni.
http://wiki.apache.org/spamassassin/ManualWhitelist

"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."

köszönöm, ismerem és használom is, de szeretném ha a tanitásnak is lenne haszna

Fura egyebkent, nalam is van egy csomo olyan tipusu spam amit egyszeru"en keptelen megtanulni es kvazi muszaj blacklist-ezni. Pl ez a (mostanaban felenk legalabbis gyakori) "másol és tészta" ;) Mas tipusokat meg kapasbol, elso"re megtanul... fura, mindenesetre.

akkor nem vagyok egyedül:) pl az ilyen török, stb nyelvűeket nekem is egyből megtanulni és azóta nem is engedi be őket, de némelyiket képtelen..:(

ez mit ir?
sa-learn --dump magic

sa-learn --dump magic
0.000 0 3 0 non-token data: bayes db version
0.000 0 10099 0 non-token data: nspam
0.000 0 37133 0 non-token data: nham
0.000 0 185953 0 non-token data: ntokens
0.000 0 1378700731 0 non-token data: oldest atime
0.000 0 1392836230 0 non-token data: newest atime
0.000 0 0 0 non-token data: last journal sync atime
0.000 0 1392819932 0 non-token data: last expiry atime
0.000 0 2764800 0 non-token data: last expire atime delta
0.000 0 38947 0 non-token data: last expire reduction count