Научная статья на тему 'Метод принятия решений на основе анализа ситуаций и семантических технологий'

Метод принятия решений на основе анализа ситуаций и семантических технологий Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
521
131
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АНАЛИЗ СИТУАЦИЙ / ОНТОЛОГИИ / ПРОДУКЦИОННЫЕ ПРАВИЛА / SEMANTIC WEB / OWL / SITUATIONAL ANALYSIS / ONTOLOGIES / PRODUCTIONAL RULES

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Разин Владимир Викторович, Тузовский Анатолий Федорович

Предлагается подход к построению систем автоматизированного анализа ситуаций, основанный на стеке технологий Semantic Web. Описание подхода включает формальную модель описания ситуаций, описание базовых онтологий, реализующих её, и описание архитектуры системы анализа ситуаций. Приводится пример описания ситуации при помощи интерпретации предлагаемой формальной модели в терминах OWL-онтологий.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Разин Владимир Викторович, Тузовский Анатолий Федорович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The authors propose the approach to construction of situation automated analysis system based on stack of Semantic Web techniques. The description of the approach includes a formal model for describing situations, basic ontologies implementing it and description of architecture of situation analysis system. The article introduces the example of situation description by interpreting the proposed formal model in terms of OWL-ontologies.

Текст научной работы на тему «Метод принятия решений на основе анализа ситуаций и семантических технологий»

14. Ермольев Ю.М. Методы стохастического программирования.

- М.: Наука, 1976. - 340 с.

15. Растригин Л.А. Статистические методы поиска. Теоретические основы технической кибернетики. - М.: Наука, 1968. - 378 с.

16. Robbins H., Monro S.A stochastic approximation method // Ann. Math. Stat. - 1951. - V. 22. - P. 400-407.

17. Ширяев А.Н. Элементарная теория вероятностей. Математические основания. Предельные теоремы. - М.: МЦНМО, 2004.

- 519 с.

18. Ковалев М.М. Дискретная оптимизация. (Целочисленное программирование). - Минск: Изд-во БГУ, 1977. - 191 с.

19. Ху Т. Целочисленное программирование и потоки в сетях. -М.: Мир, 1974. - 520 с.

20. Кофман А., Анри-Лабордер А. Методы и модели исследования операции: Целочисленное программирование. - М.: Мир, 1977. - 432 с.

Поступила 18.04.2012 г.

УДК 004.89

МЕТОД ПРИНЯТИЯ РЕШЕНИЙ НА ОСНОВЕ АНАЛИЗА СИТУАЦИЙ И СЕМАНТИЧЕСКИХ ТЕХНОЛОГИЙ

В.В. Разин, А.Ф. Тузовский

Томский политехнический университет E-mail: moonbreeze@sibmail.com

Предлагается подход к построению систем автоматизированного анализа ситуаций, основанный на стеке технологий Semantic Web. Описание подхода включает формальную модель описания ситуаций, описание базовых онтологий, реализующих её, и описание архитектуры системы анализа ситуаций. Приводится пример описания ситуации при помощи интерпретации предлагаемой формальной модели в терминах oWL-онтологий.

Ключевые слова:

Анализ ситуаций, Semantic Web, онтологии, OWL, продукционные правила.

Key words:

Situational analysis, Semantic Web, ontologies, OWL, productional rules.

Анализ ситуаций является одной из задач принятия решений. Автоматизация анализа ситуаций позволяет выявлять текущие состояния системы, которые могут быть важными для конечного пользователя, и требуют оперативного принятия решений. Для выполнения такого анализа требуется определить язык описания ситуаций и сформировать алгоритм выявления интересующих пользователей ситуаций. Одним из подходов к принятию решений на основе формального анализа ситуаций является метод ситуационного управления [1]. В данном методе предлагается использовать логические модели для описания ситуаций и работы с ними. В настоящее время в рамках концепции Semantic Web активно развиваются семантические технологии, использующие специальный вид семантических моделей - онтологии.

В рамках данной работы описывается подход к анализу ситуаций, основанный на применении семантических технологий.

Основной идей предлагаемого подхода является разработка онтологий для описания ситуаций и использование продукционных правил для их анализа.

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

так и литеральными (связывающими понятия и их экземпляры с текстовыми строками). Множество понятий и отношений между ними определяют общую схему хранения данных, представленных как множество утверждений об экземплярах понятий, или аксиом онтологии. Эти утверждения, или триплеты, имеют вид «субъект-предикат-объект». Основными языками, при помощи которых описываются онтологии, являются стандартизованные консорциумом W3C языки RDF [2] и OWL [3].

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

Для определения закономерностей взаимодействия элементов управляемой системы, а также описания изменений их состояния с течением времени используются продукционные правила вида «если ... то ...». Набор правил, задаваемых пользователем, загружается в систему логического вывода, которая на основе содержащихся в онтологии утверждений создаёт согласно этим правилам новые экземпляры отношений более высокого уровня, соответствующие искомым ситуациям.

Продукционные правила можно задавать как в виде правил прямого, так и в виде правил обратного логического вывода. В первом случае система логического вывода работает «от фактов к цели», применяя к содержащимся в онтологии данным все допустимые правила до тех пор, пока имеется возможность применять эти правила (т. е. пока есть данные, соответствующие части «если», используемого правила). При выполнении обратного логического вывода действия системы вывода выполняются в обратном направлении, «от цели» правила. Для каждого из элементов блока «если» в онтологии ищутся соответствующие ему утверждения либо, если существуют правила, в которых этот элемент стоит в блоке «то», обратный вывод рекурсивно применяется к этим правилам. При задании системы продукционных правил можно комбинировать оба этих подхода. Для описания наборов правил можно использовать существующие стандартизованные языки описания продукционных правил для машин вывода на онтологиях, например, такие как SWRL [5] или RIF [6].

В рамках предлагаемого подхода была учтена необходимость представлять описание структуры объекта управления в контексте пространства-времени, а также возможная неполнота знаний об элементах этого описания. В связи с этим под ситуацией S в данном случае понимается совокупность всех сведений о текущем и всех предыдущих состояниях объекта управления, или система <O,R,E,F,Rul>, где О - множество физических объектов, входящих в состав управляемой системы, R - множество областей в пространстве, E -множество событий, происходящих в управляемой системе, F - множество предикатов, отражающих связи между элементами множеств O, R, и E, а Rul - множество продукционных правил вида (F^G) и (FoG), описывающих базовые механизмы логического вывода, в том числе ограничения на значения предикатов F, а также предусловия и следствия для происхождения событий E.

Фактически, в такой интерпретации ситуацию S можно обозначить как полное состояние объекта управления. При этом под классом ситуаций C подразумевается некоторый кортеж <O ',R ',E ',F >, где O ', R ', E '- это множества переменных, обозначающих элементы множеств O, R, E соответственно, а F - подмножество F, каждый элемент которого -предикат, аргументами которого являются элементы множеств O ', R 'и E '. Класс ситуаций фактически является шаблоном, описывающим отноше-

ния между частью элементов объекта управления. Таким образом, ситуация на объекте управления анализируется с целью выявления тех классов ситуаций, к которым она принадлежит. Обозначим как обоснование класса ситуаций Св интерпретацию класса ситуаций С на множествах <O,R,E,F>.

Иначе говоря, обоснованием класса ситуаций C будет такая подстановка элементов O, R и E вместо переменных из O ', R 'и E ', при которой все флюенты из F 'будут истинны.

Будем говорить, что ситуация S принадлежит к классу C, если S содержит обоснование C. Иначе говоря, если C - шаблон, то Св - часть описания ситуации, подходящая к этому шаблону.

Как было упомянуто выше, описание ситуации включает в себя множество областей в пространстве R. С помощью предикатов F эти области могут быть ассоциированы с объектами и событиями (элементами множеств O и E соответственно). Таким образом, знания о том, где находятся объекты и где происходят события, содержатся, в первую очередь, в описании областей в пространстве (элементов R), соответствующих объектам и событиям, а взаимное расположение объектов и областей, в которых действуют те или иные события, может быть логически выведено. Качественные отношения взаимного расположения областей в пространстве основываются, с одной стороны, на исчислении соединения областей (RCC - region connection calculus) [7] и, с другой стороны, на псевдофизических логиках, описанных в работе [1].

На рис. 1 и рис. 2 соответственно представлены схемы общей онтологии описания ситуации и диаграмма импортов онтологий, формирующих базовую онтологию описания ситуаций.

Непременным атрибутом события является время его наступления, а также задействованные в нём объекты. Это выражается предикатом holds (e1,o1,o2,.,on,r1), где т1 соответствует промежутку времени, в течение которого происходит событие. Также событие можно ограничить некоторой областью в пространстве: holds (e1,o1,o2,...,on,r1,T1). Предусловия и следствия выражаются при помощи продукционных правил - элементов множества правил Rul. Возможность наступления события в контексте пространства-времени выражается предикатом possible: possible (e1,o1,o2,.,on,T1).

Пример правила для предусловия:

f1 (°1, 02 , Ti) ^ f2 (°1, T2) ^ 0 5, T3)

^ possible(e1,o1,o2,o3,o4,o5, T1).

Пример правила для последствия:

holds(e!,o1,o2,o3,o4,o5, t) ^

f1 (o1, °2 , T1) ^ f2 (o 1, o3, T2) ^ f3(°4> °5, T3).

В рамках данного подхода события можно разделить на три группы: внутренние (события, происходящие внутри объекта управления), внешние (события, наступление которых вызвано извне объекта управления), и события-действия (собы-

subclassOf

•., \ subclassOf

subclassOf 1

Рис. 1. Общая онтология описания ситуаций

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

Будем говорить, что событие е! переводит ситуацию Б в/из класса С, если в результате его наступления ситуация Б стала/перестала принадлежать этому классу (или если в результате его наступления Б стала/перестала включать обоснование С).

Фактически, в рамках данного подхода события инкапсулируют в себе всю динамику объекта управления: любое изменение состава его элементов или отношений между ними (то есть изменения множеств О, Я, Е, F) соответствует некоторому событию, и наоборот.

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

ми. Доступным решением является такая совокупность событий ESol={ebe2,e3,...,en}, которые для каждого ei являются истинными: holds (e1,o1,o2,_,on,rN) (напомним, что rN - переменная, соответствующая данному моменту времени) или possible (e1,o1,o2,_,on,rN) для событий-действий.

Общая онтология описания ситуаций (рис. 1) включает понятия события Event с дочерними понятиями InternalEvent (внешнее событие), Externa-lEvent (внутреннее событие) и Action (действие), понятие Object, а также понятия SituationClass (класс ситуаций), SituationClassBasis (обоснование класса ситуаций) и ClassSolution (решение для класса ситуаций). Время происхождения события Event описывается при помощи понятия Interval онтологии OWL-Time [8].

Онтология RCC (рис. 2) определяет отношения исчисления соединения областей, Spatial и Qualita-tiveSpatial - области в пространстве и качественные отношения между ними соответственно, owl: time - онтология описания времени [8], Interval -онтология, описывающие отношения интервальной алгебры Аллена. Онтология Core сводит все элементы описания ситуации воедино и, по существу, является базовой онтологией описания ситуаций, которой будет наследовать любая онтология, описывающая конкретную предметную область, классы ситуаций и решения в ней.

Основные элементы системы анализа ситуаций на основе описываемого подхода представлены на рис. 3.

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

Допустим, что клиент будет ждать 15 минут, а потом отменит заказ и обратится в другое такси. Введём в онтологию описания ситуации понятия Client, Taxi, и PickupPoint (точка подбора). Обобщим недопустимую в данном примере ситуацию до класса ситуаций «ожидание клиентом такси в течение 15 минут», обозначив его как ClientWai-tingl. Ниже приведены правила, описывающие такой класс ситуаций, согласно которым система его распознает (здесь и далее продукционные правила приводятся в нотации SWRL).

Рис. 3. Общая схема системы анализа ситуаций

ClientWaiting1(?sitclass) л Client(?cl1) л PickupPoint(?PP) л Interval(?tp1) л WaitEvent( ?we1) л holds(?we 1, cl) л holds(?we 1, ?PP) л holds(?we 1,?tp1) л duration(?tp1, ?dur) л greaterThan(?dur,15) лhasBeginning(?tp1,?timepoint1) л subtract(?res,Now,?timepoint1) л lessThan(?res,15) ^ active(?sitclass1,true) л makeInstance(?CWBasis) л ClientWaitingBasis(?CWBasis) contains(?CW Basis, cw1).

Здесь WaitEvent - событие, заранее определённое как:

Client(?cl) л Location(?loc) л Interval(?tp1) л

л waiting(?cl, true) л waitingTime(?cl,?tp1) л лoccupies(?cl,?loc) ^ makeInstance(?waitEvent) л л WaitEvent(?waitEvent) л лholds(?waitEvent, ?cl) л holds(?waitEvent, ?loc) л лholds(?waitEvent, ?tp1).

Опишем возможное решение для класса ситуаций ClientWaitingl. Наиболее очевидным решением будет подбор клиента на точке с ожиданием прибытия клиента в течение, к примеру, 10 минут. Создадим экземпляр понятия ClassSolution и понятие PickupEvent, наследующее понятию InternalEvent. Создадим также экземпляр PickupEvent и пометим его как часть решения для класса ситуаций

ClientWaitingl. Полученная онтология показана на рис. 4.

Приведём описание события PickupEvent:

Taxi(?taxi1) л Client(?cl1) л waiting(?cl1) л

ExecutePickupOrderEvent(?pickupOrder) л

л VeryCloseSituatedEvent(?vCloseSit) Interval(?tp1) л

л Interval(?tp2) л holds(?pickupOrder, ?taxi1) л

лholds(?pickupOrder,?cl1) л holds(?pickupOrder,?tp1) л

holds(?vcloseSit, ?taxi1) л holds(?vCloseSit,?cl1) л

л holds(?vCloseSit,?tp2) л

лinside(?tp2,?tp1) ^ makeInstance(?pickup) л

лmakeInstance(?tp3) л PickupEvent(?pickup) л

Interval(?tp3) л holds(?pickup,?taxi1) л

л holds(?pickup,?cl1) л holds(?pickup, ?tp3) л

hasBeginning(?tp3, ?arrival) л add(?result, ?arrival,10) л

лhasEnd(?tp3, ?result).

Упомянутые в описании события VeryCloseSitua-tedEvent и ExecutePickupOrderEvent указывают на то, что для выполнения события PickupEvent необходимо, чтобы такси находилось на близком расстоянии от клиента и выполняло распоряжение подобрать его, соответственно. Формально распоряжение подобрать клиента можно разделить на два: прибыть в определённую точку и, собственно, подобрать клиента. Рассмотрим первое из этих распоряжений (обозначим как событие MovementOrderEvent):

Core:lnternalEvent

Core:ClassSolution

Core:SituationClass

Taxi(?taxi1) л MovementOrderEvent(?moveOrde r) л

Interval(?tp1) л holds(?moveOrder,?taxi1) л

holds(?moveOrder,?tp1) л (?tp1,?orderReceived)

makeInstance(?moveEvent) л makeInstance(?tp 2) л

MovementEvent(?moveEvent) л Interval(?tp2) л

holds(?moveEvent,?tp2) л

hasBeginning(?tp2,?orderReceived).

События MovementOrderEvent и ExecutePicku-pOrderEvent в описании предметной области наследуют понятию Action базовой онтологии, то есть являются результатом действий пользователя системы, лица, принимающего решения. В процессе обработки доступных решений машина вывода работает по принципу обратного вывода, проводя поиск по продукционным правилам, находящимся в онтологии. В данном случае в левой части правила-описания для события PickupEvent, помеченного как решение, содержатся события VeryCloseSitu-atedEvent и ExecutePickupOrderEvent. Второе из них является событием-действием, в отличие от первого, в левой части описания которого рекурсивно проводится поиск вхождений других событий. Процесс продолжается до тех пор, пока не будут обнаружены все события-действия (в данном случае MovementOrderEvent и PickapOrderEvent). Полу-

СПИСОК ЛИТЕРАТУРЫ

1. Поспелов Д.А. Ситуационное управление: Теория и практика.

- М.: Наука, 1986. -288 с.

2. Manola F., Miller E. RDF Primer. W3C Working Draft // World Wide Web Consortium (W3C). 2004. URL: http://www.w3.org/TR/ rdf-primer (дата обращения: 09.09.2012).

3. Herman I., Horrocks I., Patel-Schneider P. F. et al. OWL 2 Web Ontology Language Document Overview // World Wide Web Consortium (W3C). 2007. URL: http://www.w3.org/2004/OWL/ (дата обращения: 09.09.2012).

4. Matheus C., Kokar M. et al. SAWA: An Assistant for Higher-Level Fusion and Situation Awareness // SPIE Conference on Multisensor, Multisource Information Fusion: Proceedings of SPIE. - Orlando, FL., 2005. - V. 5813. - P. 75-85.

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

Заключение

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

Применение семантических технологий в системах анализа ситуаций обеспечивает гибкость описания структуры модели объекта управления, а также гибкость описания его поведения в виде набора правил. Кроме этого, применение семантических технологий предоставляет экспертам, с одной стороны, возможность вносить в неё свои знания и, с другой стороны, сохраняет возможность автоматизированной обработки массивов данных нижнего уровня, поступающих с датчиков. Онтологическое описание предметной области и метода обработки исходных данных при помощи стандартизованных консорциумом W3C языков позволяет делать вывод о высокой масштабируемости подобного решения.

5. Patel-Schneider PF., Horrocks I. et al. SWRL: A Semantic Web Rule Language Combining OWL and RuleML // World Wide Web Consortium (W3C). 2004. URL: http://www.w3.org/Submis-sion/SWRL/ (дата обращения: 09.09.2012).

6. Welty C., Hawke S. Rule Interchange Format // RIF Working Group. 2005. URL: http://www.w3.org/2005/rules/wiki/RIF_Wor-king_Group (дата обращения: 09.09.2012).

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

7. Renz J. Qualitative Spatial Reasoning with Topological Information. Lecture Notes in Computer Science 2293. - Berlin: Springer Verlag, 2002. - 207 p.

8. Hobbs J., Pan F. Time Ontology in OWL // World Wide Web Consortium (W3C). 2006. URL: http://www.w3.org/TR/owl-time/ (дата обращения: 09.09.2012).

Поступила 10.09.2012 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.