On Sun, 2009-08-02 at 11:53 -0700, an anonymous Nabble user wrote: > I have theory ...I know you will think thats bad but I tried explain how I > understand SA documentation. When I set the "bayes_min_spam_num 1" so it > means that Bayes learn system will be activate. And now for example: I got
As I just settled with RW in this very thread, the number of spam excee- ding the bayes_min_spam_num value does not activate Bayes *learn*ing. It means that Bayes will classify mail -- based on what it learned before. Learning, whether manual or automatic, always is available if use_bayes and bayes_auto_learn are enabled. The bayes_min_(ham|spam)_num values ONLY control, how many messages Bayes needs to have learned, before it should start classifying mail. And again, 1 is not a sane number. > mail. I use sa-learn --spam --file mail. SA save the mail(or some signature > to the database). And when I got the same mail again so Bayes looks to the > database a he says: aaaaa the same mail like in my database which is marked > like spam, and he mark the mail like spam. According to me is it logical. No. *sigh* I did explain this earlier today. This is NOT how Bayes works. Bayes does NOT keep signatures of entire messages. Instead, it keeps track of *tokens*, and the number they have been seen in ham or spam. Think of tokens as words. Please do read up on Bayes. And please stop re-iterating this false assumption. Given you repeating some "signature of a message", and your other thread regarding Razor (which does actually calculate some signatures for a message) -- I have a feeling you are confusing Bayes with Razor. They are entirely unrelated and do not use the same mechanisms. > What is strange when I use SA-LEARN so database dont expand the size, but > the time of modification is the same when I sa-learn started. It is a database. It is not a flat text file. There is nothing strange about updating values in a database, and not seeing it inflate proportional to your input data. -- char *t="\10pse\0r\0dtu...@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; }}}