Онтологии в разработках интеллектуальных систем
Для достижения качества и эффективности принимаемых решений в интеллектуальных системах управления предприятиями нужны знания, которые всегда закладываются в такого рода системы.
Можно ли создать мультиагентную систему, в которой процессы принятия решений могут настраиваться на особенности бизнеса каждого конкретного предприятия самими пользователями, чтобы учитывать специфические и индивидуальные особенности заказов и ресурсов?
Предлагаемый нами подход связан с созданием баз знаний на основе онтологий, представленных семантическими сетями понятий и отношений предметной области.
Для решения этой сложной и трудоемкой задачи в сфере управления знаниями (Knowledge Management) требуется разработка целого нового спектра специальных моделей, методов и алгоритмов сбора, накопления, формализации, систематизации, анализа, интеграции и использования знаний, в частности, онтологий предметных областей.
Что такое онтологии?
Онтологии в последние годы становятся все более популярными и получают активное развитие в рамках нового направления семантического Интернета (Semantic Web).
В чем суть этой новой технологии и в чем причина такого стремительного развития?
В настоящее время страницы Интернета или обычные документы, видео и фото и любые другие материалы совершенно «не знают», что именно в них содержится, в лучшем случае мы знаем только некоторые параметры (автор документа и время создания) и иногда теги или ключевые слова.
Это делает смысловой поиск материалов очень ограниченным и, тем более не дает возможность программам рассуждать о содержимом или поддерживать осмысленный диалог с пользователем. В самом деле, если вы ищете статью по ключевому слову «Иванов» — это фамилия автора статьи или персонажа, а может фотографа?
Онтологии же представляют собой концептуальные модели знаний предметной области, которые строятся из наиболее общих понятий и отношений (концептов), позволяющих в дальнейшем специфицировать, т.е. построить формализованное описание любых объектов или процессов.
Иными словами, онтологии задают «толковый словарь» предметной области, в терминах которого (на языке слов которого) может быть описано любое явление, объект или ситуация и т.п.
Поясним на примере: представим себе онтологию ресторанов, в которой для будущих описаний конкретных ресторанов нам наверняка потребуются классы таких объектов как «тип кухни», «тип заказа», «классы блюд», «классы напитков», «вид помещения», «униформа официантов», «типы столов», «набор музыки», «цена» и т.д.
Кроме того, для спецификации работы ресторанов будут полезны детальные описания таких процессов, как, например, «прием заказа», «приготовление блюда», «обслуживание клиента», «процесс расчета по карте» и другие. Каждый такой процесс может быть представлен типовыми последовательностями действий, которые также могут быть специфированы, что даст возможность хранить в компьютере типовые сценарии – наборы связанных действий.
Продолжая в том же духе, можно ввести события, которые вызывают активацию сценариев (как флаги условий) или свидетельствуют об их завершении, атрибуты различных типов для числового выражения значений разных понятий, включая время приготовления разных блюд, стоимость, размеры скидок для постоянных посетителей и т.д,
Построив такую базовую онтологию предметной области ресторанов – можно начать классифицировать и, фактически, на деле создавать концептуальные модели ресторанов различных классов и различной кухни: русской кухни, китайской или японской и т.д.
В этот момент наши фрагментарные и плохо формализованные знания, хранившиеся в разных учебниках, книгах или отдельных заметках, а в большинстве своем – просто в человеческой памяти, впервые становятся знаниями, представленными в виде семантической сети данных и доступными для последующей компьютерной обработки (например, в виде xml-файлов, построенных как вложенные скобочные выражения). В этот момент эти знания приобретают форму товара, но при условии, что одновременно появляются системы, способные загружать эти знания и использовать, например, для планирования согласованной работы кухни и официантов.
Ведь, что особенно важно, на основе такого рода концептуальных моделей объектов можно строить модели конкретных ресторанов, которые мы все посещаем, указывая там точное число столиков и их конфигурацию и другие атрибуты.
И тогда такого рода модели приобретают совершенно конкретный прагматический смысл, на основе которых, в свою очередь, можно создавать модели сцен и ситуаций, а также планов действий различных участников и даже получаемых результатов в удобном для разнообразной компьютерной обработки виде, включая распределение, планирование, оптимизацию, мониторинг и контроль использования ресурсов.
Для наглядности можно представить классы объектов как узлы, а классы отношений онтологии – как связи между ними, и тогда можно визуализировать онтологию, модель или ситуацию (сцену) как сетевой граф определенного типа.
Пример простейшего фрагмента онтологии автомобилей представлен ниже:
Фрагмент онтологии автомобилей
Как и в онтологии ресторанов, здесь могут быть подробно описаны типы исполняемых заказов, продаваемые или производимые классы машин и их типы, технологические процессы и нормы времени в продаже, транспортировке или производстве, а для производства машин – еще необходимые станки, компетенции рабочих, материалы и инструменты, затраты на производство и хранение на складах и т.д.
В настоящее время на рынке известно уже более трех десятков конструкторов онтологий, позволяющих создавать онтологии различного типа.
В конечном счете, в разнообразных практических приложениях, онтологии помогают достигать следующих результатов:
- нормативная роль: унификация понятий и отношений предметной области;
- формирование электронного «толкового словаря» предметной области;
- интерактивная поддержка принятия решений;
- построение семантических дескрипторов (аннотаций) документов;
- моделирование рассуждения на основе знаний предметной области;
- контроль правильности входных данных систем;
- поддержка деятельности по накоплению и систематизации знаний предприятий;
- построение самообучающихся систем (знания отделены от программного кода);
- интеграция междисциплинарных знаний различных специалистов.
Мы очень упрощенно рассмотрели ключевые особенности рассмотренной технологии семантизации в контексте планирования, но имеется также и много других применений онтологий – для аннотирования страниц в Интернет, извлечения знаний, понимания текстов на естественном языке, моделирования рассуждений и т.д.
Мы разрабатываем и используем онтологии для настройки мультиагентных систем для управления ресурсами на специфику предметной области и далее каждого конкретного предприятия.
При создании мультиагентных систем мы используем специальные семантические сети понятий и отношений, позволяющие представлять модели изменяющихся ситуаций в реальном мире, строить планы и получаемые результаты.
Разрабатываемые специализированные онтологии, предназначенные для использования в интеллектуальных системах управления ресурсами, используют следующие концепты:
- Классы объектов.
- Классы отношений между объектами.
- Классы свойств, характеризующие способности объектов вступать во взаимодействия.
- Классы законов мира (сценариев поведения объектов).
- Классы атрибутов.
Данная модель онтологии (мета-онтология), отличающаяся возможностью описывать действия для целей планирования, была названа нами в честь Аристотеля – как первого ученого в истории человечества, построившего первую концептуальную модель мира.
Программные агенты могут использовать онтологические модели ситуаций, чтобы учитывать все детали (контекст) складывающейся ситуации и обеспечивать ситуационное управление ресурсами.
В этом случае сцена (модель ситуации) в виртуальном мире представляет модель текущего состояния реального мира, зеркально отражая состояние внешней среды в текущий или какой-то другой определенный момент времени (как фотография).
Чем больше заранее сконструированных и разнообразных отношений «пронизывают» объекты и процессы сцены, тем больше имеется возможностей для смыслового анализа ситуации и сокращения комбинаторного перебора в ходе адаптивного распределения, планирования, оптимизации и контроля ресурсов, тем выше качество решений и эффективность интеллектуальной системы управления ресурсами.
Например, если агент нового заказа знает город, «откуда» требуется везти груз, то по этому узлу в семантической транспортной сети системы агент может быстро найти все грузовики, запланированные к выезду из этого города и проверить, какие грузовики выезжают отсюда в нужном ему направлении, чтобы попытаться встроиться в их расписания прежде, чем пытаться строить новый маршрут и бронировать новый грузовик под свои нужды.
Тем самым сцена позволяет также резко сокращать полный перебор при поиске вариантов решений в транспортной логистике и разнообразных других применениях.
Использование онтологий в рассматриваемых системах призвано обеспечивать следующие важные преимущества наших разработок:
- повышать качество и эффективность работы системы: адресно учитывать большее число деталей при принятии решений;
- сокращать сроки внедрения: более оперативно, гибко, просто и удобно настраивать систему на специфику новых предприятий;
- обеспечивать обоснованность и достоверность решений: контролировать корректность входных данных;
- сокращать сроки разработки, стоимость разработки и поддержки интеллектуальной системы;
- сокращать стоимость владения: развивать систему по мере развития бизнеса силами самих пользователей, с минимальным привлечением программистов;
- уменьшать риски использования системы.
Для более подробного знакомства с технологиями управления знаниями и семантической обработки данных обратитесь в наш учебно-консалтинговый центр по адресу info@kg.ru.
Рекомендуем вашему вниманию первый отечественный журнал по онтологиям «Онтологии проектирования», который был создан и издается при нашей поддержке.
В 2015 году данный журнал вошел в список журналов, рекомендуемых ВАК, что свидетельствует о растущей популярности данных технологий.