Как написать спам-фильтр
Я застрял в необходимости писать простой спам-фильтр Я не знаю, как это сделать.
до сих пор я придумал 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 дружественных на вашем сервере, а также гораздо проще писать.
Я написал пост в моем блоге это объясняет идею за написанием спам-фильтра с точки зрения программиста и охватывает все варианты от фильтрации контента на основе фильтрации черного списка.