Собрал в единое "интервью" наиболее часто задаваемые и важные вопросы от наших потенциальных заказчиков о том, зачем нужны онтологии в корпоративных ИТ.
Ниже - подробности об отношениях онтологий с "большими данными", машинным обучением и нейросетями, примеры успешных проектов и уникальные возможности онтологических систем.
Q: Онтологии - это ведь про открытые и связанные данные, web 3.0? Какое отношение это имеет к корпоративной автоматизации?
A: Принципы онтологий состоят в следующем:
- Дать способ формального, машинно-читаемого описания концептуальных моделей, то есть тех наборов понятий, которые мы используем, думая об окружающем мире;
- Записывать любые факты в терминах таких моделей;
- Задать правила получения логических выводов, при помощи которых машина будет получать новые факты на основе уже известных.
То есть онтологии моделируют наше логическое мышление. "Открытые данные" и web 3.0 были только первой идеей о том, как использовать на практике часть их возможностей. Потенциал онтологий гораздо шире, и сегодня они широко используются в научных исследованиях, в системах поддержки принятия решений, системах управления знаниями.
Q: Но ведь с 1970-х годов существовали экспертные системы, которые делали то же самое.
A: Экспертные системы действительно строились по похожему принципу, но во времена их популярности не было тех возможностей интеграции и автоматизированного сбора данных, которые есть сейчас. Поэтому стек современных программных продуктов, работающих с онтологиями - графовые базы данных, редакторы моделей, машины логического вывода, прикладное ПО на их основе - способен решать гораздо более широкие и важные задачи.
Q: И какие же это задачи? Например, для поддержки принятия решений существуют системы BI, витрины данных…
A: Традиционные инструменты обрабатывают количественные данные. Как правило, это большие массивы цифр, имеющие относительно простую структуру - десятки или сотни типов сущностей и их свойств. Онтологии позволяют преодолеть три важнейших ограничения:
- Работать с информацией очень сложной структуры - с тысячами, десятками тысяч типов сущностей и свойств;
- Позволить структуре информации меняться по ходу работы системы, работать со структурой данных так же, как с самими данными;
- Автоматизировать обработку качественных суждений - далеко не вся информация о мире может быть эффективно представлена в виде чисел.
Все это дает аналитику возможность избежать излишних упрощений модели, а значит - получать более достоверные результаты анализа.
Q: Но ведь есть еще машинное обучение и нейросети - эти инструменты тоже автоматизируют получение выводов. Они могут «научиться» делать правильные выводы, наблюдая за тем, какие решения принимает человек на основе тех или иных входных данных.
A: Ни машинное обучение, ни нейросети не воспроизводят сути явлений и ту логику, на основе которой человек принимает решения. Вместо этого они используют специальные математические алгоритмы, параметры которых в ходе «обучения» корректируются так, чтобы в значительном количестве случаев получать то же самое решение, которое принимает человек. Они хорошо работают в случаях, когда данных очень много и они легко представляются в численном виде, а их структура достаточно проста и постоянна. Изменение структуры входных данных требует переобучения алгоритма. Кроме того, они не гарантируют принятие правильного решения во всех случаях. Также невозможно проверить основания, по которым то или иное решение было принято.
В отличие от машинного обучения и нейросетей, онтологии позволяют человеку проверить цепочку «рассуждений», которая привела к тому или иному выводу. Это очень важно в случаях, когда принятие решения означает серьезную ответственность - например, в ПО ситуационных центров. В этом случае нельзя полагаться на эвристические алгоритмы с не гарантированным результатом, а вот на логические правила, сформулированные на основе нормативных документов - вполне.
Кроме того, как мы уже говорили, онтологии позволяют усложнять структуру данных по ходу работы системы, не теряя уже накопленных знаний.
Q: Но ведь такая система не сможет «научиться» сама - правила логического вывода должен формулировать человек, эксперт? А если он сам не знает всех правил и во многих ситуациях действует интуитивно, а не логически?
A: Принципы машинного обучения можно применить и для создания правил логического вывода, такая технология является нашим ноу-хау. Машина автоматически формирует гипотезы о том, на основании каких предпосылок пользователь принимал те или иные решения (даже если он их не осознавал), обобщает или конкретизирует их. Пользователь может проверить эти гипотезы и подтвердить их либо опровергнуть. Это позволяет сэкономить усилия по придумыванию правил, но сохранить возможность верифицировать основания для принятия решений.
Q: Вы упоминали еще системы управления знаниями. Существуют проверенные решения по управлению корпоративным контентом (ECM), разве их не достаточно?
A: Классические ECM-системы позволяют систематизировать документы, с которыми работает организация, искать их по смысловым признакам или ключевым словам в тексте. Системы управления знаниями на основе онтологий позволяют достичь намного большего: работать с информацией не на уровне документов, а на уровне взаимосвязанных объектов бизнес-процессов. Представьте обычный корпоративный портал, на котором хранится каталог документов, связанных с проектами. Вы сможете найти договор или документацию по какому-нибудь проекту, но что если вам нужно искать по другим критериям - найти аналог нового проекта или информацию о том, в каких проектах применялось оборудование, соответствующее определенным критериям? Для этого нужно, чтобы в СУЗ хранилась модель предметной области и представленные в соответствии с ней сведения о проектах и их особенностях, оборудовании и его характеристиках. То есть необходимо перейти от документарной модели хранения к хранению структурированных знаний. Это позволяет строить инструменты поиска не на основе «тегов» или ключевых слов, а на уровне логических взаимосвязей между элементами знаний.
Q: Есть ли примеры успешного применения онтологий в реальных проектах в России, которые действительно работают?
A: Есть. Назовем два важнейших проекта, выполненных с нашим участием и с использованием описанных принципов. Первый - это система сбора корпоративной отчетности в одной из крупнейших энергетических компаний. В онтологии содержится описание активов и бизнес-процессов, по которым собирается отчетность, а также алгоритмы вычисления ключевых показателей и правила заполнения отчетных форм. Это позволяет легко менять структуру как формируемых отчетов, так и исходных данных по ходу эксплуатации системы. Модель содержит тысячи типов сущностей и атрибутов, а фактические данные находятся в хранилище, построенном на технологиях «больших данных» (Big Data) и являются «четырехмерными», то есть каждый информационный объект и значение атрибута имеют период актуальности. Это позволяет знать состояние активов и процессов группы компаний на любой момент времени. Другой проект - подсистема поддержки принятия решений в составе АПК «Безопасный город» города федерального значения. В рамках этой системы на основе правил логического вывода агрегируется информация о множестве событий, происходящих в городе, строятся и выполняются планы реагирования, осуществляется мониторинг безопасности в различных аспектах.
Q: Если все так здорово, то почему онтологии до сих пор не применяются повсюду? Легко видеть, что машинное обучение, нейросети и big data куда популярнее.
A: Во-первых, не нужно противопоставлять эти технологии - мы уже говорили, что их синтез позволяет достичь отличных результатов. Во-вторых, без этих технологий нельзя обойтись только при решении достаточно сложных задач автоматизации, которых в процентном отношении не так много. И у заказчика, и у исполнителя часто есть соблазн упростить задачу, чтобы применить «проверенные» решения, пусть даже в ущерб эффективности. Однако в самых важных задачах такой подход не работает, и онтологии являются отличным средством для того, чтобы решить задачи, казавшиеся невыполнимыми, и получить преимущества перед более неповоротливыми конкурентами.