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

Когда мы говорим об аналитической обработке данных (бизнес-аналитика, BI), то обычно подразумеваем возможность использования структурированной, чаще всего числовой информации. Действительно, эта проблема очень актуальна - в результате внедрения систем автоматизации деятельности предприятий (ERP, CRM и т. п.) накапливаются огромные объемы данных, на основе которых можно получать ценные сведения, необходимые для оптимизации работы и планирования развития организаций. Но как бы ни были велики подобные хранилища, все равно основные запасы информации по-прежнему приходятся на неструктурированные данные (текст, графику, звук и видео). Соотношение между информацией, которую можно "читать", и той, что можно "считать", составляет порядка "80:20".

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

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

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

Основная идея - структуризация документов

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

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

Второй пример. Нужно определить имя человека, о котором известно только то, что он в разные периоды времени работал в компаниях N1, N2, N3. По прямому запросу (отдельно на каждую компанию!) на вас свалятся тысячи (как минимум!) документов, которые вам далее придется кропотливо анализировать, выписывая встречающиеся имена сотрудников и сопоставляя три разных списка. Трудно даже представить, сколько времени на это уйдет.

Третий пример. Есть такая проблема - угон автомобилей. Их надо разыскивать, чем и занимается милиция. Основой этой работы являются рапорты о происшествиях примерно такого вида:
УГОН Юго-Восточное ОУВД
ОВД "Лефортово"
09.10.98 в 17.00 с заявлением обратился Тонких Николай Васильевич, 16.03.80 г/р, не работающий, прож. ул. ш.Энтузиастов, 20"А"-16, о том, что 09.10.98 в 16:45 от д. 20 по ул. ш. Энтузиастов неизвестный совершил угон принадлежащего ему мини-мопеда "Хонда", № рамы 1-1548A-AF18.

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

Одно из инновационных решений для подобных задач разработано швейцарской компанией Ontos (www.ontosearch.com) при активном участии российской фирмы Avicomp Services (www.avicomp.ru) - это продукт OntosMiner.

Общие подходы

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

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

Как известно, при решении нечетких математических задач встречаются ошибки первого и второго рода (пропуск реальной цели и обнаружение ложной цели). Подобные ситуации возникают и при обработке текстов, простейший случай - выборка документов, не относящихся к теме запроса, или пропуск нужных документов. При решении этой проблемы в NLP-технологии используется известный медицинский принцип "не навреди". В данном случае ошибки второго рода исключаются за счет того, что фрагменты текстов, не поддающиеся смысловой обработке, просто игнорируются. Конечно, такой подход резко повышает вероятность появления ошибки первого рода. Но тут следует учесть, что автоматическая обработка подразумевает анализ не одного, а сотен и тысяч документов! Теория вероятности убедительно показывает, что если в одном документе вероятность пропуска цели составляет 50%, то при комплексной обработке уже 10 документов она снижается до 0,1%.

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

Технологии на службе

Один из подобных проектов реализован в МВД Киргизии при участии Avicomp Services. Для анализа рапортов используется модель предметной области "Угон автомобиля", отражающая основные группы объектов, набор их атрибутов и возможные взаимосвязи между ними. В результате обработки формируется структурированный XML-образ документа, который может отображаться в виде сетевой диаграммы Cognitive Map (когнитивная карта). Имея такие формализованные модели, можно достаточно просто выполнять самые различные запросы, для формирования которых используются специальные графические инструменты.

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

Как мы видим, реализация конкретных проектов базируется на применении конкретных словарей-онтологий, которые являются специфическими для каждой предметной области (точнее, для каждого класса решаемых аналитических задач) и сильно зависят от особенностей конкретного естественного языка. Поэтому одним из главных направлений развития технологий OntosMiner является создание готовых "вертикальных" решений для наиболее широких сегментов рынка. При реализации проекта в МВД Киргизии словарь был специально создан специалистами Avicomp Services, хотя в принципе заказчик может сформировать или настроить словари и собственными силами: в составе продуктов Ontos имеется также набор инструментов для создания и редактирования онтологий, в том числе с использованием простейших методов самообучения.

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

История создания продуктов Ontos

Создание продуктов Ontos имеет непосредственное отношение к России. В конце 1990-х группа швейцарских бизнесменов решила инвестировать средства в перспективную программную разработку. В результате анализа рынка было выбрано направление KM (управление знаниями), а именно проект по сложной аналитической обработке текстов. Для его реализации и была создана компания Ontos. Изучая имевшиеся предложения, зарубежные инвесторы установили контакты с российской компанией Avicomp Services, уже имевшей опыт создания аналитических систем и десятилетний стаж разработчика ПО и системного интегратора. Avicomp Services, с одной стороны, приобрела права на использование технологии Ontos в своих решениях, получив тем самым возможность "интеллектуализировать" собственные продукты и решения, а с другой - передала часть своих разработок для включения в ядро Ontos. Именно Avicomp Services еще в 2001 году первой выполнила внедрение технологий Ontos в известном Летном испытательном институте им. М.М. Громова в подмосковном Жуковском.

На следующем этапе сотрудничества российская компания предложила швейцарскому партнеру развивать функциональность продуктов в сторону аналитической обработки текстовой информации с использованием технологии NLP, к чему была привлечена группа ученых-лингвистов из вычислительного центра Российской Академии наук и компании DFKI (www.dfki.de). В результате в начале 2003 года на рынок были выпущены первые продукты Ontos Series, а летом был реализован первый проект на их основе в МВД Киргизии.