https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6447

           Summary: new feature to bayes autolearning: learn-on-error
           Product: Spamassassin
           Version: 3.3.1
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: Learner
        AssignedTo: [email protected]
        ReportedBy: [email protected]


Here is a proposed patch to SA::Plugin::AutoLearnThreshold to implement
learn-on-error learning strategy, along with a control setting to
enable it, or to retain old behaviour (which is a default).

I have been envying the CRM114 classifier for a long time for having
this capability (which is its default and works well). Now that our
bayes database grew again to a huge size and slow operations, I decided
that it's about time to add this learning strategy to SpamAssassin too.

I took a simple approach on just testing for triggered rules - if someone
feels it should warrant some other under-the-hood approach, please suggest it.

The docs should be able to explain the new setting and learning strategy:



bayes_auto_learn_on_error (0 | 1)        (default: 0)

With C<bayes_auto_learn_on_error> off, autolearning will be performed
even if bayes classifier already agrees with the new classification (i.e.
yielded BAYES_00 for what we are now trying to teach it as ham, or yielded
BAYES_99 for spam). This is a traditional setting, the default was chosen
to retain backwards compatibility.

With C<bayes_auto_learn_on_error> turned on, autolearning will be performed
only when a bayes classifier had a different opinion from what the autolearner
is now trying to teach it (i.e. it made an error in judgement). This strategy
may or may not produce better future classifications, but usually works
very well, while also preventing unnecessary overlearning and slows down
database growth.



There is also a 'feature' subroutine which can be queried for the capability:

local.cf:

if can(Mail::SpamAssassin::Conf::feature_bayes_auto_learn_on_error)
bayes_auto_learn_on_error 1
endif

-- 
Configure bugmail: 
https://issues.apache.org/SpamAssassin/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

Reply via email to