Loren Wilton wrote:
>>> You have a bit of a chicken and egg problem at the start. Until
>>> some learning takes place in the system.

> Two possibilities. The rules exist and have scores. Assume they are
> maintained, for whatever reason.
> 1. Until Bayes has enough info to kick in, classification is done
> by the scores. Then when Bayes kicks in the scores turn off (insofar
> as adding to themessage score, they might still show up as tokens in
> the message that Bayes will process).
> 2. Divide all the scores by 10 or 20. The leave them on. Pretty
> soon bayes will override almost any reasonable score combination.
> BTW, while ham rules are possible, SA has almost no ham rules; perhaps
> two or so. Spammers long ago found they could write their spams to
> match ham rules and thus bypass SA. Thus, no ham rules, no spmammer
> workarounds. Of course personal or ste specific ham rules will
> generally still work, since they will not be public knowledge and
> spammers won't be able to target them.
> I suspect you can find all rule names in PerMsgStatus. However the
> latest SA versions have implemented a 'check' plugin that actually
> runs the rules and accumulates the score. The rule running was moved
> to a plugin so that people could, at least in theory, change the order
> or the way that rules are run. It sounds like that is what you want
> to do, so a modified Check plugin may well be the way to go.
> I don't understand though why you are interested in the names of all
> rules run; I don't see what it buys you. Currently ALL rules are run,
> unless short-circuiting is in effect, and by default it mostly isn't.
> In any case, if a rule doesn't hit on a message, the name of the rule
> is probably irrelevent. It might have missed because the message is
> ham, but it even more likely missed because it simply targets a
> different kind of spam. So assuming that "rules not hit" === "good
> tokens" is unlikely to be the case.
> You should be able to get Bayes to scan the rule names hit pretty
> easily. Bayes is just about the last rule; I think Awl comes after
> it. You might want to change that order, which I suspect you can do
> in the Check plugin. You could then modifty the Check code to push the
> rule names into a special header line before calling Bayes. This
> could probably be done in Check, and could certainly be done by a
> one-off plugin that you wrote. It would be called by a special rule
> just before Bayes is called, and again, it would add the current rule
> names to a special header bayes could see.
> Of course you have to modify Check to drop out the scores for the
> non-byes rules. Either that or rescore all of the rules.

Just a thought - what if we had some central servers for real time
reporting where the SA rule hits and scores were reported in real time
for some sort of live scoring or analysis or dynamic adjusting? Just
thinking out loud here.