[Rspamd] Remove per_user settings as they were pretty much useless, some minor changes to bayes"

master
André 2018-07-25 01:06:12 +02:00
parent 63ce1ba2d6
commit e2ed2eab53
1 changed files with 4 additions and 44 deletions

View File

@ -2,28 +2,12 @@ classifier "bayes" {
tokenizer { tokenizer {
name = "osb"; name = "osb";
} }
autolearn = false;
backend = "redis"; backend = "redis";
name = "per_domain_bayes";
min_tokens = 11; min_tokens = 11;
min_learns = 20; min_learns = 5;
new_schema = true; new_schema = true;
expiry = 50d; expire = 2592000;
per_user = <<EOD
return function(task)
local rcpt = task:get_recipients(1)
if rcpt then
one_rcpt = rcpt[1]
if one_rcpt['domain'] then
return one_rcpt['domain']
end
end
return nil
end
EOD
statfile { statfile {
symbol = "BAYES_HAM"; symbol = "BAYES_HAM";
spam = false; spam = false;
@ -32,28 +16,4 @@ EOD
symbol = "BAYES_SPAM"; symbol = "BAYES_SPAM";
spam = true; spam = true;
} }
learn_condition =<<EOD
return function(task, is_spam, is_unlearn)
local prob = task:get_mempool():get_variable('bayes_prob', 'double')
if prob then
local in_class = false
local cl
if is_spam then
cl = 'spam'
in_class = prob >= 0.95
else
cl = 'ham'
in_class = prob <= 0.05
end
if in_class then
return false,string.format('already in class %s; probability %.2f%%',
cl, math.abs((prob - 0.5) * 200.0))
end
end
return true
end
EOD
} }