Регистрация...

Eserv Forum / E4 / Mail / О спаме и фильтре оного

wikipost // (v1)
Продукты и услуги Скачать Документация Купить Поддержка Форумы Партнёрам Статьи О компании
Времени суток доброго. Вопрос задать хочу: если у меня настройки пользователя имеют галку на чекбоксе "доставлять спам в inbox", то будет-ли проводится фильтрация спама в принципе?
Почему вопрос возник: который день ковыряюсь в аккаунте для неклассифицированной почты, и который день обучаю фильтр воспринимать как спам одни и те-же письма. Есть у меня предвательный фильтр на Spamassasin-е, который все подозрительные ему письма помечает словом SPAM в заголовке — неужели байес SpamProtexxa не может ориентироваться на эти заголовки? По логам вроде бы обучение проходит, размер базы SP тоже увеличивается — а вот поди-ж ты, письма с заголовками
* SPAM * [19.4/15.0] This advice is not for you приходят до сих пор.

Да, забыл сказать — почти на всех юзеров включена доставка спама в инбокс, пока не обучим фильтр.
 
Комментарии к этой версии (01.09.2010 13:56) [~shajtan] 4ad685bf
АвторДатаТекстtags
pig01.09.2010 16:17
Фильтрация-то будет идти — можете по протокольному логу увидеть, что отвечает сервер отправителю. И в технических заголовках письма можете увидеть результат классификации. И другого способа я не знаю. Пока включена доставка спама в Inbox, всё и будет в одной общей куче.
Спам адресату всегда доставляется. Либо в Inbox, либо в spam, в зависимости от настроек для адресата.
wikipost
ac01.09.2010 17:25
Если у пользователя Thunderbird, наш webmail или еще какой-то клиент, понимающий IMAP-флаг Junk, то у него должны быть визуальные отметки, позволяющие легко отличать то, что посчиталось спамом.

Логику конкретно SpamProtexx'а я не знаю, но вообще в байесе чтобы два слова перевесили статистику всего письма, эти слова должны быть либо вообще редкими в корпусе (тогда эти слова легко "склонить" в пользу одного из классов кратким обучением), либо с очень большим весом в пользу одного из классов. См. формулу Байеса. [Я говорю о двух словах spam и advice. А слова "this is not for you" скорее всего вообще не считаются, т.к. заносятся в особые списки равночастотных слов, бессмысленных для анализа.]
wikipost
ac01.09.2010 17:27
А по заголовкам, которые добавляет Eserv, вероятности SP меняются?
wikipost
shajtan02.09.2010 13:33
Когда я приводил пример заголовка письма, то повторяющимися имел в виду слова * SPAM * в нём. Вероятность SP=5000, вот как я смотрю — для всех писем.

X-Classification: unclassified X-Spam-Status: No, acFilter=unclassified X-Spam-Cls: SP=unclassified, SPR=5000
wikipost
shajtan02.09.2010 13:36
Меня тут смущает даже не столько фильтрация спама, сколько необучаемость фильтра на чистые письма. Примерно 40% того, что попадает в unclassified — чистые письма, я-то думал сначала обучить спам-фильтр самостоятельно, прежде чем вводить в эксплуатацию для всех пользователей. Сейчас же получается, что, сколько я не долблю SpamProtexx — он всё равно считает вполне легитимную корреспоненцию непонятно чем: исходя из этого, как мне кажется, вероятность ложного срабатывания его пока что довольно высока.
wikipost
ac02.09.2010 16:55
А вы начали обучение с нашей базы SpamProtexx или с пустой?
wikipost
shajtan03.09.2010 17:05
С вашей. Старая моя была кривая, если я не ошибаюсь, вы мне присылали базу. Хотя могу и ошибаться, ставил то уже давно...
wikipost
ac06.09.2010 19:30
shajtan пишет: SP=unclassified

А при обучении что пишет в SP_Prob=... в CommonPlugins\acFilter\acFilter.log ?

shajtan пишет: вы мне присылали базу.

Тогда возможно, что переобучать её придётся немного дольше, т.к. обучалась на больших объемах, счетчики большие и стойкие.
wikipost
shajtan07.09.2010 13:24
ред: 07.09.2010 13:28
Вот кусок лога:

========== LEARN =================================================================== D:\E4\DATA\domains\loniir.ru\unclassified\spam\1696.74654953.2518.eml => spam D:\E4\DATA\mail\spool\nonvotingh84@ebookmoney.ru!25540!74658125!1.eml @D1=2 D:\E4\DATA\mail\spool\nonvotingh84@ebookmoney.ru!25540!74658125!1.eml drweb:SP: SP_Prob=0.998472 D:\E4\DATA\mail\spool\nonvotingh84@ebookmoney.ru!25540!74658125!1.eml 1 0 0 SP=spam 0 @D2=2 07.09.2010;14:19:02;5126;0;1;200;POST;364;IFORTH-SCRIPT;/RPC2;D:\E4\CommonPlugins\acFilter\apps\index.e;text/xml SP_Prob=0.998661 SP=ok D=2

Странно — если я всё правильно понимаю, то до обучения вероятность того, что это — спам, была 0.998472 , после повысилась до 0.998661. Но с какого фига оно тогда оказалось неклассифицированным? И почему в заголовках письма пишет о SPR=5000, когда она оказывается совершенно другой?

Вот для примера на моём ящике проверяю: те письма, которые отфильтровались и попали в spam, имеют такой заголовок: SP=spam, SPR=0. Очень похожие внешне письма, не отловленные SpamProtexx-ом, имеют заголовок SP=unclassified, SPR=5000. При обучении, как и в примере выше, в логе видно, что вероятность спама для них определяется гораздо больше, как 0,98 примерно.
wikipost
pig07.09.2010 17:01
5000 — это как раз внутренний рейтинг Eserv для неклассифицированных писем. Не путайте с рейтингом письма в SpamProtexx.
wikipost
shajtan07.09.2010 17:26
Хорошо, а почему оно неклассифицированным оказалось? Я думал, что решение принимает байес, по крайней мере сильно в решении участвует. Тут-же по байесу вероятность спама почти 1.
wikipost
ac07.09.2010 17:53
5000 — это либо, например, было два антиспама, и мнения их диаметрально разделились, либо при одном антиспаме байес ответил "unclassified" или "failed".

По процитированному логу видно, что попадания в спам бывают:
D:\E4\DATA\mail\spool\nonvotingh84@ebookmoney.ru!25540!74658125!1.eml 1 0 0 SP=spam

Интересно, что писалось в логе при приёме тех писем, которые в итоге получились SPR=5000.
wikipost
ac07.09.2010 18:06
shajtan пишет: до обучения вероятность того, что это — спам, была 0.998472 , после повысилась до 0.998661.

Нет, на этом образце SP вообще не стали обучать, т.к. он и так посчитан спамом с вероятностью 0.998661. Второе число — это вероятность спамности входящего письма от nonvotingh84@ebookmoney.ru. Т.е. это лог про два письма — одно в режиме обучения, а второе в тот момент ехало по SMTP. Т.е. тут все нормально. А вот что пишется в SP_Prob= для тех писем, которые получаются unclassified?
wikipost
shajtan08.09.2010 15:32
Антиспам стоит один, SpamProtexx, так что два мнения исключаются.

Вот кусок лога, для письма, которое попало в Unclassified:
0 @D2=2 08.09.2010;12:45:06;10876;0;1;200;POST;364;IFORTH-SCRIPT;/RPC2;D:\E4\CommonPlugins\acFilter\apps\index.e;text/xml D:\E4\DATA\mail\spool\ryukyu98@rossspencer.com!53493!155078765!1.eml @D1=2 D:\E4\DATA\mail\spool\ryukyu98@rossspencer.com!53493!155078765!1.eml drweb:SP: SP_Prob=0.719719 D:\E4\DATA\mail\spool\ryukyu98@rossspencer.com!53493!155078765!1.eml 1 5000 5000 SP=unclassified 0 @D2=2 08.09.2010;12:45:25;10877;0;1;200;POST;383;IFORTH-SCRIPT;/RPC2;D:\E4\CommonPlugins\acFilter\apps\index.e;text/xml


Дальше перетащил это письмо в spam:
========== LEARN =========== D:\E4\DATA\domains\loniir.ru\unclassified\spam\1968.168480125.574.eml => spam SP_Prob=0.719176 SP=RCd: D:\E4\DATA\domains\loniir.ru\unclassified\spam\1968.168480125.574.eml 1
wikipost
ac08.09.2010 20:08
Здесь всё в норме. SP_Prob=0.719719 — меньше порога, по которому письмо считается спамом, поэтому считается unclassified. Далее при обучении он еще раз проверил текущую классификацию, получилось по-прежнему 0.7, поэтому обучение на этом образце проведено (результат "1" — успешно), а не пропущено ("SP=ok", как в предыдущих логах). Значит в следующем подобном письме стоит ожидать вероятность ближе к спаму.
wikipost
shajtan09.09.2010 09:19
Понял. Буду продолжать учить. Вопрос — какие пороги срабатывания? В каком диапазоне значения SPProb принимается суждение unclassified? Просто, на будущее.
wikipost
ac09.09.2010 09:48
0.8
wikipost
shajtan09.09.2010 11:09
Тээк... продолжу донимать. Вот смотрите: беру у себя в spam-у письмо, чистое. Перетаскиваю в clear. Вот лог:
========== LEARN =================================================================== D:\E4\DATA\domains\loniir.ru\bkb\clear\2864.238913734.2.eml => clear SP_Prob=0.017743 SP=ok


Вероятность — мизерная. Почему оно попало в spam? Странно, что в заголовках письма нету полей. Затёрлись при пробросе через pop2smtp? (это письмо попало именно так, обычно все идут прямо на наш MX, но в случае его недоступности попадают на ящик провайдера, откуда забираются pop2smtp)
Received: from [127.0.0.1] (port=3679 helo=pop2smtp) by mail.loniir.ru (acSMTP/4.24.4774) with SMTP id 932.0.7266724 (envelope-from <28842-response@maillist.ru>) for <poemc@pop.peterlink.ru>; Mon, 06 Sep 2010 11:18:28 +0400 MIME-Version: 1.0 Subject: =?KOI8-R?B?SVpvbmUgU29mdA==?= Date: Sat, 04 Sep 2010 07:07:07 +0000 From: =?KOI8-R?B?TWFpbExpc3Q6INLB09PZzMvBIM7PzcXSIDI4ODQy?= <28842-response@maillist.ru>


Да, и ещё: положил письмо в clear, оно там так и лежит. Вроде бы должно было переотправится мне в Inbox?
wikipost
ac10.09.2010 07:09
Почему попало в спам — надо посмотреть по SMTP-логу (по Message-ID или по дате найдется).

Переотправиться оно должно было всем получателям кроме вас, т.к. вы его уже видели и в правильное место положили (не обязательно перетаскивать именно в clear — любой не-спам каталог считается clear, если его имя не совпадает с существующими классами PopFile). Так настроено в acIMAP\conf\OnStartup.rules.txt (строка 101 — "свой адрес вычеркиваем"). Если там было кому доставлять. Что-то у вас в заголовке и "For:" не видно. У всех писем спам-архива он должен быть. Может вы его сами в спам случайно снесли? Тогда это объясняет отсутствие и X-Spam, и For — они при IMAP-переносе отрезаются, чтобы при обучении байес их не учитывал. Или вы это письмо без заголовков взяли уже из каталога clear (после переноса, очищенное от лишних заголовков), а не из спам-архива, тогда тоже понятно, почему искомых полей нет.
wikipost
tbmos10.09.2010 09:19
Извините,если не совсем в тему,вот нашел в архиве у себя,а сейчас это актуально? :
"Рекомендация (повторная) пользователям PopFile: в собственном веб-интерфейсе PopFile откройте закладку "Стоп-слова" и добавьте туда "header-Spam-Status", "X-Spam-Status", "header-Classification", чтобы присвоенная "на входе" классификация не влияла на дальнейшее переобучение фильтра"
wikipost
ac10.09.2010 12:53
E4 отрезает эти заголовки перед обучением (т.к. в других байесах нет возможности их исключить). Но ничего не поломается, если вы эту настройку в PopFile сделаете на всякий случай.
wikipost
Работает на Eserv/5.05567 (10.02.2020)