7
МЕТОДЫ И СИСТЕМЫ ЗАЩИТЫ ИНФОРМАЦИИ
УДК 004.912
АЛГОРИТМ ОПРЕДЕЛЕНИЯ СПАМНОСТИ ДОКУМЕНТОВ НА ОСНОВЕ
ФЕЙЕРОВСКИХ ОТОБРАЖЕНИЙ А.Г. Коробейников, С.Ю. Блинов, А.В. Лейман, Г.Л. Маркина, И.М. Кутузов
Предложен алгоритм определения спамности почтовых документов на базе метода опорных векторов. Модификация метода заключается в построении разделяющей гиперплоскости на основе фейеровских отображений, что позволяет работать с нестационарными данными, характерными для задач классификации документов. Ключевые слова: классификация информации, спам, задачи сильной отделимости, гильбертово пространство.
Информационные технологии породили все увеличивающийся поток разнородной информации. Основной задачей поисковых систем (поисковых машин) является предоставление качественных результатов, т.е. наиболее важных релевантных страниц. Для этого необходимо решать задачу классификации. В связи с этим теория, методы и алгоритмы классификации информации являются бурно развивающимся научным направлением.
Одной из важнейших проблем, встающей практически перед каждым пользователем Интернет, является борьба со спамом, т.е. задача фильтрации (классификации) поступающей информации. В настоящее время разработан ряд технологий построения фильтров - сервисов для отсеивания нежелательной информации. Эти технологии можно разделить на настраиваемые вручную и автоматизированные. Настраиваемые вручную фильтры основываются на списках доступа: пользователь непосредственно выбирает либо нежелательные адреса (при политике пропуска по «черному списку»), либо разрешенные адреса (при политике пропуска по «белому списку»). Однако ручные способы фильтрации нежелательных сообщений малоэффективны и требуют постоянного обновления списков доступа, создавая дополнительную нагрузку на пользователя. Кроме того, ручная категоризация неприменима, если необходимо классифицировать большой объем информации за ограниченное время.
Применение автоматизированных технологий фильтрации основано на использовании методов распознавания образов, искусственного интеллекта, математической статистики и т.д. [1, 2].
Одним из самых популярных на сегодняшний день является фильтр, основанный на байесовском подходе (наивный байесовский классификатор), в котором предполагается, что различные термы сообщения независимы друг от друга. Но для повышения эффективности таких фильтров необходимо учитывать семантические связи между термами, что требует привлечения методов семантического анализа, тем самым существенно повышая нагрузку на систему и увеличивая время работы самого фильтра при незначительном повышении эффективности фильтрации.
Таким образом, существует потребность в разработке новых методов и алгоритмов классификации информации для решения задачи фильтрации нежелательных сообщений, что делает актуальной тему настоящей работы. В работе предложен алгоритм построения классификатора, базирующийся на построении разделяющей гиперплоскости в гильбертовом пространстве на основе фейеровского отображения [3, 4].
Формально постановка задачи классификации выглядит следующим образом.
Пусть дано конечное множество категорий (классов) С = (с1, с2, ...С|С|) и конечное множество документов Б = {С1, с12, ...с1р). Целевая функция (функционал, классификатор) Ф : БхС ^ {-1, 1), определяющая для каждой пары <документ, категория> соответствие их друг другу, неизвестна. Требуется найти классификатор Ф', т.е. функцию, максимально близкую к функции Ф [4]. Если пересечение двух категорий пусто, то имеет место бинарная классификация, которая часто используется в фильтрации спама. Если имеются образцы из каждой категории (объекты) и заранее известно, к какой категории они принадлежат, то такие задачи называются обучением с учителем, а известные данные - обучающей выборкой. В предлагаемом методе используется именно этот подход.
Машинное обучение предполагает наличие обучающей и контрольной выборки. Дана начальная коллекция документов О = {С1, С2, ...Ср) с Б, где значения целевой функции Ф известны для V (С,, с) е Р х С. Эта коллекция Р разбивается на два непересекающихся множества: Р = Р1иР2 и Р1пР2 = 0 (Р1 - спам, Р2 - не спам). Формирование этих подмножеств может происходить вручную, т.е. эксперты после работы с множеством документов мощности |Р| выносят решение: если документ С, является спамом, то он принадлежит множеству С, е Р1; наоборот, если документ не спам, то С, е Р2.
Введение
Постановка задачи классификации
Обозначим обучающее множество Q = {(d„y,)}, где dt e Q, yt e C. Классификатор Ф обучается индуктивно на основе выявленных характеристик документов [5].
Анализ метода построения классификатора
Построение классификатора будем проводить на основе метода опорных векторов (SVM - support vector machines) [6]. SVM - это набор схожих алгоритмов на основе обучения с учителем, применяющийся для анализа данных и распознавания образов в задачах классификации и регрессионном анализе. SVM является линейным классификатором. На основе обучающей выборки алгоритм помогает предсказать, в какую категорию из двух заранее заданных попадает элемент, подлежащий классификации.
Особым свойством SVM является непрерывное уменьшение эмпирической ошибки классификации и увеличение зазора. По этой причине этот метод также известен как метод классификатора с максимальным зазором. SVM считается очень перспективным для решения задач классификации (кластеризации) с использованием методов теории искусственного интеллекта.
Основная идея, используемая в SVM, - построение гиперплоскости или набора гиперплоскостей в пространстве более высокой размерности и максимизация расстояния между построенной гиперплоскостью и классами обучающей выборки. Но в настоящее время еще не разработаны общие методы построения таких гиперплоскостей (спрямляющих пространств или ядер классификатора), наиболее подходящих для конкретной задачи. Построение адекватного ядра является искусством и, как правило, опирается на априорные знания о предметной области. На практике «вполне разумные» ядра классификатора, выведенные из содержательных соображений, далеко не всегда оказываются положительно определенными, что, естественно, не может не сказаться на качестве решения. Именно построению такой гиперплоскости посвящена настоящая работа.
Разработка алгоритма решения задачи защиты от спама на базе SVM
В задаче классификации информации для задачи защиты от спама необходимо определять, является данный документ спамом или нет. В предлагаемом подходе для решения этой задачи вводится система метрик. Пользователь разделяет свои письма и отмечает те, которые считает спамом, т.е. строит обучающее множество Q. На основании этой информации строятся выпуклые оболочки в виде систем линейных неравенств. Первая система задает множество точек-документов, определяемых как спам, вторая система - множество точек-документов, определяемых как не спам. Построив слой наибольшей толщины, разделяющий два многогранника, можно разработать процедуру, позволяющую автоматически разделять (классифицировать) документы на «хорошие» и «плохие». Получив новый документ и прочитав его характеристики, получаем точку в рассматриваемом пространстве. Если данная точка попадает в «плохое» полупространство, делается предположение, что это спам; если в «хорошее» - не спам; если точка попадает внутрь слоя, письмо доставляется пользователю с пометкой «возможно, спам».
Для решения задачи сильной отделимости обычно применяют итерационный процесс, использующий операцию проектирования. Однако на практике применение этого метода существенно ограничено тем фактом, что далеко не всегда удается построить конструктивную формулу для вычисления проекции точки на выпуклое множество. В связи с этим целесообразно произвести замену операции проектирования последовательностью фейеровских отображений [7].
Кроме того, алгоритмы разделения многогранников на основе фейеровских отображений обладают тем преимуществом по сравнению с проективными и другими известными методами, что они применимы к нестационарным задачам, т.е. к задачам, в которых исходные данные могут меняться в процессе решения задачи. Такой нестационарной задачей является, например, задача о спам-фильтре. Рассмотрим алгоритмы для решения задачи сильной отделимости.
Пусть даны два выпуклых непересекающихся многогранника M с Rn и N с Rn, заданные системами линейных неравенств
M = {xj Ax < b} ф 0; N = {xj Bx < d} ф 0. (1)
Задача сильной отделимости заключается в нахождении слоя наибольшей толщины, разделяющего M и N. Эта задача эквивалентна задаче отыскания расстояния между M и N в смысле метрики:
p(M,N) = min{|| x -y jj | x e M, y e N}. (2)
Если x1 e M иy1 e N являются arg-точками задачи (2), т.е. p(M,N) = ||x1 -y 1 jj, то слоем наибольшей толщины, разделяющим множества M и N, является P = {xj x e P1n P2},
где < , > - скалярное произведение двух векторов; P1 и P2 - полупространства, задаваемые линейными неравенствами
< x - x1, x1 -y1 > < 0 и <y -y1, x1 -y1 > > 0.
Следовательно, задачу сильной отделимости можно сформулировать так:
{ xi, yi} = щ-g min{||x - yjj |x e M, y e N}. (3)
Задачу (3) можно решить при помощи известного алгоритма последовательного проектирования.
Алгоритм решения задачи сильной отделимости (ЭТ). Даны два выпуклых непересекающихся многогранника М с Я" и N с Я", заданные системами линейных неравенств (1). Обозначим отображение (проектирование) точки на М через лм, а на N - лм. Зададим произвольное начальное приближение w0 е Я". Выберем фиксированное положительное вещественное число е. Тогда алгоритм решения задачи сильной отделимости будет состоять из следующих шагов.
Шаг 0. к := 0.
Шаг 1. Хк+1 := лм (^к).
Шаг 2. ук+1 := лм (^к).
Шаг 3. ^к+1 := (хм + уш)/2.
Шаг 4. к := к + 1.
Шаг 5. Если ш1и(||хк+1- хк||, |[ук+1-ук||} > е, то перейти к шагу 1.
Шаг 6. Конец.
Если множества М и N достаточно просты в смысле реализации операции проектирования точек на них, то представленный алгоритм ЭТ может быть использован на практике. Но если М и N - произвольные многогранники, то ЭТ не может быть признан эффективным, так как неизвестен универсальный конструктивный метод построения проекции точки на многогранник. В этом случае решить задачу можно, если вместо операции проектирования использовать фейеровские отображения.
Дадим определение фейеровского отображения. Пусть ф : Я" ^ Я". Отображение ф называется М-фейеровским, если выполняются следующие два условия:
ф(у) = у, V у е М; ||ф(х)- у|| < ||х -у||, V х г М, у е М.
Класс М-фейеровских отображений обозначим через РМ.
Под фейеровским процессом, порождаемым однозначным М-фейеровским отображением ф е FM при произвольном начальном приближении х0 е Я", будем понимать последовательность {фк (х0 )} о.
Известно [8], что в случае, когда однозначное М-фейеровское отображение ф является непрерывным, фейеровский процесс сходится к точке, принадлежащей множеству
М: { (хо)}} ^ х е М.
Это означает, что для любого вещественного е > 0 существует целое положительное число К, такое, что для всех к > К имеем ||хк - х|| < е.
Спроектируем М-фейеровское отображение, согласно [8]. Представим систему линейных неравенств, задающих многогранник М, в виде
М = {х| Ах < Ь : [(х) = < а, х > - Ь < 0,} = 1,.. т}, где <а,, х> Ф 0 для любогоЗададим [р1"1 (х) следующим образом:
будет М-фейеровским для любой системы положительных коэффициентов {а, >0},, = 1, ..., т, таких, что
отображение у . Используя отображения ф и у , можно построить алгоритм, решающий задачу сильной отделимости с использованием фейеровских отображений.
Определение. Пусть задано однозначное непрерывное отображение ф е FM. Под ф -проектированием (псевдопроектированием) точки х е Rn на множество M будем понимать отображение лМ : R ^ M, задаваемое соотношением лМ (х) = lim фк (х). Точку лМ (х) будем называть псевдо-
к ^да
проекцией точки х на множество M.
Предположим, что в контексте решения задачи (3) существуют два однозначных непрерывных фейеровских отображения ф е FM и ф е FN. Используя операции ф - и у -проектирования, построим алгоритм S, решающий задачу сильной отделимости с использованием фейеровских отображений.
Алгоритм S. Зададим произвольное начальное приближение w0 е Rn. Выберем фиксированное положительное вещественное число е. Тогда алгоритм решения задачи сильной отделимости с использованием фейеровских отображений будет состоять из следующих шагов.
lf (х) = max {/. (х) ,0}, j = 1,..m.
Тогда отображение вида
m
^ aj = 1, и коэффициентов релаксации 0 <lj< 2. Аналогичным образом сконструируем Ж-фейеровское
j=1
Шаг 0. k := 0.
Шаг 1. Хк+i := %'M (wk).
Шаг 2. >k+i := < W).
Шаг 3. wk+i := X+i + >k+i)/2. Шаг 4. к := к + i.
Шаг 5. Если || wk+i- wk|| > е, то перейти к шагу i. Шаг 6. Конец.
Основной вопрос при обосновании применимости алгоритма S к задаче классификации информации заключается в доказательстве сходимости этого алгоритма к требуемому решению. Обычно для обоснования сходимости алгоритма S необходимо более сильное свойство, чем просто фейеровость отображения ф, а именно локально сильное фейеровское отображение [9]. В этом случае сходимость алгоритма строго доказана [9]. Очевидно, что в алгоритме S ресурсоемкими являются шаги i и 2. На каждом из этих шагов реализуется последовательный фейеровский процесс, в результате которого получаем псевдопроекцию точки на многогранник. Многогранник, задаваемый системой линейных неравенств, всегда является выпуклым замкнутым множеством, т.е. всегда существует решение. Рассмотрим алгоритм создания обучающей выборки. Будем производить действия по следующему алгоритму:
1. Берем обучающее множество Q и считываем его термы. Получаем множество термов т = {tb t2,..., tp},p = i, ..., |T|, t = и du i = i, ..., |D|.
2. Проводим лексикографическое упорядочивание множества (преобразуем T в Tbase): T * Tbase,
\Tbase\ — T\, Lbase = |Tbase\.
3. На базе обучающего множества Q формируем частотный словарь слов (термов) Datatable, в котором каждому ti е Tbase, i = i,..., \Lbcsse\ соответствуют числа: vi i - частота встречаемости в Qi, v2i - частота встречаемости в Q2; Datatable = {ti, vii, vi2, t2, v2i, v22, ..., tr, vri, vr2}, r = Lbase.
4. Берем последовательно все документы di е Qi, i =i, ..., |Qi|.
5. Считываем все термы из документа di : TT = {tti,., ttk}, k = |di|.
6. Проводим лексикографическое упорядочивание множества TT (преобразуем TT в TTbase):
TT ^ TTbase, \TTbase\ — |TT|, lbase = |TTbase|.
7. На базе множеств Tbase, TTbase, частотного словаря и вектора признаков формируем вектор
Xi ={vii, vi2, v2i, v22, vpi, vp2, SVi, ..., SVn}, где p = Lbase, и vjj = 0, если tti е TTn Tbase = 0.
Обозначим множество векторов xi через X = {xi}, i = i, |Qi|. Получаем множество, соответствующее спаму.
8. Повторяем пункты 4-7, но только для множества Q. Обозначим множество, полученное на шаге 8, через Y. Получаем множество, соответствующее не спаму.
9. Строим по алгоритму S разделяющую гиперплоскость между X и Y. Получаем нормальный вектор к гиперплоскости w и параметр b (порог классификации).
10. Строим классифицирующую функцию Ф'.
Окончательно алгоритм определения спамности документа выглядит так.
1. Берем документ dt е D\Q, i = i, ..., |D\Q.
2. Считываем все термы из документа di : TT = {tti, ..., ttk}, k = |di|.
3. Проводим лексикографическое упорядочивание множества TT (преобразуем TT в TTbase):
TT ^ TTbase, \TTbase\ — |TT|, lbase = |TTbase\.
4. Определяем множество признаков для данного документа. Если данный признак не определен, то присваиваем svi = 0.
5. На базе множеств Tbase, TTbase, частотного словаря и множества признаков формируем вектор
x ={vii, vi2, v2i, v22, vpi, v p2, SVi,.SV„}, где p =Lbase, v jj = 0, если tti е TTn Tbase = 0.
6. Определяем спамность документа di при помощи классификатора Ф'(х) = sign(<w, x > + b).
Заключение
Разработанный алгоритм определения спамности документа, или классификации, конечно же, имеет свои недостатки. Попытки построить для решения задачи классификации один алгоритм, удовлетворяющий всех, заранее обречены на провал. По этой причине имеет смысл объединить несколько алгоритмов в композицию, в надежде на то, что погрешности различных алгоритмов взаимно компенсируются. Но в этом случае возникает масса вопросов. Например, при каких условиях качество композиции окажется лучше, чем у отдельных базовых алгоритмов? Как настраивать базовые алгоритмы, учитывая,
что они будут работать в составе композиции? Возможно ли приспособить для их настройки стандартные методы обучения? Как обойтись минимальным числом базовых алгоритмов?
Формально эти вопросы можно записать следующим образом. Пусть имеется задача обучения по прецедентам {X, Y, y*, X1, Y1}, где X - множество объектов; Y - множество ответов; y : X ^ Y - отображение (неизвестная целевая зависимость); X = (xb ..., x) - обучающая выборка; Y1 = (уь ..., y1) - вектор ответов на обучающих объектах, y, = y (xi). Требуется построить алгоритм alg: X ^ Y, аппроксимирующий целевую зависимость y* на всем множестве X.
Введем множество R, называемое пространством оценок [10]. Рассмотрим алгоритмы, имеющие вид суперпозиции
alg(x) = Ш(х)),
где b : X ^ R - алгоритмический оператор; П : R ^ Y - решающее правило.
Многие алгоритмы классификации имеют именно такую структуру: сначала вычисляются оценки принадлежности объекта категориям (классам), а затем решающее правило переводит эти оценки в номер класса. Значение оценки, как правило, характеризует степень уверенности классификации. В одних алгоритмах это вероятность принадлежности объекта заданному классу, в других - расстояние от объекта до разделяющей поверхности. Возможны и другие интерпретации оценок. В работе был использован вариант
Y = {-1, +1}, П00 = sign(z), alg(x) = Ф'(х) = sign(<w,x > + b).
Дальнейшие научные исследования будут посвящены теоретической разработке построения alg(x) = n(b(x)), которые позволят повысить эффективность фильтрации спама.
Литература
1. Сидоркина И.Г., Коробейников А.Г., Кудрин П.А. Алгоритм распознавания трехмерных изображений с высокой детализацией // Вестник Марийского государственного технического университета. - 2010. - № 2 (9). - С. 91-99.
2. Гришенцев А.Ю., Коробейников А.Г. Декомпозиция N-мерных цифровых сигналов по базису прямоугольных всплесков // Научно-технический вестник информационных технологий, механики и оптики. - 2012. - № 4 (80). - С. 75-79.
3. Халмош П. Гильбертово пространство в задачах: Пер. с англ. И. Д. Новикова и Т.В. Соколовской / Под ред. Р. А. Минлоса. - М.: Мир, 1970. - 352 с.
4. Еремин И.И. Фейеровские методы сильной отделимости выпуклых полиэдральных множеств // Изв. вузов. Сер. математика. - 2006. - № 12. - С. 33-43.
5. Лифшиц Ю. Классификация текстов. Алгоритмы для Интернета. - 2005 [Электронный ресурс]. -URL: http://yury.name/internet, свободный. Яз. рус. (дата обращения 24.09.2012).
6. Fan R.-E., Chen P.-H., Lin C.-J. Working set selection using second order information fortraining SVM // Journal of Machine Learning Research. - 2005. - V. 6. - P. 1889-1918.
7. Ерёмин И.И., Мазуров В.Д. Нестационарные процессы математического программирования. - М.: Наука, 1979. - 288 с.
8. Ерёмин И.И. Теория линейной оптимизации. - Екатеринбург: УрО РАН, 1999. - 312 с.
9. Нурминский Е.А. Использование дополнительных малых воздействий в фейеровских моделях итеративных алгоритмов // Ж. вычисл. матем. и матем. физ. - 2008. - Т. 48. - № 12. - С. 2121-2128.
10. Журавлев Ю.И. Об алгебраическом подходе к решению задач распознавания или классификации // Проблемы кибернетики. - 1978. - Т. 33. - С. 5-68 [Электронный ресурс]. - Режим доступа: http://www.ccas.ru/frc/papers/zhuravlev78prob33.pdf, свободный. Яз. рус. (дата обращения 24.09.2012).
Коробейников Анатолий Григорьевич
Блинов Станислав Юрьевич
Лейман Альберт Владимирович
Маркина Галина Леонидовна
Кутузов Илья Михайлович
Санкт-Петербургский филиал Института земного магнетизма, ионосферы и распространения радиоволн им. Н.В.Пушкова Российской академии наук (СПбФ ИЗМИРАН), доктор технических наук, профессор, зам. директора, [email protected] Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, аспирант, [email protected]
Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, аспирант, [email protected]
Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, начальник отдела, [email protected]
Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, студент, [email protected]