LAB2 Бочаров И.A. (544695), страница 3
Текст из файла (страница 3)
Существует довольно большое многообразие различных программных средств автоматической фильтрации спама. Подобное ПО может работать как на стороне почтового сервера, так и на стороне клиента.
Автоматические фильтры используют статистический анализ письма с целью выяснения, является ли оно спамом. Самым популярным является так называемый метод байесовской фильтрации спама, основанный на теореме Байеса, известной нам из курса теории вероятностей.
При использовании этого метода фильтр сначала обучают на предварительно размеченной выборке из писем. В случае, если выборка довольно крупная, удается достичь высокого качества фильтрации.
Вкратце его суть можно описать так:
При обучении фильтра для каждого встреченного в письмах слова высчитывается и сохраняется его «вес» — вероятность того, что письмо с этим словом — спам (в простейшем случае — по классическому определению вероятности: «появлений в спаме / появлений всего»).
При проверке вновь пришедшего письма вычисляется вероятность того, что оно — спам, по формуле из теоремы Байеса для множества гипотез. В данном случае «гипотезы» — это слова, и для каждого слова «достоверность гипотезы» — % этого слова в письме, а «зависимость события от гипотезы» P(B | Ai) — вычисленный ранее «вес» слова. То есть «вес» письма в данном случае — не что иное, как усредненный «вес» всех его слов.
Отнесение письма к «спаму» или «не-спаму» производится по тому, превышает ли его «вес» некую планку, заданную пользователем (обычно берут 60-80 %). После принятия решения по письму в базе данных обновляются «веса» для вошедших в него слов.
Рассмотрим, как вычислить вероятность того, что сообщение, содержащее определенное слово, является спамом.
Предположим, что подозреваемое сообщение содержит слово "Увеличение". Большинство людей, которые привыкли получать электронное письмо, знает, что это сообщение, скорее всего, будет спамом. Программа обнаружения спама, однако, не "знает" такие факты, все, что она может сделать—вычислить вероятности. Формула, используемая программным обеспечением, чтобы определить это, получена из теоремы Байеса.
где:
-
Pr(S | W) - условная вероятность того, что сообщение—спам, при условии, что слово " Увеличение" находится в нем
-
Pr(S) - полная вероятность того, что произвольное сообщение—спам
-
Pr(W | S) - условная вероятность того, что слово "Увеличение" появляется в сообщениях, если они являются спамом
-
Pr(H) - полная вероятность того, что произвольное сообщение не спам (т.е. "ham")
-
Pr(W | H) - условная вероятность того, что слово "Увеличение" появляется в сообщениях, если они являются "ham"
Также существует ряд методов неавтоматической фильтрации. К этим методам относятся, к примеру, так называемые черные списки и т.д.
Перейдем к выполнению работы.
Выполнение работы
Зарегистрируем почтовый ящик в сервисе mail.ru:
Отправим отчет по первой лабораторной работе при помощи WEB-интерфейса:
Установим и настроим клиент Mozilla Thunderbird:
Убедились, что клиент работает корректно, так как два письма, полученные от команды mail.ru, доставлены и в Mozilla Thunderbird:
Настроим фильтрацию и сортировку писем:
Фильтры:
-
Перемещать письма от Mail.ru
-
Если поле «От» содержит corp.mail.ru, то переместить письмо в локальную папку «Удаленные»
-
-
Пересылка важной почты
-
Если поле «От» содержит falkvn, то переслать письмо по указанному адресу
-
-
Отметка звездочкой
-
Если поле «Тема» содержит «Научная работа», то отметить это письмо звездочкой и переместить его в локальную папку «Научная работа»
-
Сортировка и группировка писем осуществляется по их автору:
Отправим отчет по второй лабораторной при помощи клиента Mozilla Thunderbird: