Наивная байесовская эффективность фильтрации спама - PullRequest
7 голосов
/ 12 декабря 2008

Насколько эффективна наивная байесовская фильтрация для фильтрации спама?

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

Ответы [ 4 ]

7 голосов
/ 12 декабря 2008

Пол Грэм был парнем, который действительно представил идею использования байесовской фильтрации спама в Интернете в целом со своей оригинальной статьей План для спама еще в августе 2002 года. его последующее наблюдение через год или около того вызвало множество проблем, которые быстро возникли. Это все еще замечательные работы по теме.

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

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

Я считаю, что ничто не работает так, как фильтрация почты через учетную запись Gmail. Удачной охоты.

5 голосов
/ 12 декабря 2008

Я думаю, что для победы над спамом, о котором вы упомянули, важен не метод обучения, а то, какие функции вы тренируете. Я использую OSBF-Lua от Fidelis Assis, который является очень успешным фильтром: он продолжает побеждать в конкурсах на спам-фильтры. Он использует байесовское обучение, но я думаю, что настоящая причина его успеха - три принципа:

  • Он тренируется не по отдельным словам, а по разреженным биграммам : пара слов, разделенных от 0 до 4 словами "все равно". Спаммеры должны поместить свое сообщение в где-нибудь , и разреженные биграммы очень хороши в их разоблачении. Он даже находит спам вложения!

  • Он проводит дополнительное обучение заголовкам сообщений, поскольку спамерам сложно их замаскировать. Пример: сообщение, которое отправляется в вашу сеть и никогда не проходит через ретранслятор вне сети, вероятно, не является спамом.

  • Если спам-фильтр имеет низкую достоверность своей классификации, он запрашивает ввод от человека. (На практике это добавляет поле заголовка с надписью «Пожалуйста, обучите меня этому сообщению»; человек может игнорировать запрос.) Это означает, что, поскольку спаммеры развивают новые методы, ваш фильтр развивается в соответствии.

Эта комбинация техник чрезвычайно эффективна.

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

1 голос
/ 05 февраля 2009

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

1 голос
/ 12 декабря 2008

Вы правы, наивные байесовские фильтры подвержены байесовскому отравлению .

...