Инновации в информационно-аналитических системах: сб. научн. трудов. Вып. 5 -Курск: Науком, 2013. - 92 с., ил. ISBN 978-5-4297-0009-0
ПРЕДСТАВЛЕНИЕ ИНФОРМАЦИИ В ИНФОРМАЦИОННО-АНАЛИТИЧЕСКИХ СИСТЕМАХ
УДК 681.326
Работа выполнена при финансовой поддержке Министерства образования и науки РФ в рамках ФЦП «Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2007 - 2013 гг.», государственный контракт № 07.514.11.4039.
Сизов А.С., Шельдешов С.И.
ФОРМАЛИЗАЦИЯ МНОГОМЕРНЫХ СЛАБОСТРУКТУРИРОВАННЫХ ДАННЫХ НА ОСНОВЕ РАЗРЕЖЕННЫХ ГИПЕРКУБОВ
Предложен метод формализации слабоструктурированных данных и показателей, представленных в базах и банках данных для обеспечения обработки семантически значимой информации. Проведен визуальный анализ заполненности баз и банков данных интересующей информацией, а также выполнена обработка семантически значимой информации.
Ключевые слова: слабоструктурированные данные, гиперкуб, разреженный гиперкуб, агрегация, визуализация, морфологический словарь, территориально распределенные системы сбора и обработки информации естественноязыковые данные.
Sheldeshov S. I., Sizov A. S.
Multidimensional semistructured data formalization based on the diluted hypercube
A method of formalization of semi-structured data and indicators presented in databases and data banks for the processing of semantically meaningful information is offered. The presented method allows visual analysis of occupancy data banks are asking for information and to carry out the processing of semantically meaningful information.
7
Инновации в информационно-аналитических системах: сб. научн. трудов. Вып. 5 -Курск: Науком, 2013. - 92 с., ил. ISBN 978-5-4297-0009-0
Keywords: semistructured data hypercube, hypercube sparse, aggregation, visualization, morphological dictionary, geographically distributed systems of information gathering and processing natural language data.
В настоящее время в различных сферах актуальна аналитическая обработка больших объемов данных для решения задач поддержки принятия решений, планирования, управления. С учетом того, что данные, как правило, представлены в электронном виде, информационное обеспечение решения указанных задач сводится к поиску взаимосвязей между рядами показателей (которые могут быть представлены в гиперкубах данных), семантически описывающих определенный объект или явление. Следует отметить, что в аналитической обработке информации растет доля слабоструктурированных показателей, описываемых на естественном языке (ЕЯ).
Разработан метод формализации многомерных слабоструктурированных данных и показателей, обеспечивающий последующую обработку семантически значимой информации.
Метод формализации
многомерных слабоструктурированных данных и показателей
Этап 1. Формирование карт заполненности разреженного гиперкуба.
Сущность разрабатываемого на данном этапе функционала состоит в создании визуального представления многомерной базы данных, позволяющего пользователю оценивать заполненность гиперкубов данных и осуществлять визуальный поиск информации в базе данных.
Разрабатывается карта заполненности, представляющая собой набор визуальных образов (разноцветных графических примитивов) [1]. Карта заполненности строится на основе одно-, двух- или трехмерной проекции бинарного представления гиперкуба данных.
Рассмотрим гиперкуб данных H (D, M), содержащий |D| = n измере-
ний. Число ячеек N , соответствующих любой метке m е Md выбранного для построения проекции измерения d е D есть N = П D\d Md
При этом число непустых ячеек, соответствующих метке m е Md, есть C : 0 < C < N
m m
Число непустых ячеек может быть вычислено как значение оператора C(D,M), где D'= d, а M' = m . Вычисляя, значения оператора C,c(d,m) для всех mt е Md строится соответствие c ^ mt, являющееся одномерной проекцией бинарного представления B (D,M) гиперкуба данных H (D, M) (рисунок 1).
Ci Сг Сз ... С|<
ill I I . II---------------►
mi m2 m3 • • • mk Md
Рис. 1 - Одномерная проекция бинарного представления гиперкуба данных
8
Инновации в информационно-аналитических системах: сб. научн. трудов. Вып. 5 -Курск: Науком, 2013. - 92 с., ил. ISBN 978-5-4297-0009-0
Сопоставив каждому значению c определенный цвет, формируется картограмма, характеризующая степень полноты данных, соответствующих выбранным объектам.
Одномерные карты заполненности многомерной базы данных используются на начальном этапе работы с базой данных при первичном, "поверхностном" анализе заполненности базы данных с целью получения общего представления о наличии данных по тому или иному измерению. Для более детального анализа можно применить двумерные проекции и соответствующие им карты заполненности.
Для построения двумерной проекции осуществляется подсчет значений оператора C(D ,M ) для всевозможных комбинаций меток Щ,m2 е M, соответствующих выбранных для построения проекции измерений dpd2 е D. В результате формируется двумерный массив (матрица) значений оператора C(D , M ), соответствующих меткам измерений dp d2 е D, на основе которого строится двумерная карта заполненности гиперкуба данных, соответствующая указанным измерениям.
В качестве примера двумерной проекции на рисунке 2 представлена двумерная карта заполненности многомерной базы данных [1].
Показатели
О
б
ъ
е
к
т
ы
- мдкгимдлкнпр злпплнрнир
Рис. 2 - Двумерная карта заполненности
Взглянув на такую карту, пользователь получает довольно полное представление о наличии данных по определенным показателям и территориальным объектам с учетом временной составляющей.
При наличии у гиперкуба данных большого числа измерений целесообразно использовать карту заполненности, основанную на трехмерной проекции бинарного представления гиперкуба данных. Для удобства работы пользователя с трехмерным представлением предусматриваются операции враще-
9
Инновации в информационно-аналитических системах: сб. научн. трудов. Вып. 5 -Курск: Науком, 2013. - 92 с., ил. ISBN 978-5-4297-0009-0
ния куба, приближения, отдаления и т.п. Данный подход может быть условно назван трехмерной навигацией в гиперкубе данных.
Этап 2. Создание агрегативов разреженного гиперкуба данных.
Сущность функционала, выполняемого на данном этапе состоит в вычислении значений, соответствующих меткам остальных уровней иерархии на основе фактов нижнего уровня. Полученные в ходе агрегации значения называются агрегативами. Агрегативы используются при анализе данных на различных уровнях детализации и, как правило, вычисляются на этапе формирования гиперкуба данных с целью сокращения времени отклика на запрос пользователя [1].
Агрегация данных является одним из ключевых понятий технологии OLAP. Формирование агрегативов (предварительное или динамическое) делает возможным проведение операций углубления (Drill-down) и свертки (Rollup) при проведении анализа данных. Существует несколько традиционных методов агрегации (суммирование детализированных данных, взвешенная сумма, минимальное (максимальное) значение, среднее значение, взвешенное среднее) [1]. Создание агрегативов проводится на основе развития метода получения взвешенного среднего, графически представленного на рисунке 3.
Пусть имеется иерархическое измерение с N уровнями. Первичные
данные соответствуют нижнему уровню иерархии (/ = 0). Сопоставим каж-
~ .0
дой метке нижнего уровня иерархии величину tt , характеризующую степень
достоверности фактов следующим образом: t0 = 1, в случае если существует факт x°, соответствующий этой метке и t0 = 0, если такового факта не существует.
Рис. 3 - Агрегация разреженного гиперкуба данных
Вычисление агрегата X) на следующем уровне иерархии (/=1) производится по формуле [1]:
X =^, (1)
1 Mj
где м 1 - число фактов, соответствующих меткам, являющимся дочерними по отношению к метке j.
10
Инновации в информационно-аналитических системах: сб. научн. трудов. Вып. 5 Курск: Науком, 2013. - 92 с., ил. ISBN 978-5-4297-0009-0
Вычисление уровня достоверности производится по формуле [1]:
Tj, соответствующего агрегату
X1
'j ’
(2)
где Kj - число меток, являющихся дочерними по отношению к метке J .
Обобщая, получим выражения для вычисления агрегативов на остальных уровнях иерархии [1]:
M
£ х
X1, = J—L
i-1
M.
к,
£ t-1
T = i=1
(3)
(4)
K.
Этап 3. Разработка запросов для обеспечения доступа к данным.
В качестве средств доступа к гиперкубам данных используются конструкторы запросов, позволяющие пользователю, не являющемуся специалистом в области информационных технологий, сформировать запрос к гиперкубу данных и получить отчет в виде таблицы. Пользователю, таким образом, предоставляется возможность фиксации необходимых меток и получения среза данных (в терминах OLAP) [2, 3].
При создании таких конструкторов запросов разработчиком информационной системы, как правило, не учитывается степень разреженности гиперкуба данных. Таким образом, процедура формирования запроса пользователем и выполнение запроса осуществляется независимо от того, есть ли в гиперкубе запрашиваемые данные или нет. В случае гиперкубов с высокой степенью разреженности использование такого конструктора запросов приводит к резкому снижению эффективности работы пользователя с системой. Это снижение эффективности обусловлено тем, что пользователь тратит значительное количество времени на формирование запроса, а затем, как правило, получает пустую выборку.
Для повышения эффективности пошагового конструктора запросов в случае гиперкубов данных с высокой степенью разреженности необходимо увеличить числа результативных запросов R. Таким образом, задача оптимизации формирования пользовательского запроса к разреженному гиперкубу данных сводится к созданию алгоритма, позволяющего избежать получения пустой выборки на этапе формирования запроса. Пошаговый конструктор запросов должен позволять пользователю фиксировать только те метки, которым соответствуют непустые ячейки гиперкуба данных.
Работа пошагового конструктора запросов может быть представлена в виде модели сетевого графа G (S ,V). Сопоставим каждой вершине графа Sji е S число cji = C(D ,M ), где D' и M' - множество фиксированных изме-
11
Инновации в информационно-аналитических системах: сб. научн. трудов. Вып. 5 Курск: Науком, 2013. - 92 с., ил. ISBN 978-5-4297-0009-0
рений и меток соответственно. Множества D и M' соответствуют пути пользователя w к вершине cjt. Таким образом, вершине графа sjt е S может быть сопоставлено несколько значений cji — w, в зависимости от множества ранее фиксированных меток M', т.е. пути, которым пользователь попал в вершину sji.
В случае разреженного гиперкуба данных граф G(S,V) будет содержать некоторое число путей w, со значением cji (w) — 0 . Будем называть такие пути ложными. Суть оптимизации процедуры формирования пользовательского запроса на сетевом графе G (S, У), таким образом, состоит в выявлении ложных путей и применению алгоритма, позволяющего пользователю их "обходить".
Будем называть путь, соединяющий начальную и конечную вершину графа, полным. Оценим число полных путей в графе G (S ,V). Пусть гиперкуб данных H(D,M) содержит n = |D| измерений и каждое измерение di е D
содержит ki
M,
меток. Число полных путей np на некоторой последова-
тельности фиксации измерений равно количеству всевозможных комбинаций
n
меток измерений np = П k •
i=1
Число всевозможных последовательностей фиксации измерений есть
n!. Следовательно, число полных путей Wa — n!np =п!П k.
i-i
Число полных путей в графе G (S у) зависит от количества меток линейно, а от числа измерений экспоненциально. Таким образом, предварительный расчет значений cji — (w) для всех возможных путей с целью выявления множества ложных путей возможен только для небольших значений n , а также числа меток ki . Альтернативой данному подходу может служить алгоритм оперативного определения ложного пути.
Рассмотрим процесс формирования запроса с помощью модели сетевого графа G(S, V). Начальная вершина графа соответствует началу процедуры формирования запроса и отсутствию фиксированных меток. Сопоставим начальной вершине графа число c0o - значение оператора C (D,M ), где D — 0,
М' — 0. Случай C (D,M') — 0, D — 0, М ' — 0 является тривиальным (гиперкуб не содержит данных). Вершинам первого слоя S1 сопоставим значения cji, где j —1,2,...,|M|. Таким образом, вершины первого слоя графа G (S у) будут содержать значения оператора C (D, M), соответствующие меткам mj е M . Отметим, что для некоторых значений mj е M число cj1 может принимать значение 0. Это означает, что данной метке соответствуют лишь пустые ячейки гиперкуба данных и путь, идущий через эту вершину ложен. Отбросим вершины со значением cj1 — 0 , предоставив пользователю для фиксации множества допустимых значений T, P, являющихся подмножествами множеств возможных значений для фиксации D, M .
12
Инновации в информационно-аналитических системах: сб. научн. трудов. Вып. 5 Курск: Науком, 2013. - 92 с., ил. ISBN 978-5-4297-0009-0
На первом шаге формирования запроса пользователь фиксирует метку m е P измерения d'е T, перемещаясь, таким образом, в вершину графа G (S ,V), соответствующую фиксированной метке m . Сопоставим вершинам второго слоя S2 графа G(S,V) значения оператора cj 2 = C (Dc, Mc),
где Dc = d'@ di, Mc = m © mt, i = 1,2,...,|T \ d'|, j = 1,2,...,|P \Md\.
На каждом последующем шаге i = 1,2,...,n будем аналогичным образом заполнять вершины графа значениями оператора cji = C (Dc, Mc) в зависимости от выбора пользователя и отбрасывать вершины со значением cj1 = 0. После фиксации всех измерений получим граф G (S ,V), вершины которого содержат значения оператора c7i ^ 0, а w ={ w°, w)k ,. ^ w"jk} , - не ложный путь
пользователя в графе G(S, V).
При работе с разреженным гиперкубом данных, среди прочих, пользователь может "попадать" в вершины, содержащие значения 0. Результатом запроса, сформированного путем, содержащим значение 0, будет пустая выборка. Рассмотренный подход является основой формирования пользовательского запроса к разреженному гиперкубу данных, позволяющего пользователю "обходить" вершины со значением 0, избегая, таким образом, получения пустой выборки.
Этап 4. Разработка элементов анализа текстов на естественном языке.
Для решения задач формализации слабоструктурированных данных, содержащихся в текстовом виде в файлах различного типа, разработаны элементы анализа текстов на естественном языке [4, 5]:
- функция поиска ключевых слов;
- функция поиска морфологически родственных слов.
Функция поиска ключевых слов (слов «кандидатов») F:
X = F (T), (5)
где X - искомое множество ключевых слов;
T - множество информационных элементов текстового фрагмента.
Элементами множества T могут являться либо отдельные слова, либо предложения текстового фрагмента. Задача анализатора из входного потока T подсчитать число слов, встречающихся наибольшее число раз, т.е. имеющих наибольший вес.
Входной поток T представляет собой некоторый массив строк, имеющий конечную длину. Задача выделения слов из входного потока сводится к разбору строк, последовательно поступающих на вход метода разбора. Алгоритм получения очередного слова достаточно прост - на каждом шаге анализируется очередной символ текущей строки, если он не является разделителем, то добавляется к текущей лексеме, в противном случае текущая лексема добавляется в таблицу лексем, после чего ей присваивается пустое значение.
На данном этапе происходит проверка наличия очередного полученного таким способом слова в стоп-словаре. Если проверка проходит успешно, дан-
13
Инновации в информационно-аналитических системах: сб. научн. трудов. Вып. 5 -Курск: Науком, 2013. - 92 с., ил. ISBN 978-5-4297-0009-0
ная лексема не добавляется в таблицу, а отбрасывается, так как не является необходимой с рассматриваемой точки зрения.
Таким образом, обрабатываются все строки входного массива. В результате формируется таблица лексем, содержащая все слова из входного потока (за исключением стоп-слов). С точки зрения структур данных таблица лексем представляет собой хэш-таблицу. Хеширование производится с помощью хэш-функции (функции расстановки). Получая в качестве аргумента некоторое слово, функция выдает в результате некоторое целое число - индекс в таблице лексем, под которым следует хранить это слово. Реализуется это при помощи функции, выдающей по заданной букве ее номер в русском алфавите, и функции, суммирующей коды букв слова [4].
Этап 5. Функция поиска морфологически родственных слов.
Данная функция является следующим этапом выделения возможных терминов в полученной таблице и замена их так называемым главным словом. Для этого необходимы дополнительный проход по хеш-таблице, а также дополнительная структура данных - морфологический словарь.
Морфословарь представляет собой древовидную сильноветвящуюся структуру, каждая вершина которой представляет собой массив, содержащий элементы, имеющие три поля: поле флагов, уникальный номер и указатель на вершину следующего уровня. Каждый элемент пронумерован и ему соответствует буква русского алфавита. Данный подход позволяет не хранить букву непосредственно в памяти. Таким образом, слово представляет собой путь в дереве, от корня, до вершины, имеющий признак конца слова.
Поле флагов содержит в себе несколько признаков: признак окончания слова, признак основы, признак главного слова в группе родственных слов. Поиск морфологически родственных слов заключается в рекурсивном спуске по дереву и нахождению элемента вершины, имеющего признак основы. После этого осуществляется левосторонний обход дерева, корнем которого является найденная вершина, и все найденные слова добавляются в список родственных слов, с пометкой слова, являющегося главным [4, 5]. Во избежание ошибок, в случаях вложения основ друг в друга, для каждого элемента вершины введено дополнительное целочисленное поле (uin), которое разделяет группы родственных слов, у которых одна основа включается в другую.
После разбора текста выполняется дополнительный проход по таблице лексем, для поиска и замены групп родственных слов соответствующим главным словом, складывая частоту их появления в тексте.
После его завершения таблица лексем содержит уже главные слова всех групп родственных слов, которые встретились во входном потоке. При наличии в тексте слов, не присутствующих в морфологическом словаре, формируется выходной список данных слов. На его основе в дальнейшем дополняется морфологический словарь, что производится уже отдельной операцией. Результатом работы этих функций есть множество X' слов-«кан-дидатов», определяемое выражением [4, 5] (6)
X' = ( x,V} ,
где x - слово-«кандидат»;
V - вес «кандидата».
14
Инновации в информационно-аналитических системах: сб. научн. трудов. Вып. 5 -Курск: Науком, 2013. - 92 с., ил. ISBN 978-5-4297-0009-0
Разработан алгоритм формализации многомерных слабоструктурированных данных и показателей с использованием функций анализа текста на естественном языке и автоматизированной загрузкой данных из внешних источников с помощью сформированных пользовательских запросов.
Заключение
1. Разработан метод формализации многомерных слабоструктурированных данных и показателей, представленных в базах и банках данных, обеспечивающий последующую обработку семантически значимой информации.
2. Разработанный метод позволяет применить гиперкубы данных с неполной информацией для визуальной обработки информации в системах поддержки принятия решений.
3. Предложены вариант решения задачи оптимизации поиска информации, а также использование элементов анализа текста на естественном языке для формализации слабоструктурированных данных из текстовых источников и автоматизация загрузки данных из внешних источников с помощью формирования пользовательского запроса.
Библиографический список
1. Заботнев М.С. Методы представления информации в разреженных гиперкубах данных. http://www.olap.ru/basic/theory.asp
2. Барсегян А.А., Куприянов М.С., Степаненко В.В., Холод И.И. Методы и модели анализа данных: OLAP и Data Mining. СПб.: БХВ-Петрбург, 2004.
3. Корнеев В.В., Гареев А.Ф., Васютин С.В., Райх В.В.. Базы данных. Интеллектуальная обработка информации - Москва: Нолидж, 2003.
4. Бутов, А.Л., Миргалеев, А.Т. Метод извлечения фактов в информационно-аналитических системах из информации, представленной на естественном языке / Информационно-измерительные и управляющие системы. М.: Радиотехника. 2012. № 2.
5. Бутов, А.Л., Миргалеев, А.Т., Теплова В.В. Подход к формализации задачи оценки времени эвакуации людей с этажа образовательного учреждения в информационно-аналитических системах пожарной безопасности / Информационно-измерительные и управляющие системы. М.: Радиотехника. 2012. № 2.
15