Введение

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

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

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

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

Обзор и анализ программных технологий разработки WEB-приложений для аналитической обработки данных

Технологии оперативной аналитической обработки данных

программный модель приложение данные

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

Такие системы строятся на основе современных СУБД, в которых развит механизм управления транзакциями, что сделало их основным средством создания систем оперативной обработки транзакций (OLTP-систем, On-Line Transactions Processing).

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

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

Без продуктивной переработки и анализа колоссальные потоки информационной руды, т.е. сырые данные, образуют никому не нужную свалку.

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

Анализ данных в той или иной степени проводится во многих информационных системах, в том числе и в OLTP-системах. Но виды анализа данных различаются в зависимости от гибкости и глубины проводимого анализа.

Информационно-поисковый анализ - анализ данных, проводимый по заранее определенным, т.е. заранее заданным видам запросов (регламентированным запросам).

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

Интеллектуальный анализ - глубокий анализ данных, позволяющий получать из имеющихся данных скрытые для пользователя знания, такие как:

§ функциональные и логические закономерности в накопленных данных;

§ модели и правила, объясняющие найденные закономерности;

§ прогнозы развития процессов.

Сравнение характеристик различных видов анализа данных иллюстрирует таблица 1.1.

Характеристики

Виды анализа данных

Информационно-поисковый анализ

Оперативно-аналитический анализ

Интеллектуальный анализ

Виды запросов

Регламентированные

Нерегламентированные

Глубокий анализ

Вид получаемых данных

Выборки сырых данных

Обобщенная, сгруппированная, агрегированная информация

Модели, шаблоны, закономерности, знания

Решаемые задачи

Получение выборок данных

Грубый разведочный анализ, проверка заранее сформулированных гипотез

Получение новых, нетривиальных, скрытых знаний

Уровень интерактивности

Интерактивное взаимодействие с информацией

Таблица 1.1 - Сравнение видов анализа данных

В соответствии с рассмотренными выше видами анализа данных аналитические системы можно разделить на следующие группы:

1. Системы корпоративной отчетности:

§ используются для контроля оперативной ситуации и анализа отклонений (отвечают на вопрос «что происходит»);

§ предоставляют оперативные данные о результатах деятельности в виде заранее заданных форм отчетности;

§ базируются на информационно-поисковом анализе данных;

§ могут не использовать хранилище данных, а брать данные непосредственно из OLTP-систем;

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

2. Системы аналитической обработки данных и аналитической отчетности (OLAP-системы - системы оперативной аналитической обработки, On-Line Analytical Processing):

§ позволяют выполнять многомерный анализ данных по различным срезам;

§ обладают развитыми средствами аналитической отчетности и визуализации данных в виде различных типов таблиц, графиков и диаграмм;

§ базируются на оперативно-аналитическом анализе данных;

§ чаще всего используют хранилище данных, оптимизированное под задачи многомерного анализа данных;

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

3. Системы глубокого анализа данных:

§ обладают развитыми инструментами для проведения глубокого анализа;

§ позволяют получить нетривиальные, скрытые знания;

§ используют хранилище данных в качестве источника информации;

§ базируются на интеллектуальном анализе данных;

§ предназначены для аналитиков, обладающих знаниями в области методов анализа данных;

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

Схематичное описание разделения аналитических систем по вышепредставленным группам отображено на рисунке 1.1.1.

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

Рисунок 1.1.1 - Виды аналитических систем

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

Известен тест, созданный в 1995 году, определяющий критерии, по которым систему можно отнести к классу OLAP-систем.

Этот тест получил название FASMI (Fast Analysis of Shared Multidimensional Information) (быстрый анализ совместно используемой многомерной информации) и в настоящее время широко используется.

В соответствии с тестом FASMI OLAP определяется пятью ключевыми словами:

§ Fast (Быстрый);

§ Analysis (Анализ);

§ Shared (Разделяемой);

§ Multidimensional (Многомерной);

§ Information (Информации).

Схематичное представление теста изображено на рисунке 1.1.2.


Рисунок 1.1.2 - Тест FASMI.

1. Fast (Быстрый)

OLAP-система должна обеспечить выдачу ответов на большинство запросов в пределах приблизительно 5 секунд. Для простых запросов этот показатель может быть 1 секунда, а для редкостных по сложности запросов он может достигать 20 секунд.

Исследования показывают, что если отклик не получен в течение 30 секунд, то пользователь перестает считать систему полезной. Он способен нажать комбинацию клавиш ++, если система не предупредит, что обработка данных требует большего времени.

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

Такой скорости обработки нелегко достигнуть на огромных массивах данных, особенно если требуются нестандартные и сложные запросы, формируемые «на лету».

Для достижения данной цели разработчики OLAP-систем используют разные методы:

Динамическая предобработка данных;

Создание специальных программно-аппаратных решений;

Применение аппаратных платформ с большей производительностью.

Критерий скорости является наиболее критическим в определении принадлежности системы к классу OLAP.

2. Analysis (Анализ).

OLAP-система должна справляться с любым логическим и статистическим анализом, характерным для данной прикладной области.

Все требуемые функциональные возможности анализа должны обеспечиваться понятным для пользователя способом.

OLAP-система должна обладать гибкостью в выдаче графических результатов анализа и позволять формировать отчеты любым желаемым способом без необходимости программирования.

3. Shared (Разделяемой).

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

4. Multidimensional (Многомерной).

OLAP-система должна обеспечивать многомерное представление данных. Речь не идет о числе измерений многомерной модели данных или размерах каждого измерения. Это зависит от конкретной прикладной области и решаемых аналитических задач.

5. Information (Информации).

OLAP-система должна обеспечивать получение необходимой информации в условиях реального приложения.

Мощность OLAP-системы определяется количеством входных данных, которые она может обработать. Способности OLAP-систем к обработке информации разнятся в 1000 раз, что определяется множеством факторов, включая требуемую оперативную память, использование дискового пространства, интеграцию с хранилищами данных и другими аналитическими компонентами.

Таким образом, в тесте FASMI сделан акцент на такие важные свойства OLAP-систем как скорость обработки, многопользовательский доступ, релевантность информации, наличие средств статистического анализа и многомерность, т.е. представление анализируемых фактов как функций от большого числа их характеризующих параметров.

Галина Акимова, Матвей Пашкин

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

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

Однако для решения современных аналитических задач, особенно учитывая огромный объем исходной информации (в первую очередь из Интернета), этого явно недостаточно. В качестве примера того, что нужно сегодня заказчикам, можно привести разработанную в Колумбийском университете программу Newsblaster. Первоначально она предназначалась для упрощения поиска информации в Web, но на самом деле она в состоянии извлекать из Интернета любые важные новости. Эта система просматривает новостные сайты, сортируя найденную информацию по темам, определяет степень похожести текстов и формирует новость в виде комментария из пяти предложений. Примерно 88% из тех, кто использовал это решение, признают, что намного удобнее работать с этой программой, чем "ходить" по различным Web-сайтам в поисках новостей.

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

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

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

Из существующих систем, с точки зрения авторов, наиболее интересна система ТЕРМИН-5, использующая лексико-статистический метод рубрицирования текстов. Достоинство лексико-статистического метода - его высокая универсальность, поскольку смысл рубрики в нем определяется только набором обучающих текстов . Система позволяет полностью автоматизировать процесс рубрицирования, обеспечивая настройку на рубрикатор по обучающей выборке текстов и выработку решающего правила отнесения документа к той или иной рубрике. Она ориентирована на рубрикацию реальных потоков текстовых сообщений СМИ .

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

Построение систем авторубрикации

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

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

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

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

Построение обучающей выборки

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

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

Обучение рубрикатора

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

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

Использование рубрикатора

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

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

Предварительная обработка информации

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

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

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

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

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

Электронные и бумажные документы. Технология работы с бумажными документами начинается обычно с перевода их в электронный вид, т. е. с операции сканирования.

Аналитическая обработка

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

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

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

Информационно-аналитическая система "Астарта"

Ниже мы рассмотрим работу описанных выше методов обработки информации на примере информационно-аналитической системы "Астарта" (разработчик - компания Cognitive Technologies, http://www.cognitive.ru). Это программное решение базируется на технологии "Евфрат" и предназначено для сбора, обработки и анализа неструктурированной информации, получаемой из Интернета, печатных материалов, СМИ и других источников. Оно имеет клиент-серверную архитектуру с возможностью публикации на сервере документов, предназначенных для общего пользования, и форматов новостных лент. В системе предусмотрено три разнотипных рабочих места и соответственно три типа пользователей: администратор, эксперт и пользователь.

Администрирование

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

Рис. 1. Окно администратора системы.

Назначать права доступа можно как каждому пользователю системы отдельно, так и группе пользователей. В последнем случае для всех пользователей группы автоматически устанавливаются права данной группы. Если пользователь состоит в нескольких группах, то его права расширяются в соответствии с правами, которые он имеет в каждой группе.

Администратор - это выделенный пользователь системы, который не должен иметь прав на выполнение пользовательских функций.

Работа с рубрикатором

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

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

Качество работы построенного авторубрикатора системы определяется по результатам автоматического определения тематики поступающей информации. Авторубрикация документов проводится на этапе ввода информации в БД. Документам присваивается оценка релевантности, характеризующая принадлежность той или иной рубрике (или нескольким рубрикам). Документы, тематика которых не была установлена, относятся к последней по порядку рубрике рубрикатора (например, "Разное"). При неудовлетворительном качестве определения тематики авторубрикатор следует переобучить, уточнив состав обучающей выборки, и заново рубрицировать тот же набор документов (рис. 2).

Рис. 2. Процесс построения рубрикатора.

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

Подготовленный и обученный рубрикатор публикуется на сервере системы или сразу становится доступен для дальнейшей работы (если используется локальная версия системы).

Работа пользователя

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

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

Ввод документов

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

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

При обработке новостных лент различных форматов в первую очередь определяется формат данной ленты. Заметим, что в одном потоке могут находиться новостные ленты различных форматов. Затем из новостной ленты выделяются отдельные новости, которые передаются системе ввода. Новостные ленты, формат которых системе не удалось определить автоматически, собираются в заранее указанном месте. В дальнейшем можно вручную указать формат, по которому их следует вводить. Кроме того, предусмотрена возможность ввода в "Астарту" так называемых неформатных документов, т. е. документов, формат которых в системе не описан. Указание, что сейчас будет вводиться поток неформатных документов, делается вручную.

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

Поиск документов

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


Рис. 3. Формирование запроса на поиск документов.

Интерфейс системы позволяет формировать запросы с использованием логических операций И, ИЛИ, НЕ, указывая тем самым более точное условие для поиска информации. Имеется также ряд средств и функций, упрощающих работу по формированию запроса на поиск документов:

  • наличие словарей при реквизитах системы (упрощает выбор необходимого значения);
  • возможность указания даты на "естественном" языке (например, выбор даты "март 2003 г." равносилен указанию интервала с 1.03.03 по 31.03.03);
  • формирование запроса по результатам поиска;
  • хранение предопределенных запросов.

Формирование дайджестов

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


Рис. 4. Формирование сводного отчета (дайджеста).

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

Построение статистических сводок

Основная задача статистического анализа состоит в том, чтобы определить тенденции развития исследуемой проблемы. Наиболее наглядные способы представления результатов - временной ряд, показывающий развитие исследуемой величины с течением времени, и диаграмма, показывающая долю исследуемой величины относительно других величин. Если для решения задач прогнозирования требуется применение различных статистических пакетов, использующих специальные алгоритмы (например, алгоритм авторегрессии и интегрального скользящего среднего АРИСС - ARIMA), то качественную оценку, полученную на основании построенных временных рядов, можно получить с помощью стандартного пакета Excel.

В системе "Астарта" реализованы оба способа построения различных статистических сводок: с использованием возможностей пакета Statistica 5.5 либо стандартного пакета Excel. При экспорте в Excel из интерфейса системы можно указать тип представления информации: график, круговая диаграмма или таблица. Пример временного ряда, построенного с использованием пакета Excel для рубрикатора сайта Lenta.ru, приведен на рис. 5.

Заключение

Информационным и аналитическим службам предприятий в своей работе приходится сталкиваться с самыми разнообразными источниками информации. Это бумажные периодические издания, электронные газеты, другие Интернет-ресурсы, электронная почта, передача новостных потоков по IP- и ftp-каналам и т. п. Использование описанной в статье технологии обработки и анализа информации, поступающей из разнородных источников, с автоматической группировкой по тематическим признакам сводит к минимуму вероятность пропустить необходимые сведения. Автоматическая фильтрация потоков позволяет оперативно получать интегральную информационную картину, а для детального изучения поступающей информации может использоваться мощный поисковый механизм с построением сложных запросов.

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

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

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

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

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

4. Классификация OLAP-продуктов.

5. Принципы работы OLAP-клиентов.

7. Сферы применения OLAP-технологий.

8. Пример использования OLAP-технологий для анализа в сфере продаж.

1. Место OLAP в информационной структуре предприятия.

Термин "OLAP" неразрывно связан с термином "хранилище данных" (Data Warehouse ).

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

Задача хранилища - предоставить "сырье" для анализа в одном месте и в простой, понятной структуре.

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

Под хранилищем можно понимать не обязательно гигантское скопление данных - главное, чтобы оно было удобно для анализа.

Централизация и удобное структурирование - это далеко не все, что нужно аналитику. Ему ведь еще требуется инструмент для просмотра, визуализации информации. Традиционные отчеты, даже построенные на основе единого хранилища, лишены одного - гибкости. Их нельзя "покрутить", "развернуть" или "свернуть", чтобы получить желаемое представление данных. Вот бы ему такой инструмент, который позволил бы разворачивать и сворачивать данные просто и удобно! В качестве такого инструмента и выступает OLAP.

Хотя OLAP и не представляет собой необходимый атрибут хранилища данных, он все чаще и чаще применяется для анализа накопленных в этом хранилище сведений.

Место OLAP в информационной структуре предприятия (рис. 1).

Рисунок 1 . Место OLAP в информационной структуре предприятия

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

Подытоживая, можно определить OLAP как совокупность средств многомерного анализа данных, накопленных в хранилище.

2. Оперативная аналитическая обработка данных.

В основе концепции OLAP лежит принцип многомерного представления данных. В 1993 году E. F. Codd рассмотрел недостатки реляционной модели, в первую очередь, указав на невозможность "объединять, просматривать и анализировать данные с точки зрения множественности измерений, то есть самым понятным для корпоративных аналитиков способом", и определил общие требования к системам OLAP, расширяющим функциональность реляционных СУБД и включающим многомерный анализ как одну из своих характеристик.

По Кодду, многомерное концептуальное представление данных (multi-dimensional conceptual view ) представляет собой множественную перспективу, состоящую из нескольких независимых измерений, вдоль которых могут быть проанализированы определенные совокупности данных.

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

Так, измерение Исполнитель может определяться направлением консолидации, состоящим из уровней обобщения "предприятие - подразделение - отдел - служащий". Измерение Время может даже включать два направления консолидации - "год - квартал - месяц - день" и "неделя - день", поскольку счет времени по месяцам и по неделям несовместим. В этом случае становится возможным произвольный выбор желаемого уровня детализации информации по каждому из измерений.

Операция спуска (drilling down ) соответствует движению от высших ступеней консолидации к низшим ; напротив, операция подъема (rolling up ) означает движение от низших уровней к высшим (рис. 2).


Рисунок 2. Измерения и направления консолидации данных

3. Требования к средствам оперативной аналитической обработки.

Многомерный подход возник практически одновременно и параллельно с реляционным . Однако, только начиная с середины девяностых годов, а точнее с
1993 г., интерес к МСУБД начал приобретать всеобщий характер. Именно в этом году появилась новая программная статья одного из основоположников реляционного подхода Э. Кодда , в которой он сформулировал 12 основных требований к средствам реализации OLAP (табл. 1).

Таблица 1.

Многомерное представление данных

Средства должны поддерживать многомерный на концептуальном уровне взгляд на данные.

Прозрачность

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

Доступность

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

Согласованная производительность

Производительность практически не должна зависеть от количества Измерений в запросе.

Поддержка архитектуры клиент-сервер

Средства должны работать в архитектуре клиент-сервер.

Равноправность всех измерений

Ни одно из измерений не должно быть базовым, все они должны быть равноправными (симметричными).

Динамическая обработка разреженных матриц

Неопределенные значения должны храниться и обрабатываться наиболее эффективным способом.

Поддержка многопользовательского режима работы с данными

Средства должны обеспечивать возможность работать более чем одному пользователю.

Поддержка операций на основе различных измерений

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

Простота манипулирования данными

Средства должны иметь максимально удобный, естественный и комфортный пользовательский интерфейс.

Развитые средства представления данных

Средства должны поддерживать различные способы визуализации (представления) данных.

Неограниченное число измерений и уровней агрегации данных

Не должно быть ограничений на число поддерживаемых Измерений.

Правила оценки программных продуктов класса OLAP

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

Позже определение Кодда было переработано в так называемый тест FASMI, требующий, чтобы OLAP-приложение предоставляло возможности быстрого анализа разделяемой многомерной информации.

Помнить 12 правил Кодда слишком обременительно для большинства людей. Оказались, что можно резюмировать OLAP-определение только пятью ключевыми словами: Быстрый Анализ Разделяемой Многомерной Информации - или, кратко - FASMI (в переводе с английского: F ast A nalysis of S hared M ultidimensional I nformation ).

Это определение впервые было сформулировано в начале 1995 года и с тех пор не нуждалось в пересмотре.

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

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

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

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

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

MULTIDIMENSIONAL (Многомерной ) - это ключевое требование. Если бы нужно было определить OLAP одним словом, то выбрали бы его. Система должна обеспечить многомерное концептуальное представление данных, включая полную поддержку для иерархий и множественных иерархий, поскольку это определенно наиболее логичный способ анализировать бизнес и организации. Не установлено минимальное число измерений, которые должны быть обработаны, поскольку оно также зависит от приложения, и большинство продуктов OLAP имеет достаточное количество измерений для тех рынков, на которые они нацелены.

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

Тест FASMI - разумное и понятное определение целей, на достижение которых ориентированы OLAP.

4. Классификация OLAP -продуктов.

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

На сегодняшний день в мире разработано множество продуктов, реализующих OLAP -технологии. Чтобы легче было ориентироваться среди них, используют классификации OLAP -продуктов: по способу хранения данных для анализа и по месту нахождения OLAP -машины. Рассмотрим подробнее каждую категорию OLAP -продуктов.

Классификация по способу хранения данных

Многомерные кубы строятся на основе исходных и агрегатных данных. И исходные и агрегатные данные для кубов могут храниться как в реляционных, так и многомерных базах данных. Поэтому в настоящее время применяются три способа хранения данных: MOLAP (Multidimensional OLAP ), ROLAP (Relational OLAP ) и HOLAP (Hybrid OLAP ). Соответственно, OLAP -продукты по способу хранения данных делятся на три аналогичные категории:

1. В случае MOLAP , исходные и агрегатные данные хранятся в многомерной БД или в многомерном локальном кубе.

2. В ROLAP -продуктах исходные данные хранятся в реляционных БД или в плоских локальных таблицах на файл-сервере. Агрегатные данные могут помещаться в служебные таблицы в той же БД. Преобразование данных из реляционной БД в многомерные кубы происходит по запросу OLAP -средства.

3. В случае использования HOLAP архитектуры исходные данные остаются в реляционной базе, а агрегаты размещаются в многомерной. Построение OLAP -куба выполняется по запросу OLAP -средства на основе реляционных и многомерных данных.

Классификация по месту размещения OLAP -машины.

По этому признаку OLAP -продукты делятся на OLAP -серверы и OLAP -клиенты:

· В серверных OLAP -средствах вычисления и хранение агрегатных данных выполняются отдельным процессом - сервером. Клиентское приложение получает только результаты запросов к многомерным кубам, которые хранятся на сервере. Некоторые OLAP -серверы поддерживают хранение данных только в реляционных базах, некоторые - только в многомерных. Многие современные OLAP -серверы поддерживают все три способа хранения данных: MOLAP , ROLAP и HOLAP .

MOLAP.

MOLAP - это Multidimensional On-Line Analytical Processing, то есть Многомерный OLAP. Это означает, что сервер для хранения данных использует многомерную базу данных (МБД). Смысл использования МБД очевиден. Она может эффективно хранить многомерные по своей природе данные, обеспечивая средства быстрого обслуживания запросов к базе данных. Данные передаются от источника данных в многомерную базу данных, а затем база данных подвергается агрегации. Предварительный расчет - это то, что ускоряет OLAP-запросы, поскольку расчет сводных данных уже произведен. Время запроса становится функцией исключительно времени, необходимого для доступа к отдельному фрагменту данных и выполнения расчета. Этот метод поддерживает концепцию, согласно которой работа производится единожды, а результаты затем используются снова и снова. Многомерные базы данных являются относительно новой технологией. Использование МБД имеет те же недостатки, что и большинство новых технологий. А именно - они не так устойчивы, как реляционные базы данных (РБД), и в той же мере не оптимизированы. Другое слабое место МБД заключается в невозможности использовать большинство многомерных баз в процессе агрегации данных, поэтому требуется время для того, чтобы новая информация стала доступна для анализа.

ROLAP.

ROLAP - это Relational On-Line Analytical Processing, то есть Реляционный OLAP. Термин ROLAP обозначает, что OLAP-сервер базируется на реляционной базе данных. Исходные данные вводятся в реляционную базу данных, обычно по схеме "звезда" или схеме "снежинка", что способствует сокращению времени извлечения. Сервер обеспечивает многомерную модель данных с помощью оптимизированных SQL-запросов.

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

Агрегированные/Предварительно агрегированные данные.

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

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

· OLAP -клиент устроен по-другому. Построение многомерного куба и OLAP -вычисления выполняются в памяти клиентского компьютера. OLAP -клиенты также делятся на ROLAP и MOLAP . А некоторые могут поддерживать оба варианта доступа к данным.

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

Разработка аналитических приложений с помощью клиентских OLAP-средств – процесс быстрый и не требующий специальной подготовки исполнителя. Пользователь, знающий физическую реализацию базы данных, может разработать аналитическое приложение самостоятельно, без привлечения ИТ-специалиста .

При использовании OLAP-сервера необходимо изучить 2 разные системы, иногда от различных поставщиков, – для создания кубов на сервере, и для разработки клиентского приложения.

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

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

· Экономическая целесообразность применения OLAP -сервера возникает, когда объемы данных очень велики и непосильны для OLAP -клиента, иначе более оправдано применение последнего. В этом случае OLAP -клиент сочетает в себе высокие характеристики производительности и низкую стоимость.

· Мощные ПК аналитиков – еще один довод в пользу OLAP -клиентов. При применении OLAP -сервера эти мощности не используются.

Среди преимуществ OLAP-клиентов можно также назвать следующее:

· Затраты на внедрение и сопровождение OLAP -клиента существенно ниже, чем затраты на OLAP -сервер.

· При использовании OLAP -клиента со встроенной машиной передача данных по сети производится один раз. При выполнении OLAP -операций новых потоков данных не порождается.

5. Принципы работы OLAP -клиентов.

Рассмотрим процесс создания OLAP-приложения с помощью клиентского инструментального средства (рис. 1).

Рисунок 1. Создание OLAP-приложения с помощью клиентского ROLAP-средства

Принцип работы ROLAP-клиентов – предварительное описание семантического слоя, за которым скрывается физическая структура исходных данных. При этом источниками данных могут быть: локальные таблицы, РСУБД. Список поддерживаемых источников данных определяется конкретным программным продуктом. После этого пользователь может самостоятельно манипулировать понятными ему объектами в терминах предметной области для создания кубов и аналитических интерфейсов.

Принцип работы клиента OLAP-сервера иной. В OLAP-сервере при создании кубов пользователь манипулирует физическими описаниями БД. При этом в самом кубе создаются пользовательские описания. Клиент OLAP-сервера настраивается только на куб.

При создании семантического слоя источники данных – таблицы Sales и Deal – описываются понятными конечному пользователю терминами и превращаются в «Продукты» и «Сделки». Поле «ID» из таблицы «Продукты» переименовывается в «Код», а «Name » - в «Товар» и т.д.

Затем создается бизнес-объект «Продажи». Бизнес-объект – это плоская таблица, на основе которой формируется многомерный куб. При создании бизнес-объекта таблицы «Продукты» и «Сделки» объединяются по полю «Код» товара. Поскольку для отображения в отчете не потребуются все поля таблиц – бизнес-объект использует только поля «Товар», «Дата» и «Сумма».

В нашем примере на базе бизнес-объекта «Продажи» создан отчет по продажам товаров по месяцам.

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

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

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

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

6. Выбор архитектуры OLAP-приложения.

При реализации информационно-аналитической системы важно не ошибиться в выборе архитектуры OLAP-приложения. Дословный перевод термина On-Line Analytical Process - «оперативная аналитическая обработка» - часто воспринимается буквально в том смысле, что поступающие в систему данные оперативно анализируются. Это заблуждение - оперативность анализа никак не связана с реальным временем обновления данных в системе. Эта характеристика относится к времени реакции OLAP-системы на запросы пользователя. При этом зачастую анализируемые данные представляют собой снимок информации «на вчерашний день», если, например, данные в хранилищах обновляются раз в сутки.

В этом контексте более точен перевод OLAP как «интерактивная аналитическая обработка». Именно возможность анализа данных в интерактивном режиме отличает OLAP-системы от систем подготовки регламентированных отчетов.

Другой особенностью интерактивной обработки в формулировке родоначальника OLAP Э. Кодда является возможность «объединять, просматривать и анализировать данные с точки зрения множественности измерений, т. е. самым понятным для корпоративных аналитиков способом». У самого Кодда термин OLAP обозначает исключительно конкретный способ представления данных на концептуальном уровне - многомерный. На физическом уровне данные могут храниться в реляционных базах данных, однако на деле OLAP-инструменты, как правило, работают с многомерными базами данных, в которых данные упорядочены в виде гиперкуба (рис. 1).

Рисунок 1. OLAP – куб (гиперкуб, метакуб )

При этом актуальность этих данных определяется моментом наполнения гиперкуба новыми данными.

Очевидно, что время формирования многомерной базы данных существенно зависит от объема загружаемых в нее данных, поэтому разумно ограничить этот объем. Но как при этом не сузить возможности анализа и не лишить пользователя доступа ко всей интересующей информации? Существует два альтернативных пути: Analyze then query («Сначала проанализируй - затем запроси дополнительную информацию») и Query then analyze («Сначала запроси данные - затем анализируй»).

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

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

К достоинствам второго подхода следует отнести «свежесть» информации, которую пользователь получает в виде многомерного отчета - «микрокуба ». Микрокуб формируется на основе только что запрошенной информации из актуальной реляционной базы данных. Работа с микрокубом осуществляется в интерактивном режиме - получение срезов информации и ее детализация в рамках микрокуба осуществляется моментально. Другим положительным моментом является то, что проектирование структуры и наполнение микрокуба осуществляется пользователем «на лету», без участия администратора баз данных. Однако подход страдает и серьезными недостатками. Пользователь, не видит общей картины и должен заранее определяться с направлением своего исследования. В противном случае запрошенный микрокуб может оказаться слишком мал и не содержать всех интересующих данных, а пользователю придется запрашивать новый микрокуб , затем новый, затем еще и еще. Подход Query then analyze реализует инструментальное средство BusinessObjects одноименной компании и инструментальные средства платформы Контур компании Intersoft Lab .

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

На работе единой многомерной базы данных практически не сказывается количество обращающихся к ней пользователей. Они лишь читают имеющиеся там данные в отличие от подхода Query then analyze , при котором количество микрокубов в предельном случае может расти с той же скоростью, что и количество пользователей.

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

Наиболее яркими представителями подхода «Analyze then query » являются инструментальные средства PowerPlay и Impromptu компании Cognos .

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

7. Сферы применения OLAP-технологий.

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

Рассмотрим некоторые сферы применения OLAP-технологий, взятые из реальной жизни.

1. Продажи.

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

2. Закупки.

Задача обратно противоположная анализу продаж. Многие предприятия закупают комплектующие и материалы у поставщиков. Торговые предприятия закупают товары для перепродажи. Возможных задач при анализе закупок множество, от планирования денежных средств на основе прошлого опыта, до контроля за менеджерами , выбирающими поставщиков.

3. Цены.

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

4. Маркетинг.

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

5. Склад.

Анализ структуры остатков на складе в разрезе видов товаров, складов, анализ сроков хранения товаров, анализ отгрузки по получателям и многие другие важные для предприятия виды анализа возможны при наличии в организации складского учета.

6. Движение денежных средств.

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

7. Бюджет.

Одна из самых благодатных областей применения OLAP-технологий. Не даром ни одна современная система бюджетирования не считается завершенной без наличия в ее составе OLAP-инструментария для анализа бюджета. Большинство бюджетных отчетов легко строятся на основе OLAP-систем. При этом отчеты отвечают на очень широкую гамму вопросов: анализ структуры расходов и доходов, сравнение расходов по определенным статьям у разных подразделений, анализ динамики и тенденций расходов на определенные статьи, анализ себестоимости и прибыли.

8. Бухгалтерские счета.

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

9. Финансовая отчетность.

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

10. Посещаемость сайта.

Лог-файл Интернет-сервера многомерен по природе, а значит подходит для OLAP-анализа. Фактами являются: количество посещений, количество хитов, время проведенное на странице и другая информация, имеющаяся в логе.

11. Объемы производства.

Это еще один пример статистического анализа. Таким образом, можно анализировать объемы выращенного картофеля, выплавленной стали, произведенного товара.

12. Потребление расходных материалов.

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

13. Использование помещений.

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

14. Текучесть кадров на предприятии.

Анализ текучести кадров на предприятии в разрезе филиалов, отделов, профессий, уровня образования, пола, возраста, времени.

15. Пассажирские перевозки.

Анализ количества проданных билетов и сумм в разрезе сезонов, направлений, видов вагонов (классов), типов поездов (самолетов).

Этим списком не ограничиваются сферы применения OLAP - технологий. Для примера рассмотрим технологию OLAP -анализа в сфере продаж.

8. Пример использования OLAP -технологий для анализа в сфере продаж.

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

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

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

Измерение «Клиенты» отражает структуру продаж по территориально-географическому признаку. В каждом измерении могут существовать свои ие рархии, например, в данном измерении это может быть структура: Страны – Регионы – Города – Клиенты.

Для анализа эффективности деятельности подразделений следует создать свое измерение. Например, можно выделить два уровня иерархии: департаменты и входящие в них отделы, что и должно найти отражение в измерении «Подразделения».

По сути, измерения «Время», «Товары», «Заказчики» достаточно полно определяют пространство предметной области.

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

OLAP – куб для анализа будет иметь вид (рис. 2):


Рисунок 2. OLAP – куб для анализа объема продаж

Вот именно такой трехмерный массив в терминах OLAP и называется кубом. На самом деле, с точки зрения строгой математики кубом такой массив будет далеко не всегда: у настоящего куба количество элементов во всех измерениях должно быть одинаковым, а у кубов OLAP такого ограничения нет. Куб OLAP совсем не обязательно должен быть трехмерным. Он может быть и двух- , и многомерным - в зависимости от решаемой задачи. Серьезные OLAP-продукты рассчитаны на количество измерений порядка 20. Более простые настольные приложения поддерживают где-то 6 измерений.

Должны быть заполнены далеко не все элементы куба: если нет информации о продажах Товара 2 Клиенту 3 в третьем квартале, значение в соответствующей ячейке просто не будет определено.

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

Рисунок 3. Структура аналитического отчета

Разрежем наш OLAP – куб и получим отчет о продажах за третий квартал, он будет иметь следующий вид (рис.4).

Рисунок 4. Отчет о продажах за третий квартал

Можно разрезать куб вдоль другой оси и получить отчет о продажах группы товаров 2 в течение года (рис. 5).

Рисунок 5. Поквартальный отчет о продажах товара 2

Аналогично можно проанализировать отношения с клиентом 4, разрезав куб по метке Клиенты (рис. 6)

Рисунок 6. Отчет о поставках товаров клиенту 4

Можно детализировать отчет по месяцам или говорить о поставках товаров в определенный филиал клиента.

ПРОВЕРКА ДОСТОВЕРНОСТИ ИНФОРМАЦИИ

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

Процесс проверки включает несколько этапов :

1) счетная проверка (проверка соответствия данных путем составления оборотных ведомостей, таблиц счетной проверки);

2) встречная проверка (сопоставление информации, полученной из разных источников);

3) логическая проверка (аналитик выясняет с учетом сложившейся экономической ситуации насколько можно доверять данным внутренней и внешней информации);

4) корректировка (внесение корректировок в стоимость имущества, балансовой прибыли, размеров собственного капитала и амортизации);

Все вносимые корректировки должны быть обоснованными и объективными.

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

Аналитическая обработка информации включает:

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

Показатели группируются по:

- способу исчисления (абсолютные и относительные);

- применяемым измерителям (натуральные, стоимостные, трудовые и др.);

- получаемым характеристикам (количественные, качественные);

- степени обобщения (обобщающие, частные);

- охватываемому периоду (статики, динамики);

- отношению к деятельности предприятия (объективные, субъективные);

- слагаемым эффективности (производительность, фондоотдача, качество продукции, материалоотдача);

- стадиям жизненного цикла (проектирование, производство, материальное обеспечение, реализация, эксплуатация).

2) обобщение информации:

а) составление аналитических таблиц ;

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

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

б) графическое отображение информации;

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

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

в) сравнение – сопоставление однородных объектов с целью выявления их сходства или различий (более подробно рассмотрим далее);

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

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

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

(СУБД. - 1998. - № 4-5)

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

В последние годы в мире оформился ряд новых концепций хранения и анализа корпоративных данных:

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

1. Хранилища (склады) данных

В области информационных технологий всегда сосуществовали два класса систем [ , С. 49]:

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

Системы второго класса - СППР - являются вторичными по отношению к ним. Часто возникает ситуация, когда данные в организации накапливаются с ряде несвязанных СОД, во многом дублируя друг друга, но не будучи никак согласованы. В таком случае достоверную комплексную информацию получить практически невозможно, несмотря на ее кажущийся избыток.

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

  • "предметно-ориентированные,
  • интегрированные,
  • неизменчивые,
  • поддерживающие хронологию

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

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

  1. Время обработки запросов к распределенному хранилищу значительно превышает соответствующие показатели для централизованного хранилища. Кроме того, структуры баз данных СОД, рассчитанные на интенсивное обновление одиночных записей, в высокой степени нормализованы, поэтому в аналитическом запросе к ним требуется объединение большого числа таблиц, что также приводит к снижению быстродействия.
  2. Интегрированный взгляд на распределенное корпоративное хранилище возможен только при выполнении требования постоянной связи всех источников данных в сети. Таким образом, временная недоступность хотя бы одного из источников может либо сделать работу информационно-аналитической системы (ИАС) невозможной, либо привести к ошибочным результатам.
  3. Выполнение сложных аналитических запросов над таблицами СОД потребляет большой объем ресурсов сервера БД и приводит к снижению быстродействия СОД, что недопустимо, так как время выполнения операций в СОД часто весьма критично.
  4. Различные СОД могут поддерживать разные форматы и кодировки данных, данные в них могут быть несогласованы. Очень часто на один и тот же вопрос может быть получено несколько вариантов ответа, что может быть связано с несинхронностью моментов обновления данных, отличиями в трактовке отдельных событий, понятий и данных, изменением семантики данных в процессе развития предметной области, ошибками при вводе, утерей фрагментов архивов и т. д. В таком случае цель - формирование единого непротиворечивого взгляда на объект управления - может не быть достигнута.
  5. Главным же недостатком следует признать практическую невозможность обзора длительных исторических последовательностей, ибо при физическом отсутствии центрального хранилища доступны только те данные, которые на момент запроса есть в реальных БД связанных СОД. Основное назначение СОД - оперативная обработка данных, поэтому они не могут позволить себе роскошь хранить данные за длительный (более нескольких месяцев) период; по мере устаревания данные выгружаются в архив и удаляются из транзакционной БД. Что касается аналитической обработки, для нее как раз наиболее интересен взгляд на объект управления в исторической ретроспективе.

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

Облегченным вариантом корпоративного хранилища данных могут быть витрины данных (Data Mart), то есть тематические БД, содержащие информацию, относящуюся к отдельным аспектам деятельности организации. Концепция витрин данных была предложена Forrester Research в 1991 году . При этом главная идея заключалась в том, что витрины данных содержат тематические подмножества заранее агрегированных данных, по размерам гораздо меньшие, чем общекорпоративное хранилище данных, и, следовательно, требующие менее производительной техники для поддержания. В 1994 году M. Demarest предложил объединить две концепции и использовать хранилище данных в качестве единого интегрированного источника для многочисленных витрин данных. В таком варианте корпоративная информационно-аналитическая система имеет трехуровневую структуру:

  • общекорпоративное централизованное хранилище данных;
  • тематические витрины данных на уровне подразделений;
  • рабочие места конечных пользователей, снабженные аналитическим инструментарием.

Рассмотренная концепция ориентирована исключительно на хранение, а не на обработку корпоративных данных. Она не предопределяет архитектуру целевых аналитических систем, а только создает поле деятельности для их функционирования, концентрируясь на требованиях к данным. Таким образом, она оставляет свободу выбора во всем, что касается:

  • способов представления данных в целевом хранилище (например, реляционный, многомерный);
  • режимов анализа данных хранилища.

2. Способы аналитической обработки данных

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

По критерию режима анализа данных информационно-аналитические системы подразделяются на две категории [ , ]:

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

Очень часто ИАС, создаваемые в расчете на непосредственное использование лицами, принимающими решения, оказываются чрезвычайно просты в применении, но жестко ограничены в функциональности. Такие статические СППР [ , С. 55], или Информационные системы руководителя (ИСР) [ , С. 73] - (Executive Information Systems, EIS) [ , С. 4] - содержат в себе предопределенные множества запросов и, будучи достаточными для повседневного обзора, неспособны ответить на все вопросы к имеющимся данным, которые могут возникнуть при принятии решений (ПРИМЕЧАНИЕ. По определению В. Пржиялковского [ , С. 81], ИСР - это "компьютерная система, позволяющая... предоставлять информацию в распоряжение старшего управляющего персонала с ограниченным опытом обращения с ЭВМ".). Результатом работы такой системы, как правило, являются многостраничные отчеты, после тщательного изучения которых у аналитика появляется новая серия вопросов; однако, каждый новый, непредусмотренный при проектировании такой системы, запрос должен быть сначала формально описан, передан программисту, закодирован и только затем выполнен. Время ожидания в таком случае может составлять часы и дни, что не всегда приемлемо. Таким образом, внешняя простота статических СППР, за которую активно борется большинство заказчиков информационно-аналитических систем, оборачивается катастрофической потерей гибкости.

Динамические СППР, напротив, ориентированы на обработку нерегламентированных, неожиданных (ad hoc) запросов аналитиков к данным. Наиболее глубоко требования к таким системам рассмотрел E. F. Codd в статье , положившей начало концепции OLAP. Работа аналитиков с этими системами заключается в интерактивной последовательности формирования запросов и изучения их результатов, каждый из которых может породить потребность новой серии запросов.

Но динамические СППР могут действовать не только в области оперативной аналитической обработки (OLAP); поддержка принятия управленческих решений на основе накопленных данных может выполняться в трех базовых сферах .

По Кодду, многомерное концептуальное представление (multi-dimensional conceptual view) является наиболее естественным взглядом управляющего персонала на объект управления. Оно представляет собой множественную перспективу, состоящую из нескольких независимых измерений, вдоль которых могут быть проанализированы определенные совокупности данных. Одновременный анализ по нескольким измерениям данных определяется как многомерный анализ. Каждое измерение включает направления консолидации данных, состоящие из серии последовательных уровней обобщения, где каждый вышестоящий уровень соответствует большей степени агрегации данных по соответствующему измерению. Так, измерение Исполнитель может определяться направлением консолидации, состоящим из уровней обобщения "предприятие - подразделение - отдел - служащий". Измерение Время может даже включать два направления консолидации - "год - квартал - месяц - день" и "неделя - день", поскольку счет времени по месяцам и по неделям несовместим. В этом случае становится возможным произвольный выбор желаемого уровня детализации информации по каждому из измерений. Операция спуска (drilling down) соответствует движению от высших ступеней консолидации к низшим; напротив, операция подъема (rolling up) означает движение от низших уровней к высшим (рис. 2).


Рис. 2. Измерения и направления консолидации данных.

3.1. Требования к средствам оперативной аналитической обработки

Кодд определил 12 правил, которым должен удовлетворять программный продукт класса OLAP (табл. 1).

Таблица 1. Правила оценки программных продуктов класса OLAP.

1. Многомерное концептуальное представление данных (Multi-Dimensional Conceptual View) Концептуальное представление модели данных в продукте OLAP должно быть многомерным по своей природе, то есть позволять аналитикам выполнять интуитивные операции "анализа вдоль и поперек" ("slice and dice" - перевод С. Д. Кузнецова, выступление на 3-й ежегодной конференции "Корпоративные базы данных "98"), вращения (rotate) и размещения (pivot) направлений консолидации.
2. Прозрачность (Transparency) Пользователь не должен знать о том, какие конкретные средства используются для хранения и обработки данных, как данные организованы и откуда берутся.
3. Доступность (Accessibility) Аналитик должен иметь возможность выполнять анализ в рамках общей концептуальной схемы, но при этом данные могут оставаться под управлением оставшихся от старого наследства СУБД, будучи при этом привязанными к общей аналитической модели. То есть инструментарий OLAP должен накладывать свою логическую схему на физические массивы данных, выполняя все преобразования, требующиеся для обеспечения единого, согласованного и целостного взгляда пользователя на информацию.
4. Устойчивая производительность (Consistent Reporting Performance) С увеличением числа измерений и размеров базы данных аналитики не должны столкнуться с каким бы то ни было уменьшением производительности. Устойчивая производительность необходима для поддержания простоты использования и свободы от усложнений, которые требуются для доведения OLAP до конечного пользователя.
5. Клиент - серверная архитектура (Client-Server Architecture) Большая часть данных, требующих оперативной аналитической обработки, хранится в мэйнфреймовых системах, а извлекается с персональных компьютеров. Поэтому одним из требований является способность продуктов OLAP работать в среде клиент-сервер. Главной идеей здесь является то, что серверный компонент инструмента OLAP должен быть достаточно интеллектуальным и обладать способностью строить общую концептуальную схему на основе обобщения и консолидации различных логических и физических схем корпоративных баз данных для обеспечения эффекта прозрачности.
6. Равноправие измерений (Generic Dimensionality) Все измерения данных должны быть равноправны. Дополнительные характеристики могут быть предоставлены отдельным измерениям, но поскольку все они симметричны, данная дополнительная функциональность может быть предоставлена любому измерению. Базовая структура данных, формулы и форматы отчетов не должны опираться на какое-то одно измерение.
7. Динамическая обработка разреженных матриц (Dynamic Sparse Matrix Handling) Инструмент OLAP должен обеспечивать оптимальную обработку разреженных матриц. Скорость доступа должна сохраняться вне зависимости от расположения ячеек данных и быть постоянной величиной для моделей, имеющих разное число измерений и различную разреженность данных.
8. Поддержка многопользовательского режима (Multi-User Support) Зачастую несколько аналитиков имеют необходимость работать одновременно с одной аналитической моделью или создавать различные модели на основе одних корпоративных данных. Инструмент OLAP должен предоставлять им конкурентный доступ, обеспечивать целостность и защиту данных.
9. Неограниченная поддержка кроссмерных операций (Unrestricted Cross-dimensional Operations) Вычисления и манипуляция данными по любому числу измерений не должны запрещать или ограничивать любые отношения между ячейками данных. Преобразования, требующие произвольного определения, должны задаваться на функционально полном формульном языке.
10. Интуитивное манипулирование данными (Intuitive Data Manipulation) Переориентация направлений консолидации, детализация данных в колонках и строках, агрегация и другие манипуляции, свойственные структуре иерархии направлений консолидации, должны выполняться в максимально удобном, естественном и комфортном пользовательском интерфейсе.
11. Гибкий механизм генерации отчетов (Flexible Reporting) Должны поддерживаться различные способы визуализации данных, то есть отчеты должны представляться в любой возможной ориентации.
12. Неограниченное количество измерений и уровней агрегации (Unlimited Dimensions and Aggregation Levels) Настоятельно рекомендуется допущение в каждом серьезном OLAP инструменте как минимум пятнадцати, а лучше двадцати, измерений в аналитической модели. Более того, каждое из этих измерений должно допускать практически неограниченное количество определенных пользователем уровней агрегации по любому направлению консолидации.

Набор этих требований, послуживших фактическим определением OLAP, достаточно часто критиковался. Так, в говорится, что в рамках 12 требований смешаны:

  • собственно требования к функциональности (1, 2, 3, 6, 9, 12);
  • неформализованные пожелания (4, 7, 10, 11);
  • требования к архитектуре информационной системы, имеющие к функциональности весьма приблизительное отношение (5, 8); например, согласно требованию 5, система, реализованная на основе UNIX-сервера с терминалами, не может быть продуктом OLAP, так как не работает в клиент-серверной архитектуре; так же, OLAP продукт не может являться настольной однопользовательской системой, так как в этом случае нарушается требование 8.

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

3.2. Классификация продуктов OLAP по способу представления данных

В настоящее время на рынке присутствует около 30 продуктов, которые в той или иной степени обеспечивают функциональность OLAP (по данным обзорного Web-сервера http://www.olapreport.com на февраль 1998 года). Обеспечивая многомерное концептуальное представление со стороны пользовательского интерфейса к исходной базе данных, все продукты OLAP делятся на три класса по типу исходной БД.

Помимо перечисленных средств существует еще один класс - инструменты генерации запросов и отчетов для настольных ПК, дополненные функциями OLAP и/или интегрированные с внешними средствами, выполняющими такие функции. Эти довольно развитые системы осуществляют выборку данных из исходных источников, преобразуют их и помещают в динамическую многомерную БД, функционирующую на клиентской станции конечного пользователя. Для работы с небольшими, просто организованными базами эти средства подходят наилучшим образом. Основными представителями этого класса являются BusinessObjects одноименной компании , BrioQuery компании Brio Technology [ , С. 34] и PowerPlay компании Cognos [ , С. 34-35].

3.2.1. Многомерный OLAP (MOLAP)

В специализированных СУБД, основанных на многомерном представлении данных, данные организованы не в форме реляционных таблиц, а в виде упорядоченных многомерных массивов:

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

Использование многомерных БД в системах оперативной аналитической обработки имеет следующие достоинства.

С другой стороны, имеются существенные ограничения.

Следовательно, использование многомерных СУБД оправдано только при следующих условиях.

  1. Объем исходных данных для анализа не слишком велик (не более нескольких гигабайт), то есть уровень агрегации данных достаточно высок.
  2. Набор информационных измерений стабилен (поскольку любое изменение в их структуре почти всегда требует полной перестройки гиперкуба).
  3. Время ответа системы на нерегламентированные запросы является наиболее критичным параметром.
  4. Требуется широкое использование сложных встроенных функций для выполнения кроссмерных вычислений над ячейками гиперкуба, в том числе возможность написания пользовательских функций.
3.2.2. Реляционный OLAP (ROLAP)

Непосредственное использование реляционных БД в качестве исходных данных в системах оперативной аналитической обработки имеет следующие достоинства.

  1. При оперативной аналитической обработке содержимого хранилищ данных инструменты ROLAP позволяют производить анализ непосредственно над хранилищем (потому что в подавляющем большинстве случаев корпоративные хранилища данных реализуются средствами реляционных СУБД).
  2. В случае переменной размерности задачи, когда изменения в структуру измерений приходится вносить достаточно часто, ROLAP системы с динамическим представлением размерности являются оптимальным решением, так как в них такие модификации не требуют физической реорганизации БД.
  3. Системы ROLAP могут функционировать на гораздо менее мощных клиентских станциях, чем системы MOLAP, поскольку основная вычислительная нагрузка в них ложится на сервер, где выполняются сложные аналитические SQL-запросы, формируемые системой.
  4. Реляционные СУБД обеспечивают значительно более высокий уровень защиты данных и разграничения прав доступа.
  5. Реляционные СУБД имеют реальный опыт работы с очень большими базами данных и развитые средства администрирования.

О недостатках ROLAP-систем уже говорилось при перечислении преимуществ использования многомерных баз данных. Это, во-первых, ограниченные возможности с точки зрения расчета значений функционального типа, а во-вторых - меньшая производительность. Для обеспечения сравнимой с MOLAP производительности реляционные системы требуют тщательной проработки схемы БД и специальной настройки индексов. Но в результате этих операций производительность хорошо настроенных реляционных систем при использовании схемы "звезда" вполне сравнима с производительностью систем на основе многомерных баз данных.

Описанию схемы звезды (star schema) и рекомендациям по ее применению полностью посвящены работы [ , , ]. Ее идея заключается в том, что имеются таблицы для каждого измерения, а все факты помещаются в одну таблицу, индексируемую множественным ключом, составленным из ключей отдельных измерений. Каждый луч схемы звезды задает, в терминологии Кодда, направление консолидации данных по соответствующему измерению (например, Магазин - Город/район - Регион).

В общем случае факты имеют разные множества измерений, и тогда их удобно хранить не в одной, а в нескольких таблицах; кроме того, в различных запросах пользователей может интересовать только часть возможных измерений. Но при таком подходе при большом числе независимых измерений необходимо поддерживать множество таблиц фактов, соответствующих каждому возможному сочетанию выбранных в запросе измерений, что приводит к неэкономному использованию внешней памяти, увеличению времени загрузки данных в БД схемы звезды из внешних источников и сложностям администрирования. Для решения этой проблемы авторы работы предлагают специальное расширение для языка SQL (оператор "GROUP BY CUBE" и ключевое слово "ALL") (ПРИМЕЧАНИЕ. В настоящее время это расширение еще не принято, поэтому данное предложение представляет пока чисто академический интерес.), а авторы [ , ] рекомендуют создавать таблицы фактов не для всех возможных сочетаний измерений, а только для наиболее полных (тех, значения ячеек которых не могут быть получены с помощью последующей агрегации ячеек других таблиц фактов базы данных).

В сложных задачах с многоуровневыми измерениями имеет смысл обратиться к расширениям схемы звезды - схеме созвездия (fact constellation schema) [ , С. 10-11] и схеме снежинки (snowflake schema) [ , С. 13-15]. В этих случаях отдельные таблицы фактов создаются для возможных сочетаний уровней обобщения различных измерений. Это позволяет добиться наилучшей производительности, но часто приводит к избыточности данных.

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

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

4. Интеллектуальный анализ данных

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

Интеллектуальный анализ данных определяется в большинстве публикаций афористически - "извлечение зерен знаний из гор данных" , "разработка данных - по аналогии с разработкой полезных ископаемых" . При этом в английском языке существует два термина, переводимые как ИАД, - Knowledge Discovery in Databases (KDD) и Data Mining (DM). В большинстве работ они используются как синонимы [см., например, , ], хотя некоторые авторы [ , ] рассматривают KDD как более широкое понятие - научное направление, образовавшееся "на пересечении искусственного интеллекта, статистики и теории баз данных" и обеспечивающее процесс извлечения информации из данных и ее использования , а DM - как совокупность индуктивных методов этого процесса, то есть то, что ниже будет определено как стадия свободного поиска ИАД.

Остановимся на следующем определении: ИАД - это процесс поддержки принятия решений, основанный на поиске в данных скрытых закономерностей (шаблонов информации) [ , ]. Следует отметить, что большинство методов ИАД было первоначально разработано в рамках теории искусственного интеллекта (ИИ) в 70-80-х годах, но получили распространение только в последние годы, когда проблема интеллектуализации обработки больших и быстро растущих объемов корпоративных данных потребовала их использования в качестве надстройки над хранилищами данных .

4.2.2. Прогностическое моделирование (Predictive Modeling)

Здесь, на второй стадии ИАД, используются плоды работы первой, то есть найденные в БД закономерности применяются для предсказания неизвестных значений:

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

Возвращаясь к рассмотренным примерам, продолжим их на данную стадию. Зная, что некто Иванов - программист, можно быть на 61% уверенным, что его возраст

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

4.2.3. Анализ исключений (Forensic Analysis)

Предметом данного анализа являются аномалии в раскрытых закономерностях, то есть необъясненные исключения. Чтобы найти их, следует сначала определить норму (стадия свободного поиска), вслед за чем выделить ее нарушения. Так, определив, что 84% общеобразовательных школ отнесены к муниципальной форме собственности, можно задаться вопросом - что же входит в 16%, составляющих исключение из этого правила? Возможно, им найдется логическое объяснение, которое также может быть оформлено в виде закономерности. Но может также статься, что мы имеем дело с ошибками в исходных данных, и тогда анализ исключений может использоваться в качестве инструмента очистки сведений в хранилище данных .

4.3. Классификация технологических методов ИАД

Все методы ИАД подразделяются на две большие группы по принципу работы с исходными обучающими данными.

  1. В первом случае исходные данные могут храниться в явном детализированном виде и непосредственно использоваться для прогностического моделирования и/или анализа исключений; это так называемые методы рассуждений на основе анализа прецедентов. Главной проблемой этой группы методов является затрудненность их использования на больших объемах данных, хотя именно при анализе больших хранилищ данных методы ИАД приносят наибольшую пользу.
  2. Во втором случае информация вначале извлекается из первичных данных и преобразуется в некоторые формальные конструкции (их вид зависит от конкретного метода). Согласно предыдущей классификации, этот этап выполняется на стадии свободного поиска, которая у методов первой группы в принципе отсутствует. Таким образом, для прогностического моделирования и анализа исключений используются результаты этой стадии, которые гораздо более компактны, чем сами массивы исходных данных. При этом полученные конструкции могут быть либо "прозрачными" (интерпретируемыми), либо "черными ящиками" (нетрактуемыми).

Две эти группы и входящие в них методы представлены на рис. 4.


Рис. 4. Классификация технологических методов ИАД.

4.3.1. Непосредственное использование обучающих данных

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

Индивидуальной особенностью алгоритма k-ближайшего соседа является метод определения в нем апостериорной вероятности принадлежности примера классу:

где возвращает 1, когда аргументы равны, или 0 в противном случае, - функция близости, определяемая как

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

причем чаще всего принимается r=2 (эвклидово пространство), а функция в зависимости от типа атрибута определяется следующими способами:

w(f) является функцией веса атрибута f. В чистом алгоритме k-ближайшего соседа:

то есть эта функция считается константой.

Метод ближайшего соседа является частным случаем метода k-ближайшего соседа при k=1. Более сложные алгоритмы типа Lazy-Learning основываются на том же обобщенном алгоритме [ , , ], но или иначе определяют апостериорные вероятности принадлежности примеров классам, или (как, например, Nested Generalized Exemplars Algoritm ) усложняют расчет функции w(f).

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

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

4.3.2. Выявление и использование формализованных закономерностей

Методы этой группы извлекают общие зависимости из множества данных и позволяют затем применять их на практике. Они отличаются друг от друга:

  • по типам извлекаемой информации (которые определяются решаемой задачей - см. классификацию задач ИАД выше);
  • по способу представления найденных закономерностей.

Формализм, выбранный для выражения закономерностей, позволяет выделить три различных подхода, каждый из которых уходит своими корнями в соответствующие разделы математики:

  • методы кросс-табуляции;
  • методы логической индукции;
  • методы вывода уравнений.

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

Методы кросс-табуляции

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

Кросс-табличная визуализация является наиболее простым воплощением идеи поиска информации в данных методом кросс-табуляции. Строго говоря, этот метод не совсем подходит под отмеченное свойство ИАД - переход инициативы к системе в стадии свободного поиска. На самом деле кросс-табличная визуализация является частью функциональности OLAP. Здесь система только предоставляет матрицу показателей, в которой аналитик может увидеть закономерность. Но само предоставление такой кросс-таблицы имеет целью поиск "шаблонов информации" в данных для поддержки принятия решений, то есть удовлетворяет приведенному определению ИАД. Поэтому неслучайно, что множество авторов [ , , ] все же относит кросс-табличную визуализацию к методам ИАД.

К методам ИАД группы кросс-табуляции относится также использование байесовских сетей (Bayesian Networks) , в основе которых лежит теорема Байеса теории вероятностей для определения апостериорных вероятностей составляющих полную группу попарно несовместных событий по их априорным вероятностям:

Байесовские сети активно использовались для формализации знаний экспертов в экспертных системах , но с недавних пор стали применяться в ИАД для извлечения знаний из данных.

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

Стратегия, применяемая в алгоритмах индукции деревьев решений, называется стратегией разделения и захвата (divide-and-conquer), в противовес стратегии отделения и захвата (separate-and-conquer), на которой построено большое количество алгоритмов индукции правил. Quinlan описал следующий алгоритм разделения и захвата.

Множество атрибутов ;
- множество возможных значений атрибута (таким образом, области определения непрерывных атрибутов для построения деревьев решений также должны быть разбиты на конечное множество интервалов).

Quinlan предложил вычислять E-оценку следующим образом. Пусть для текущего узла:

Число положительных примеров;
- число отрицательных примеров;
- число положительных примеров со значением для ;
- число отрицательных примеров со значением для .

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

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

Индукция правил

Популярность деревьев решений проистекает из быстроты их построения и легкости использования при классификации. Более того, деревья решений могут быть легко преобразованы в наборы символьных правил - генерацией одного правила из каждого пути от корня к терминальной вершине. Однако, правила в таком наборе будут неперекрывающимися, потому что в дереве решений каждый пример может быть отнесен к одному и только к одному терминальному узлу. Более общим (и более реальным) является случай существования теории, состоящей из набора неиерархических перекрывающихся символьных правил. Значительная часть алгоритмов, выполняющих индукцию таких наборов правил, объединяются стратегией отделения и захвата (separate-and-conquer), или покрывания (covering) , начало которой положили работы R. Michalski [ , ]. Термин "отделение и захват" сформулировали Pagallo и Haussler , охарактеризовав эту стратегию индукции следующим образом:

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

Рис. 5 показывает общий алгоритм индукции правил методом отделения и захвата . Разные варианты реализации вызываемых в общем алгоритме подпрограмм определяют разнообразие известных методов отделения и захвата.


Рис. 5. Общий алгоритм отделения и захвата для индукции правил.

Алгоритм SEPARATEANDCONQUER начинается с пустой теории. Если в обучающем множестве есть положительные примеры, вызывается подпрограмма FINDBESTRULE для извлечения правила, покрывающего часть положительных примеров. Все покрытые примеры отделяются затем от обучающего множества, произведенное правило включается в теорию, и следующее правило ищется на оставшихся примерах. Правила извлекаются до тех пор, пока не останется положительных примеров или пока не сработает критерий остановки RULESTOPPINGCRITERION. Зачастую полученная теория подвергается постобработке POSTPROCESS.

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

Новые правила всегда вставляются в нужные места (INSERTSORT), так что Rules постоянно остается списком, упорядоченным по убыванию эвристических оценок правил. В каждом цикле SELECTCANDIDATES отбирает подмножество правил-соискателей, которое затем очищается в REFINERULE. Каждый результат очистки оценивается и вставляется в отсортированный список Rules, если только STOPPINGCRITERION не предотвращает это. Если оценка NewRule лучше, чем у лучшего из ранее найденных правил, значение NewRule присваивается переменной BestRule. FILTERRULES отбирает подмножество упорядоченного списка правил, предназначенное для использования в дальнейших итерациях. Когда все правила-соискатели обработаны, наилучшее правило возвращается.

Основной проблемой, стоящей перед алгоритмами индукции правил, остается избежание переподгонки при использовании зашумленных данных. Средства избежания переподгонки в алгоритмах отделения и захвата могут обрабатывать шум:

Сравнение возможностей деревьев решений и индукции правил

Индукция правил и деревья решений, будучи способами решения одной задачи, значительно отличаются по своим возможностям. Несмотря на широкую распространенность деревьев решений, индукция правил по ряду причин, отмеченных в [ , , ], представляется более предпочтительным подходом.

С другой стороны, индукция правил осуществляется значительно более сложными (и медленными) алгоритмами, чем индукция деревьев решений. Особенно большие трудности возникают с поступрощением построенной теории, в отличие от простоты подрезания деревьев решений, на что обратил внимание Furnkranz : отсечение ветвей в дереве решений никогда не затронет соседние ветви, тогда как отсечение условий правила оказывает влияние на все перекрывающиеся с ним правила (рис. 6).


Рис. 6. Поступрощение в обучающих алгоритмах
(a) разделения и захвата и (b) отделения и захвата.

Рис. 6(a) иллюстрирует работу поступрощения в индукции деревьев решений. Правая половина переусложненного дерева покрывается множествами C и D обучающих примеров. Когда упрощающий алгоритм решает отсечь эти две терминальные вершины, порождающий их узел становится терминальным, который теперь покрывается примерами . Левая ветвь дерева решений не затронута данной операцией.

С другой стороны, отсечение условий от правила означает его обобщение, то есть в новом виде оно будет покрывать больше положительных и больше отрицательных примеров. Следовательно, эти дополнительные положительные и отрицательные примеры должны быть исключены из обучающего множества, дабы не воздействовать на индукцию последующих правил. В случае на рис. 6(b) первое из трех правил упрощается и начинает покрывать не только примеры, покрываемые оригинальной версией, но и все примеры, которые покрывает третье правило, а также часть примеров, которые покрывает второе правило. Если третье правило после этого может быть просто удалено алгоритмом поступрощения, то ситуация с оставшимся множеством примеров B2 не такая простая. Второе правило, естественно, покрывает все примеры множества B2, потому что оно было произведено для покрытия примеров включающего его множества B. Однако вполне может статься, что другое правило окажется более подходящим для отделения положительных примеров B2 от оставшихся отрицательных примеров. Корректная обработка таких ситуаций требует тесной интеграции процессов предупрощения и поступрощения, значительно усложняющей алгоритм индукции правил и ухудшающей его производительность .

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

Методы вывода уравнений

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

Статистика

Классические методы статистического анализа применяются в средствах ИАД чаще всего для решения задачи прогнозирования.

  1. Выявление тенденций динамических рядов. Тенденцию среднего уровня можно представить в виде графика или аналитической функции, вокруг значения которой варьируют фактические значения уровней исследуемого процесса. Часто тенденции среднего уровня называют детерминированной компонентой процесса, и соответствующий динамический pяд выражается уравнением , где - уровень pяда в момент времени t, - детеpминиpованная компонента pяда, - случайная компонента. Детерминированная компонента обычно представляется достаточно простой аналитической функцией - линейной, параболической, гиперболической, экспоненциальной, - параметры которой подбираются согласно историческим данным для лучшей аппроксимации исторических данных.
  2. Гармонический анализ. Во многих случаях сглаживание рядов динамики с помощью определения тренда не дает удовлетворительных результатов, так как в остатках наблюдается автокоppеляция. Причиной автокоppелиpованности остатков могут быть нередко встречающиеся в pядах динамики заметные периодические колебания относительно выделенной тенденции. В таких случаях следует прибегать к гармоническому анализу, то есть к выделению из динамического ряда периодической составляющей. По результатам выделения из динамического ряда тренда и периодической составляющей может выполняться статистический прогноз процесса по принципу экстраполяции, по предположению, что параметры тренда и колебаний сохранятся для прогнозируемого периода [ , С. 304].
  3. Корреляционно-регрессионный анализ. В отличие от функциональной (жестко детерминированной) связи, статистическая (стохастически детерминированная) связь между переменными имеет место тогда, когда с изменением значения одной из них вторая может в определенных пределах принимать любые значения с некоторыми вероятностями, но ее среднее значение или иные статистические характеристики изменяются по определенному закону [ , С. 191-192]. Частным случаем статистической связи, когда различным значениям одной переменной соответствуют различные средние значения другой, является корреляционная связь. В соответствии с сущностью корреляционной связи ее изучение имеет две цели:
    1) измерение параметров уравнения, выражающего связь средних значений зависимых переменных со значениями независимой переменной (зависимость средних значений результативного признака от значений факторных признаков);
    2) измерение тесноты связи признаков между собой [ , С. 195-196].
    Метод корреляционно-регрессионного анализа хорошо изучен [ , 19, 29] и широко применяется на практике. Однако, он имеет ряд ограничений:
    1) для обеспечения достаточной точности и надежности число наблюдений должно быть в десятки или сотни раз больше числа факторов, чтобы закон больших чисел, действуя в полную силу, обеспечил эффективное взаимопогашение случайных отклонений от закономерного характера связи признаков;
    2) для надежного выражения закономерности по средней величине требуется достаточно качественная однородность совокупности, чтобы параметры корреляции не были извращены; кроме того, иногда в качестве условия корреляционного анализа выдвигают необходимость подчинения распределения совокупности по результативному и факторным признакам нормальному закону распределения вероятностей (это условие связано с применением метода наименьших квадратов при расчете параметров корреляции - только при нормальном распределении он дает оценку параметров, отвечающую принципам максимального правдоподобия), хотя на практике даже при приближенном выполнении этой предпосылки метод наименьших квадратов дает неплохие результаты [ , С. 14];
    3) метод корреляционно-регрессионного анализа не может объяснить роли факторных признаков в создании результативного признака [ , С. 198];
    4) интерпретировать корреляционные показатели следует лишь в терминах вариаций результативного и факторного признаков; если же задача состоит в измерении связи между изменениями признаков объекта во времени, то метод корреляционно-регрессионного анализа требует значительных изменений (требуется исследование корреляции рядов динамики) [ ; , С. 307-313].
    Получаемые в результате применения анализа корреляционно-регрессионные модели (КРМ) обычно достаточно хорошо интерпретируемы и могут использоваться в прогностическом моделировании. Но, как отмечается в , невозможно применять этот вид анализа, не имея глубоких знаний в области статистики. Теоретическая подготовка аналитика играет здесь особенно важную роль, поэтому немногие существующие средства ИАД предлагают метод корреляционно-регрессионного анализа в качестве одного из инструментов обработки данных.
  4. Корреляция рядов динамики. Проблема изучения причинных связей во времени очень сложна, и полное решение всех задач такого изучения до сих пор не разработано [ , С. 307]. Основная сложность состоит в том, что при наличии тренда за достаточно длительный промежуток времени большая часть суммы квадратов отклонений связана с трендом; при этом, если два признака имеют тренды с одинаковым направлением изменения уровней, то это вовсе не будет означать причинной зависимости. Следовательно, чтобы получить реальные показатели корреляции, необходимо абстрагироваться от искажающего влияния трендов - вычислить отклонения от трендов и измерить корреляцию колебаний (подробному рассмотрению этого подхода посвящена полностью работа ). Однако, не всегда допустимо переносить выводы о тесноте связи между колебаниями на связь рядов динамики в целом (согласно приведенному в [ , С. 312] примеру, правомерно рассматривать связь между колебаниями урожайности и колебаниями суммы выпавших за лето осадков, но связь между урожайностью и дозой удобрений нельзя свести только к корреляции колебаний).

Нейронные сети

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

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

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


Рис. 7. Нейрон с активационной функцией F; .

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

Чаще всего средства ИАД используют специальный тип нейронных сетей, обучаемых "с учителем", - многослойные персептроны [ , С. 54-55]. На рис. 8 изображена такая нейронная сеть с двумя слоями нейронов, имеющая три входных и три выходных переменных (в общем случае количество входов, количество выходов, число слоев и число нейронов в каждом внутреннем слое могут быть какими угодно). Выход каждого нейрона предыдущего слоя соединен со входом каждого нейрона последующего слоя.


Рис. 8. Многослойный персептрон, обучаемый процедурой обратного распространения ошибки.

Настройка весов многослойного персептрона осуществляется алгоритмом обратного распространения ошибки [ , С. 56-69]. При обучении предполагается, что для каждого входного вектора (множества входов) существует парный ему целевой вектор (множество выходов), и вместе они образуют обучающую пару (пример). Перед началом обучения всем весам должны быть присвоены небольшие начальные значения, выбранные случайным образом, для преодтвращения патологических случаев невозможности обучения. Все множество обучающих пар составляет обучающее множество. Обучение сети требует выполнения следующих операций:

  1. выбрать обучающую пару из обучающего множества;
  2. подать входной вектор обучающей пары на вход сети;
  3. вычислить выход сети;
  4. вычислить разность между выходом сети и целевым вектором обучающей пары;
  5. скорректировать веса сети, чтобы минимизировать ошибку;
  6. повторять шаги 1-5 для каждой пары обучающего множества до тех пор, пока ошибка на всем множестве не достигнет допустимого уровня.

Обучение методом обратного распространения ошибки ведется послойно, начиная от выходного слоя, шагами 4 и 5.

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

Имеется и ряд других недостатков, ограничивающих использование нейронных сетей в качестве инструмента ИАД.

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

Таким образом, нейронные сети - довольно мощный и гибкий инструмент ИАД - должны применяться с известной осторожностью и подходят не для всех проблем, требующих интеллектуального анализа корпоративных данных.

4.3.3. Выводы

Как видно из сделанного обзора, ни один из рассмотренных методов не способен покрыть все задачи, обеспечивающие поддержку принятия управленческих решений на основе интеллектуального анализа содержимого хранилищ данных. Но большинство существующих на рынке систем интеллектуального анализа реализуют один-три метода (например, Pilot Discovery Server фирмы Pilot Software Inc. и Information Harvester фирмы Information Harvester Corp. - только деревья решений, Idis фирмы Information Discovery Inc. - деревья решений и индукцию правил, Darwin фирмы Thinking Machines - нейронные сети, деревья решений и визуализацию данных , MineSet фирмы Silicon Graphics - деревья решений, индукцию ассоциативных правил и визуализацию данных ), поэтому в реальных приложениях для того, чтобы не потерять большое количество значимых закономерностей, приходится, как правило, пользоваться несколькими разнородными инструментами. Кроме того, многие инструменты не позволяют напрямую работать с хранилищами данных, требуя предварительной подготовки исходных данных для анализа в виде плоских файлов фиксированной структуры, что также затрудняет их практическое использование.

5. Взаимодополняемость OLAP и ИАД

Оперативная аналитическая обработка и интеллектуалный анализ данных - две составные части процесса поддержки принятия решений. Но сегодня большинство систем OLAP заостряет внимание только на обеспечении доступа к многомерным данным, а большинство средств ИАД, работающих в сфере закономерностей, имеют дело с одномерными перспективами данных. Эти два вида анализа должны быть тесно объединены, то есть системы OLAP должны фокусироваться не только на доступе, но и на поиске закономерностей.


Рис. 9. Архитектура системы многомерного интеллектуального анализа данных.

Идеальной целью построения корпоративной информационно-аналитической системы является создание СППР замкнутого цикла. Как заметил N. Raden, "многие компании создали... прекрасные хранилища данных, идеально разложив по полочкам горы неиспользуемой информации, которая сама по себе не обеспечивает ни быстрой, ни достаточно грамотной реакции на рыночные события" [ , С. 39]. В особенно динамичных сферах (например, в розничной торговле), где ситуация меняется ежедневно, своевременное принятие грамотных решений не обеспечивается даже при использовании обычных средств OLAP и ИАД. Они должны быть объединены друг с другом и иметь обратную связь к исходным системам обработки данных, с тем чтобы результаты работы СППР немедленно передавались в виде управляющих воздействий в оперативные системы. Так, крупнейшая американская компания в сфере розничной торговли Wal-Mart занимается разработкой СППР замкнутого цикла }