aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2021-10-23 19:36:48 +0100
committerGitHub <noreply@github.com>2021-10-23 19:36:48 +0100
commit08b715640c6627133965f96c55112548b19a9aa5 (patch)
treee9fd21fc92a2f282001eef893943c7773173c106
parent4bb39dc34035b847b072e0235fabd7004c6b7a7b (diff)
parent14530e6a7c37eecc7c2441000006b423368b171f (diff)
downloadrspamd-08b715640c6627133965f96c55112548b19a9aa5.tar.gz
rspamd-08b715640c6627133965f96c55112548b19a9aa5.zip
Merge pull request #3936 from dminuoso/add-junk-threshold
[Feature] Add junk_threshold for autolearn
-rw-r--r--conf/statistic.conf5
-rw-r--r--lualib/lua_bayes_learn.lua5
2 files changed, 8 insertions, 2 deletions
diff --git a/conf/statistic.conf b/conf/statistic.conf
index 60b6dcb3e..5fea48320 100644
--- a/conf/statistic.conf
+++ b/conf/statistic.conf
@@ -44,8 +44,9 @@ classifier "bayes" {
# Autolearn sample
# autolearn {
- # spam_threshold = 6.0; # When to learn spam (score >= threshold)
- # ham_threshold = -0.5; # When to learn ham (score <= threshold)
+ # spam_threshold = 6.0; # When to learn spam (score >= threshold and action is reject)
+ # junk_threshold = 4.0; # When to learn spam (score >= threshold and action is rewrite subject or add header, and has two or more positive results)
+ # ham_threshold = -0.5; # When to learn ham (score <= threshold and action is no action, and score is negative or has three or more negative results)
# check_balance = true; # Check spam and ham balance
# min_balance = 0.9; # Keep diff for spam/ham learns for at least this value
#}
diff --git a/lualib/lua_bayes_learn.lua b/lualib/lua_bayes_learn.lua
index ae8d901f8..a059c6374 100644
--- a/lualib/lua_bayes_learn.lua
+++ b/lualib/lua_bayes_learn.lua
@@ -92,6 +92,11 @@ exports.autolearn = function(task, conf)
log_can_autolearn(verdict, score, conf.spam_threshold)
learn_spam = true
end
+ elseif verdict == 'junk' then
+ if conf.junk_threshold and score >= conf.junk_threshold then
+ log_can_autolearn(verdict, score, conf.junk_threshold)
+ learn_spam = true
+ end
elseif verdict == 'ham' then
if conf.ham_threshold and score <= conf.ham_threshold then
log_can_autolearn(verdict, score, conf.ham_threshold)