On Tue, 2014-07-01 at 18:43 -0500, Steve Bergman wrote:
> On 07/01/2014 06:09 PM, RW wrote:
> > I'm sceptical about the use of Dovecot-Antispam with Spamassassin.
> > The problem is that it trains on SpamAssassin errors rather than Bayes
> > errors. It may be possible to get sufficient spam this way, but ham
> > is learned very slowly through avoidable FPs.
> 
> We currently (early days for this installation) get plenty of spam for 
> the users to train by moving it to the junk folder. Ham was the problem. 
> Dovecot does nothing about training ham.

Dovecot (and its antispam plugin) does nothing about training ham,
either. It offers target folders and triggers, for easy manual (re-)
classification -- and thus training -- of ham and spam.

> That's why I have a line in the users' default .forward file to train
> incoming mail as ham.

That's pretty bad practice. Fundamentally, you are implementing a custom
auto-learn flavor, overruling the SA configurable auto-learn behavior
and ignoring all safety concepts implemented by SA. There's a reason for
the ham and spam learning thresholds, and the ham threshold to be 0.1 by
default, *not* equaling required_score's default of 5.0.

> Then if they or Thunderbird decide to move the mail to Junk, it gets
> re-trained as spam.

So if a user in a hurry simply deletes some spam, it will remain ham, as
far as Bayes is concerned.


> dovecot-antispam is *not* a complete solution, so far as I can see.
> 
> At this early stage, it *is* painful to watch all that spam coming in 
> over the weekend getting trained as ham. I tell my users to mark it as 
> spam on Monday morning. And if they don't, I just figure it's not my fault.

It is your fault to implement a broken training strategy.

> Once the token databases get larger there won't be so much potential 
> flux back and forth, I guess.


-- 
char *t="\10pse\0r\0dtu\0.@ghno\x4e\xc8\x79\xf4\xab\x51\x8a\x10\xf4\xf4\xc4";
main(){ char h,m=h=*t++,*x=t+2*h,c,i,l=*x,s=0; for (i=0;i<l;i++){ i%8? c<<=1:
(c=*++x); c&128 && (s+=h); if (!(h>>=1)||!t[s+h]){ putchar(t[s]);h=m;s=0; }}}

Reply via email to