Аннотация: В данной работе предложен алгоритм фильтрации сообщений электронной корреспонденции. Решение основано на использовании теоремы Байеса. Анализ содержимого задействует базу данных лингвистической лаборатории, которая регулярно обновляется. По результатам анализа сообщение удаляется, либо помечается специальным образом (если оно содержит спам) либо же остаётся на сервере и проходит дальше.
Ключевые слова: спам-фильтр, условная вероятность, теорема Байеса.
Технические науки
УДК 004.021
Алексеев Юрий Геннадьевич
студент
Белорусский Государственный университет
информатики и радиоэлектроники
Alekseyev Y.G.
student
Belarusian State University of
Informatics and Radioelectronics
ИНТЕЛЛЕКТУАЛЬНЫЙ ФИЛЬТР ЭЛЕКТРОННЫХ СООБЩЕНИЙ
INTELLIGENT FILTER FOR THE ELECTRONIC MESSAGES
Аннотация: В данной работе предложен алгоритм фильтрации сообщений электронной корреспонденции. Решение основано на использовании теоремы Байеса. Анализ содержимого задействует базу данных лингвистической лаборатории, которая регулярно обновляется. По результатам анализа сообщение удаляется, либо помечается специальным образом (если оно содержит спам) либо же остаётся на сервере и проходит дальше.
Ключевые слова: спам-фильтр, условная вероятность, теорема Байеса.
Abstract: This work presents an algorithm for filtering e-mail. In solving the problem applies linguistic signatures and text analysis. Content analysis involves base of linguistic laboratory, which updates regularly. After the message is analyzed, there is a choice of what to do with it: if it contains spam then it gets a special mark or just removes. If it doesn’t then the message passes on.
Keywords: spam filtering, the conditional probability, Bayes' theorem.
ВВЕДЕНИЕ
Задача, которую предстоит решить, заключается в анализе текста сообщения на предмет обнаружения в нём информации относящейся к нежелательной рекламе, т.е. спаму. Обработка текстов сообщений будет строиться на сортировке и подсчёте слов.
Работа основана на применении теоремы Байеса, используя которую и строится алгоритм фильтрации.
Чтобы реализовать систему байесовской фильтрации необходимо получить выборку, в которой будут представлены соответствия текстовых фрагментов классам. Далее, из полученной выборки надо извлечь:
ОПИСАНИЕ
Для осуществления классификации нужно создать модель, которая построена данных статистики. Классифицировать письмо будем следующим образом. Выбираем класс значение которого максимально, исходя из выражения, посчитанного для всех классов по следующей формуле:
где
c – число текстов из обучающей выборки относящихся к классу c;
D – число всех текстов в выборке;
|V| – Число слов, являющихся уникальными со всех текстов обучающей выборки;
c – общая сумма слов в текстах выборки относящихся к классу c;
ic – показатель, с которым i-ое слово попадается в текстах класса c;
Q – множество слов (с учётом повторений) исследуемого текста.
Используем несколько текстов, классы которых заведомо известны (NSP означает не спам, SP – спам):
[SP]: бесплатная юридическая консультация;
[SP]: торопитесь купить лотерею;
[NSP]: нужно купить молоко.
Модель классификатора выглядит так:
Таблица 1. Перечень классификаций
Таблица 2. Классификация
Запустим классификацию предложения «надо купить книгу». И произведём расчеты для класса SP:
Для класса NSP:
В этом примере класс NSP оказался превалирующим, что говорит о том, что сообщение не содержит спам.
Для решения задачи, когда оценки выдаваемые алгоритмом, не будут удовлетворять следующим свойствам: а именно находиться в диапазоне от 0 до 1 (при этом их сумму должна быть раной 1), формируется вероятностное пространство, т.е. мы отбрасываем логарифмы и нормируем сумму по единице.
Для избавления от логарифма воспользуемся alogax = x, т.е. возведением основания натурального логарифма в степень значения оценки. Если в расчетах задействован десятичный логарифм, то будем использовать 10, а не значение степени. Итого, получаем, что вероятность наличия спама в письме в рамках данного условия, составит:
Далее, выражение можно оптимизировать, сократив экспоненту по знаменателю и числителю. Тогда получим:
Сумма в знаменателе считается только по классам отличным от того, для которого считалась вероятность. Но в каждом из слагаемых есть логарифмическая оценка рассматриваемого класса.
Литература: