УДК 004.491.22
ПРИМЕНЕНИЕ В ЗАДАЧЕ КЛАССИФИКАЦИИ SMS СООБЩЕНИЙ ОПТИМИЗИРОВАННОГО НАИВНОГО БАЙЕСОВСКОГО КЛАССИФИКАТОРА
© 2016 М.Е. Бурлаков
Самарский национальный исследовательский университет им. С.П. Королёва
Статья поступила в редакцию 11.11.2016
В статье рассматривается процесс оптимизации наивного байесовского классификатора. Рассмотрен механизм расчета вероятности и процесс построения обучающей таблицы для практического решения задачи классификации SMS сообщений наивным байесовским классификатором. В качестве экспериментальной выборки было взято множество SMS сообщений, которое используется специалистами в области классификации электронных сообщений (обучающее и тестовое множество). Качество классификации SMS сообщений у оптимизированного метода оказалось выше, чем у обычного наивного байесовского классификатора.
Ключевые слова: наивный байесовский классификатор, классификация SMS сообщений, оптимизация наивного байесовского классификатора, электронные сообщения, спам, классификация электронных сообщений.
С момента появления технологии СМС сообщений прошло более 15 лет, и как всякая технология были этапы интенсивного роста, стабильной эксплуатации и медленного угасания (наблюдается в настоящее время [1,2]). Однако, несмотря на снижение популярности технологии СМС, в настоящее время, это единственная технология, способная доставлять текстовые сообщения поверх GSM трафика в отсутствии активного Интернет соединения, становясь, таким образом, гарантированным способом доставки (в случае активного статуса абонента в сети). Благодаря данной отличительной черте, СМС остается активным каналом распространения заведомо неинтересной, а порой и зловредной, информации для конечного потребителя, классифицируемой далее как спам. Также, несмотря на снижение СМС трафика, количество спама в нем продолжает расти [3]. Таким образом, задача внедрения существующих и разработка новых методов классификации сообщений является актуальной.
В настоящее время существует большое количество решений основанных как на неадаптивных, так и адаптивных алгоритмах. Среди подобных решений можно выделить: искусственные нейронные сети, искусственные иммунные алгоритмы, деревья решений, методы ближайших соседей (k-NN алгоритмы), регрессионные модели, вероятностные подходы и т.д. Также, большое внимание уделяется разработке новых алгоритмов, с использованием последних достижений в области машинного обучения и DataMining а.
Наиболее популярным решением, установленным по умолчанию на многих программных
Бурлаков Михаил Евгеньевич, лаборант кафедры безопасности информационных систем. E-mail: knownwhat@gmail.com
комплексах и аппаратах пользователей, при классификации СМС сообщений является их определение в один из двух классов: класс спам (S) сообщений и сообщений, не относящихся к спаму (nS) [4]. Техника классификации зачастую основана на обнаружении ранее внесенных ключевых слов в некоторый «черный список». Например для ОС Android применяется технология Spam SMS blocker или SMS spam runner в ОС Symbian. Функционирование системы классификации основано на конечном числе ключевых слов в спам словаре и зачастую не удовлетворяют своими характеристиками при процессе классификации сообщений для конечного пользователя.
Однако, несмотря на постоянные разработки и совершенствование текущих алгоритмов, наивный байесовский классификатор (НБК) является одним из наиболее популярных алгоритмов [5] по причине простоты реализации и минимальных как человеческих, так и финансовых затрат при внедрении в информационные системы (ИС) компаний-провайдеров или на устройствах конечных потребителей (пользователей).
Простота и формализация подхода в НБК, при которой все слова в СМС сообщении не зависят друг от друга, делает его менее эффективным в случае, если бы учитывался и порядок слов. Поэтому его оптимизация, учитывающая данный аспект есть актуальная задача. Для этого предлагается использование основанного на НБК алгоритма, рассматривающего СМС не только как набор слов, но и как набор некоторых объектов (группы слов). Предполагается, что данный подход позволит повысить общую точность процесса классификации за счет расчета количества не только каждого слова, но и количества групп слов входящих в одно сообщение.
МЕХАНИЗМ РАСЧЕТА ВЕРОЯТНОСТИ
Наивный байесовский классификатор (НБК) - один из наиболее примитивных классификаторов, основанных на теореме Байеса с условием выполнения строгой независимости вероятностных компонент [6]. Данное допущение рассматривает каждое слово в сообщении отдельно и независимо от остальных. Вследствие этого, процесс обучения НБК сложен и нетривиален в силу затраты большого количества ресурсов для получения минимальной базы, пригодной для дальнейшей классификации сообщений.
Рассмотрим примитивное СМС сообщение X , состоящее из конечного набора слов Хр...,Хп:
X = (Xхп).
Обозначим за У класс (в нашем случае это классы Б и иБ), к которому данное сообщение может быть отнесено. Тогда для любых двух слов
XI и Х2 из сообщения X вероятность отнесения к классу У равно:
р(X | У) = р(X 1? X2 | У) = = р(Х1|Х2, У)р(Х2 | У) = (1) = р( х 1 | У ) р( X 2 | У )
Экстраполируя на конечное число слов Х1,...,Хи , получим соотношение:
р(XI,...,Xn | У) = Пр(XI У). (2)
' =1
С другой стороны, вероятность того что У примет I -ое возможное значение для сообщения, состоящего из Х1,...,Хи слов, в соответствии с теоремой Байеса равна:
р(У = у^^..., Xn) =
= р(У = у1) р( XI,..., ^|У = у) (3) Е р(У = У}) р( X1,..., Xn|У = у)'
В силу полной независимости слов сообщения друг от друга, вероятность примет вид:
р(У = у,^1,..., Xn) =
р(У = у, )П р( хl|У = у)
=-'-. (4)
Е р(У=у )П р( =У])
/ '
Получив механизм расчета вероятности, рассмотрим процесс построения обучающей таблицы. Обучающая таблица позволяет систематизировать появление тех или иных слов с дальнейшим расчетом вероятности отнесения сообщений, в которых данные слова встречаются к классу У (классам Б и иБ).
ПОСТРОЕНИЕ ОБУЧАЮЩЕЙ ТАБЛИЦЫ
Для наглядности описания процесса построения обучающей таблицы для СМС сообщений, рассмотрим конкретный пример. Пусть дано пять СМС сообщений: два сообщения X1 = [х1 1 ,
х2 = [X1 _X21 относящиеся к классу иБ и три
Х3 =\X3 1 Х4 = Г^^ 2 _ X3 1 Х5 = Г^ 2 _ X3, X 2 _ X3!l
у у
к классу Б. Тогда таблица векторов для выборки будет иметь вид (табл. 1):
В данном случае, из СМС сообщений были извлечены слова (X1, X2, X3 ^, которые являются характеристическими признаками при дальнейшей классификации СМС сообщений. Извлечение слов подразумевает отсутствие учета знаков препинания. Тогда общее кол-во слов входящих в тот или иной класс (табл. 2):
В случае появления в системе нового сообщения X, процесс выделения признаков (слов) будет состоять из следующих этапов:
1. Из сообщения удаляются все знаки препинания и выделяются только слова;
2. Слова не встречающиеся в исходной векторной таблице исключаются;
3. Подсчитывается общее количество оставшихся слов.
В нашем представленном примере, вероятность того, что новое СМС сообщение X будет отнесено к классу иБ равно:
р^^, X 2, Xз) = = рп)р(X1 | п5)р(X21 п5)р(X31 п5). (5)
А вероятность того что сообщение X будет отнесено к классу Б равно:
р(Б | X1,X2,Xз) = р(5)р(X1 15)р(X215)р^з 15) .(6)
Таким образом, рассчитав значение обеих вероятностей можно сказать, к какому классу будет отнесено сообщение X.
ОПТИМИЗАЦИЯ НБК
Для оптимизации НБК, основанной не только на анализе слов как независимых компонент СМС сообщения, но и учитывающей последовательность слов (группы слов) опишем необходимые этапы.
Построение обучающей таблицы
Построение обучающей таблицы для оптимизации несколько отличается от того построения, что описано выше. Оно учитывает не только правило независимости слов в СМС сообщении, но и правило ассоциации слов друг с другом в рамках сообщения (учет порядка следования слов). Для учета данного аспекта опишем процесс построений ассоциаций слов.
Таблица 1. Векторная таблица сообщений
Сообщение Класс Количество слов
х5
Х1 иБ 1 0 0
X 2 иБ 1 1 0
Х3 Б 0 0 1
Х4 Б 0 1 1
Х5 Б 0 2 2
Таблица 2. Количество вхождений слов в определенные классы
Слова Класс пБ Класс Б
X; 2 0
Х2 1 3
Хз 0 4
Итого 3 7
Процесс построения ассоциаций
Для наглядности процесса построения ассоциаций рассмотрим конкретный пример. Пусть дано 9 СМС сообщений из классов ^ и S: 5 из класса S и 4 - ^ соответственно.
S: х1 = ГХ1'Х 25 Х 5 1, х2 = ГХ2'Х 3 1,
Х3 = ГХ15Х3 1 Х4 = ГХ1, Х2 1, 1
Х5 = ГХ1' Х 2 ,Х3 1
nS: х6 =Г^2,Х41, х7 =Г^1,Х2,Х41, Х8 =ГХ25 Х 3 1, Х9 = ГХ1' Х 2 5 Х 3, Х5 1
Максимальная длина анализируемых ассоциаций не может быть больше минимальной длины сообщений. В нашем случае, минимальная длина равна 2 (сообщения х2, х3, х4, х6, Х8). Таким образом, множество слов, характеризующих сообщения, входящие в класс S состоит из элементов Гх 11, Гх 2 1 Гх 3 1, Гх 5 1 Гх 1, X 21, Гх 1, X 31, Гх 2 , X 31
>
тогда как множество ^ состоит из элементов Гх! 1, Гх 2 1, Гх 3 1, Гх 4 1, Гх5 1 Гх!, х 2 1, Гх 2, х3 ], Гх 2, х 4 ] .
Составим таблицу векторов для классов ^ и S. Для этого из каждой определенной последова-
Таблица 3. Табли
тельности для своего соответствующего класса, определим количество вхождений в соответствующее сообщение. Тогда, таблица векторов для класса S будет иметь следующий вид (табл. 3).
Таблица векторов для класса ^ имеет следующий вид (табл. 4).
Далее сформируем таблицу вхождения слов в определенный класс (табл. 5). Таким образом:
Общее число слов в словаре = 9; Вероятность определения слова в класс ^ p(nS) = 4/9;
Вероятность определения слова в класс S p(S)=5/9; Общее число слов класса ^ = 19; Общее число слов класса S = 17. Рассмотрим конкретный пример, возьмем тестовое СМС сообщение вида
х = ^х1,х1,х2,х2,х3) . Тогда, в рамках построенной модели вероятность того, что сообщение будет отнесено к классу ^ равно:
р(п£ х19 х19 х2, х2, х3) = р(п8) х р(х1 \п8)2 х х р(х2 \ п$)2 х р(х3 \ п£) х р(х1з х2 \ п$) х х р( х х 3\п£) х р( х 2, х 3\п£)
векторов класса S
Сообщение Признаки (слова и их последовательности)
хг х2 х5 х5 Х1,Х2 Х1Х Х2,Х5
Х1 1 1 0 1 1 0 0
X 2 0 1 1 0 0 0 1
Х3 1 0 1 0 0 1 0
Х4 1 1 0 0 0 1 0
Х5 1 1 1 0 1 1 1
Таблица 4. Таблица векторов класса nS
Сообщение Признаки (слова и их последовательности)
X X2 X5 X4 X; XhX2 X2,X3 X2,X4
Х6 0 1 0 1 0 0 0 1
х 7 1 1 0 1 0 1 0 1
х8 0 1 1 0 0 0 1 0
Х9 1 1 1 0 1 1 1 0
Таблица 5. Вхождение слов в определенный класс
Признаки Класс nS КлассS Признаки Класс nS Класс S
^ 4 2 Xl,X2 2 2
X2 3 4 Xi,X3 3 0
X3 4 2 X2X3 2 2
X4 0 2 X2X4 0 2
Итого: Класс nS :19, Класс S: 17
С другой стороны, вероятность того, что сообщение будет отнесено к классу Б равно:
р(5, X!, X!, X2, X 2, Xз) = р(5) X р(X! 15)2 X
X р(X2 | 5)2 X р(Xз|S) X р(X1, X2 | 5) X
Xр(X,,Xз 15)Xр(X2,Xз 15)
Исходя из вышесказанного, проведем сравнение с индивидуальным коэффициентом вероятности каждого слова и получим следующий результат:
4 +1 5
р(X11 п8) = = —, р(X21 п8) =
и 19+1X | 28 2
з +1 4 | 4 +1 5
■ = — > р( X з|п5) =
p(nS, X j, X j, X 2, X 2, X 3) =
19+1X | 28
19+|X| 28'
2 +1 3
p(X,, X21 nS) = = —, p(X,, X31 nS) =
1 2 19+1X | 28 1 3
3 + 1 = ± p(X2, X3 | nS) = 2 +1 3
19+1X | 28
2+1 3 P(X11S) = __ = — p(X21S) =
19+1X | 28 4 +1
5
17+1X | 26
2+1 3
17+1X |
= —, p(X3|S) = - ,
26 31 17+1X | 26
2+1 3
p(Xj, X21 S) =-= — , p(Xj, X31 nS) =
1 2 17+1X | 26 1 3
=-, p( X 2, X 31 nS)=—2+1—=A 17+1X | 26 17+1X | 26'
Исходя из этого значение
4 ^28У3
28 J I 28
4 Д28 J \ 28
= 9 x10"
p(S, X15 X15 X 2, X 2, X 3) =
X| 28M28j
X| 26JXl26
X| 26 JXl 26j
=5 Xf A J2 J A
9X|26J Л26 = 1.8 x 10~9
Исходя из проведенных вычислений, можно сказать, что тестовое сообщение
x = (Xx ,Xj,X2,X2,X3^ с большей вероятностью будет отнесено к классу nS, нежели S.
СРАВНЕНИЕ НБК И ОПТИМИЗИРОВАННОГО АЛГОРИТМА НА ПРАКТИКЕ
Для практической реализации предложенной идеи бралась база данных SMS Spam Collection v. 1 [7], состоящая из 5574 СМС из nS и S классов.
Обучение было построено следующим образом, брались первые 600 строк из представленной БД и на базе них строилась векторная таблица, далее бралось 100 сообщений и проводилось тестирование полученного алгоритма. Далее брались следующие 600 строк, и к ним следующие 100 для тренировки. Процесс был повторен 5 раз. Результаты работы представлены в табл. 6.
Таким образом, для выбранной коллекции СМС сообщений эффективность оптимизированного алгоритма на 1.68% выше, нежели чем у НБК.
2
Таблица 6. Сводная таблица результатов работы алгоритма
№ тестовой выборки Оптимизированный алгоритм НБК(%) Разница(%)
1 97.5 96.0 +1.5
2 98.2 96.3 +1.9
3 96.1 95.5 +0.6
4 99.0 97.2 +2.8
5 98.4 96.8 +1.6
Итого (среднее): 97.84 96.36 +1.68
ЗАКЛЮЧЕНИЕ
При рассмотрении СМС сообщений не только с точки зрения отдельных слов но и их ассоциаций, точность предложенного оптимизированного алгоритма выше, нежели чем у НБК. Таким образом, более полный анализ структуры СМС сообщений позволяет не только повысить качество классификации, но и открывает большие перспективы с точки зрения разработки новых алгоритмов и оптимизации существующих.
СПИСОК ЛИТЕРАТУРЫ
1. Portio Research оценивает мировой рынок мобильных сообщений в 2011 году [Электронный ресурс]. 2011. URL: http://www.mforum.ru/news/ article/099200.htm (дата обращения 15.09.2016).
2. Worldwide A2P SMS Markets 2014-2017 [Электрон-
ный ресурс]. 2014. URL: http://www.strikeiron. com/wp-content/uploads/2014/12/whitepaper-sms-2014-2017-portio-research.pdf (дата обращения 15.09.2016).
3. Cloudmark наблюдает рост потоков SMS-спама [Электронный ресурс]. 2013. URL: https://securelist. ru/blog/novosti/3684/cloudmark-nablyudaet-rost-potokov-sms-spama/ (дата обращения 15.09.2016).
4. Machine learning methods for spam e-mail classification [Электронный ресурс]. 2011. Режим доступа: http://airccse.org/journal/jcsit/0211ijcsit12. pdf (дата обращения 15.09.2016).
5. Weiss S., Apte C. Maximizing text-mining performance // IEEE Intelligent Systems. 1999. 63-69 с.
6. Наивный байесовский классификатор [Электронный ресурс]. 2015. URL: https://ru.wikipedia.org/ wiki/Наивный_байесовский _классификатор (дата обращения 15.09.2016).
7. SMS Spam Collection v. 1 [Электронный ресурс]. 2011. URL: http://www.dt.fee.unicamp.br/~tiago/ smsspamcollection/ (дата обращения 15.09.2016).
USING OPTIMIZE NAÏVE BAYES CLASSIFIER IN PROBLEM OF SMS CLASSIFICATION
© 2016 M.E. Burlakov
Samara National Research University named after Academician S.P. Korolyov
In article the process of optimizing a naive Bayesian classifier is viewed. The mechanism of calculating the probability and the process of constructing a training table are analyzed. It's needed for a practical solution to problem of SMS messages classification by Naive Bayes classifier. There is experimental set of SMS messages. It used by experts for SMS messages classification process. It has two sets - train set and test set. The quality of SMS messages classification is higher for optimized method and lower of non-optimized Naive Bayesian classifier.
Keywords: Naive Bayes classifier, the classification of SMS messages, the optimization of the Naive Bayesian classifier, e-mails, spam, classification of e-mails.
Mikhail Burlakov, Assistant at the Information Security System Department. E-mail: knownwhat@gmail.com