Инструменты исследования текстовых коллекций на основе теоретико-графовых моделей в информационной системе «Фольклор»

№ 4 (28) 2010

Н. Д. Москин

Инструменты исследования текстовых коллекций на основе теоретико-графовых моделей в информационной системе «Фольклор»

В статье рассматриваются инструменты анализа текстовых коллекций на основе теоретико-графовых моделей, реализованные в информационной системе «Фольклор». С помощью этих инструментов осуществляется ввод, хранение, редактирование текстов и их теоретико-графовых моделей, визуализация, агрегация и сравнительный анализ полученной информации.

Введение

Все чаще в лингвистических, исторических и социальных исследованиях при анализе текстов применяются математические методы и компьютерные технологии. Это обусловлено тем, что перед исследователями возникают достаточно сложные задачи, для решения которых традиционные методы не всегда оказываются достаточными. К подобным задачам можно отнести автоматическую обработку текстов, информационный поиск, реферирование и индексирование текстов, стилистическую диагностику и атрибуцию анонимных текстов, автоматический перевод и т. д.

Из-за многоплановости, многоуровнево-сти своей организации текст представляет собой довольно сложный объект исследования. Между его единицами могут быть определены различные системы отношений, т. е. одному и тому же тексту может быть поставлено в соответствие несколько различных структур. Подобные структуры естественно описывать в виде графов, которые представляют собой совокупность некоторых объектов и отношений между этими объектами. К таким моделям можно отнести лексические сети, деревья зависимостей, деревья составляющих, семантические сети и др.

С 2001 года на кафедре информатики и математического обеспечения Петрозаводского государственного университета ведется работа над исследованием фольклорных коллекций с теоретико-графовой формализацией текстов [9]. Одним из результатов работы является разработка информационной системы «Фольклор» в среде визуального программирования Delphi 7.0. Изначально она проектировалась как проблемно-ориентированная система, предназначенная для сравнительного анализа коллекции бесёдных песен Заонежья конца XIX — начала XX века [2]. Однако впоследствии программа была модифицирована таким образом, что позволила проводить исследование других коллекций, в том числе коллекций исторических текстов, на основе различных теоретико-графовых моделей.

Данную систему можно рассматривать, с одной стороны, как лингвистическую программу обработки текстов на естественном языке (примеры подобных программ можно найти в [3]), поскольку она содержит процедуры графематического, морфологического и контент-анализа текстов, а с другой стороны, как систему, предназначенную для исследования теоретико-графовых моделей. К последним можно отнести, например, узкоспециальные системы визуализации

№ 4 (28) 2010

Рис. 1. Структура информационной системы «Фольклор»

графов, которые ориентированы на модели с определенной семантикой и топологией, или универсальные системы визуальной обработки графовых моделей (daVinci, GraphEd, VCG и др. [4]). Для сравнительного анализа графов можно использовать программы, созданные за рубежом в рамках направления «graph matching» [17] (например, Graph Matching Toolkit [11] и др.), или отечественные программные продукты (например, «Мастерская граф-моделей» [10]). Однако подобные системы ориентированы на анализ графов, не связанных с текстами и не учитывающих их специфику.

Рассмотрим основные возможности информационной системы «Фольклор», которые реализованы в настоящее время.

Инструменты ввода и редактирования теоретико-графовых моделей

Информационная система включает в себя шесть функциональных модулей (общая структура программы представлена

на рис. 1). Основной модуль предназначен для ознакомления с коллекциями и является связующим звеном между остальными частями программы. Экранное пространство поделено на четыре области: слева выводятся названия текстов коллекции, в центре — сами тексты, справа вверху — соответствующие графы, а снизу — характеристики текстов.

В настоящее время система содержит 562 текста из четырех фольклорных коллекций:

• бесёдные песни Заонежья XIX — начала XX века (118 текстов);

• лужские песни из сборника «Песни го-роденского хора» (32 текста);

• духовные стихи о Голубиной книге из сборника Кирши Данилова и «Собрания народных песен П. В. Киреевского» (88 текстов);

• былины из сборника П. Н. Рыбникова (44 текста);

• описания «народных святых» Нижегородского края (280 текстов).

№ 4 (28) 2010

! I

е

si

й §

U 'S

и

0 §

1

I «

'S

s

S §

S

«

0 !

1

! ÎS

ig о

ï g

1

s

ÎS

I

s 00 О

S

Рис. 2. Морфологический словарь

Тексты хранятся в файлах формата TextGML, описание которого приводится ниже. В каждом файле содержится отдельный текст коллекции, его характеристики и соответствующая теоретико-графовая модель.

Второй модуль предназначен для проведения лингвистического анализа текстов. Здесь реализованы следующие процедуры:

• графематический анализ текстов (выполняет предварительную обработку текстов, а именно — выделение элементов структуры текста: абзацев, предложений и отдельных слов). При этом пользователь с помощью специальной процедуры может удалить (или добавить) лишние пробелы, выделить справочные сведения и ссылки;

• морфологический словарь (осуществляет добавление/удаление слов в словаре, определение списка словоформ (рис. 2), поиск в текстовой коллекции некоторого слова (или словоформ), выборку слов (например, заданной части речи), построение диаграммы частеречного распределения лексики в словаре);

• морфологический анализ текстов (выделив в тексте отдельные слова, программа осуществляет их поиск в морфологическом словаре: если слово отсутствует, то пользователю предлагается несколько схожих по написанию слов, к которым данное слово может быть отнесено в качестве словоформы; схожесть слов определяется при помощи алгоритма сравнения строк Вагнера-Фишера [21]);

• контент-анализ текстов (это автоматизированная процедура, осуществляющая подсчет встречаемости ключевых слов по сочетанию входящих в текст корневых и префиксальных морфем). Результаты анализа, а именно п-мерные векторы из 0 и 1, соответствующие вхождению ключевых слов в тот или иной текст, и матрица попарных расстояний между этими векторами помещаются в специальный файл, который можно исследовать с использованием какого-либо статистического пакета (например, Statistica).

Третий модуль программы предназначен для автоматизированного построения теоретико-графовых моделей текстов. В сис-

50

№ 4 (28) 2010

Ü и о

эё

)( Удалить объект |

Отмена Вперед

Рис. 3. Определение объектов в тексте

теме реализована следующая пошаговая процедура:

• Шаг 1: выбор параметров построения графа. Пользователю предлагается выбрать текст из коллекции и установить группы объектов и связей (например, согласно методу, предложенному И. П. Севбо [12]).

• Шаг 2: определение объектов в тексте. На этом этапе в тексте последовательно выделяются слова, которые пользователь может добавить в список объектов (рис. 3). Слова отбираются по заранее заданному критерию: например, по принадлежности к некоторой части речи. Если объект состоит из нескольких слов (или словосочетания), то их можно объединить в один объект.

• Шаг 3: разбиение объектов на группы. На этом этапе определяются названия объектов и их принадлежность к той или иной группе, а также задаются «фиктивные» объекты (т. е. объекты, не связанные со словами текста).

• Шаг 4: определение связей в тексте. На этом шаге устанавливаются связи между объектами и названия связей (рис. 4). При этом объекты, между которыми устанавли-

ваются отношения, можно выбирать либо во всем тексте, либо в некотором фрагменте. При определении связи пользователь может обратиться за помощью к экспертной системе, которая с помощью уточняющих вопросов оценивает вероятность существования связи между объектами.

• Шаг 5: разбиение связей на группы. На этом шаге устанавливается принадлежность связей к той или иной группе. При этом структура связей в тексте может задаваться в виде матрицы смежности или матрицы инцидентности.

В процессе работы пользователь может в любой момент скорректировать полученный граф (удалить или добавить связи и объекты, изменить их свойства и т. д.).

Хранение текстов и их теоретико-графовых моделей в формате TextGML

Для формального описания и хранения полученных теоретико-графовых моделей текстов предлагается использовать формат

№ 4 (28) 2010

! I

е

si

е §

U 'S

и

0 §

1

I «

'S

s

S §

S

«

0 !

1

! ÎS

ig о

ï g

1

I

Ü

s 00

О

S

Рис. 4. Определение связей в тексте

TextGML (Textual Graph Modeling Language), разработанный на основе XML [9]. Данные в XML хранятся в упорядоченном виде, тексты отличаются простым синтаксисом, обеспечены бесплатными и общедоступными сопутствующими технологиями. Кроме того, именно XML в настоящее время является универсальным форматом для хранения и передачи информации в сетевых приложениях. Эта технология все чаще находит свое применение в гуманитарных исследованиях: в исторической информатике (например, стандарт HEML, предназначенный для описания исторических событий), в фольклористике (стандарт FolkML, описывающий сказочные сюжеты) и т. д. [7].

В настоящее время разработано несколько общепризнанных стандартов описания графов и графовых моделей на основе технологии XML. Одним из предшественников таких форматов является язык GML (Graph Modeling Language) [19], который до сих пор поддерживается многими прикладными программами и библиотеками для работы с графами. В 2000 году на 8-ом симпо-

зиуме «Graph Drawing» в Вильямсбурге был предложен язык описания графов GraphXML [18]. На этом языке могут быть описаны как абстрактные графы, так и более сложные структуры: иерархии графов, динамические графы и т. д. Впоследствии появились другие форматы, такие как GraphML (Graph Markup Language) [14], язык XGMML (eXtensible Graph Markup and Modeling Language), разработанный на базе GML [16], язык Gxl (Graph eXchange Language) [15]. GXL поглотил такие спецификации как GraX, GRAph eXchange, Tuple Attribute Language и др.

Однако все перечисленные форматы предназначены для описания произвольных графов и графовых моделей, не привязанных к тексту. В отличие от них, язык теоретико-графовой разметки текстов TextGML позволяет сохранить исходный текст и его характеристики, объекты и отношения в тексте, описать упорядоченность элементов языковой структуры, ее иерархическую организацию, выделить мотивы в фольклорных текстах и предоставить возможности для дальнейшего анализа. TextGML предна-

52

№ 4 (28) 2010

значен для описания произвольных теоретико-графовых моделей текстов: в качестве объектов могут выступать отдельные слова, словосочетания, предложения и абзацы, можно установить связи разных типов.

Рассмотрим, как можно применить данную спецификацию для описания деревьев зависимостей, отражающих синтаксическую структуру предложения, на примере духовного стиха о Голубиной книге [12]. Первое предложение выглядит следующим образом:

Да с начала века животленнова Сотворил Бог небо со землею, Сотворил Бог Адама со Еввою, Наделил питаньем во светлом раю, Во светлом раю жити во свою волю.

В дереве зависимостей вершины графа соответствуют словам предложения, а ребра устанавливают подчинительные связи между этими словами. Вершины делятся на шесть групп: полнозначные слова предлоги сочинительные союзы подчинительные союзы остальные союзы ^^ и нулевой знак Ребра делятся соответственно на пять групп: подчинение слов (PW), подчинение предложений однородность слов (Щ сочинительная связь и связь, присоединяющая вводные слова (V).

На рисунке 5 изображен граф синтаксического разбора данного предложения. В данном графе 27 обычных вершин и 2 фиктивных (обозначим символами • — полнозначные слова, О — предлоги; сплошной линией — подчинение слов, пунктиром — однородность слов, сплошной и пунктиром — сочинительную связь).

Теперь рассмотрим, как выглядит это предложение на языке TextGML (см. листинг 1).

Аналогичным образом проводится разбор второго предложения Голубиной книги:

<graph id="g2" пате="предложение2" 1уре="8еп1епсе" ^гес^="Ь-ие">

</graph> и т.д.

Как показано в [8], с помощью языка TextGML можно описывать более сложные модели семантической структуры бесёдных песен Заонежья, учитывающие характеристики песен и внутреннюю иерархию мотивов.

Инструменты визуализации теоретико-графовых моделей текстов

При создании, редактировании и исследовании теоретико-графовых моделей текстов необходимо иметь инструменты их ви-

и о

эё

светлом свою

Рис. 5. Дерево синтаксического разбора первого предложения Голубиной книги

53

№ 4 (28) 2010

Листинг 1

<text пате="Голубиная книга" 1уре="духовный стих"> <text_parameter>

<parameter id="p1" name="source">Древние российские стихотворения, собранные Киршею Дани-ловым</parameter>

<parameter id="p2" name="publish_year">2000 год</parameter> </text_parameter>

<graph id="g1" пате="предложение1" type="sentence" directed="true">

<!-- Фиктивные вершины графа-->

<node id="n1" name="fword" type="W"/>

<node id="n2" name="fword" type="W"/>

<!-- Вершины графа -->

<node id="n3" name="word" type="W">Да</node> <node id="n4" name="word" type ="P">с</node> <node id="n5" name="word" type ="W">начала</node> <node id="n6" name="word" type ="W">века</node> <node id="n7" name="word" type ="W">животленнова</node> <node id="n8" name="word" type ="W">Сотворил</node> <node id="n9" name="word" type ="W">Бог</node> <node id="n10" name="word" type ="W">небо</node>

<node id="n26" name="word" type ="W">жити</node> <node id="n27" name="word" type ="P">во</node> <node id="n28" name="word" type ="W">свою</node> <node id="n29" name="word" type ="W">волю</node> <!-- Связи в графе -->

<link id= <link id= <link id= <link id= <link id= <link id=

<link id <link id <link id </graph>

41" source="n1" target="n8" type="S"/> 42" source="n1" target="n2" type="S"/> 43" source="n8" target="n3" type="PW"/> 44" source="n8" target="n4" type="PW"/> 45" source="n8" target="n9" type="PW"/> 46" source="n8" target="n10" type="PW"/>

426" source="n25" target="n24" type="PW"/> 427" source="n27" target="n29" type="PW"/> 428" source="n29" target="n28" type="PW"/>

«

зуализации. Для визуализации ориентированных ацикличных графов (например, деревьев зависимостей или деревьев составляющих) в системе реализован классический алгоритм поуровневого изобра-

жения [4], который состоит из трех последовательных шагов:

Шаг 1: распределение вершин по уровням. Уровень выбирается таким образом, чтобы все дуги, соединяющие вершины,

54

№ 4 (28) 2010

Ü и о

эё

черным-черно / \ черным-черно

под

град

старый Илья Муромец

силушки

добр°м Чернигов Черниговым

ворона

черна

Рис. 6. Изображение дерева зависимостей первого предложения былины «Илья Муромец»

следовали одному направлению от меньшего номера к большему, при этом вершины одного уровня не должны быть связаны между собой.

Шаг 2: определение порядка вершин на уровне с целью минимизации пересечений ребер (рис. 6).

Шаг 3: определение вертикальных (горизонтальных) координат вершин на уровне с целью минимизации общей длины ребер и количества изломов.

Данный метод можно применить и для обычных графов, т. к. любой ориентированный граф (и тем более неориентированный) может быть преобразован к ациклическому орграфу путем смены ориентации у части его дуг (ребер) и склеивания каждого из циклов в одну вершину (возможна также вставка в цикл дополнительной вершины, которая будет его разрезать).

Другой метод, реализованный в системе, основан на физических аналогиях [8]. Граф рассматривается как система объектов с силами, взаимодействующими между этими объектами, где, например, вершины графа считаются телами, а ребра — пружинами. Определим силу, приложенную к вершине и, по следующей формуле:

F

e=(u,v )eE (u,v)eV2 e=(u,v )eE

где fe — сила растяжения, вызванная действием на вершину u пружины (u, v), g(uv) — сила отталкивания, существующая между вершинами u и v. Чтобы учитывать порядок появления связей в сюжете текста, для каждого ребра e = (u, v) введем дополнительную силу he. Эта сила будет стремиться расположить ребра графа как можно ближе к установленным заранее упорядоченным точкам q{uv). Точки q[uv) можно расположить последовательно на одинаковом расстоянии друг от друга по окружности (или полуокружности) с центром в середине экрана (рис. 7).

Алгоритм визуализации работает в два этапа: сначала вершины размещаются

q3

№ 4 (28) 2010

девушки

! I

е

si

й §

U 'S

I

0 §

1

I «

'S

s

S §

S

«

0 !

1

! ÎS

ig о

s g

1

s

ÎS

I

S 00 О

S

s

вода гуси-лебеди

царев кабак

уездный суд

Рис. 8. Визуализация графа фольклорной песни «Уж ты Ванюша, Иван»

на плоскости случайным образом, затем выполняется последовательность итераций до стабилизации, на каждой из которых для всех вершин и вычисляется сила F(и) и происходит перемещение вершины в направлении этой силы на расстояние, пропорциональное модулю силы. Применение данного алгоритма позволяет упорядочить элементы графа по мере их появления в сюжете фольклорного текста, сгруппировать вер-

шины и ребра согласно структуре мотивов и их функциональному весу.

Инструменты построения агрегированных теоретико-графовых моделей

Очень часто экспериментальные графы имеют достаточно сложную структуру связей, поэтому возникает задача определе-

56

№ 4 (28) 2010

ния важности тех или иных элементов и возможности их отбрасывания при дальнейшем анализе. Для решения этой задачи можно использовать алгоритмы агрегации графов. Данным направлением математики занимались в 80-е годы такие ученые, как Л. И. Бо-родкин, Э. М. Браверман, В. Л. Куперштох, Б. Г. Миркин, И. Б. Мучник, Г. Ш. Фридман и др. Основу метода составляет задача нахождения такого «простого» графа, вершины которого соответствуют подмножествам вершин исходного графа, а ребра соответствуют «основным потокам связей». Эти методы применяются в социологии (при изучении неформальных структур в человеческих коллективах), в экономике, биологии, при изучении транспортных и коммуникационных систем и т. д.

В информационной системе «Фольклор» реализованы два подобных метода. Особенность первого заключается в том, что структура основных связей не задается заранее, а ищется в процессе построения агрегированной модели (описание алгоритма приводится в [6]). На рисунке 9 представлен пример агрегированного графа для песни «Девушка в горенке сидела»: здесь группа объектов № 1 — это «поле», «ясен сокол», «белые руки», «желтые кудри», «резвые ноги» и «высокий терем», т. е. все объекты, связанные с «милым дружком».

девушка

i

задачи агрегации рассматривают два типа графов: заданные бинарной и числовой ^ матрицей связей. В первом случае зададим исходный граф G с множеством вершин * V = V,I = 1,п} и бинарной матрицей смежности МВозьмем некоторый граф Г с множеством вершин X = {ху,} = 1,т}, причем т меньше п.

Рассмотрим соответствие ф между множествами V и X, где каждому V, будет сопоставляться некоторое подмножество ф(V,) е X:

1, если x g ф

Ф* = J' *

0, если x г ф(v 1 ) '

группа милый объектов №1

Рис. 9. Пример агрегированного графа для песни «Девушка в горенке сидела»

Другой метод агрегации графов предложен в работе И. Б. Мучника и Э. М. Бра-верманна [1]. Обычно при формулировке

Построим вспомогательный граф G(A, ф) следующим образом. В качестве множества вершин графа G( А, ф) возьмем V, а дугу из вершины V, в вершину vj будем проводить тогда и только тогда, когда существуют такие вершины хр и хС1, что, во-первых, хр еф^,), xq е(фу1) и, во-вторых, в графе Г из хр идет дуга в хс. Для того, чтобы сравнить матрицы смежности графов G и G(А, ф), введем функционал /1:

и=1

где тц ит^ — элементы матрицы М^) и

А,ф)) соответственно. Тогда задача агрегации графов состоит в нахождении таких матриц Ф и М(АА), для которых /1 достигает минимума.

Проанализируем второй случай, когда граф G задан числовой матрицей М(G). Пусть матрица «простого» графа М( АА) является бинарной. Если распределение множества V по спискам фиксировано, то можно построить числовую матрицу А(ф) размерности т х т, характеризующую «средние» связи между списками элементов X. Рассмотрим два списка ф-1(хр) и ф-1(хс). Обозначим через Np число элементов множества ф-1( хр), через Nq — число элементов множества ф-1(х ). а через Jp и JC| — соответствующие множества индексов элементов V:

57

№ 4 (28) 2010

i е Jp , если vj е ф 1(xp } е Jq, если v¡ е ф-1(xq) рицы /4(ф)определим по формуле:

и, соответственно, Тогда элементы мат-

1

apq = WW 11 m,r

Np Nq iJ IJ

!

! e

si

is §

u 'S

n

0

n

1 f

«

>S ig

S §

S

«

0 !

1

!

ÎS

ig о

s g

1

s

ÎS

I

S 00 О

S

s

Введем еще одну числовую матрицу В(А,ф) размерности т х т, элементы Ьрд которой вычисляются через элементы / (ф), где — элемент бинарной матрицы М(А):

bpq apq ' ^ p

Подобно первому случаю, для аппроксимации матрицы М^) строится матрица А,ф)) размерности п х п. Она строится по матрице В(/А, ф) и заданному распределению множества V вершин исходного графа G по спискам. Обозначим через к1 число элементов множества ф(^), через к1 — число элементов множества ф(^), а через Н, и R¡ — соответствующие множества индексов элементов X: р е Я1, если х еф(^-), и д 6 R¡, если Уд еф^у). _ _ _

Тогда элемент т ¡, (А/, ф) матрицы А/, ф)) определим по формуле:

m ii( A, ф) =

1

k  k

11 bp,

I psR, qsRj

В качестве критерия аппроксимации принимается квадрат нормы разности между матрицами М^) и /,ф)):

(1=1

Как в первом, так и во втором случае процедура решения задачи состоит из последовательности однотипных шагов [1]. На каждом шаге выполняются следующие два алгоритма:

1. При заданном графе Г изменяется соответствие ф таким образом, чтобы уменьшить, если это возможно, значение функционала /1.

2. При фиксированном числе вершин графа Г и при заданном соответствии ф ищется

такое изменение структуры графа Г, которое уменьшает значение функционала /1.

Процедура заканчивает работу, если ни один из алгоритмов 1 и 2 не позволяет уменьшить значение функционала /1.

Инструменты сравнения теоретико-графовых моделей

Другой интересной задачей является сравнительный анализ теоретико-графовых моделей текстов. Одним из вариантов ее решения является вычисление числовых характеристик, которые отражают структурные особенности графа. В простейшем случае это параметры размерности — число вершин и ребер графа. В других случаях возникают более сложные характеристики. Например, при исследовании текстовых семантических сетей можно использовать так называемый параметр семантической связности текста С [13]. Он находится по формуле

С =

2m' n(n -1) '

где п — число вершин в графе, а т' — число пар вершин, связанных между собой. Параметр С принимает значения от 0 до 1. При этом С = 0 соответствует нуль-графу, а С = 1 — полному графу.

При анализе связности текста также используют цепочечный коэффициент Z. Он характеризует среднюю длину цепочки предложений, в которой каждое предшествующее предложение непосредственно связано со следующим за ним:

Z =

1Z

=1_

s

где Z¡ — длина (-ой цепочки, например, количество предложений, непосредственно следующих друг за другом в тексте и семантически связанных между собой, в — количество цепочек в тексте.

58

№ 4 (28) 2010

Рис. 10. Распределение степеней вершин по убыванию

В качестве характеристики может выступать не одно число, а вектор. Например, это может быть распределение степеней вершин по убыванию или по возрастанию (рис. 10). Для некоторых видов графов [5] подобную зависимость можно интерполировать гиперболической кривой вида

а к

у = — + Ь, предварительно нормировав ис-

х У

ходный массив (у = 100%).

2т

Тогда коэффициенты регрессии а и Ь находятся по формулам:

a =

n \/ n -i n

•If-If -Ху,

f-1 ^ ; f-1 г— -j

v 1 (v 1

'•Х^- Х-

,=1 л/

\2

V ¡=1 л!

n n -I n л n y

ХугХ i -Х fxy

b =

V 1 (v 1

n Х ^ - Х f

¡=1 Л! ¡=1 ^

2

V ¡=1 xi )

ф, = A(v)(n - n;

(11:

где А(у) — степень вершины V, п — число вершин в графе, п™х— число вершин в максимальном по величине связном подграфе, полученном после удаления вершины V. Например, для графа, изображенного на рис. 11, распределение функциональных весов вершин выглядит следующим образом: {8, 3, 2, 2, 1}. В отличие от степеней вершин, данный параметр отражает и локальную, и общеграфовую значимость вершины.

Еще одной характеристикой является распределение объектов и связей графа по группам, которые задаются на этапе построения модели (рис. 12). Другие характеристики графов и теоретико-графовых моделей изложены в [5].

Граф в

где п — число вершин в графе, х-1 — номер /-ой вершины в отсортированном по убыванию списке, у/ — степень /-ой вершины.

Вершинам графа также можно поставить в соответствие такую характеристику, как функциональный вес вершины [13]. Он находится по формуле

1. с

2. С

3.

4.

5.

Рис. 11. Распределение функциональных весов вершин графа в

На основе вышеперечисленных параметров в системе реализована процедура автоматического разбиения графов на группы

59

n

-ч ПРИКЛАДНАЯ ИНФОРМАТИКА

№ 4 (28) 2010 ' -

Распределение объектов и связей на группы

"3

Все мужья до жен добры, Накупили женам тафты;

н коровку купил. Мне заботу снарядил Лучше 6 масла и муки купил! Я б стряпейку наняла Стряпеюшка поетряпывала;

Каблуками приколачивала.

белильца, румянца мои, Дорогия, новокупленныя.

! I

е

si

is

8 U 'S

и

0 §

1

I «

'S

ig

S §

S

«

0 !

1

! ÎS

ig о

s g

1

I

Ü

S 00

О

S

s

Скатитесь с белага лица долой! Едет добрый муж домой. Любимые подарочки везет: Щелкову плеть несвисганную. младу жену избалованную.

Распределение объектов по группам

геофафические объекты

временные ярения

Р

..... ..ZZ

5 1Ü IS 20 25

объектов по группам

ia распределения се

С Распределен (Г Распределен Г Распределен

Преобразовать группы

Рис. 12. Диаграмма распределения объектов по группам

(кластеры). На первом шаге пользователь может выбрать тип расстояния между объектами р(Ц ,G¡): меру Евклида или меру Хем-минга. На втором шаге выбирается количество кластеров и тип расстояния между ними: 1. Расстояние, измеряемое по принципу «ближайшего соседа»:

pmin

G,

G, eS,

2. Расстояние, измеряемое по принципу «дальнего соседа»:

pmax

Gj eSt

3. Расстояние, измеряемое по «центрам тяжести»:

4. Расстояние, измеряемое по принципу «средней связи»:

Рср (Sk, S ) =

1

mm

1 1 Р( G,, GI

Gi eSk G, eS,

p(Sk, St ) = p(Gk, Gt ),

где Gk = (xk1,..., xkn) — центр тяжести k-го

кластера, xkj 60 j=

= —1 m '

x

m

К I=1

Ik1'

где Sk — это k-ый кластер объектов, mk — число объектов в группе Sk.

Результаты анализа выводятся в левом окне в виде списка групп текстов (рис. 13). В системе также предусмотрена усложненная процедура, включающая детальное отображение всех промежуточных числовых данных и графическое изображение кластеров.

При определении расстояния на множестве графов также можно использовать метрики, известные за рубежом в рамках направления «graph matching» [17]:

1. Расстояния на основе максимального общего подграфа (maximum common subgraph) и минимального общего надгра-фа (minimum common supergraph) [5], которые вычисляются при помощи простого переборного алгоритма.

№ 4 (28) 2010

Ü и о

aè

- Критерий-

Распределение связей между о&ьектами С Распределение объектов по группам С" Распределение связей по группам

Рис. 13. Кластерный анализ текстов

2. Расстояние на основе операций редактирования (graph edit distance), которое является расширением правила сравнения строк Вагнера-Фишера [21]. Расстояние ищется как последовательность операций редактирования (вставка, удаление и переименование вершин и ребер), которая преобразует один граф в другой с минимальным суммарным весом. При поиске расстояния между деревьями (tree edit distance) применяется более быстрый алгоритм, описанный в [20].

Еще при работе с фольклорной коллекцией возникает интересная проблема обнаружения в текстах схожих мотивов и их сравнительный анализ. Мотивы — это композиционные фрагменты, которые повторяются в других песнях (не всегда в одной и той же последовательности) и служат исходными элементами для построения новых текстов. По выражению известного фольклориста Б. Н. Путилова, мотив является «узловой категорией художественной организации произведения фольклора». В этом случае задачу поиска мотива в коллекции можно свести к задаче поиска изоморфно-

го подграфа [8]. В программе искомый мотив можно задать двумя способами: либо пользователь самостоятельно определяет объекты и связи, либо выделяет в фольклорном тексте границы мотива, и программа автоматически строит граф. Для того, чтобы данный метод давал лучшие результаты, его необходимо дополнить поиском по ключевым словам. Также можно ввести ограничения на принадлежность объектов к определенной группе, на тип и порядок появления связей в тексте.

При разработке информационной системы «Фольклор» и проведении исследований конкретных текстовых коллекций принимали участие фольклористы Института языка, литературы и истории Карельского научного Центра Российской Академии Наук и сотрудники отдела фольклора музея-заповедника «Кижи» (г. Петрозаводск).

Заключение

В данной статье были рассмотрены инструменты ввода, хранения и анализа тек-

№ 4 (28) 2010

стовых коллекций на основе теоретико-графовых моделей, реализованные в информационной системе «Фольклор». Эти методы могут быть использованы для решения вопросов жанровой дифференциации и атрибуции текстов, составления тематических указателей, указателей фольклорных мотивов и формул, в задачах индексирования, а реферирования и информационного поис-| ка. В дальнейшем планируется ввод в сис-| тему новых коллекций других фольклорных © жанров и соответствующих теоретико-гра-I фовых моделей. Будет продолжена работа К по совершенствованию методов визуализа-§ ции, сравнения и агрегации графов (с учетом иерархической организации текста и | экспериментального характера построенных графов) и разработке новых методов ^ анализа текстов на основе теоретико-гра-§ фовых моделей (например, восстановление <а структуры графов, что может пригодиться

а при реконструкции исторических текстов). § ~

ё Список литературы

¡5

г§ 1. Браверман Э. М., Мучник И. Б. Структурные методы обработки эмпирических данных. М.: Нау-

^ ка, 1983. о

2. Варфоломеев А. Г., Кравцов И. В., Москин Н. Д.

Информационная система по фольклорным песо

К ням Заонежья как инструмент формализации и

<о классификации песен // Труды IV Всероссийской

<5 конференции RCDL «Электронные библиотеки:

§ перспективные методы и технологии, электрон-

Ц ные коллекции». Т. 2. Дубна, 2002. и*

<и 3. Всеволодова А. В. Компьютерная обработка лин-^

§ гвистических данных: учебное пособие. 2-е изд.,

Ьс

Й испр. М.: Наука: Флинта, 2007. -а

<§ 4. Касьянов В. Н, Евстигнеев В. А. Графы в программировании: обработка, визуализация и при-

£ менение. СПб.: БХВ-Петербург, 2003.

5. Москин Н. Д. Алгоритмы сравнения графов

§ и теоретико-графовых моделей: учебное посо-

Ц бие. Петрозаводск: Изд-во ПетрГУ, 2009. § 6. Москин Н. Д. Математические модели и алгорит-

й мы в задачах атрибуции фольклорных текстов // Сборник докладов 14-ой Всероссийской конфе-

& ренции «Математические методы распознавания

Ц образов». Суздаль, 2009.

7. Москин Н. Д. О публикации электронной коллекции фольклорных текстов с помощью технологии XML // Информационный бюллетень Ассоциации «История и компьютер». № 35. Материалы XI конференции АИК. Москва; Барнаул, 2008.

8. Москин Н. Д. Решение задач визуализации и поиска мотивов в электронной библиотеке фольклорных текстов // Труды XI Всероссийской конференции RCDL «Электронные библиотеки: перспективные методы и технологии, электронные коллекции». Петрозаводск, 2009.

9. Москин Н. Д. Теоретико-графовые модели структуры фольклорных текстов, алгоритмы поиска закономерностей и их программная реализация // Дисс. на соиск. уч. ст. к. т. н. Петрозаводск, 2006.

10. Сайт проекта «Мастерская граф-моделей». http://www.graphmodel.com/.

11. Сайт проекта GMT (Graph Matching Toolkit). http:// www.cs.sunysb.edu/~algorith/implement/gmt/ implement.shtml.

12. Севбо И. П. Графическое представление синтаксических структур и стилистическая диагностика. Киев: Наукова Думка, 1981.

13. Скороходько Э. Ф. Семантические сети и автоматическая обработка текста. Киев: Наукова думка, 1983.

14. Спецификация GraphML. http://graphml.graphdrawing.org/index.html.

15. Спецификация GXL. http://www.gupro.de/GXL/.

16. Спецификация XGMML. http://www.cs.rpi. edu/~puninj/XGMML/.

17. Bunke H. Graph matching: theoretical foundations, algorithms, and applications // Proc. Vision Interface. Montreal, 2000.

18. Herman I., Marshall M. GraphXML — An XML-based graph description format // Proceedings of «Graph Drawing-2000» (Lecture Notes in Computer Science, vol. 1984). Berlin: Springer, 2001.

19. Himsolt M. GML: A portable Graph File Format // Technical report, University at Passau, 1997.

20. Isert C. The editing distance between trees // Ferienakademie Baume: Algorithmik und Kombinatorik. — Sarntal, Italy, 1999.

21. Wagner R, Fischer M. The string-to-string correction problem // Journal of the Association for Computing Machinery. 1974. Vol. 21, No. 1.