УДК 004.89
В.В. Разин, А.Ф. Тузовский
Представление знаний о времени с учётом неопределённости в онтологиях Semantic Web
Предложен подход к представлению знаний о времени в онтологиях Semantic Web. Представлена формальная модель описания моментов и промежутков времени с учётом возможной неопределённости знаний о них. Приведён пример использования модели для описания событий.
Ключевые слова: Semantic Web, OWL, описание времени, онтология.
Описание динамических систем в базах знаний в последнее время становится всё более насущной потребностью современного мира. Системы, основанные на знаниях, - экспертные системы и системы поддержки принятия решений - становятся всё более привлекательными в свете растущих вычислительных мощностей и возможностей таких систем по логической обработке уже накопленной в огромных количествах информации. Более того, развитие и повсеместное распространение геоинформационных систем, а также постоянно растущий интерес к системам анализа ситуаций ведут к необходимости представления как имеющейся, так и вновь поступающей информации в едином пространственно-временном контексте.
Время представляется в интеллектуальных системах либо в неявном виде при помощи моделирования изменений состояния некоторой системы, либо в явном - на основе той или иной иерархии временных единиц. К числу методов, представляющих время в неявном виде, можно отнести в первую очередь ситуационное исчисление [1]. Такие подходы оперируют «мгновенными снимками» состояний моделируемой системы и не учитывают протяжённость изменений во времени. К методам представления времени в явном виде можно отнести многочисленные темпоральные логики: как основанные на аппарате классической логики (например, широко используемая интервальная алгебра Аллена [2] или псевдофизические временные логики Поспелова [3]), так и модальные логики (линейная темпоральная логика LTL [4], пропозициональная логика ветвящегося времени BPTL [5]). В общем случае методы явного представления времени обладают преимуществом высокой выразительности описания, но алгоритмы машинного логического вывода для них гораздо сложнее. В особенности это касается модальных темпоральных логик.
В настоящее время одной из наиболее перспективных и применяемых на практике технологий представления знаний является стек технологий Semantic Web. Центральным понятием Semantic Web является онтология - модель предметной области, состоящая из множества понятий, множества экземпляров понятий и множества отношений (свойств). Отношения могут быть как объектными (связывающими понятия и их экземпляры друг с другом), так и литеральными (связывающими с текстовыми строками). Множество понятий и отношений между ними определяет общую схему хранения данных, представленных как множество утверждений об экземплярах понятий, или аксиом онтологии. Такие простые утверждения, называемые триплетами, имеют вид «субъект-предикат-объект». Основными языками, с помощью которых описываются онтологии Semantic Web, являются стандартизованные организацией W3C языки RDF/RDFS [6] и OWL [7], выгодно отличающиеся от других языков описания онтологий доступностью для интерпретации человеком. На данный момент для работы с OWL-онтологиями и базами знаний на их основе разработан широкий спектр ПО (например, семантические хранилища Virtuoso, OWLIM или Oracle Spatial and Graph RDF Semantic Graph).
Для определения взаимодействия элементов онтологии, а также описания изменений их состояния с течением времени используются продукционные правила вида «если... то...». Набор правил, задаваемых пользователем, загружается в систему логического вывода, которая на основе содержащихся в онтологии утверждений создает согласно этим правилам новые экземпляры понятий и отношений онтологии.
На правилах может выполняться как прямой, так и обратный логический вывод. В первом случае система логического вывода выполняет переход «от фактов к цели», применяя к содержащимся в онтологии данным все допустимые правила до тех пор, пока эти правила могут быть применены (пока есть данные, соответствующие блоку «если») либо не достигнута цель вывода. В случае обратного логического вывода система вывода действует исходя «от цели» вывода. Для каждого из элементов блока «если» в онтологии ищутся соответствующие ему утверждения, либо, если существуют правила, в которых этот элемент стоит в блоке «то», тогда обратный вывод рекурсивно применяется к этим правилам. Часто при задании системы продукционных правил комбинируют оба эти подхода. Для представления наборов правил можно использовать такие стандартизованные языки описания продукционных правил для машин вывода на онтологиях, как SWRL [8] или RIF [9].
Постановка задачи. Одной из наиболее существенных проблем как для представления знаний в контексте времени, так и для представления знаний в целом является представление знаний о времени и об изменениях знаний с его течением. Однако большинство применяемых на практике языков описания знаний основываются на логике предикатов первого порядка и используют унарные или бинарные отношения (к таким языкам относятся OWL и RDF). В этом случае описание бинарных отношений с учётом времени требует ввода в отношения дополнительного параметра, соответствующего времени, превращая их из бинарных в тернарные и выводя их за рамки описательных возможностей языка.
Ещё одной важной задачей является описание знаний о времени с учётом возможной неполноты этих знаний, к примеру, описание высказываний вида: «событие A произойдёт когда-нибудь в будущем». Эта задача обычно решается в рамках модальных темпоральных логик, например LTL, при помощи определённых модальных операторов. Однако поскольку язык описания знаний OWL основан на дескриптивной логике, то воспользоваться таким решением для OWL-онтологий не представляется возможным.
Один из возможных подходов к решению задачи представления знаний о времени в рамках OWL-онтологий предлагается в работе [10]. Этот подход, как и многие другие, базируется на представлении знаний о времени, аналогичном описанному в онтологии OWL-Time [11]. Тем не менее этот подход не позволяет представлять неопределённость знаний о времени.
В рамках данной статьи предлагается подход, позволяющий описать такую неопределённость.
Описание подхода. Необходимость учёта неопределённости при описании знаний о времени требует основной единицы описания интервалов времени, позволяющей указывать неточные границы этих интервалов. В связи с этим в рамках описываемого подхода вводится новое понятие — промежуток времени. Заранее определим интервал времени как некоторый отрезок на временной шкале с чёткими неизменными границами.
Предлагаемая модель описания знаний о времени имеет вид кортежа <TU, VU, TP, F, Rul>, где:
1) TU - множество моментов времени TU={Tu{t0}}, где T - линейно упорядоченное множество, имеющее мощность континуума, на котором задана бинарная операция вычитания -:TxT ^ R+, а t0 - особый элемент, соответствующий «неопределённому моменту времени».
2) VU - множество переменных, обозначающих элементы множества TU, а также особая переменная tN, соответствующая текущему моменту времени. Значение переменной tN постоянно меняется, отражая ход времени в некоторой системе, для описания временного контекста которой используется предлагаемый подход.
3) T - множество промежутков времени. Промежуток времени соответствует упорядоченной
паре т = <tn, ti2>, где tu и ti2 - такие элементы множества VU, что:
[(til - ti2)Л (til ф t0) л (tj2 ф t0)] v[tu = t0 ]v[ti2 = t0 ]. Таким образом, промежуток времени соответствует некоторому участку на временной шкале, причём его границей может быть некоторый момент времени, текущий момент времени (переменная tN), либо неопределённый момент времени
ta. При этом промежуток времени с совпадающими границами (ti1 = ti2) соответствует некоторому моменту времени.
4) F - множество предикатов, описывающих свойства промежутков времени, а также качественные отношения между ними.
5) Rul - множество продукционных правил вида (H <- G) и (H <-> Gj), описывающих базовые механизмы логического вывода, в том числе ограничения на значения предикатов F, а также определённость границ промежутков времени.
Несмотря на то, что в модели введено понятие «промежуток времени», целью разработки данного подхода являлось описание знаний об интервалах времени (т.е. отрезков на временной шкале, имеющих точные границы). Понятие промежутка времени требуется для описания некоторых интервалов времени, точные границы которых неизвестны до наступления определённого состояния модели. Поступающая в модель информация может быть причиной уточнения этих границ. Можно сказать, что каждый промежуток времени описывает некоторый интервал времени, точные границы которого пока неизвестны. При этом может быть доступна информация о том, в каких пределах этот интервал гарантированно расположен на временной шкале, а точные границы интервала, описываемого промежутком времени, могут стать известны в будущем. В связи с этим имеет смысл ввести две разновидности границ промежутка времени: точную (соответствующую границе интервала, описываемого промежутком времени), и гарантированную (границу, определяющую точку на временной шкале, левее или правее которой не может находиться левая или правая граница описываемого интервала времени, соответственно). Для определения двух видов границ служат предикаты EL (exact left), ER (exact right), GL(guaranteed left) и GR(guaranteed right), определяющие точную левую/правую и гарантированную левую/правую границы промежутка времени, соответственно. Например, предикат EL(t, tn) соответствует утверждению «точная левая граница промежутка т, -момент времени t;i». Для простоты в дальнейшем будем обозначать вид границы промежутка времени при помощи разных видов скобок: промежуток [t- ,tj ] полностью определён (обе его границы
являются точными), промежуток [ti ,tj)- определён слева (левая граница промежутка - точная, а правая - гарантированная), а промежуток (t- ,tj) - неопределённый полностью (обе границы промежутка - гарантированные). Полностью определённый промежуток времени соответствует некоторому интервалу времени, т.е. отрезку на временной шкале, точные границы которого известны.
Множество предикатов F содержит также предикат duration^-, 4) (в дальнейшем для простоты будем записывать его как duration^,) = 4), сопоставляющий промежутку Ti некоторое значение 4, соответствующее длительности этого промежутка. Например, промежуток времени «два часа днём 12 декабря» можно описать как т, = (tib ti2), duration^) = 2 часа, где ti1 = «12:00 12 декабря», ti2=«23:00 12 декабря», если принять за границы неформального понятия «день» полдень и 11 вечера.
Особые переменные tN и t0, соответствующие текущему и неопределённому моментам времени, также служат для описания неопределённых границ промежутка времени, для которых неизвестно даже гарантированное значение границы. К примеру, промежуток <tN, t0> будет соответствовать понятию «будущее», а <t0, tN>- «прошлое». В предлагаемой краткой нотации промежуток времени
«двое суток в будущем» можно обозначить как т, = (tN, t<£), duration(Ti)= 48 ч.
Множество F может включать также качественные отношения, связывающие промежутки времени между собой. В их роли выступают отношения интервальной алгебры Аллена [8]. На основе этих отношений в системе, использующей описываемый подход, определяются элементы множества Rul - правила логического вывода.
В качестве примера рассмотрим отношение алгебры Аллена meets(X, Y), описывающее примыкание интервала X к интервалу Y слева. Продукционное правило вывода в нотации SWRL в этом случае будет иметь вид
T imeInterval(? х)л T imeInterval(? у) л hasLeftBorder (?x,?b1) л hasRightBorder (?y,?b2) л
defined(?b1) л presentedBy(?b1,?point1) л presentedBy(?b2,?point2) л hasType(?point1,Numeric) л
лmeets(?x,?y) л value(?point1,?val1) л value(?point2,?val2) л notEqual(?val1, ?val2)
^ hasType(?point2,Numeric) л value(?point2,?val1) л defined(?b2).
Это правило будет выставлять левую границу промежутка Y равной правой границе промежутка X в случае, если последняя определена (defined) и имеет численное значение (Numeric). Аналогично записывается и правило для приравнивания правой границы промежутка X левой границе промежутка Y. Таким образом, изначальную неполноту информации о границах промежутков времени можно преодолеть также при помощи качественных отношений и правил логического вывода.
В приведённой на рис. 1 схеме онтологии описания времени понятие TimePeriod соответствует промежутку времени с длительностью duration и границами PeriodBorder, связанными с ним отно-
шениями hasLeftBorder и hasRightBorder. Определённость границы описывается булевым свойством defined, а значение границы - свойством presentedBy. Момент времени TimePoint может иметь вид TimePointType - «точный» (Numeric, в этом случае свойство value указывает на конкретную точку на временной шкале), «неопределённый» (Undefined, неопределённый момент времени) и «текущий» (Now, в двух последних случаях значение свойства value не задано).
Рис. 1. Схема онтологии описания времени
Пример использования подхода. В качестве примера используем описание двух событий: ожидания клиентом заказанного им такси и прибытия такси к клиенту. В графическом виде описание показано на рис. 2. Наступление второго события завершает первое, однако заранее время прибытия такси неизвестно и соответственно неизвестна длительность ожидания клиента. Определим в онтологии, описывающей эту ситуацию, понятие события (Event), которому при помощи отношения holdsAt сопоставлен некоторый промежуток времени (TimePeriod). Пусть заданы два события-экземпляра: «ожидание клиента» (ClientWaiting) и «прибытие такси» (TaxiArrival), связанные отношением holdsAt с экземплярами временных промежутков WaitTimePeriod и ArrivalTimePeriod соответственно.
Изначально известно, что ожидание клиента уже началось, и такси уже едет. При этом, согласно условию, событие TaxiArrival завершает событие ClientWaiting, то есть промежуток WaitTimePeriod завершается одновременно с началом промежутка ArrivalTimePeriod. Опишем это при помощи отношения meets интервальной алгебры Аллена. При этом сами промежутки будут иметь вид WaitTimePeriod = [t1, fa) (клиент ожидает прибытия, начиная с определённого момента времени t1) и ArrivalTimePeriod = (tN, fa) (такси прибудет в некоторый момент в будущем). Отношение meets подразумевает использование правила вывода (1) при уточнении левой границы интервала Arrival-TimePeriod. При поступлении в систему информации о прибытии такси уточняется сначала левая граница интервала ArrivalTimePeriod, после чего он приобретает вид ArrivalTimePeriod = [t2, t2], после чего срабатывает правило вывода (1), уточняющее границу интервала WaitTimePeriod: WaitTimePeriod = [t1, t2].
Рис. 2. Описание примера использования подхода
Заключение. Предложенный в рамках данной работы подход позволяет использовать дескриптивные логики и OWL-онтологии для описания знаний, для которых обычно требуется применение модальных логик, ситуационного исчисления или исчисления событий. Кроме того, предлагаемый подход несложно использовать в существующих системах управления знаниями, не учитывающих неполноту знаний о времени, дополняя их возможностью описывать содержащиеся в них знания с учётом временного контекста.
Исследование проводилось при финансовой поддержке Министерства образования и науки Российской Федерации, в рамках финансирования работ по Государственному контракту 14.515.11.0047.
Литература
1. McCarthy J. Some philosophical problems from the standpoint of artificial intelligence / J. McCarthy, P. Hayes. - Stanford University, 1968. - С. 463-502.
2. Allen J.F. Towards a general theory of action and time //Artificial intelligence. - 1984. - Т 23, №. 2. - С. 123-154.
3. Поспелов Д. А. Ситуационное управление: теория и практика. - М.: Наука. Гл. ред. физ.-мат. лит., 1986.
4. Pnueli A. The temporal logic of programs // IEEE Symposium on Foundations of Computer Science: Proceedings of the 18th Annual Symposium on Foundations of Computer Science. - 1977. - P. 46-57.
5. Torsun I.S. Foundations of intelligent knowledge-based systems. - London etc: Acad. press, 1995.
6. Manola F., Miller E. RDF Primer. W3C Working Draft // World Wide Web Consortium (W3C). 2004 [Электронный реcурс]. - Режим доступа: http://www.w3.org/TR/rdf-primer (дата обращения:
09.09.2012).
7. Herman I., Horrocks I., Patel-Schneider P.F. et al. OWL 2 Web Ontology Language Document Overview // World Wide Web Consortium (W3C). 2007 [Электронный реcурс]. - Режим доступа: http://www.w3.org/2004/OWL/ (дата обращения: 09.09.2012).
8. Patel-Schneider P.F., Horrocks I. et al. SWRL: A Semantic Web Rule Language Combining OWL and RuleML // World Wide Web Consortium (W3C). 2004 [Электронный реcурс]. - Режим доступа: http://www.w3.org/Submission/SWRL/ (дата обращения: 09.09.2012).
9. Welty C., Hawke S. Rule Interchange Format // RIF Working Group. 2005 [Электронный ресурс]. - Режим доступа: http://www.w3.org/2005/rules/wiki/RIF_Working_Group (дата обращения:
09.09.2012).
10. Welty C. A Reusable Ontology for Fluents in OWL / C. Welty, R. Fikes // Conference on Formal Ontology in Information Systems: Proceedings of the Fourth International Conference. - IOS Press Amsterdam, 2006. - P. 226-236.
11. Hobbs J.R., Pan F Time Ontology in OWL. W3C Working Draft // World Wide Web Consortium (W3C). 2006 [Электронный реcурс]. - Режим доступа: http://www.w3.org/TR/owl-time (дата обращения: 09.09.2012).
Разин Владимир Викторович
Аспирант каф. технологии оптимизации систем управления Института кибернетики ТПУ
Тел.: 8-960-972-70-32
Эл. почта: [email protected]
Тузовский Анатолий Фёдорович
Д-р техн. наук, профессор каф. оптимизации систем управления Института кибернетики ТПУ Тел.: 42-14-85
Эл. почта: [email protected].
Rasin V. V, Tuzovsky A.F.
Representation of temporal knowledge in Semantic Web ontologies considering knowledge uncertainty
An approach to representation of temporal knowledge in Semantic Web Ontology is suggested. Formal model of description of time instants and time periods considering possible knowledge uncertainty is represented. An example of model usage for event description is shown.
Keywords: Semantic Web, OWL, time description, ontology.