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/