Как написать спам-фильтр

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

до сих пор я придумал wordlist и фильтрацию домена, которая даст или удалит точки до определенного порога.

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

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

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

6 ответов


некоторые действительно хорошие данные алгоритма здесь:

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 очень хорошее решение.


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

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

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