Время науки - The Times of Science
Время науки The Times of science 28 №4.1 Для достижения поставленной цели нам необходимо было решить следующие задачи: 1. проанализировать и описать алгоритмы фильтрации, используемые в существующих спам-фильтрах; 2. изучить методы оценки качества классификации писем, применяемые в спам-фильтрах; 3. разработать математическую модель на базе методов машинного обучения; 4. создать программный комплекс на языке Python на базе разработанных моделей; 5. проанализировать эффективность разработанного спам- фильтра. Данная работа состоит из двух частей: теоретической и практической. В первой части были рассмотрены и проанализированы следующие методы автоматической классификации: наивный байесовский классификатор, логистическая регрессия и векторизация слов, на которых базируются большинство спам-фильтров. Кроме того, было проведено сравнение методов оценки качества классификации, которые для определения используют матрицу ошибок, разделяя данные на категории: истинно-положительные, ложно- положительные, ложно-отрицательные, истинно-отрицательные. В работе используются такие метрики для оценки алгоритмов, как точность (precision), полнота (recall), f-мера (f-measure), коэффициент корреляции Мэтьюса (MCC). В ходе исследования были проанализированы алгоритмы, используемые в популярных компаниях: Mail.ru, Gmail.com и Yandex.ru. Во второй части исследования нами были собраны и обработаны базы данных спам-сообщений, которые легли в основу обучающей выборки. Поиск баз спам-сообщений производился на сайтах Kaggle.com, Archieve.org, а также с помощью поиска в Google. Были найдены три англоязычные базы общей мощностью в 14299 писем. Собранная выборка универсальна, так как содержит спам на примерах электронной почты и смс- сообщений. На следующем этапе проводилось сравнение наивного байесовского классификатора и логистической регрессии на полученной выборке с помощью такой статической модели, как n-граммы. По сути, n-граммы – это последовательность из n подряд идущих слов в тексте. В качестве оценки была взята f-мера. Для создания собственного спам-фильтра мы использовали логистическую регрессию, т.к. она справляется с поставленной задачей лучше, чем наивный байесовский классификатор, причем при любом наборе n-грамм. Далее на основе собранных данных с помощью векторизации и логистической регрессии мы создали собственный спам-фильтр. Для этого
Made with FlippingBook
RkJQdWJsaXNoZXIy ODQ5NTQ=