Обзор алгоритмов машинного обучения, решающих задачу обнаружения спама
Скляренко Н.С., МГТУ им. Н.Э. Баумана nikolay. [email protected]
Аннотация
Данная работа посвящена решению задачи фильтрации спама методами машинного обучения. Проведён обзор алгоритмов идентификации спама, предложена их классификация. Дано описание математического аппарата рассмотренных алгоритмов, приведены данные о точности существующих их реализаций. Выделены перспективные направления исследований с целью повышения качества идентификации спама.
1 Введение
Спам - массово рассылаемые сообщения (как напрямую, так и косвенно), предназначенные лицам, не выражавшим желания их получать, несмотря на предпринятые меры по предотвращению этой рассылки [Согтаск, 2008]. Борьба со спамом идет уже не один десяток лет, и несмотря на успехи в разработке и исследовании различных подходов к решению данной задачи, согласно исследованию,
проведенному Лабораторией Касперского [Спам и фишинг во втором квартале 2016], доля спама в мировом и отечественном почтовом трафике всё ещё велика (рис. 1).
В России В мире
Рис. 1. Доля спама в почтовом трафике за 2016 г.
Приведенная статистика указывает на необходимость разработки новых и улучшения существующих алгоритмов фильтрации спама. В данной работе рассматриваются алгоритмы, позволяющие решить задачу идентификации спама при помощи машинного обучения.
2 Классификация алгоритмов
На текущий момент существует множество алгоритмов идентификации спама. Исходя из этого, целесообразно произвести их классификацию по некоторому критерию. Предлагается классификация по
используемому подходу, или категории положенного в основу алгоритма фильтрации спама математического аппарата (рис. 2). Данная классификация является
систематизацией, обобщением и
расширением классификации, приведенной в работе [Cormack, 2008].
2.1 Условные обозначения
Пусть есть множество документов D = (d;), множество классов,
C = (spam, non-spam), множество терминов T = (tj). Будем считать, что |T| = n. Для обучения алгоритмов будем считать, что имеется некоторое обучающее множество документов D' £ D, то есть множество документов, класс которых заранее известен.
Зададим некоторую функцию class: D ^ C, которая корректно сопоставляет каждый документ с некоторым классом.
Документ может быть представлен в различных формах (к примеру, в виде мультимножества терминов, либо вектора в пространстве терминов), для учёта этого введем понятие формы документа d £ D R(d). Форма документа и определение термина зависят от конкретного алгоритма извлечения терминов из документа [Cormack, 2008].
На основании этой терминологии рассмотрим существующие алгоритмы фильтрации спама, основанные на машинном обучении.
Для сравнения классификаторов будем использовать точность (отношение числа корректно классифицированных документов к общему числу документов) и статистику (1-AUC) %, оценивающую область под ROC-кривой1 (представляет AUC = 0.999 как 0.1 %, т.е. чем ближе значение к 0, тем точнее классификатор) [Hanley, McNeil, 1983].
Алгоритмы фильтрации спама
Вероятностные байесовские классификаторы - логистическая регрессия - MRF-классификатор
Линейные -персептрон алгоритм Winnow - SVM
На основе сходства методы ближайших соседей
Логические дерево принятия решений - логический вывод на основе набора правил
На основе моделей сжатия данных - DM С -РРМ
Рис. 2. Классификация алгоритмов идентификации спама по используемому подходу
2.2 Вероятностные классификаторы
Введём понятие «мягкого» (soft) и «жёсткого» (hard) вероятностного классификатора. Под «мягким»
вероятностным классификатором будем понимать функцию вида
CsoftCd, c) = p(class(d) = c|R(d) = x), (1) то есть некоторую функцию, равную вероятности, что данный документ, представленный в форме х, является спамом. Английский термин «soft» в данном случае
1 ROC-кривая используется для оценки качества бинарных классификаторов, представляя отношение доли верно классифицированных объектов к доле ошибочно классифицированных относительно некоторого класса.
эквивалентен «fuzzy», то есть предполагает нечёткую классификацию.
Под «жестким» вероятностным
классификатором будем понимать функцию вида:
Chard (d, c) = p(class(d) = c|R(d) = x) > t. Таким образом, «жесткий» классификатор отличается от «мягкого» наличием некоторого порогового значения t £ [0;1), при превышении которого документ классифицируется как спам (т.е. осуществляется переход к бинарному классификатору).
Наиболее известными представителями данного класса алгоритмов являются:
• логистическая регрессия [Cormack, 2008];
• алгоритм «наивной» байесовской классификации [Barber D. 2012; Better Bayesian Filtering];
• алгоритм, основанный на марковских полях [Chhabra, Yerazunis, Siefkes, 2004; CRM114 Notes for the TREC 2005 Spam Track].
Алгоритм «наивной» байесовской классификации. Пусть документ d £ D представлен в форме вектора в пространстве терминов x[d] = (xx, x2,..., xj. «Наивный» байесовский классификатор определяет класс документа как наиболее вероятный из всех возможных классов, то есть с помощью оценки апостериорного максимума (MAP). cmap = argmaxC£CP(c|x[d]). В случае идентификации спама эта формула задаёт следующий критерий для классификации:
!spam, если csoft(d, spam) >
csoft(d,non-spam), (2)
non-spam, иначе. Применим теорему Байеса к формуле (1): p(c)-p(x[d]|c)
Csoft(d,C) p(R(d) = x[d]).
Так как вероятности рассчитываются для одного и того же документа, вероятность p(R(d) = x[d]) не будет влиять на результат сравнения при использовании критерия (2), следовательно, её можно опустить:
cSoft(d, c) = p(c) • p(x[d]|c). (3)
Вероятность p(x[d]|c) может быть получена из обучающего множества данных, но для её получения требуется громадный набор данных [Hovold, 2005]. Для решения этой проблемы было предложено воспользоваться «наивным» предположением о статистической независимости всех
терминов в представлении документа (что, вообще говоря, не верно). При этом
p(x[d]|c) = ^p(xjc).
(4)
С учётом формулы (4) формула (3) может быть преобразована к виду:
cSoft(d,c) = p(c) • ^p(xjc).
i
Основными преимуществами данного классификатора являются малое время обучения [Christina, Karpagavalli, Suganya, 2010], сравнительно высокая точность (98.6 % [Christina, Karpagavalli, Suganya, 2010] и выше [Better Bayesian Filtering]). Недостаток -возможная уязвимость к атакам с подбором «хороших» слов [Lowd, Meek, 2005].
Алгоритм «не столь наивной» байесовской классификации. Для улучшения качества классификации в работе [Su, Xu, 2009] был предложен модифицированный вариант байесовского классификатора. Основная идея данного алгоритма состоит в аппроксимации статистической зависимости между терминами.
Рассмотрим следующую вероятность: p(x[d]|c) = p(x1,x2,^,x1|c) = p(xilc)
•p(x2,x3,^,x1|x1,c) = p(x1|c)-e(x[d],x1,c)
■ p(x2'x3' -wXlIc).
При этом 0 является некоторым неизвестным, но существующим распределением.
Далее предлагается следующая аппроксимация, используемая вместо формулы (4):
p(x[d]|c) = ^p(xi|c)^0(xi,c).
(5)
0(х;, с) изначально устанавливается в 1 для всех i (при этом формула (5) становится аналогичной формуле (4), то есть случаю классического «наивного» байесовского классификатора). При каждой ошибке в классификации происходит коррекция
параметра
е
с помощью так называемых
коэффициентов уверенности а и р.
По результатам статьи ^и, Хи, 2009] данный классификатор обладает высокой точностью классификации, высокой скоростью, сравнительно низким
потреблением памяти. Основной проблемой является то, что данный алгоритм недостаточно изучен (автор данной статьи
нашёл упоминание о данном алгоритме только в статье [Su, Xu, 2009]).
Вероятностный алгоритм Роккио.
Классический алгоритм Роккио уступает в точности вероятностным алгоритмам (точность порядка 86 % [Joachims, 1997]), Thorsten Joachims в своей статье [Joachims, 1997] приводит сравнение классического алгоритма Роккио, предложенную им вероятностную версию алгоритма Роккио и «наивного» байесовского классификатора. Вероятностный алгоритм Роккио по точности сравним с «наивным» байесовским классификатором.
MRF-классификатор. Пусть F = (Fx, F2,..., Fm) - множество случайных величин, имеющих одинаковые, с точностью до значений параметров, распределения, определённые на дискретном множестве ячеек S в каждой из которых случайная величина F; принимает значение f из дискретного множества меток L Под конфигурацией случайного поля F = f будем понимать произведение событий «случайная величина F; приняла значение f;». Для множества меток L вероятность того, что случайная величина F; приняла значение fj, будем обозначать P(F; = fj), вероятность произведения событий (Fi = f^ F2 = f2, .,Fm = fm) будем обозначать P(F = f). Для решения задачи классификации спама ячейкой будет относительное положение слова в последовательности, метки будут соответствовать терминам.
Будем говорить, что F является марковским случайным полем над S по отношению к соседству (neighborhood) N тогда и только тогда, когда выполняются следующие условия:
1. P(f) > 0, V/ £ F,
2. P(filfs-(i)) = P(fi|fNi),
где fN. = (f;'|i' £ Nj), то есть множество всех событий являющихся соседями ячейки i.
На практике MRF классификатор можно получить при помощи модификации стандартного «наивного» байесовского классификатора [Yerazunis, 2003]. Для этого требуется:
1. при извлечении терминов учитывать цепочки токенов, а не отдельные токены;
2. учесть, что более длинные цепочки имеют больший вес (подробное изучение различных подходов для назначения веса цепочке представлено в работе [5]).
В работе [Yerazunis, 2003] указывается чрезвычайная эффективность данного алгоритма (точность порядка 99.95 %), но существующая реализация в известном фильтре спама CRM114, по мнению разработчиков [CRM114 Notes for the TREC 2005 Spam Track], является достаточно сложной и относительно неэффективной.
Интерес представляет дальнейшее создание эффективной реализации алгоритма и его тестирование.
2.3 Линейные классификаторы
Под линейным классификатором будем понимать вектор из n коэффициентов в = (Pi, в2, ., Pn), n = |T|, и некоторое граничное
значение t.
Рассмотрим уравнение плоскости в пространстве терминов: P • x[m] = t.
Данная гиперплоскость делит пространство терминов на два подпространства, одно из которых будет содержать точки, классифицируемые как спам, другое - как не спам.
Гиперплоскость будем называть разделяющей, если (Vd £ D)
((P • x[m] > t) ^ class(m) == spam) & ^(P • x[m] < t) ^ class(m) == non-spam).
Будем говорить, что множество документов В является линейно разделимым, если для него существует разделяющая гиперплоскость.
Основная проблема линейных
классификаторов - нахождение наилучшей разделяющей гиперплоскости для некоторого множества документов.
Персептрон. Данный алгоритм итеративно находит для заданного множества документов
разделяющую плоскость (любую), если она существует (то есть множество документов линейно разделимо). В случае, когда разделяющей плоскости не существует, алгоритм зацикливается, если максимальное количество итераций не было задано. На каждой итерации алгоритма происходит коррекция коэффициентов Р,
соответствующих терминам некорректно классифицированных точек (коррекция производится путем прибавления либо вычитания некоторой константы).
Основными преимуществами алгоритма
являются простота, скорость, адаптивность [Cormack, 2008]. Недостаток - полученная гиперплоскость необязательно является наилучшей для данного набора документов. Численная оценка качества найдена не была.
Алгоритм Winnow. Данный алгоритм [Littlestone, 1988; Siefkes et al., 2004] схож с персептроном, основными отличиями
являются следующие положения: ß
• элементы всегда положительны;
• коррекция коэффициентов происходит
мультипликативно, а не аддитивно.
В случае ошибки первого рода происходит умножение коэффициентов ß,
соответствующим терминам некорректно определенного документа, на некоторый коэффициент а > 1. Аналогично в случае ошибки второго рода происходит их умножение на некоторый коэффициент 0 < у < 1.
Модификация данного алгоритма использованием ортогональных разреженных биграмм (формирующих базис в пространстве терминов и допускающих наличие в тексте других слов между словами, входящими в биграмм) [Siefkes et al., 2004] имеет достаточно высокую точность (порядка 99 %).
Алгоритм опорных векторов. Данный алгоритм высчитывает разделяющую гиперплоскость, максимально удалённую от ближайших точек обучающего множества документов. Разделяющая гиперплоскость полностью определяется на основе небольшого количества точек, называемых опорными векторами, линейная комбинация которых будет являться классификатором.
Существуют эффективные реализации этого алгоритма для идентификации спама [Drucker, Wu, Vapnik, 1999; Sculley, Wachman, 2007].
2.4 Классификаторы на основе сходства
Рассмотрим документ d£D и множество корректно классифицированных документов D' с D. Пусть задана некоторая функция расстояния distance: D X D ^ 1, являющаяся метрикой на пространстве терминов Т. то есть удовлетворяющая следующим требованиям:
1. Vx,y £ D, distance(x,y) = 0 ^ x = y;
2. Vx,y £ D, distance(x,y) = distance(y,x);
3.Vx,y, z £ D, distance(x, z) < distance(x, y) + distance(y, z).Данный алгоритм основан на предположении о том,
что документы, принадлежащие одному и тому же классу, расположены в векторном пространстве близко друг к другу, а документы, принадлежащие разным классам, расположены далеко друг от друга.
Алгоритм k-ближайших соседей. Наиболее простым подходом будет присваивание документу класса,
совпадающего с классом ближайшего известного документа. Более эффективным подходом является алгоритм k-ближайших соседей [Barber D. 2012; Shakhnarovich, G. Darrell, T., Indyk, 2006], учитывающий классы k наиболее близких к рассматриваемому документов, и делающий выбор в пользу класса, которому принадлежит большинство документов.
Данные методы не достигают высокой точности при решении проблемы идентификации спама [Cormack, 2008].
2.5 Логические классификаторы
Данная группа алгоритмов основана на использовании аппарата логики для описания связи между терминами.
Деревья принятия решений. Деревья принятия решений [Breiman et al. 1984] при обучении последовательно по одному атрибуту за раз разбивают тренировочный набор данных по некоторому критерию (к примеру, по наибольшей информационной выгоде [Большакова и др]). Обычно деревья принятия решений плохо подходят для классификации спама, но при помощи некоторых модификаций можно добиться существенного прироста качества [Cormack, 2008].
Логический вывод на основе набора правил. Алгоритмы, основанные на логическом выводе из набора правил сравнимы по эффективности с алгоритмами на деревьях принятия решений [Cormack,
2008], но существуют комбинированные [Wu,
2009] подходы, имеющие более высокую точность.
2.6 DCM классификаторы
Пусть X - случайная величина, каждая реализация которой х является текстом документа из множества D. Представим документ d £ D в виде последовательности символов
произвольной длины x
[d] =
xlx2 . xn £
принадлежащих алфавиту - реализация
случайной величины X).
Модель сжатия данных (Data Compression Model) [Bratko et al., 2006] T) рассчитывает информационное содержание (information content) документа x[d]:
Is(x[d]) = -log(Ps(x = x[d])) P®(x = x[d]) - вероятность сообщения x[d] в модели сжатия данных Т).
Будем считать, что модель сжатия данных лучше моделирует сообщение x[d], если I®i(x[d]) < b2(x[d]).
Для решения проблемы идентификации спама построим две модели: ®Spam и ®non-spam, и получим следующий критерий
Jspam I®non —
(x[d]) < (x[d]),
для классификации:
!spam, если
-^non-spam *
non-spam, иначе.
Часто используются итерационные модели: предсказание по частичному совпадению (PPM) [Bratko, Filipic, Zupan, 2006; Bratko et al., 2006], динамическое марковское сжатие (DMC) [Bratko et al., 2006].
3 Выводы
Существующая классификация расширена "не столь наивным" байесовским и MRF-классификаторами. Описан математический аппарат всех рассмотренных классов и дано подробное описание алгоритмов (в расширение сведений, данных в [Cormack, 2008]). Были учтены результаты более поздних работ: так, в [Cormack, 2008] алгоритмы логического вывода на основе набора правил сравнимы по точности с деревьями принятия решений, а в данной работе приведён пример комбинированного метода с большей точностью.
В результате проведённого обзора методов идентификации спама была составлена таблица, отражающая данные о точности рассмотренных методов (см. табл. 1) по показателям точности классификации и мере (1-AUC) %.
Как следует из приведённой таблицы, наиболее точными являются вероятностные и линейные классификаторы.
В результате проведённого обзора можно выделить следующие перспективные направления исследований:
• исследование не вполне изученных алгоритмов («не столь наивный» байесовский классификатор);
• разработка комбинированных методов, обладающих высокой точностью;
• анализ точности существующих алгоритмов на одинаковых корпусах с общим критерием оценки точности.
В частности, интерес представляет комбинация МКБ-классификатора с подходом «не столь наивного» байесовского классификатора, так как первый обладает высокой точностью классификации, а второй имеет более высокую точность по сравнению со стандартным «наивным» байесовским классификатором, являющимся основой для МКБ-классификатора.
Класс Метод Точность
(1-AUC) % Доля корректно классифицированных документов, %
Вероятностные классификаторы «наивный» байесовский классификатор - 90-97 [Christina, Karpagavalli, Suganya, 2010; Better Bayesian Filtering; Joachims, 1997]
«не столь наивный» байесовский классификатор 0.0344 [Su, Xu, 2009] -
вероятностный алгоритм Роккио - 91 [Joachims, 1997]
MRF-классификатор - 99.95 [Yerazunis, 2003]
Линейные классификаторы персептрон - -
алгоритм Winnow - 98-99 [Siefkes et al., 2004]
SVM 0.024 [Sculley, Wachman, 2007] 99 [Drucker, Wu, Vapnik, 1999]
Классификаторы на основе сходства kNN 0.3056 [Yerazunis, 2006] -
Логические классификаторы деревья принятия решений - 88 [Carreras, Marquez, 2001]
логический вывод на основе правил - 92 [Androutsopoulos, Paliouras, Michelakis, 2006]
DCM классификаторы DMC 0.013 [Bratko et al., 2006] -
PPM 0.019 [Bratko et al., 2006] -
4 Заключение
В данной работе были рассмотрены алгоритмы, позволяющие осуществить фильтрацию спама методами машинного обучения. В качестве расширения существующей [Cormack, 2008] предложена классификация алгоритмов идентификации спама, состоящая из 5 классов, соответственно применяемым в их рамках подходам. Проведён сравнительный анализ рассмотренных алгоритмов с приведением точности идентификации ими спама. Выделены наиболее перспективные направления для дальнейшего исследования и употребления в разработке новых методов идентификации спама.
Список литературы
Cormack G. V. Email spam filtering: A systematic review //Foundations and Trends in Information Retrieval. -2008. - Vol. 1. - №. 4. - P. 335-455.
Спам и фишинг во втором квартале 2016. [Электронный ресурс]. Режим доступа: https://securelist.ru/analysis/spam-quarterly/29116/spam-and-phishing-in-q2-2016/ (дата обращения: 20.02.17)
Большакова Е.И., Клышинский Э.С., Ландэ Д.В., Носков А.А., Пескова О.В., Ягунова Е.В. Автоматическая обработка текстов на естественном языке и компьютерная лингвистика: учеб. пособие — М.: МИЭМ, 2011. — 272 с.
Barber D. Bayesian reasoning and machine learning. - Cambridge University Press, 2012.
Chhabra S., Yerazunis W. S., Siefkes C. Spam filtering using a markov random field model with variable weighting schemas //Data Mining, 2004. ICDM'04. Fourth IEEE International Conference on. - IEEE, 2004. - Pp. 347-350.
CRM114 Notes for the TREC 2005 Spam Track [Электронный ресурс]. Режим доступа http://crm114.sourceforge.net/docs/NIST_TREC_2005_paper.html (дата обращения: 20.02.17)
Hovold J. Naive Bayes Spam Filtering Using Word-Position-Based Attributes //CEAS. - 2005. - Pp. 41-48.
Christina V., Karpagavalli S., Suganya G. Email spam filtering using supervised machine learning techniques //International Journal on Computer Science and Engineering (IJCSE). - 2010. - Vol. 2. - Pp. 3126-3129.
Lowd D., Meek C. Good Word Attacks on Statistical Spam Filters //In Proceedings of the Second Conference on Email and Anti-Spam (CEAS). - 2005.
Su B., Xu C. Not So Naive Online Bayesian Spam Filter //Proceedings of the Twenty-First Innovative Applications of Artificial Intelligence Conference. - 2009.
Better Bayesian Filtering. [Электронный ресурс]. Режим доступа http://www.paulgraham.com/better.html (Дата обращения: 20.02.17)
Joachims T. A Probabilistic Analysis of the Rocchio Algorithm with TFIDF for Text Categorization. // Proceedings of ICML-97, 14th International Conference on Machine Learning. - 1997. - Pp. 143-151.
Yerazunis W. S. The spam-filtering accuracy plateau at 99.9% accuracy and how to get past it //Proceedings of the 2004 MIT Spam Conference. - 2004.
Littlestone N. Learning quickly when irrelevant attributes abound: A new linear-threshold algorithm //Machine learning. - 1988. - Vol. 2. - №. 4. - Pp. 285-318.
Siefkes C., Assis, F., Chhabra, S., Yerazunis, W. S. Combining winnow and orthogonal sparse bigrams for incremental spam filtering //European Conference on Principles of Data Mining and Knowledge Discovery. -2004. - Pp. 410-421.
Wu C. H. Behavior-based spam detection using a hybrid method of rule-based techniques and neural networks //Expert Systems with Applications. - 2009. - Vol. 36. - №. 3. - Pp. 4321-4330.
Bratko A., Filipic B., Zupan B. Towards Practical PPM Spam Filtering: Experiments for the TREC 2006 Spam Track // Proceedings of the 15th Text REtrieval Conference (TREC 2006). - 2006.
Bratko A., Cormack, G. V., Filipic, B., Lynam, T. R., Zupan, B. Spam filtering using statistical data compression models //Journal of machine learning research. - 2006. - Vol. 7. - Pp. 2673-2698.
Breiman L. , Friedman, J., Stone, C. J., Olshen, R. A. Classification and regression trees. - CRC press, 1984.
Shakhnarovich, G. Darrell, T., Indyk, P. Nearest-neighbor methods in learning and vision. Theory and Practice. -MIT Press. - 2006.
Hanley J. A., McNeil B. J. A method of comparing the areas under receiver operating characteristic curves derived from the same cases //Radiology. - 1983. - Vol. 148. - №. 3. - Pp. 839-843.
Drucker H., Wu D., Vapnik V. N. Support vector machines for spam categorization //IEEE Transactions on Neural networks. - 1999. - Vol. 10. - №. 5. - Pp. 1048-1054.
Sculley D., Wachman G. M. Relaxed online SVMs for spam filtering //Proceedings of the 30th annual international ACM SIGIR conference on Research and development in information retrieval. - 2007. - Pp. 415-422.
Carreras X., Marquez L. Boosting trees for anti-spam email filtering //In 4th International Conference on Recent Advances in Natural Language Processing. - 2001. - Pp. 58-64.
Androutsopoulos I., Paliouras G., Michelakis E. Learning to filter unsolicited commercial e-mail. Technical report 2004/2, National Center for Scientific Research "Demokritos". - 2004.
Yerazunis W. S. Seven Hypothesis about Spam Filtering // Proceedings of the 15 th Text REtrieval Conference (TREC 2006). - 2006.