На днях столкнулся с такой интересной практической задачкой, как написать почтовый спам-фильтр. С самого начала бросилась в глаза вот эта статья. Следом за ней наткнулся на еще одни интересные замечания и размышления.
Все хорошо, но интересно следующее:
1) Как борется со спамом прогрессивное человечество? (Также пользуется байесовым классификатором, варьируя законами распределения, тренировочным материалом и другими эвристиками)
2) Может ли кто подсказать хороший "тренировочный(обучающий) материал", для системы, либо уже какую-то готовую статистическую инфу (пускай не очень свежую). Сам лишь нарыл вот такой кладезь зла.
3) Есть ли какой бесплатный или не очень дорогой и в то же время удобный онлайн сервис для проверки писем на спам.
Спасибо за внимание.
gmail?
А они случайно не предоставляют какое-нить API, через них чекать письма?
Они предоставляют API загружать свою почту из других ящиков в этот gmailовский, соответственно если у тебя есть старый ящик на хреновом хостинге, ты можешь легко пересесть на сервис гугла. я сам пользуюсь mail.ru и меня устраивает их фильтр. может пару раз в год чё-нибудь вёселое проскакивает. Может быть я не на достаточном количестве порносайтов зарегал свой ящик, поэтому спам не достёт, а может фильтры и вправду хороши, я не берусь судить. Не хочу рекламировать чьи-либо сервисы, но если вы посчитаете этот пост рекламным, то прошу иметь ввиду что сервисы Яндекса самые лучшие.
Собственно мои первый комментарий какбы намекает, что ты занимаешься не правильной задачей. Ясно понятно что силами одного человека не добиться такого качества как у таких компаний как Яндекс, Гугл, Мейлру и прочие. А если и добиться, это никому не нужно, ибо все пользуются указанными сервисами.
Более того у gmail есть корпоративные аккаунты, стоимость которых сравнительно со стоимостью выдумывания и разработки фильтров (а также с потерями от возможного попадания деловых писем в спам из-за ошибок фильтрации) ничтожна.
Вы самое главное не уточнили — вас интересует фильтр со стороны почтового сервера (в смысле, большого, типа мэйл-ру) или со стороны клиента.
Прогрессивное человечество на текущий момент по-моему во многом полагается на борьбу как раз серверную. А там-то ситуация совсем другая поскольку можно анализировать письма для множества адресатов.
Уточняю: Фильтр клиентский. Приложение, конечно, имеет возможность загребать сообщения с проверенных сторонних почтовиков таких, как gmail. Но, если мы не пользуемся проверенным почтовиком, нужна вменяемая и эффективная возможность фильтровать всякую приблуду, учитывая особенности того или иного клиента.
Конечно, можно порекомендовать клиентам пользоваться проверенными "производителями", и ввести возможность создавать кастомные рулеза, учитывающие особенности и политики клиента, но хотелось бы некое изящное решение.
"нужна вменяемая и эффективная возможность" — смахивает на поиски философского камня.
Если клиент — обыватель — то для него спамом является большинство писем приходящих с адресов с кем он до сих пор не вёл корреспонденцию.
Если клиент, например, отдел кадров куда по работе постоянно приходит много писем с неизвестных адресов, то желательно всем потенциальным корреспондентам сообщать "в теме письма укажите то-то".
В остальном придётся погрязнуть в создании тучи мелких правил и функции оценки соответствия письма этим правилам. И постоянно редактировать ещё. И возможно под клиентов подстраивать...
Конечно, есть ещё вариант "завести сотню аккаунтов на разных почтовиках и анализировать спам приходящий туда" — но это будет потихоньку приближаться к серверным вариантам. %)