> как убедиться в том, что байесовский анализатор не только использует базу основанную
> на нашем первичном обучении ручками, но и сам автоматически развивается?Проще всего настроить логирование работы СА. У меня он вызывается из экзима, и никаких манипуляций не выполняет, только насчитывает баллы, которые сообщает обратно экзиму. При этом пишется лог вот такого вида:
Feb 2 13:42:35 ### spamd[35249]: spamd: connection from localhost [127.0.0.1] at port 49398
Feb 2 13:42:35 ### spamd[35249]: spamd: setuid to spamd succeeded
Feb 2 13:42:35 ### spamd[35249]: spamd: checking message <E1Pkb6N-000384-00.sachuk-08-mail-ru@f270.mail.ru> for spamd:58
Feb 2 13:42:35 spamd[35249]: spamd: identified spam (8.3/4.9) for spamd:58 in 0.2 seconds, 85937 bytes.
Feb 2 13:42:35 ### spamd[35249]: spamd: result: Y 8 - BAYES_05, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,FSL_RU_URL, HTML_MESSAGE, HTML_TAG_BALANCE_BODY, MISSING_SUBJECT, RATWARE_MPOP_WEBMAIL, T_DKIM_INVALID, T_FREEMAIL_DOC_PDF, T_TO_NO_BRKTS_FREEMAIL scantime=0.2, size=85937, user=spamd, uid=58, required_score=4.9, rhost=localhost, raddr=127.0.0.1, rport=49398, mid=<E1Pkb6N-000384-00.sachuk-08-mail-ru@f270.mail.ru>, bayes=0.038427, autolearn=spam
В последней строке видно перечень заваленных тестов, балл, начисленный байесом и запуск автолерна.
Надо учитывать, что модуль автолерна стартует не всегда, когда письмо наберет больше некоего порога очков, а при одновременном выполнении трех условий:
1. сигнатуры письма нет в базе байеса bayes_seen
2. тесты, проверяющие хедеры письма, дали в сумме больше 3 баллов
3. тесты, проверяющие тело письма, дали в сумме больше 3 баллов
Иными словами, письмо может получить много баллов, но не запустить самообучения. Если письмо набирает меньше 6 баллов, автообучения не может случиться в принципе. Эти значения (3+3) конфигами не регулируются, это внутренняя логика модуля автолерна.