Гибридный алгоритм классификации текстовых документов на основе анализа внутренней связности
текста
И.А. Красников, Н.Н. Никуличев
Введение. В настоящее время во многих прикладных областях, таких как, распознавание речи, распознавание образов, техническая диагностика, биоинформатика, распознавание рукописного ввода, категоризация ввода, хемоинформатика и др., важную роль начинают играть методы машинного обучения и интеллектуального анализа данных. Основное назначение данных методов - анализ, классификация и выявление скрытых закономерностей в больших объемах разнородных сложно структурированных данных [1]. Для решения этих задач разработано множество подходов, имеющих свои преимущества и недостатки, среди которых: метод опорных векторов, метод к-ближайших соседей, нейронные сети, линейная регрессия. Согласно большинству исследований [2-4], одни из лучших результатов показывает наивный байесовский классификатор, основная идея которого заключается в предположении независимости, переданных для классификации признаков, что делает метод довольно простым и точным. В тоже время, неспособность учитывать зависимость результата от сочетания признаков, оказывает существенное влияние на качество классификации в большинстве реальных задач.
Другим подходом, показывающим не менее высокие результаты, является нечеткая классификация [2,8]. При таком методе классификации элементы данных могут принадлежать нескольким классам, связанным с каждым элементом набором степеней принадлежности. Они указывают силу ассоциации между элементом данных и определенным классом. Нечеткая классификация - процесс определения этих степеней принадлежности и использования их, чтобы присвоить элементы данных двум или более классам. В реальных случаях не может быть никаких резких границ между классами, и тогда нечеткая классификация будет лучшим выбором.
Целью настоящего исследования является разработка метода позволяющего объединить два подхода к классификации данных - наивную байесовской модель и нечеткую логику. Основу для классификации данных, составляет байесовская модель, а нечеткая логика используется для перехода от оперирования с независимыми друг от друга элементами данных, к связным данным.
1. Математическая модель гибридного способа классификации текстовых документов
Формально задачу классификации можно описать следующим образом.
Предполагается, что алгоритм классификации работает на некотором множестве документов D={dl}. Все множество документов разбивается на непересекающиеся подмножества классов:
C-iCy.ll п С]-Щ* })
Задачей классификации является определение класса, к которому относится данный документ. Каждому элементу й ставится в соответствие набор признаков й-{}. Далее применяется алгоритм классификации для выделения документов наиболее соответствующих заданному классу [3].
В основе предложенной системы классификации гипертекстовых документов на естественных языках, лежит наивная байесовская модель, при которой набор переданных для классификации признаков является независимым друг от друга. В общем виде определение наиболее вероятного класса алгоритмом наивной байесовской классификации выглядит следующим образом:
с - тах^с Р(С(С°2-0п)- а^ тах^сР(с)Пр(°.\с).
где С - набор классов, а о1о2...оп - набор признаков. Классификация сводится к вычислению максимального значения аргумента, при известном наборе независимых признаков о1о2 ...оп. При этом:
Р(с)ПР(°1 с- Р(С)Р(Р(°\\с)РШ...Р(°}с).
Вычисление вероятности класса Р(С), при известных признаках °i°2 —°п сводится к следующему:
P(C\o, o.oj - X(о, C\A+ £А
где А - набор известных признаков, полученных при обучении классификатора.
Классификация текста, при этом, выглядит следующим образом:
C(T)-max X(V2■■■tni\C)
где T - классифицируемый текст, а t1,t2 ...tn - набор предложений текста. Таким образом, принадлежность текста к тому или иному классу сводится к вычислению максимального значения суммы коэффициентов принадлежности предложений.
Для повышения точности классификации в системе реализован метод предварительного анализа предложений, использующий нечеткую логику. Задачей метода является переход от независимых предложений классифицируемого текста t±,t2 ...tn, к связным. Таким образом, устраняется основной недостаток Байесовской классификации - предположение о независимости признаков используемых при классификации. Нечеткая логика позволяет рассматривать классифицируемый текст в виде связных предложений, т.е. в «контексте».
Пусть имеется множество предложений tn и множество степеней принадлежности этих предложений n, соответствующих классам С. Преобразование предложения t в степень принадлежности n классу с происходит по формуле (1). Тогда nj(cj) степень принадлежности предложения tj известному классу Cj , n_i(Cj) и n+i(Cj) предыдущее и следующее предложение соответственно. Логика алгоритма представлена на Рис.1 и сводится к набору правил переопределения степеней принадлежности.
Если п_,-(с.) = средний И п+1(су) = высокий, то п,- (с.) = средний;
Если n_i(Cj) = высокий И п+г(с^) = высокий, то пг(с^) = высокий:
Рисунок 1 - Набор правил переопределения степеней принадлежности
Графики отражают изменения степеней принадлежности, нескольких предложений текста, в зависимости от применения этих правил.
Процесс фаззификации предложений при этом выглядит следующим образом:
п(с) = ^(о1,о2 ...оя\с)/ X (ох,ог ...оп\С1 + с2 ...сп), (1)
где п - элемент нечеткого множества М(п1п2 ...Щ).
2. Алгоритм работы гибридного способа классификации
Логически предложенную гибридную систему классификации документов можно разбить на 3 модуля, это модули обучения системы, модуль байесовской классификации и модуль нечеткого анализа. Алгоритм 1 представляет псевдокод общего алгоритма системы.
if (есть (ссылка на страницу)){передать ссылку системе обработки html страниц // Система обработки html страниц function рог5ег($ссылка на страницу) { $html = file_get_html($ссылка на страницу); Найти в результирующем массиве $html целевой текст; разбить целевой текст на предложения; return $result;}
Передать обучающие выборки функции AddToIndex; Обучить классификатор;
// Обучение классификатора
10
11 l2
13
14
15
16
17
18
19
20
21 22
23
24
25
26
27
28
принадлежит выборка) { создать массив признаков; загрузить данные из файла в массив признаков;} foreach($result as $key => $line) {
$результат ->classify($line);
// Классификатор function classify($line){
$tokens = $this->tokenise($line);
function tokenise($line) {разбить предложения на слова; return массив слов;} классифицировать слова $tokens из предложения $line; преобразовать $line в степень принадлежности $fuzzy; return $result; $ns->fuzzy($result);
//Нечеткий анализ function fuzzy($result){
собрать массив степеней принадлежности $fuzzy; произвести корректировку; return откорректированный массив;} рассчитать результат; print "Результат классификации";} else{print "Ошибка: передана пустая ссылка";}
Модуль обучения классификатора представлен в алгоритме 2. Задача модуля сводится к созданию базы признаков для последующей классификации.
Алгоритм 2 Псевдокод обучения классификатора_______________________________________________
l: function addToIndex($file, $class)
2: $text = fopen($file, 'r');
3: while ($line = fgets($text)) І
4: $tokens= tokenise($line); //разбить на слова $line, создать массив слов.
S: foreach($tokens as $token) І
6: if (в массиве индексов !isset(слова $token принадлежащего классу
7: $class))І добавить запись в массив индексов}}
8: fclose($text);______________________________________________________________________
Алгоритм 3 описывает модуль непосредственной классификации документов. Задачей модуля является классификация переданного текста и создание массива нечетких признаков предложений, для последующего их анализа.
Алгоритм 3 Псевдокод модуля байесовской классификации l: function classify($line)
2: $tokens = разбить $line на слова, собрать массив слов;
3: $classScores = array(); //создать массив значений классов.
4: foreach (classes as $class)І
S: $classScores = добавить все классы из массива классов;
б: foreach($tokens as $token) І
7: if (в массиве индексов !isset(слова $token принадлежащего классу
8: $class)){ счетчик класса $class ++;рассчитать значение $classScores;}}
9: массив classScores=значение $classScores; }
10: преобразовать значения счетчика классов в нечеткий вид и записать в массив ns[];
11: arsort($classScores); return key($classScores);__________________________________________
В задачи модуля нечеткого анализа входит корректировка предложений в соответствии с логикой, описанной в разделе 1. Схема модуля представлена в алгоритме 4.
Алгоритм 4 Схема Нечеткого анализа
function fuzzy()
switch($ns[$i]) case 0.6-0.9:
if (предыдущее и следующие значения <=0.5 ) $ns[$i] = 0.4; case 0.1-0.4:
if(предыдущее и следующие значения >=0.5 ) $ns[$i] = 0.6;
9: ...
l0: записать в массив; break;}
9: return($ns[j);________________________________
Графически предложенный способ классификации представлен на рисунке 2.
Рис. 2. - Графическое представление гибридного способа классификации
3. Теоретическая оценка вычислительной сложности способа
Для теоретической оценки, использовалась модель вычислений ЯЛМ, которая позволяет анализировать алгоритмы машинно-независимым способом [7-9]. Время исполнения алгоритма в ЯЛМ-модели вычисляется по общему количеству шагов, требуемых алгоритму для решения некоторого
экземпляра задачи. Постоянные множители, при оценке, были опущены, так как, при возрастании функции они не оказывают существенного влияния.
Вычислительная сложность просмотра каждого элемента в массиве, при обучении классификатора и непосредственной классификации - линейна и равна п. Сложность функций двоичного поиска применяемых для просмотра и сравнения элементов в модулях байесовской классификации и нечеткой логики алгоритма, равны log п. Вычислительная сложность квадратичной функции сортировки массива используемая при обработке результатов классификации равна п2. Остальные функции, примененные в алгоритме, в среднем имеют сложность равную константе. Таким образом, функция вычислительной сложности, предложенного способа гибридной классификации текстовых документов, имеет следующий вид:
f(n)=n2+ log n+n+1.
Сложность алгоритма квадратична, что является приемлемым, при достаточно больших значениях п.
4. Экспериментальное исследование работы гибридного способа классификации
Для проведения эксперимента использовалась коллекция аналитических статей по экономике опубликованных российскими информационными агентствами в период с 05.2012 по 05.2013 гг. В качестве обучающих выборок, использовались коллекции по экономике и политике, общим объемом 10 тыс. слов.
Для сравнительного исследования эффективности предлагаемого способа были проведены эксперименты по классификации разработанным гибридным способом и классическим Байесовским методом. Точность определялась как отношением числа верных определений целевого класса, к общему числу определений [10]. Результаты сравнения способов классификации приведены в таблице №1.
Таблица № 1
Результаты экспериментов
Наивный байесовский классификатор Гибридный способ классификации
5 000 слов 87,5% 88,3%
10 000 слов 89% 90,8%
15 000 слов 90,1% 93,7%
20 000 слов 90,7% 94,2%
Общая оценка 89% 92%
Разработанный метод классификации показывает лучшие результаты в сравнении с классическим Байесовским методом на больших (св. 15 тыс. слов) документах, что подтверждают результаты эксперимента.
Заключение. Разработанный гибридный метод классификации текстовых документов позволяет эффективно организовать классификацию коллекций, плохо структурированных данных, больших объемов. Сложность алгоритма является квадратичной, что позволяет показывать высокую производительность при объемах п, близких к 1 000 000.
Также предложен подход к устранению основной проблемы Байесовского классификатора - предположению о независимости классифицируемых данных. Использование нечеткой логики позволило выделять «контекст» из классифицируемых данных, и рассматривать текст -связно. Эффективность способа подтверждена результатами экспериментальных исследований.
Предметом исследований автора, проводимых в настоящие время, является разработка метода выявления семантических структур из классифицируемого текста.
Работа выполнена при поддержке РФФИ (проект № 13-07-00951).
Литература
1. Петровский М.И., Глазкова В.В. Алгоритмы машинного обучения для задачи анализа и рубрикации электронных документов. Вычислительные методы и программирование. 2007. Т. 8.№ 2. С. 57-69.
2. Yang Y., Liu X. A re-examination of text categorization methods. // Proc. of Int. ACM Conference on Research and Development in Information Retrieval (SIGIR-99), 1999 — pp. 42-49.
3. Joachims T. Text Categorization with Support Vector Machines: Learning with Many Relevant Features. // Proceedings of ECML-98, 10th European Conference on Machine Learning, 1998 — pp. 137-142.
4. Dumais S., Platt J., Heckerman D., Sahami M. Inductive learning algorithms and representations for text categorization. // In Proc. Int. Conf. on Inform. and Knowledge Manage., 1998 — pp. 64-71.
5. M.Seetha, G. Malini Devi, K.V.N.Sunitha An efficient hybrid article
swarm optimization for data clustering. [Электронный ресурс] // International Journal of Data Mining & Knowledge Management Process (IJDKP), 2012, Vol.2, No.6, Режим доступа: http://airccse.org/iournal/iidkp/papers/2612iidkp02.pdf (доступ
свободный) - Загл. с экрана. - Яз. англ.
6. Максаков А. В. Исследование способов уменьшения набора характеристик в алгоритмах классификации текстов. Четвертый российский семинар РОМИП. С. 92-100
7. Скиена С. Алгоритмы. Руководство по разработке. - 2 изд. Спб.: БХВ-Петербург, 2011- 720 с.
8. А.П.Рыжов. О качестве классификации объектов на основе нечетких правил. Интеллектуальные системы - 2005. Т.9.В.1-4. С. 253-264.
9. С.П. Алёшин, Е.А. Бородина Нейросетевое распознавание классов в режиме реального времени [Электронный ресурс] // «Инженерный вестник Дона», 2013, №1. - Режим доступа: http://www.ivdon.ru/magazine/archive/n1y2013/1494 (доступ свободный) - Загл. с экрана. - Яз. рус.
10. В.В. Галушка, В. А. Фатхи Формирование обучающей выборки при
использовании искусственных нейронных сетей в задачах поиска ошибок баз данных [Электронный ресурс] // «Инженерный вестник Дона», 2013, №2. -Режим доступа: http://www.ivdon.ru/magazine/archive/n2y2013/1597 (доступ
свободный) - Загл. с экрана. - Яз. рус.
11. Гладков Л.А., Гладкова Н.В. Особенности использования нечетких генетических алгоритмов для решения задач оптимизации и управления. //Известия ЮФУ. Технические науки. 2009.№4(93). С.130-136.
12. Курейчик В.В., Сороколетов П.В., Щеглов С.Н. Анализ современного состояния автоматизированных систем приобретения и представления знаний//Известия ЮФУ. Технические науки. 2008. № 9 (86). С. 120-125