[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 {
max_train = 1k; # Number of trains per epoch
max_usages = 50; # Number of learn iterations while ANN data is valid
spam_score = 12; # Score to learn spam
ham_score = -7; # Score to learn ham
learning_rate = 0.01; # Rate of learning (Torch only)
max_iterations = 25; # Maximum iterations of learning (Torch only)
rules {
"LONG" {
train {
max_trains = 200;
max_usages = 20;
max_iterations = 25;
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 = {
"NEURAL_SPAM" {
weight = 4.0; # sample weight
description = "Neural network spam";
"NEURAL_SPAM_LONG" {
weight = 3.7; # sample weight
description = "Neural network spam (long)";
}
"NEURAL_HAM" {
"NEURAL_HAM_LONG" {
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 {
name = "osb";
}
autolearn = false;
backend = "redis";
min_tokens = 11;
min_learns = 5;
new_schema = true;
expire = 2592000;
statfile {
symbol = "BAYES_HAM";
spam = false;
symbol = "BAYES_HAM";
spam = false;
}
statfile {
symbol = "BAYES_SPAM";
spam = true;
symbol = "BAYES_SPAM";
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 ip = task:get_from_ip()
if not ip:is_valid() then
if ip == nil or not ip:is_valid() then
return false
end
@ -174,6 +174,7 @@ rspamd_config:register_symbol({
end
return true
end,
flags = 'empty',
priority = 20
})

View File

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