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

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

7 голосов
/ 17 ноября 2008

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

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

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

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

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

Ответы [ 6 ]

3 голосов
/ 18 ноября 2008

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

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

3 голосов
/ 17 ноября 2008

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

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

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

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

Просто скачайте K9: http://keir.net/k9.html

1 голос
/ 17 ноября 2008

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

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

0 голосов
/ 02 июля 2016

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

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

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

0 голосов
/ 18 ноября 2008

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

0 голосов
/ 17 ноября 2008
...