Вопрос

Я застрял в том, чтобы написать простой спам -фильтр, я не совсем уверен в том, как я собираюсь это сделать.

На данный момент я придумал фильтрацию по спискам слов и доменам, которая будет давать или удалять баллы до определенного порога.

Например, если вы пишете о «v1agr4» с домена, занесенного в черный список, вы получите около 2 баллов за спам, но если вы пишете о «v1agr4» с учетной записи hotmail.com, вы получите только 1. «спам-точка».

Ребята, есть ли у вас какие-либо другие предложения/ресурсы?

Речь идет больше об изучении спам-фильтров, чем о разработке чего-то корпоративного уровня.

Это было полезно?

Решение

Здесь действительно хорошая информация об алгоритме:

http://www.paulgraham.com/spam.html

http://www.paulgraham.com/better.html

Но, если серьезно, зачем изобретать велосипед?

Просто загрузите K9: http://keir.net/k9.html

Другие советы

Некоторые Java-проекты с открытым исходным кодом, связанные с байесовской фильтрацией спама (о которой упоминалось LFSR Consulting):

И еще одно для C++:

Просмотрите байесовскую фильтрацию спама .

Я знаю, что в Perl есть библиотека, поэтому я предполагаю, что у java тоже будет такая.

Вы можете делегировать это распределенному сервису. Akismet - очень хорошее решение.

Написание спам-фильтра зависит от ваших требований к масштабируемости.

Если вы хотите масштабируемое решение, то фильтрация контента, вероятно, не является разумным выбором, так как она потребляет очень много ресурсов процессора и памяти, и вместо этого вы бы предпочли выбрать либо фильтрацию на основе репутации, либо фильтрацию на основе черного списка, что будет весьма кстати. более дружественный к процессору на вашем сервере, а также намного легче писать.

Я написал сообщение на мой блог , в котором объясняется идея написания спам-фильтра с точки зрения программиста и рассматриваются все варианты от фильтрации на основе контента до фильтрации на основе черного списка.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top