[Rspamd] Various fixes for Rspamd 2.0, neural network activated, autolearning activated (auto-keeps a ratio)

master
andryyy 2019-10-12 13:14:34 +02:00
parent 8783ec4415
commit ee57b5921f
No known key found for this signature in database
GPG Key ID: 8EC34FF2794E25EF
5 changed files with 52 additions and 24 deletions

View File

@ -1,13 +1,28 @@
train { rules {
max_train = 1k; # Number of trains per epoch "LONG" {
max_usages = 50; # Number of learn iterations while ANN data is valid train {
spam_score = 12; # Score to learn spam max_trains = 200;
ham_score = -7; # Score to learn ham max_usages = 20;
learning_rate = 0.01; # Rate of learning (Torch only) max_iterations = 25;
max_iterations = 25; # Maximum iterations of learning (Torch only) learning_rate = 0.01,
spam_score = 12;
ham_score = -7;
}
symbol_spam = "NEURAL_SPAM_LONG";
symbol_ham = "NEURAL_HAM_LONG";
ann_expire = 45d;
}
"SHORT" {
train {
max_trains = 100;
max_usages = 10;
max_iterations = 15;
learning_rate = 0.01,
spam_score = 9;
ham_score = -3;
}
symbol_spam = "NEURAL_SPAM_SHORT";
symbol_ham = "NEURAL_HAM_SHORT";
ann_expire = 7d;
}
} }
ann_expire = 80d;
timeout = 20; # Increase redis timeout
enabled = false;
use_settings = false; # If enabled, then settings-id is used to dispatch networks

View File

@ -1,10 +1,18 @@
symbols = { symbols = {
"NEURAL_SPAM" { "NEURAL_SPAM_LONG" {
weight = 4.0; # sample weight weight = 3.7; # sample weight
description = "Neural network spam"; description = "Neural network spam (long)";
} }
"NEURAL_HAM" { "NEURAL_HAM_LONG" {
weight = -4.0; # sample weight weight = -4.0; # sample weight
description = "Neural network ham"; description = "Neural network ham (long)";
}
"NEURAL_SPAM_SHORT" {
weight = 2.5; # sample weight
description = "Neural network spam (short)";
}
"NEURAL_HAM_SHORT" {
weight = -2.0; # sample weight
description = "Neural network ham (short)";
} }
} }

View File

@ -2,18 +2,23 @@ classifier "bayes" {
tokenizer { tokenizer {
name = "osb"; name = "osb";
} }
autolearn = false;
backend = "redis"; backend = "redis";
min_tokens = 11; min_tokens = 11;
min_learns = 5; min_learns = 5;
new_schema = true; new_schema = true;
expire = 2592000; expire = 2592000;
statfile { statfile {
symbol = "BAYES_HAM"; symbol = "BAYES_HAM";
spam = false; spam = false;
} }
statfile { statfile {
symbol = "BAYES_SPAM"; symbol = "BAYES_SPAM";
spam = true; spam = true;
}
autolearn {
spam_threshold = 12.0;
ham_threshold = -4.5;
check_balance = true;
min_balance = 0.9;
} }
} }

View File

@ -23,7 +23,7 @@ rspamd_config:register_symbol({
local redis_params = rspamd_parse_redis_server('keep_spam') local redis_params = rspamd_parse_redis_server('keep_spam')
local ip = task:get_from_ip() local ip = task:get_from_ip()
if not ip:is_valid() then if ip == nil or not ip:is_valid() then
return false return false
end end
@ -174,6 +174,7 @@ rspamd_config:register_symbol({
end end
return true return true
end, end,
flags = 'empty',
priority = 20 priority = 20
}) })

View File

@ -1,5 +1,4 @@
type = "console"; type = "console";
systemd = false; systemd = false;
level = "silent";
.include "$CONFDIR/logging.inc" .include "$CONFDIR/logging.inc"
.include(try=true; priority=20) "$CONFDIR/override.d/logging.custom.inc" .include(try=true; priority=20) "$CONFDIR/override.d/logging.custom.inc"