Из Википедии, бесплатной энциклопедии
  (Перенаправлено из байесовского спам-фильтра )
Перейти к навигации Перейти к поиску

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

Наивные классификаторы Байеса работают, соотнося использование токенов (обычно слов или иногда других вещей) со спамом и не-спамовыми сообщениями электронной почты, а затем используя теорему Байеса для вычисления вероятности того, что электронное письмо является или не является спамом.

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

История [ править ]

Байесовские алгоритмы использовались для фильтрации электронной почты еще в 1996 году. Хотя наивные байесовские фильтры стали популярными лишь позже, в 1998 году было выпущено несколько программ для решения растущей проблемы нежелательной электронной почты. [1] Первая научная публикация по байесовской фильтрации спама была написана Sahami et al. в 1998 году. [2] Вскоре после этого эта работа была развернута в коммерческих фильтрах спама. [ необходима цитата ] Однако в 2002 году Пол Грэм значительно снизил количество ложных срабатываний, так что его можно было использовать самостоятельно в качестве единого спам-фильтра. [3] [4]

Варианты базовой методики реализованы в ряде исследовательских работ и коммерческих программных продуктах. [5] Многие современные почтовые клиенты реализуют байесовскую фильтрацию спама. Пользователи также могут установить отдельные программы фильтрации электронной почты . Серверные фильтры электронной почты, такие как DSPAM , SpamAssassin , [6] SpamBayes , [7] Bogofilter и ASSP , используют байесовские методы фильтрации спама, и эти функции иногда встроены в само программное обеспечение почтового сервера . CRM114, часто упоминаемый как байесовский фильтр, не предназначен для использования байесовского фильтра в производстве, но включает функцию «униграммы» для справки. [8]

Процесс [ править ]

Определенные слова с особой вероятностью встречаются в спам-сообщениях и в законных сообщениях электронной почты. Например, большинство пользователей электронной почты часто сталкиваются со словом « Виагра."в спаме, но редко увидит его в другом письме. Фильтр не знает эти вероятности заранее, и его необходимо сначала обучить, чтобы он мог их создать. Чтобы обучить фильтр, пользователь должен вручную указать, будет ли новый электронное письмо является спамом или нет. Для всех слов в каждом обучающем электронном письме фильтр настроит вероятность того, что каждое слово появится в спаме или законном письме в своей базе данных. Например, байесовские фильтры спама обычно распознают очень высокую вероятность спама для слова «Виагра» и «рефинансирование», но очень низкая вероятность спама для слов, встречающихся только в законных сообщениях электронной почты, таких как имена друзей и членов семьи.

После обучения вероятности слов (также известные как функции правдоподобия ) используются для вычисления вероятности того, что электронное письмо с определенным набором слов принадлежит к любой категории. Каждое слово в электронном письме влияет на вероятность спама в электронном письме или определяет только самые интересные слова. Этот вклад называется апостериорной вероятностью и вычисляется с помощью теоремы Байеса . Затем вероятность спама в электронном письме вычисляется по всем словам в электронном письме, и если общее количество превышает определенный порог (скажем, 95%), фильтр помечает электронное письмо как спам.

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

Первоначальное обучение обычно может быть улучшено при выявлении неправильных суждений программного обеспечения (ложноположительные или ложноотрицательные). Это позволяет программному обеспечению динамически адаптироваться к постоянно меняющейся природе спама.

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

Математическая основа [ править ]

Байесовские фильтры электронной почты используют теорему Байеса . Теорема Байеса используется несколько раз в контексте спама:

  • в первый раз, чтобы вычислить вероятность того, что сообщение является спамом, зная, что данное слово встречается в этом сообщении;
  • во второй раз, чтобы вычислить вероятность того, что сообщение является спамом, принимая во внимание все его слова (или соответствующее их подмножество);
  • иногда в третий раз, чтобы разобраться с редкими словами.

Вычисление вероятности того, что сообщение, содержащее данное слово, является спамом [ править ]

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

Формула, используемая программным обеспечением для его определения, получена из теоремы Байеса.

где:

  • вероятность того, что сообщение является спамом, если известно, что в нем есть слово «реплика»;
  • это общая вероятность того, что любое данное сообщение является спамом;
  • вероятность появления слова «реплика» в спам-сообщениях;
  • это общая вероятность того, что какое-либо данное сообщение не является спамом (является «любительским»);
  • это вероятность того, что слово "реплика" появляется в сообщениях любительской почты.

(Для полной демонстрации см. Теорему Байеса # Расширенная форма .)

Спамность слова [ править ]

Статистика [9] показывает, что текущая вероятность того, что любое сообщение является спамом, составляет как минимум 80%:

Тем не менее, большинство программ для обнаружения байесовского спама делает предположение, что нет априорной причины для того, чтобы любое входящее сообщение было спамом, а не ветчиной, и считает, что оба случая имеют равную вероятность, равную 50%: [ необходима цитата ]

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

Функционально это эквивалентно вопросу: «Какой процент вхождений слова« реплика »встречается в спам-сообщениях?»

Эта величина называется «спамностью» (или «спамностью») слова «реплика» и может быть вычислена. Число, используемое в этой формуле, приблизительно соответствует частоте сообщений, содержащих «реплики» в сообщениях, идентифицированных как спам на этапе обучения. Точно так же аппроксимируется частота сообщений, содержащих «реплики» в сообщениях, идентифицированных как любительские во время фазы обучения. Чтобы эти приближения имели смысл, набор усвоенных сообщений должен быть достаточно большим и представительным. Также желательно, чтобы изученный набор сообщений соответствовал гипотезе 50% о перераспределении между спамом и радиолюбительством, т.е. что наборы данных спама и радиолюбителя имеют одинаковый размер. [10]

Конечно, определение того, является ли сообщение спамом или радиолюбителем, только по присутствию слова «реплика» чревато ошибками, поэтому программное обеспечение для байесовского спама пытается рассмотреть несколько слов и объединить их спамерство, чтобы определить общую вероятность того, что сообщение спам.

Объединение индивидуальных вероятностей [ править ]

Большинство байесовских алгоритмов фильтрации спама основаны на формулах, которые строго действительны (с вероятностной точки зрения) только в том случае, если слова, присутствующие в сообщении, являются независимыми событиями . Это условие обычно не выполняется (например, в естественных языках, таких как английский, вероятность нахождения прилагательного зависит от вероятности наличия существительного), но это полезная идеализация, тем более что статистические корреляции между отдельными словами обычно не выполняются. известен. Исходя из этого, из теоремы Байеса можно вывести следующую формулу: [11]

где:

  • вероятность того, что подозрительное сообщение является спамом;
  • вероятность того, что это спам, если известно, что он содержит первое слово (например, «реплика»);
  • вероятность того, что это спам, если он содержит второе слово (например, «наблюдает»);
  • так далее...
  • вероятность того, что это спам, если он содержит N- е слово (например, «дом»).

На эту формулу ссылается Пол Грэм в своей статье в августе 2002 года . Некоторые ранние комментаторы заявили, что «Грэм извлек свои формулы из воздуха» [12], но на самом деле Грэм сослался на свой источник [13], который включал подробное объяснение формулы и идеализации, на которых она основана.

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

Другое выражение формулы для объединения индивидуальных вероятностей [ править ]

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

Взятие бревен с двух сторон:

Пусть . Следовательно,

Отсюда альтернативная формула для вычисления комбинированной вероятности:

Работа с редкими словами [ править ]

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

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

Снова применяя теорему Байеса и предполагая, что классификация писем, содержащих заданное слово («реплика») на спам и любительскую, является случайной величиной с бета-распределением , некоторые программы решают использовать скорректированную вероятность:

где:

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

(Демонстрация: [14] )

Эта скорректированная вероятность используется вместо спама в формуле объединения.

снова можно принять равным 0,5, чтобы не слишком подозрительно относиться к входящей электронной почте. 3 - хорошее значение для s , означающее, что изученный корпус должен содержать более 3 сообщений с этим словом, чтобы больше доверять значению спамности, чем значению по умолчанию [ необходима ссылка ] .

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

Другая эвристика [ править ]

«Нейтральные» слова, такие как «the», «a», «some» или «is» (на английском языке), или их эквиваленты в других языках, можно игнорировать. В более общем смысле, некоторые фильтры байесовской фильтрации просто игнорируют все слова со спамностью около 0,5, поскольку они мало способствуют принятию правильного решения. Принимаются во внимание слова, спамность которых близка к 0,0 (отличительные признаки легитимных сообщений) или около 1,0 (отличительные признаки спама). Методом может быть, например, сохранение в исследуемом сообщении только тех десяти слов, которые имеют наибольшее абсолютное значение  | 0,5 -  pI |.

Некоторые программные продукты учитывают тот факт, что данное слово встречается несколько раз в исследуемом сообщении, [15] другие нет.

Некоторые программные продукты используют шаблоны (последовательности слов) вместо отдельных слов естественного языка. [16] Например, с помощью «контекстного окна» из четырех слов они вычисляют спамность «Виагра полезна для», вместо того, чтобы вычислять спамность «Виагры», «является», «хорошо» и «для» . Этот метод дает большую чувствительность к контексту и лучше устраняет байесовский шум за счет большей базы данных.

Смешанные методы [ править ]

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

Например, предполагая, что индивидуальные вероятности подчиняются распределению хи-квадрат с 2 N степенями свободы, можно использовать формулу:

где C −1 - обратная функция хи-квадрат .

Индивидуальные вероятности также можно комбинировать с методами марковской дискриминации .

Обсуждение [ править ]

Преимущества [ править ]

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

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

Законные электронные письма, которые получает пользователь, будут отличаться. Например, в корпоративной среде часто упоминаются название компании и имена клиентов или заказчиков. Фильтр назначит более низкую вероятность спама электронным письмам, содержащим эти имена.

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

Он особенно эффективен в предотвращении ложных срабатываний [ необходима цитата ], когда подлинная электронная почта ошибочно классифицируется как спам. Например, если электронное письмо содержит слово «Нигерия», которое часто используется в спаме о мошенничестве с авансовыми платежами, фильтр с заранее определенными правилами может полностью отклонить его. Байесовский фильтр пометит слово «Нигерия» как вероятное спамерское слово, но примет во внимание другие важные слова, которые обычно указывают на подлинную электронную почту. Например, имя супруга (а) может четко указывать на то, что электронное письмо не является спамом, что позволяет избежать использования слова «Нигерия».

Недостатки [ править ]

В зависимости от реализации байесовская фильтрация спама может быть восприимчива к байесовскому отравлению , методике, используемой спамерами в попытке снизить эффективность спам-фильтров, которые полагаются на байесовскую фильтрацию. Спамер, практикующий байесовское отравление, будет рассылать электронные письма с большим количеством легитимного текста (полученного из законных новостей или литературных источников). Тактика спама включает в себя вставку случайных безобидных слов, которые обычно не ассоциируются со спамом, тем самым снижая рейтинг спама в электронном письме и повышая вероятность того, что оно проскользнет мимо байесовского фильтра спама. Однако, например, в схеме Пола Грэма используются только наиболее значимые вероятности, так что заполнение текста словами, не связанными со спамом, не оказывает значительного влияния на вероятность обнаружения.

Слова, которые обычно появляются в большом количестве в спаме, также могут быть преобразованы спамерами. Например, «Виагра» в спаме будет заменена на «Виаагра» или «V! Agra». Получатель сообщения все еще может прочитать измененные слова, но каждое из этих слов реже встречается байесовским фильтром, что затрудняет процесс его обучения. Как правило, этот метод рассылки спама не работает очень хорошо, потому что производные слова в конечном итоге распознаются фильтром так же, как и обычные. [17]

Другой метод, используемый для борьбы с байесовскими фильтрами спама, - это замена текста изображениями, включенными напрямую или связанными. Весь текст сообщения или его часть заменяется картинкой, на которой «нарисован» тот же текст. Спам-фильтр обычно не может проанализировать эту картинку, которая содержит чувствительные слова вроде «Виагра». Однако, поскольку многие почтовые клиенты отключают отображение связанных изображений по соображениям безопасности, спамер, отправляющий ссылки на удаленные изображения, может достичь меньшего количества целей. Кроме того, размер изображения в байтах больше, чем эквивалентный размер текста, поэтому спамеру требуется большая пропускная способность для прямой отправки сообщений, включая изображения. Некоторые фильтры более склонны решать, что сообщение является спамом, если оно имеет в основном графическое содержание.Решение, используемое Google вСистема электронной почты Gmail должна выполнять OCR (оптическое распознавание символов) на каждом изображении среднего и большого размера, анализируя текст внутри. [18] [19]

Общие приложения байесовской фильтрации [ править ]

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

[20]

См. Также [ править ]

  • Методы защиты от спама
  • Байесовское отравление
  • Фильтрация электронной почты
  • Марковская дискриминация
  • Почтовый клиент Mozilla Thunderbird с встроенной реализацией байесовских фильтров [21] [22]

Ссылки [ править ]

  1. ^ Брантон, Финн (2013). Спам: теневая история Интернета . MIT Press . п. 136. ISBN. 9780262018876. Архивировано 23 марта 2019 года . Проверено 13 сентября 2017 .
  2. ^ М. Сахами; С. Дюмэ; Д. Хекерман; Э. Хорвиц (1998). «Байесовский подход к фильтрации нежелательной почты» (PDF) . AAAI'98 Практикум по обучению классификации текста. Архивировано (PDF) из оригинала 26.06.2013 . Проверено 15 августа 2007 .
  3. ^ Пол Грэм (2003), лучше байесовской фильтрации в архив 2010-06-21 в Wayback Machine
  4. ^ Брайан Ливингстон (2002), Пол Грэм дает потрясающий ответ на спам-сообщения электронной почты. Архивировано 10 июня 2010 г.на Wayback Machine.
  5. ^ «Управление нежелательной почтой» . MozillaZine. Ноября 2009 года архивации с оригинала на 2012-10-25 . Проверено 16 января 2010 .
  6. ^ «Установка» . Руководства по Ubuntu. 2010-09-18. Архивировано из оригинального 29 сентября 2010 года . Проверено 18 сентября 2010 . F (x) Гэри Робинсона и алгоритмы комбинирования, используемые в SpamAssassin
  7. ^ "Справочная информация" . Проект SpamBayes. 2010-09-18. Архивировано 6 сентября 2010 года . Проверено 18 сентября 2010 . Заточите карандаши, это математический фон (такой, какой он есть). * Бумага, которая положила начало делу: План Пола Грэма по борьбе со спамом. * У Гэри Робинсона есть интересное эссе, предлагающее некоторые улучшения оригинального подхода Грэма. * Гэри Робинсон В статье Linux Journal обсуждается использование распределения хи-квадрат.
  8. ^ "Архивная копия" . Архивировано 07 октября 2016 года . Проверено 9 июля 2016 .CS1 maint: archived copy as title (link)
  9. ^ Дилан Морс и Дермот Харнетт (2009). «Состояние спама, ежемесячный отчет - отчет № 33» (PDF) . Архивировано (PDF) из оригинала 07.10.2009 . Проверено 30 декабря 2009 .
  10. ^ Программное обеспечение процесса, Введение в байесовскую фильтрацию, архивировано 06февраля2012 г. на Wayback Machine
  11. ^ «Объединение вероятностей» . Архивировано 18 сентября 2016 года . Проверено 8 сентября 2016 . на MathPages
  12. ^ http://mail.python.org/pipermail/python-dev/2002-August/028216.html Архивировано 4 июля 2006 г. на Wayback Machine Комментарий Тима Питера об алгоритме, используемом Грэхемом
  13. ^ "Веб-страница Грэма, ссылающаяся на статью MathPages для формулы вероятности, использованной в его алгоритме спама" . Архивировано 10 марта 2013 года . Проверено 22 мая 2013 .
  14. ^ Гэри Робинсон (2003). «Статистический подход к проблеме спама» . Linux Journal . Архивировано 22 октября 2010 года . Проверено 19 июля 2007 .
  15. ^ Брайан Бертон (2003). "SpamProbe - Байесовские настройки фильтрации спама" . Архивировано 16 апреля 2012 года . Проверено 19 января 2009 .
  16. ^ Джонатан А. Zdziarski (2004). «Байесовское шумоподавление: логика контекстной симметрии с использованием анализа согласованности образов» .[ постоянная мертвая ссылка ]
  17. Пол Грэм (2002), План борьбы со спамом, заархивированный 4 апреля 2004 г.на Wayback Machine
  18. ^ "Gmail использует инновационную технологию Google, чтобы не допустить попадания спама в ваш почтовый ящик" . Архивировано 13 сентября 2015 года . Проверено 5 сентября 2015 .
  19. ^ Чжу, З .; Цзя, Z; Сяо, H; Чжан, G; Liang, H .; Ван П. (2014). Ли, S ; Джин, Q; Цзян, X; Парк, Дж (ред.). «Модифицированный байесовский алгоритм минимального риска и его применение в спаме». Конспект лекций по электротехнике . Дордрехт: Спрингер. 269 : 2155–2159. DOI : 10.1007 / 978-94-007-7618-0_261 .
  20. ^ Андроутсопулос, Ион; Палиурас, Георгиос; Каркалетсис, Вангелис; Саккис, Георгиос; Спиропулос, Константин Д .; Стаматопулос, Панайотис (2000). Галлинари, П ; Раджман, М; Сарагоса, H (ред.). «Учимся фильтровать спам в электронной почте: сравнение наивного байесовского подхода и подхода, основанного на памяти». 4-я Европейская конференция по принципам и практике открытия знаний в базах данных (PKDD-2000) . Лион, Франция: Лаборатория программного обеспечения и инженерии знаний Институт информатики и телекоммуникаций Национальный центр научных исследований «Демокритос»: 1–13. arXiv : cs / 0009009 . Bibcode : 2000cs ........ 9009A .
  21. ^ Христя, Флорентин Т. (2013). Наивная байесовская модель для устранения неоднозначности словесного смысла без учителя . Лондон; Берлин: Springer-Verlag Heidelberg, Берлин. п. 70. ISBN 978-3-642-33692-8.
  22. ^ Zheng, J .; Тан, Юнчуань (2005). Мира, Хосе; Альварес, Хосе Р. (ред.). «Одно обобщение наивного байесовского классификатора на нечеткие множества и дизайн нечеткого наивного байесовского классификатора». Конспект лекций по информатике . Берлин: Шпрингер, Берлин, Гейдельберг. 3562 : 281. DOI : 10.1007 / 11499305_29 . ISBN 978-3-540-26319-7. ISSN  0302-9743 .