Mark wrote:

> Nathanael,

>> Assuming no corpus-feeding, if dspam is trained
>> soley based on SA scoring decisions, ...
>> ...it would seem to me that in the end you have trained dspam
>> (via SA) to make the same decisions that SA would have made.
>> This means two things to me:
>> 1) dspam provides no additional benefit when used with SA because it
>> will have been trained by SA to make the same decision that SA itself
>> would have made.
>> 2) having dspam decisions adjust SA scores just magnifies the SA score
>> in either direction, i.e. increasing the risk of FP's and/or raising an
>> already-spam score or dropping an already-clean score.

> Your conclusions is correct. The auto-learning of dspam from SA is
> supposed to be just an additional feedback. To get good results
> with dspam one should train it manually as a primary mechanism.
> Still, for the lazy the current scheme works reasonably well,
> but it has the shortcomings you noted.

> Also the resulting positive feedback loop is a mistake, it would be
> better to change the current code to add the dspam score to the
> SA score by amavisd (instead of by a SA rule), which would prevent
> the positive feedback - the same way as is currently done within
> SA to train its Bayes db, which does not take into account the
> score from Bayes in training decisions. I'll put it on a TODO list,
> but if someone comes up with a patch, so much the better
> (as I no longer use dspam and won't be able to test it).

>   Mark

Is is possible at this point in the code to obtain the BAYES and DSPAM
scores, so they could be subtracted from the $spam_level? Is this even
a valid concept?

$dspam_retrained_header = "X-DSPAM-Retrained: No";
$dspam_score = numeric data from somewhere or 0 if not found;
$bayes_score = numeric data from somewhere or 0 if not found;

if (   (($spam_level - $dspam_score - $bayes_score) >  7.0 && $dspam_result eq 
'Innocent') {
$eat = 'SPAM'; push(@options, qw(--class=spam --source=error));
$dspam_retrained_header = "X-DSPAM-Retrained: Yes";
}
elsif (($spam_level - $dspam_score - $bayes_score) <  0.5 && $dspam_result eq 
'Spam') {
$eat = 'HAM'; push(@options, qw(--class=innocent --source=error));
$dspam_retrained_header = "X-DSPAM-Retrained: Yes";
}

The Retrained header would be nice.

Gary V



-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
AMaViS-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/amavis-user
AMaViS-FAQ:http://www.amavis.org/amavis-faq.php3
AMaViS-HowTos:http://www.amavis.org/howto/

Reply via email to