УДК 004.382
АЛГОРИТМ КЛАСТЕРИЗАЦИИ СЕМАНТИЧЕСКИХ ДЕСКРИПТОРОВ ДОКУМЕНТОВ
И. Л. Минаков1
Институт проблем управления сложными системами РАН,
443020, Самара, ул. Садовая, 61.
Рассматривается общая схема алгоритма кластеризации семантических дескрипторов, необходимого для анализа данных, представленных в виде текстов на естественном языке; анализируется влияние различных параметров алгоритма на общую схему работ, обсуждаются перспективы развития подхода.
Ключевые слова: кластеризация, семантические дескрипторы, анализ семантики текстов
1. Введение в проблему
В статье [1] был дан обзор существующих методов кластеризации документов, проанализированы их недостатки и предложен метод мультиагентной кластеризации, ориентированный на работу с неструктурированной информацией. Данная статья является развитием предложенного подхода. Разрабатываемый подход достаточно универсален и подходит для анализа как структурированных данных (представленных, например, таблицами), так и семантических сетей. Как было показано в статьях [2-3], семантика анализируемых документов может быть представлена в виде семантического дескриптора (семантической сети), автоматически построенной на основе онтологии предметной области и словаря. Традиционные механизмы анализа достаточно слабо ориентированы на работу с неструктурированными данными, поэтому алгоритм кластеризации, способный работать с семантическими дескрипторами, группировать схожие документы и находить степень семантической близости между различными документами предметной области, востребован в практических задачах.
В данной статье рассматривается общая схема работы алгоритма кластеризации, способы его конструирования и влияние различных параметров и описывается, как он применяется для решения задач кластеризации семантических сетей.
Предлагаемый подход для кластеризации данных базируется на принципах работы мультиагентных систем [4]. Здесь в соответствие каждому элементу системы -каждой записи и кластеру - ставится программный агент, представляющий их интересы. И процесс работы системы состоит в переговорах агентов, направленных на улучшение их состояния согласно критериям оценки качества. Вместо централизованной последовательной обработки осуществляется распределенная обработка, в которой каждая запись и каждый кластер самостоятельно и на основе некоторых заданных стратегий в достаточно узко ограниченном контексте принимают решения о вхождении в кластер или выходе из него, расширении или сужении кластера или его удалении, тем самым представляя текущий локальный баланс интересов конкретных записей и кластеров [5]. В итоге процесс кластеризации осуществляется
1 Минаков Игорь Александрович, доктор технических наук, старший научный сотрудник. E-mail: minakov@magenta-technology. ru
путем самоорганизации агентов, формирующих иерархическую кластерную структуру.
2. Основные участники процесса кластеризации и их свойства
В системе существуют два типа объектов: агенты-записи и агенты-кластеры.
Запись представляет собой уникальный объект в исследуемом пространстве, которое подвергается анализу. Это может быть текстовый документ или строка с информацией в базе данных.
Запись характеризуется некоторым уникальным номером и дескриптором {потенциально дескрипторы могут совпадать). В случае анализа базы данных дескриптором является набор полей и их значений, в случае текста - семантическая сеть.
Кластер объединяет в себе записи по некоторому принципу «похожести» или «близости». Кластер потенциально может включать другие кластеры. Кластер также описывается своим дескриптором, представляющим пересечение дескрипторов входящих в него элементов.
Ограничения, предъявляемые к кластерам и структурам кластеров:
— В системе не может существовать пустой кластер.
— В системе не должно быть двух одинаковых кластеров, т.е. каждый кластер обладает уникальным дескриптором.
— Структура кластеров должна быть древовидной, т.е. никаких циклов в ней не допускается.
— Запись не входит напрямую в кластер, если она в нем уже состоит опосредованно - через иерархию кластеров.
— В свою очередь, кластер не должен пытаться войти в другой кластер, если в нем уже состоят все его записи.
Допущения, существующие в нашей системе:
— В системе агенты функционируют не параллельно, а квазипараллельно. Для упрощения будем считать, что алгоритм диспетчеризации активизирует агента, когда у того возникает в этом необходимость.
— При объединении двух записей создается только один кластер. Этот кластер создается по оптимально выгодному с точки зрения ценности кластера числу атрибутов. Этим мы избегаем проблемы перебора всех возможных сочетаний. Если существовал другой кластер меньшей размерности, он все равно образуется при приходе новых записей.
— Ценность кластера не должна зависеть от того, как именно меньшие кластеры его образуют. Она определяется исключительно исходя из точек, которые в него входят, независимо от того, через какую структуру кластеров они туда попали.
— Ценность кластера также не должна зависеть от порядка, в котором в него входили записи.
— Допустим как пошаговый режим (реального времени), когда заранее неизвестно о приходящих записях, границах изменения параметров и пр., так и пакетный режим, в котором все записи доступны изначально, Оба варианта решаются имитированием пошагового режима, но во втором случае проводится предварительный анализ всех записей для вычисления ряда параметров, влияющих на процесс кластеризации (например, диапазон изменения атрибутов).
В системе могут также существовать агенты других типов, являющиеся служебными. !>то могут быть агенты-наблюдатели, отвечающие за соблюдение правил конструирования кластеров и логику работы (контролируя, например, бесконечные циклы); глобальный агент, следящий за повышением ценности всей системы; агенты мониторинга, позволяющие отследить динамику изменений и пр.
Базовые действия
Как результат выполнения тех или иных действий агентов в системе возможны следующие базовые изменения структуры: запись входит в кластер, запись выходит из кластера, создаётся новый пустой кластер, кластер входит в другой кластер, кластер выходит из другого кластера, кластер без записей разрушается. Возможны также другие случаи, которые являются комбинациями базовых типов. Самые распространённые из них: две записи образуют новый кластер, запись и кластер образуют новый кластер, два кластера образуют новый кластер, два кластера объединяются в один (один отдает все записи другому).
Любые действия влекут за собой изменение дескрипторов агентов. Действия агентов могут быть двух типов: активные действия, когда агент сам ищет какие-то варианты, которые ему интересны, или агент, прежде всего, хочет изменить своё положение в общей структуре и пассивные действия, когда агент лишь соглашается или не соглашается на предложенный ему вариант. Стоит заметить, что процедура соглашения тоже может сопровождаться процессом переговоров, но никакие варианты при этом не ищутся.
Стремления записи
Запись стремится состоять в выгодных кластерах. Более формально: она стремится, чтобы суммарная ценность кластеров, в которых она состоит, была максимально возможной. Таким образом, все решения она принимает на основе данного критерия. Если по каким-либо ограничениям (отсутствию необходимой суммы денег или пределу на число кластеров) она не может войти в новый кластер, запись должна сравнить его с теми, в которых она уже состоит, и по данному критерию выбрать те из них, которые дают максимальную суммарную ценность (именно в этом случае она может состоять в двух менее ценных кластерах, суммарная ценность которых выше, чем ценность одного кластера).
Стремления кластера
Стремления кластера состоят из двух частей: во-первых, он стремится повысить свою «непосредственную» (а) ценность - считается по формуле ценностей для кластера и зависит только от предметно ориентированных параметров кластера: длина интервала, число параметров, характеризующих кластер, число записей и т.п. Во-вторых, учитывается «наведенная» (б) ценность - сумма ценностей всех кластеров, в которых он состоит. Повышая ее, он повышает и свою общую «привлекательность» для записи, тем самым убеждая новые записи присоединиться к нему и при этом повышая общую ценность тех записей, которые в нем уже состоят (например, дали деньги на кластеризацию - ведь иначе им деньги давать невыгодно - так как, если за счет их денег кластер не повышает их же ценность, то записям будет выгоднее самим вступать во все кластеры).
И, соответственно, общая ценность кластера рассчитывается как функция от (а) и (б) и является основой для решения записи о вступлении в кластер.
Тогда становятся понятными мотивы, которыми руководствуется кластер при своих действиях: если запись приходит и предлагает ему расшириться - кластер
должен выбрать, повысится ли ценность с новой записью (но, возможно, без кластеров, из которых в результате расширения придется выйти) или нет.
Общая схема кластеризации представлена в статье [1], здесь же опишем влияние параметров кластеризации на логику работы.
3. Основные параметры алгоритмов кластеризации
Общий алгоритм дает большое пространство для маневра и оставляет много открытых вопросов о том, как именно реализуется тот или иной шаг алгоритма. Разберем возможные способы реализации каждого из шагов.
Типы попей
Объекты записи могут иметь различные типы полей, поддерживаемые алгоритмом.
Различают следующие типы полей: целочисленные, вещественные, строковые, время, валюта, перечислимый тип, онтологические сцены (семантические дескрипторы).
Основной проблемой при работе с различными типами полей одновременно является вопрос сравнительной близости по атрибутам разных типов. Он будет рассмотрен в отдельном пункте, здесь же разберем сравнение по одной оси и подсчет расстояния между значениями на оси.
В сравнивании вещественных или целочисленных полей особенных трудностей нет (оси вещественных чисел имеют естественную упорядоченность).
Валюта сравнивается аналогичным образом, и может потребоваться лишь пересчет по линейной формуле в случае, если значения заданы в разных валютах.
Работа с временной осью специфична тем, что существует цикличность времени
- по дням недели, по месяцам, по годам. Поэтому в зависимости от задачи время может рассматриваться либо линейно (например, преобразуя все значения к вещественному виду - число секунд от определенной даты, к примеру, 1 января О А.О.), либо циклично - рассматривая расстояние между ключевыми элементами (например, по неделям или месяцам).
Строковые значения или перечислимый тип можно сравнивать напрямую и получать результат в виде равно\неравно. Для более сложного сравнения требуется онтология, где может быть задана иерархия для данного типа (например, напитки разделяются на безалкогольные и алкогольные, далее на сок, воду, молоко и пр. И при сравнении воды с молоком можно утверждать, что они ближе, чем молоко и пиво). Здесь уже строится функция сравнения на основе онтологии предметной области.
Наиболее сложный случай - сравнение онтологических сцен семантических дескрипторов. Оно происходит аналогично случаю с перечислимым типом, но по онтологии сравниваются не отдельные элементы, а целые семантические конструкции (как именно осуществляется сравнение семантических дескрипторов, можно увидеть в[3]).
Принципиальной особенностью семантических дескрипторов является то, что их пространство неевклидово, и правило треугольника не выполняется (т.е., если А близко к В, а В близко к С, то это ещё не означает, что А близко к С). Данный факт существенно усложняет работу алгоритма и отсекает применимость множества традиционных методов.
Структура кластеров
По возможности организации структуры различают следующие типы алгоритмов.
Записи: запись может вступать не более чем в один кластер; запись может вступить в один и только один кластер; запись может вступить сразу в несколько кластеров (число ограничено константой) и запись может вступить сразу в несколько кластеров (число ограничено деньгами).
Кластеры: кластер не может состоять в другом кластере; кластер может состоять в другом кластере, но количество уровней в иерархической структуре может быть ограничено; кластер может состоять не более чем в ограниченном числе кластеров (определяется константой) и кластер может состоять не более чем в ограниченном числе кластеров (определяется деньгами кластера).
Представление кластера и вычисление расстояний
между записями / кластерами
При принятии решения о вступлении запись руководствуется двумя критериями: ценность кластера и его близость к ней (так как далекий кластер слишком сильно не совпадает с ней по параметрам, чтобы быть выгодным). Поэтому необходима возможность представления кластера как элемента в том же пространстве, что и запись, и возможность вычисления расстояния от записи к кластеру.
Одной из главных характеристик кластера является центр масс кластера, позволяющий вычислять расстояние до него так же, как и до обычных записей. Кластер рассматривается не только как представитель входящих в него записей, но и как самостоятельный активный элемент, обладающий рядом дополнительных свойств. В числе этих свойств помимо центра масс (а также геометрического центра) могут быть: размер стороны описывающего кластер гиперкуба (или его диапазоны по каждому из полей, если используется гиперпрямоугольник, или радиус кластера, если используется гиперсфера), средний радиус сферы и среднее отклонение радиуса сферы (для гиперсферы), минимальное и максимальное расстояние между точками кластера, максимум и минимум минимальных (максимальных) расстояний по атрибутам, а также моменты высший порядков, показывающие его асимметрию и т.д.
Подсчет расстояния между записями
Для подсчета расстояния между записями можно использовать, например, традиционные методы из математической статистики [6], включая Евклидово расстоя-
1/2
пространстве, оси должны быть нормированы); квадрат Евклидова расстояния ("используется, чтобы придать большие веса более отдаленным друг от друга объектам);
(для этой меры влияние отдельных больших разностей (выбросов) уменьшается); расстояние Чебышева 8{х, у) - тах|^ -_у;| (полезно, когда желают определить два объекта как «различные», если они различаются по какой-либо одной координате
где г и р - параметры, определяемые пользователем, когда необходимо прогрессив-
(обычное геометрическое расстояние в многомерном
расстояние городских кварталов (манхэттенское расстояние)
(какому-либо одному измерению)); степенное расстояние
но увеличить или уменьшить вес, относящийся к размерности, для которой соответствующие объекты сильно отличаются. Параметр р ответствен за постепенное взвешивание разностей по отдельным координатам, параметр г ответствен за прогрессивное взвешивание больших расстояний между объектами; процент несогласия Р(х,у) - (количество * у,)11 (х,у) - (количество х, у,)/ г (в случае, когда данные являются категориальными).
Подсчет расстояния между записями / кластерами
— Одиночная связь (метод ближайшего соседа). Расстояние между двумя кластерами определяется расстоянием между двумя наиболее близкими объектами (ближайшими соседями) в различных кластерах. Это правило должно, в известном смысле, нанизывать объекты вместе для формирования кластеров, и результирующие кластеры имеют тенденцию быть представленными длинными «цепочками».
— Полная связь (метод наиболее удаленных соседей). В этом методе расстояния между кластерами определяются наибольшим расстоянием между любыми двумя объектами в различных кластерах (т.е. «наиболее удаленными соседями»). Этот метод обычно работает очень хорошо, когда объекты происходят на самом деле из реально различных «рощ». Если же кластеры имеют в некотором роде удлиненную форму или их естественный тип является «цепочечным», то этот метод непригоден.
— Невзвешенное попарное среднее. В этом методе расстояние между двумя различными кластерами вычисляется как среднее расстояние между всеми парами объектов в них. Метод эффективен, когда объекты в действительности формируют различные «рощи», однако он работает одинаково хорошо и в случаях протяженных («цепочного» типа) кластеров.
— Взвешенное попарное среднее. Метод идентичен методу невзвешенного попарного среднего, за исключением того, что при вычислениях размер соответствующих кластеров (т.е. число объектов, содержащихся в них) используется в качестве весового коэффициента. Поэтому предлагаемый метод должен быть использован (скорее даже, чем предыдущий), когда предполагаются неравные размеры кластеров.
— Невзвешенный центроидный метод. В этом методе расстояние между двумя кластерами определяется как расстояние между их центрами тяжести.
— Взвешенный центроидный метод (медиана). Этот метод идентичен предыдущему, за исключением того, что при вычислениях используются веса для учёта разницы между размерами кластеров (т.е. числами объектов в них). Поэтому, если имеются (или подозреваются) значительные отличия в размерах кластеров, этот метод оказывается предпочтительнее предыдущего.
— Метод Варда. Этот метод отличается от всех других методов, поскольку он использует методы дисперсионного анализа для оценки расстояний между кластерами. Метод минимизирует сумму квадратов для любых двух (гипотетических) кластеров, которые могут быть сформированы на каждом шаге. В целом метод представляется очень эффективным, однако он стремится создавать кластеры малого размера.
Формула ценности кластера
Одно из основных понятий подхода - формула ценности определяет, какой кластер является наиболее ценным для записи, и показывает, насколько кластер важен
для пользователя, т.е. насколько найденная зависимость достоверна и представительна.
Существует множество различных формул ценности, которые специфичны для разных задач, но в общем случае формула ценности эквивалентна подсчету локальной плотности кластера, т.е, чем больше точек в меньшем пространстве, тем более важен кластер.
В общем случае формула ценности является функцией от таких параметров, как число записей в кластере (и общее число записей в системе); объем кластера; число атрибутов, по которым образован кластер (и общее число атрибутов); пределы изменения атрибутов; распределение значений по атрибутам; степени влияния атрибутов (т.е. кластеры по одним атрибутам более ценны, чем по другим).
Точная и приближенная кластеризация
При сравнении атрибутов и дальнейшей их кластеризации различаются три основных типа кластеризации: а) точная; б) приближенная\нечеткая и в) их комбинация.
Специфика точной кластеризации состоит в том, что по каждому из атрибутов при сравнении мы используем только два значения - равно и не равно. В этом случае кластеров образуется хоть и мало, но почти все они значимые. Данная кластеризация применяется в случае строковых и перечислимых атрибутов.
Нечеткая кластеризация работает с интервалами по осям. Кластеры представляют из себя гиперкуб, где объединились записи с относительно близкими значениями.
Общий алгоритм учитывает ее в основном при анализе и в формулах, но общая структура не противоречит и точной кластеризации.
В общем случае нужно заметить, что точная кластеризация значительно проще по реализации и прозрачнее по результатам, но в то же время значительно грубее в точности.
Преобразование и нормирование атрибутов как подготовительный этап
для точной или нечеткой кластеризации
Иногда необходимо преобразовать некоторые атрибуты таким образом, чтобы к ним была применима точная или нечеткая кластеризация. Опишем основные способы такого преобразования.
В случае преобразования от точного к нечеткому все сравнения от вида «равно \ не равно» переводятся в численную форму, в обратном преобразовании необходимо весь диапазон разбить на интервалы, каждый из которых получит уникальный идентификатор, и значения будут рассматриваться как перечислимый тип.
Точное к нечеткому. Вручную задается матрица, показывающая условные расстояния между всеми парами элементов. Данный метод допустим, если заранее известны все элементы и их число невелико. Необходимо введение онтологии и формулы сравнения строковых значений на основе семантических сетей. Способ применим, когда потенциально возможные значения известны, но число их комбинаций очень велико.
Нечеткое к точному (варианты). Равномерное разбиение интервала изменения на заданное число интервалов. Разбиение на интервалы согласно «плотности значений», т.е. чем больше число значений в некотором диапазоне, тем большее число интервалов в нем создается. «Плоская» кластеризация по одной оси с последующим преобразованием кластеров в диапазоны.
Основным плюсом нормирования атрибутов является то, что оно позволяет нам в унифицированном виде сравнивать значения самых разных атрибутов как по типу, так и по смыслу, что необходимо для определения общей ценности кластера. К недостаткам нормирования относится то, что если существуют ошибки в данных или явные выбросы по краям, то нормирование приводит к некорректным результатам.
Алгоритмы нормирования можно позаимствовать, например, из математической статистики: пропорциональное нормирование, выборочное среднее, нормирование по площади и нормирование с округлением.
В случае пошаговой кластеризации, если мы заранее не знаем диапазон значений по атрибутам, нормирование приходится проводить динамически, что влечет за собой новый круг переговоров в рамках общего алгоритма.
Микроэкономика
В предлагаемом подходе микроэкономика является базовой движущей силой, поддерживающей принятие решений и ограничивающей процесс поиска вариантов. Основные принципы микроэкономики в данной задаче состоят в том, что каждый элемент системы обладает некоторой суммой денег. Все действия, допустимые в системе, влекут изменение этой суммы. В случае, когда денег на действия не остается, элемент не принимает действий.
Рассмотрим более детально основные действия и возможные алгоритмы изменения денежного потока в зависимости от ситуации.
Начальное распределение денег
Агенты взаимодействуют на виртуальном рынке и используют денежные средства, которые естественным образом регулируют возможности записей или ограничивают варианты принятия решений. Первый вопрос - количество денег, доступное каждой записи. Может быть:
—Равноправное распределение - каждая запись получает одинаковую сумму при поступлении в систему.
—Деньги в зависимости от начальной значимости записи (например, крупные покупки. Тогда запись об оптовой продаже может быть существенно более «богатой», чем разовая продажа данного товара, и кластеризована в первую очередь или с более удаленными записями).
—Запись также в любой момент может получить дополнительную сумму денег от человека-эксперта, если тот считает, что она важна (например, от у1р-клиента).
Поиск вариантов
Запись может принимать решение о подходящем элементе на основе как его ценности, так и расстояния до него. В этом случае возможен вариант, когда преодоление каждого «метра» пространства стоит определенной суммы денег, В этом случае, во-первых, естественно возникает ограничение вариантов - если недостаточно денег, то дальние варианты рассматриваться не будут. Во-вторых, это позволяет ранжировать записи по важности - чем более важна запись, чем больше у нее денег, тем больше вариантов она учтет при принятии решения.
Также в случае, когда запись только что вышла из кластера и исследует новую ситуацию, она в первую очередь может обращать внимание на изменившиеся кластеры и на кластеры, в которых она состояла «опосредованно», и ей нет необходи-
мости анализировать весь рынок повторно - только изменения и уже имеющиеся варианты.
Деньги также могут браться с агентов за переговоры с другими агентами. В частности, это дает следующие преимущества:
—является сдерживающим фактором от перебора всех вариантов (так как иначе кончатся деньги на последующие действия);
—является механизмом борьбы с волнами переговоров (они будут потихоньку затихать, так как деньги у участников кончаются).
Вход в кластер
Кластер может брать плату с других агентов за право состоять в нём. Плата может варьироваться в зависимости от следующих параметров:
— чем меньше запись нарушает границы кластера, тем меньше кластер берёт с неё;
— чем больше запись нужна кластеру, тем меньше он с неё берёт;
— чем дальше запись находится от кластера, тем больше она должна заплатить, при этом расчёт по каждой из осей может происходить отдельно (деньгами будет «покрываться» расстояние по каждой из осей);
— чем больше записей уже состоит в кластере, тем больше (меньше) заплатит запись за вход в кластер.
Плата может быть установлена постоянной («клубная» модель) или зависеть от ряда параметров, отражающих ценность кластера («акционерная» модель), в том числе его размеров, числа элементов, количества денег у кластера и пр.
Для создания кластеров можно также ввести ограничивающие правила, например, если его ценность не превышает какой-либо константы или если наличных денег у него недостаточно, то такой кластер и не нужно создавать вовсе. Таким образом, может происходить отсев потенциально неинтересных или неспособных к жизни на виртуальном рынке кластеров.
К этой же идее относится следующее ограничение - запись может не пересматривать свою текущую ситуацию, если ее суммарная ценность изменилась не более чем на некоторую константу.
Распределение денег между кластерами
После вхождения записи во все кластеры деньги перестают быть нужны - она свои полномочия «передоверяет» кластерам, в которых состоит. Поэтому она все деньги должна передать кластерам, но при запросе к ней оперирует общей суммой, которая ей могла бы быть доступна, если б она из них всех решила выйти.
Способы распределения:
— Равномерно - все наличные деньги распределяются между всеми кластерами, в которые вошла запись.
— Пропорционально - распределение пропорционально их ценности.
— Пропорционально по убывающей. Запись может каждому следующему кластеру выделять процент от текущей суммы денег, В этом случае не требуется динамического перераспределения денег.
— Динамически - запись постоянно перераспределяет свои деньги в зависимости от изменений, происходящих в кластерах.
— По запросу - запись платит минимум, требуемый для вступления в кластер. Остальные деньги она потенциально может отдать одному из своих кластеров, если тому не хватает их для вступления в более выгодный кластер.
Аналогично записи поступает и кластер: когда он проанализирует все варианты и войдет во все интересующие его кластеры, он, в свою очередь, может делегировать полномочия и передать некоторую сумму денег кластеру более высокого порядка.
Принятие решения о включении записи в кластер
После того как запись обратилась с предложением о вступлении в кластер, кластер должен оценить новую ценность и принять положительное \ отрицательное решение.
Но в общем случае существует несколько стратегий принятия решений:
— авторитарная стратегия - кластер решает, записи подчиняются. В этом случае сразу после вступления в кластер запись делегировала все свои права по поиску новых вариантов кластеру, и инициатива к ней может вернуться только после выхода из кластера;
— демократическая - решает большинство записей в процессе переговоров, и все подчиняются данному решению;
— право «вето» - для положительного решения необходимо согласие всех записей;
— анархическая - когда каждая запись решает за себя, а несогласные могут выйти из кластера (не рекомендуется, так как слишком часты волны вхо-да\выхода в кластер).
Выход из кластера
Выход записи из кластера меняет ценность всех кластеров, в которых она явно или неявно состояла, а изменение их ценности влечет за собой изменение ценности всех включенных записей (т.е. любой выход записи из кластера сопровождается волной пересмотра состояния).
Также при выходе из кластера запись может получить некоторую сумму денег назад. Возможно следующие варианты:
— самый простой - запись получает столько же, сколько и внесла;
— запись получает меньше. За то, что некоторое время запись числилась в кластере, ей придется заплатить, и часть суммы удержится на нужды кластера;
— запись получит больше, чем внесла. Некоторый аналог финансовой пирамиды. Например, если первоначальный взнос и выход пропорциональны числу записей, то за выход первая запись наверняка получит больше, чем за вход.
Очевидно, что если запись встречает более привлекательный для нее кластер и ей не хватает денег на вступление в этот кластер, то она может выйти из предыдущего, вследствие чего, возможно, начнется лавинообразный процесс падения кластеров (так как запись одновременно считается вышедшей и из всех кластеров, в которых она состояла опосредованно). Кроме того, в ходе взаимодействия кластеров и записей могут иметь место настоящие переговоры, когда стороны «двигаются» навстречу друг другу, например, методом взаимных уступок. Все это обеспечивает различные варианты получения приближенных решений и управления соотношением между точностью и затратами памяти и времени.
Последовательность учета записей I кластеров при поиске вариантов
После того как кластер распадается, возникает сразу несколько записей и кластеров, для которых изменилась ценность и которые должны, в свою очередь, стать активными и пройти цикл поиска новых вариантов. Поскольку на текущий момент
система квазипараллельна (т.е. в каждый момент времени активен только один агент), то существует несколько вариантов сортировки ждущих в очереди:
— в последовательности появления этих кластеров в системе;
— в порядке возрастания/убывания ценности кластера;
— тах/шт количество денег.
4. Пример конструирования алгоритма для кластеризации семантических
дескрипторов
В данном параграфе кратко опишем разработанный алгоритм для кластеризации семантических дескрипторов, используя те возможные вариации базового алгоритма кластеризации, которые были приведены выше (см. таблицу).
Алгоритм кластеризации семантических дескрипторов
Параметры Описание
Типы поддерживаемых полей Онтологические сцены (семантические дескрипторы)
Тип кластеризации Приближенная кластеризация на основе онтологического сравнения дескрипторов
Структура кластеров: возможности записи Допускаются сложные иерархические структуры и множественные вхождения (число кластеров ограничивается деньгами)
Структура кластеров: возможности кластера Допускаются сложные иерархические структуры и множественные вхождения (число кластеров ограничивается деньгами)
Представление кластера Кластер представлен как семантическая сеть, образуется как онтологическое пересечение семантических дескрипторов входящих в него записей
Формула ценности кластера Оценивается исходя из сложности семантического дескриптора и числа входящих записей
Подсчет расстояния между записями Вычисление степени близости путем сравнения семантических дескрипторов на основе онтологии
Подсчет расстояния между кластерами По сути, аналогичен методу взвешенного попарного среднего, происходит аналогично подсчету расстояния между записями, т.к. кластер тоже представлен семантическим дескриптором
Преобразование атрибутов Не требуется, используется онтология. Применяются только списки значений по атрибутам концептов онтологии
Нормирование атрибутов Не требуется, работаем напрямую с семантическими сетями
Механизм ограничения перебора вариантов Микроэконом ика
Метод борьбы с волнами переговоров Микроэкономика
Начальное распределение денег Деньги распределяются пропорционально числу известных концептов в семантическом дескрипторе
Поиск вариантов Запись ищет вариант на основе близости и с учетом наличных денег. Вступает в те близкие кластеры, которые согласились ее принять
Вход в кластер Кластер определяет цену исходя из предполагаемого нарушения границ новой записью, расстоянием до кластера и общим количеством записей, уже состоящих в кластере
Параметры Описание
Распределение денег между кластерами Изначально распределяются пропорционально ценности кластеров. Далее по запросу от кластера могут динамически перераспределяться
Принятие решения о включении записи в кластер Бюрократическая стратегия, все полномочия отданы кластеру
Выход из кластера Запись получает столько же, сколько составлял первоначальный взнос (модель неубывания денег в системе)
Налоги Модель неубывания денег. Налоги отсутствуют
Последовательность записей \ кластеров при поиске вариантов Кластеры сортируются в порядке убывания их ценности
Данный алгоритм специально ориентирован на кластеризацию семантических дескрипторов документов. Основными его особенностями являются возможности учета онтологии предметной области (работаем с семантическими дескрипторами) и возможность работы в неэвклидовом пространстве (так как при логике работы алгоритма участвует всегда только сравнение двух элементов, а кластер оценивается исключительно по семантическому дескриптору и числу записей, «положение» записей не учитывается).
Выводы
Предложенный подход к кластеризации информации позволяет абстрагироваться от реальной структуры данных и работать с понятиями более высокого уровня, что дает возможность предложить универсальный алгоритм, в равной мере ориентированный как на структурированные данные (таблицы, базы данных), так и неструктурированные (текст на естественном языке). К дополнительным плюсам относится естественная параллельность, обеспечивающаяся принципами построения архитектуры мультиагентных систем, возможность гибко изменять стратегии и отслеживать логику принятия решений, а также возможность работать в режиме реального времени, динамически перестраивая имеющиеся кластерные структуры и учитывая вновь приходящие записи.
Использование гибкой модульной структуры алгоритма позволяет кластерам и записям принимать решения по самым различным правилам, комбинирующим, например, простую локальную плотность и «общественную ценность» (во скольких кластерах состоит запись или сколько записей объединяет кластер), «богатство» или «срок жизни» кластера или записи. Эти правила в значительной степени зависят от того, что, собственно, хочет увидеть пользователь: наиболее крупные и устойчивые образования кластеров или, наоборот, самые динамичные и миниатюрные, наиболее плотные или самые разреженные, дольше всего живущие или самые представительные кластеры.
Возможность кластеризовать сложные информационные объекты (образы, тексты), нетребовательность к предобработки данных экспертом, работа в неэвклидовом пространстве позволяют использовать алгоритм при анализе текстовой информации - для классификации, анализа, сравнения и поиска документов и нахождения семантических зависимостей.
1, Минаков И.А. Кластеризация неструктурированной информации, представленной в виде текстов на естественном языке // Вестник Самар, гос. техн. ун-та. Сер. Технические науки, - Самара: СамГТУ, 2006.-Вып, 40.-С. 15-22,
2, Андреев В.В,, Ивкушкин КВ., Карягин Д.В., Минаков И.А., Ржевский Г.А., Скобелев И.О., Томин М.С. Разработка мультиагентной системы понимания текста // Тр, 3-й Между нар. конф. по проблемам управления и моделирования сложных систем, Самара, 4-9 сентября 2001. — Самара: СНЦ РАН, 2001. - С. 489 - 495.
3, Андреев В.В,, Абрамов Д. В., Карягин Д.В., Минаков И. А., Скобелев П.О. Разработка семантического Интранет компании на основе конструктора онтологий // Проблемы управления и моделирования в сложных системах: Тр, VII Между нар. конф. Самара, 27 июня - I июля 2005. - Самара: СНЦ РАН, 2005.-С. 421-427.
4, Андреев В., Виттих В,, Батищев С., Ивкушкин К., Минаков И,, Ржевский Г., Сафронов А., Скобелев П. Методы и средства создания открытых мультиагентных систем для поддержки процессов принятия решений//Изв, РАН. Теория и системы управления. - 2003. - №1. - С. 126-137.
5, Андреев В.В., Волхонцев Д.В., Ивкушкин КВ., Карягин Д.В., Минаков И.А,, Ржевский Г.А., Скобелев Л.О. Мультиагентная система извлечения знаний //Тр. 3-й Между нар. конф, по проблемам управления и моделирования сложных систем, Самара, 4-9 сентября 2001, - Самара: СНЦ РАН, 2001. - С. 206-212,
6, Документация пакета Статистика 6, Кластерный анализ -http:// www, statsoft. гц/home/ textbook/modules/stcluan.html
Статья поступила в редакцию I сентября 2008 г.
UDC 004.382
A METHOD FOR CLUSTERING SEMANTIC DESCRIPTORS OF PROBLEM DOMAIN-ORIENTED TEXTS
LA. Minakov1
Institute for the Control of Complex Systems, RAS,
61, Sadovaya sti,, Samara, 443020.
The paper represents the semantic descriptors clustering method, which allows analyzing and processing semantic meaning ofproblem domain-oriented texts. The impact of different parameters of algorithm is analyzed'. Areas of approach’s applications and perspectives of further development are also discussed.
Keywords: clustering, semantic descriptors, text mining.
1 Igor A. Minakov, Doctor of Technical Sciences, Senior Research.