Моделирование разных точек зрения в системах поддержки принятия решений

Sep 27, 2016 00:35

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

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

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

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

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

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

программирование, аналитика, семантические технологии

Previous post Next post
Up