Семейство программного обеспечения добычи данных компании Megaputer Intelligence

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

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

Классификация задач добычи данных

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

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

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

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

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

Прогноз и анализ

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

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

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

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

Продукты Megaputer

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

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

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

Технически PolyAnalyst представляет собой набор COM-объектов, которые могут встраиваться в другие приложения. Такие объекты используются для построения специализированных систем рутинной обработки данных, которые могут разрабатывать и сторонние фирмы. Сам же PolyAnalyst предоставляет простой и удобный интерфейс к модулям, который позволяет использовать возможности всех предусмотренных алгоритмов анализа. Кроме того, в системе есть язык сценариев, на котором можно описать схему исследования, а впоследствии многократно ее применять уже к конкретным наборам данных. Пока работает только на платформе Windows, но ведется разработка Unix-версии. Впрочем, сами данные могут храниться в любой SQL-совместимой СУБД на любой платформе, так как попадают в систему через стандартный интерфейс ODBC.

Одной из особенностей PolyAnalyst 4.2 является поддержка нового стандарта Microsoft OLE DB for Data Mining, который представляет собой расширение языка запросов SQL для создания и применения моделей добычи данных. PolyAnalyst понимает расширенные запросы, преобразовывает их в стандартные SQL-запросы и может посылать в любые базы данных, поддерживающие SQL. Реализация данного стандарта в PolyAnalyst позволила компании Megaputer стать первым и пока единственным платиновым членом альянса Microsoft Data Warehousing Alliance, о чем было объявлено 14 августа.

Приоритетное направление дальнейшего развития PolyAnalyst — работа с источниками данных большой емкости, такими как базы данных, которые включают миллионы или даже миллиарды записей с общим размером в несколько гигабайтов. В PolyAnalyst есть быстрые реализации методов добычи данных, которые загружают в память машины небольшие массивы данных и быстро обрабатывают их. Для выборки таких массивов из большой базы используется специальная методика подготовки SQL-запросов. Таким образом, даже оставаясь на платформе Windows NT, можно работать с большими базами данных. Именно для реализации такого подхода к добыче данных и реализована поддержка OLE DB for Data Mining; на это направлено участие в Microsoft Data Warehousing Alliance. Кроме того, есть многосерверный вариант системы, в котором вычислительная нагрузка распределяется между всеми серверами. Также PolyAnalyst позволяет работать напрямую, а не через SQL и ODBС, с IBM Visual Warehousing, Oracle Express и Microsoft Excel. Отчеты генерируются в формате HTML и могут просматриваться любым браузером.

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

Помимо PolyAnalyst компания Megaputer разработала систему TextAnalyst, которая решает четыре задачи Text Mining: создание семантической сети для большого текста, подготовка резюме текста, поиск по тексту и автоматическая классификация и кластеризация текстов. Выделение семантической сети — это поиск ключевых понятий текста и установление взаимоотношений между ними. По такой сети можно не только понять, о чем говорится в тексте, но и осуществить контекстную навигацию. Подготовка резюме — это выделение в тексте предложений, в которых чаще других встречаются значимые для этого текста слова. В 80% случаев этого вполне достаточно для получения представления о тексте. Для поиска информации используются запросы на естественном языке. По запросу строится небольшая семантическая сеть, которая при взаимодействии с сетью документа позволяет выделить нужные фрагменты текста. Кластеризация и классификация проводятся стандартными методами добычи данных.

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


О PolyAnalyst

Разработчик: компания Megaputer Intelligence; образована в 1993 году, специализируется на разработке программных продуктов добычи данных

Назначение: решение задач классификации, прогнозирования, кластеризации, поиска исключений, анализа потребительской корзины

Платформа: Windows 98/NT/2000. Реализована в виде набора одиннадцати COM-объектов для каждого аналитического модуля и приложения для визуализации результатов