Козырев И.В. (kozireviv@gmail.com) - НИИ «Центрпрограммсистем» (и.о. зав. лабораторией, аспирант ), г. Тверь, Россия | |
Ключевые слова: предметная область., онтология, база знаний, логический вывод, owl, rdfs, sparql, модель, программа, динамика кораблей |
|
Keywords: subject area, ontology, knowledge base, inference, owl, rdfs, sparql, mathematical model, software, dynamics of ships |
|
|
Проектирование морских технических объектов на данный момент является сложной задачей, требующей больших финансовых, технических, технологических и человеческих ресурсов. Массивы информации, которыми необходимо оперировать при решении подобного класса задач, огромны. При этом информация о морских технических объектах разнородна, может поступать от заводов-проектировщиков, различных научно-исследовательских институтов, организаций, эксплуатирующих морские суда, и т.д. и подчас плохо поддается формализации. Традиционным выходом из данной ситуации является использование средств информационной поддержки – САПР [1]. Но в то же время можно выделить некоторые унифицированные интеллектуальные способы описания и обработки информации, поступающей из различных источников и понятной экспертам в соответствующих предметных областях. Основным назначением средств интеллектуальной поддержки (в отличие от информационной поддержки) процесса проектирования является консультирование конструктора при разработке и принятии конкретных решений в процессе проектирования, особенно при создании новой техники и технологий с использованием накопленных знаний [2].
В качестве предметной области в статье приняты задачи, связанные с эксплуатацией корабля, а именно с его динамикой. Динамика корабля – раздел теории корабля, изучающий его взаимодействие с водной средой при движении и включающий динамическую остойчивость, качку, сопротивление воды движению корабля, управляемость и т.д. В качестве модели представления знаний для метаописания предметной области (на примере задач эксплуатации кораблей) может использоваться онтология. Применение онтологий особенно эффективно в приложениях, обеспечивающих поиск и объединение информации из различных источников и сред. Являясь в некотором роде аналогом понятия «модель», онтология обеспечивает взаимодействие программных систем и служит сред- ством коммуникации между специалистами, имеющими различные взгляды на одни и те же проблемы. Благодаря формальной спецификации, унификации представления различных моделей и автоматизации проверки корректности онтологии могут найти применение в качестве средства инструментальной поддержки [3]. При реализации онтологий может использоваться язык описания онтологий OWL (Ontology Web Language). OWL – это язык, базирующийся на направлении Semantic Web, служащий для представления web-онтологий предметных областей и одобренный консорциумом W3C. Под онтологией понимается некоторый набор терминов предметной области и связей между этими терминами. Основными элементами языка являются свойства, классы и ограничения. Они позволяют реализовать представление о мире как о множестве сущностей (объектов), характеризуемых некоторым набором свойств. Эти сущности состоят между собой в определенных отношениях и объединяются по определенным признакам (свойствам и ограничениям) в группы (классы). Часто возникает необходимость автоматически обрабатывать, выполнять запросы и пополнять содержимое онтологий. В таком случае можно воспользоваться языком запросов SPARQL. С его помощью формируются запросы к разнообразным источникам данных независимо от того, хранятся эти данные непосредственно в RDF либо представляются в виде RDF с помощью промежуточного ПО (middleware). SPARQL обладает возможностями формирования запросов к обязательным и необязательным графовым шаблонам вместе с их конъюнкциями и дизъюнкциями, а также поддерживает тестирование расширенного значения и ограничение запросов посредством исходного RDF-графа. Результаты запросов SPARQL могут быть представлены результирующими наборами или RDF-графами. Запишем формальную модель онтологии в виде структуры S=, где C – конечное множество концептов предметной области, которую представляет онтология (ограничения, накладываемые на множество С, – его конечность и непустота); R – конечное множество отношений между концептами заданной предметной области; F – конечное множество функций интерпретации (аксиоматизация), заданных на концептах и/или отношениях онтологии. Существуют различные способы классификации онтологий, но наиболее распространенной является классификация по цели создания. В ее рамках выделяют четыре уровня: онтология представления, онтология верхнего уровня, онтология предметной области и прикладная онтология. Цель онтологии представления – описать область представления знаний, создать язык для спецификации других онтологий более низких уровней. Назначение онтологии верхнего уровня – создание единой «правильной» онтологии, фиксирующей знания, общие для нескольких предметных областей, и многократное использование данной онтологии. Существует несколько крупных онтологий верхнего уровня, но в целом попытки создать универсальную онтологию верхнего уровня пока не привели к желаемым результатам. Наибольший интерес с точки зрения реализации представляют именно онтологии предметной области и прикладные онтологии. Здесь же самый низкий уровень реализации может занимать база знаний. 1) Онтология предметной области (абстрактное описание). Другое название – онтология домена. Ее назначение аналогично назначению онтологии верхнего уровня, но область интереса ограничена одной предметной областью (так называемым доменом), например судостроением, авиацией, эксплуатацией корабля и т.д. Онтология предметной области обобщает понятия, использующиеся в некоторых задачах домена, абстрагируясь от самих задач (так, онтология корабля не зависит от особенностей конкретных видов судов). Во многих направлениях сейчас разрабатываются стандартные онтологии, которые могут использоваться экспертами по предметным областям для совместного использования и аннотирования информации в своей области. Таким образом, на данном уровне описания основным объектом анализа выступает морской объект, функционирующий в условиях внешних возмущений. Динамические характеристики морского объекта определяются через параметры внешней среды. При абстрактном описании онтологии индивиды (отдельные объекты и их состояния) не задаются. Большинство классов этого уровня характеризуются универсальностью (например «морской объект», «климат» и т.д.), носят достаточно общий характер и применимы практически в любой задаче, связанной с рассматриваемой тематикой. 2) Прикладные онтологии (реализация). Назначение таких онтологий – описание концептуальной модели конкретной задачи или приложения. Прикладные онтологии описывают концепты, которые зависят как от онтологии задач, так и от онтологии предметной области. Примером может служить онтология для кораблей, компонентов корабля, вычислительной техники и т.д. Такие онтологии содержат наиболее специфичную информацию. Реализация является описанием, связывающим конкретные характеристики морского объекта с параметрами внешней среды, находящимися на уровне абстрактного описания. Совокупность индивидов данного уровня определяет параметры морского объекта и внешней среды для заданной ситуации. Эти параметры можно использовать в дальнейшем для анализа данных посредством встраиваемых в онтологию баз знаний. 3) База знаний. Традиционно базы знаний не являются неотъемлемыми элементами онтологий, однако во многих случаях применение продукционных баз знаний непосредственно к индивидам онтологии позволяет эффективно организовать их обработку для конкретных ситуаций путем логического вывода, используя разбиение онтологии на отдельные подзадачи, например, возможность входа судна в резонансные состояния, потерю остойчивости и т.д. Как указано выше, в качестве базового языка для представления онтологий может быть выбран OWL [4]. Язык OWL использует синтаксис XML, удобный для компьютерного анализа, но не всегда удобный для восприятия человеком. Поэтому обычно для документов с онтологиями, написанными на языке OWL, используют специализи- рованные программы отображения, например Protégé [2]. Protégé является одним из наиболее развитых бесплатно распространяемых редакторов онтологий и фреймворков баз знаний. При необходимости Protégé позволяет осуществлять трансляцию всех разработанных в нем онтологий в другие языки семантической разметки, например в RDFS, а также подключать плагины. TGVizTab – плагин Protégé, позволяющий визуализировать содержимое онтологии с помощью java-библиотеки TouchGraph. TGViz выводит графическое представление объектов, экземпляров и связей между объектами с возможностью контроля глубины вывода. String Search – плагин Protégé, позволяющий осуществлять бесконтекстный поиск по онтологиям Protégé. Поиск можно проводить по классам, экземплярам, свойствам и их значениям. Для наглядной демонстрации возможностей онтологий воспользуемся результатами работ, выполняемых в рамках проекта «Проведение поисковых научно-исследовательских работ по направлению «Судостроение» по проблеме «Интеллектуальные технологии поддержки процессов исследовательского проектирования судов и технических средств освоения океана». Данный проект осуществляется в рамках мероприятия «Проведение научных исследований научными группами под руководством докторов наук» ФЦП «Научные и научно-педагогические кадры инновационной России» на 2009–2013 годы. Анализируя результаты исследований, можно отметить основные моменты применения онтологий при решении рассматриваемой категории задач, а также выделить примеры. В представленных далее онтологиях используются два типа триплетов. В том случае, когда множество объектов какого-либо класса можно логически разделить на два и более подмножеств, используется объявление rdfs:subClassOf, позволяющее организовывать иерархические структуры данных. Примером реализации подклассов подобных онтологий могут быть классы «Плавучий морской объект» и «Стационарный морской объект», которые являются подклассами класса «Морской объект»:
В том случае, когда связь между объектами не может носить характер наследования, связывание объектов осуществляется посредством механизмов owl:DatatypeProperty и owl:ObjectProperty. Объявление owl:DatatypeProperty позволяет установить однозначную связь между индивидами и конкретными значениями данных. Так, например, динамические характеристики судна во время плавания включают мгновенную метацентрическую высоту и значение динамического крена, которые могут быть заданы скалярными величинами и для своего определения не требуют отдельного класса:
Более сложное по смыслу связывание можно осуществлять между классами, используя объявление owl:ObjectProperty. Так, например, известно, что ветер может влиять на бортовую качку. На языке OWL это можно записать следующим образом:
Данные примеры относятся к уровню абстрактного описания классов. Создание индивидов производится на уровне реализации. Приведем пример создания индивида (в данном случае конкретного судна), а также пример заполнения его статических и динамических характеристик:
Tanker
0.5 15
7
В данном примере создается объект «Танкер», который имеет тип «Плавучий морской объект», а также два связанных с ним индивида (статические и динамические характеристики судна). После заполнения соответствующих полей в структурах статических и динамических характеристик можно применять правила по общей характеристике ситуации, которые также являются частью онтологии. Построение концептуальных основ базы знаний исследуемой предметной области связано с использованием достижений искусственного интеллекта в области инженерии знаний. Инженерия знаний исследует разработку экспертных систем и баз знаний, изучает методы и средства извлечения, представления, структурирования и использования знаний. Статическая база знаний по заданной тематике может представлять собой продукционную систему правил, реализованную на базе абстрактного описания и реализации онтологии. Здесь осуществляется обратный логический вывод, то есть проверяются все правила на наличие указанных ситуаций. Правила содержат параметры двух видов: априорные (например, полученные заранее при расчетах статики корабля) и вычислимые, которые определяются на основе анализа входных данных (например характеристики качки при заданном волнении). Перед началом работы процедуры логического вывода все параметры внешней среды и судна должны быть рассчитаны в системе и (или) введены в онтологию извне. Здесь в качестве примера рассматриваются некоторые правила оценки и обобщения эксплуатационных ситуаций для танкера. За основу взяты средние для данного класса судов технические характеристики. В правилах по общей характеристике судна (для обратной цепочки логического вывода) используется следующая система обозначений: метацентрическая высота – расстояние между метацентром и центром тяжести судна (H), критическое значение метацентрической высоты (Hc), значение амплитуды бортовой качки 3 % обеспеченности (Q), динамический крен (Qc), значение амплитуды килевой качки (F), осадка судна (T), осадка носом (Tn), осадка кормой (Tk), глубина акватории (Hw), длина волны (La), водоизмещение (V), температура воздуха (tw). Все правила приводятся в нотации, соответствующей их компьютерному представлению (записи в базе знаний для формальной интерпретации): (H>Hc)&(H>0,15)&(Q≤12,0)&(F≤2,5)&(Tn>5,1)&(Tk>6,7) – нормальные условия эксплуатации; (H>Hc)&((Q≥12,0) or (F≥2,5)) – сильная качка судна, снижение эксплуатационных характеристик; (H (или) (H (Hw tw<0,0 – угрожающая ситуация: возможно обледенение. Данная продукционная система правил, построенная на базе абстрактного описания и реализации онтологии, позволяет описывать требуемые характеристики судна. Подытоживая вышесказанное, можно выделить следующие преимущества использования онтологий. · Онтологии обеспечивают общее понимание знаний в конкретных областях (в данном случае на примере задач динамики кораблей), которые могут быть переданы между людьми и прикладным системам. · Онтологии позволяют выделять общий смысл структуры информации; включать повторное использование уже существующих знаний о предметной области, а не создавать новые; делать допущения в предметной области однозначными; проверять знания о предметной области. · Онтологии имеют большое значение не только в области искусственного интеллекта, но и в организации информации, обработке естественного языка, поиске информации, представлении и приобретении знаний. Тем не менее следует выделить ряд проблем в онтологических системах, а также некоторые перспективные способы их решения. 1. Проблемы установления соответствия: - как ввести понятие эквивалентности между различными системами знаний или различными онтологиями одной предметной области; - как ввести понятие эквивалентности между системами знаний или онтологиями различных предметных областей; - как построить новую онтологическую систему на уже построенных онтологических системах или одной онтологией систем (баз) использовать знания других онтологий. 2. Проблемы расширенного использования знаний: - как повторно использовать системы знаний и онтологии предметных областей в различных проектах; проблема может быть решена изучением путей формирования расширенных логических систем отношений, являющихся отображением логических систем отношений и свойств таких систем; - как использовать общие базы знаний или как в одной онтологической модели предметной области можно использовать знания, накопленные в другой модели; решение может лежать в изучении путей построения новой модели онтологии предметной области, опираясь только на существующие модели и их расширения (в виде баз знаний). 3. Проблемы перевода человеческого знания в машинное и обратно: - как эксперту по предметной области перевести свои знания в компьютерные термины без посредника в лице инженера (оператора) по информационным технологиям; - как сделать содержание компьютерных баз знаний хорошо понятным для многих специалистов по предметным областям; возможный вариант решения – представление баз знаний в текстовом виде, текст должен иметь форму (структуру, стиль), удобную для специалистов предметных областей, и может быть получен при помощи современных средств создания документов, основанных на методах добычи данных из БД. 4. Проблемы формирования и отладки знаний: - как сформированное компьютерное знание сделать прозрачным и удобочитаемым для специалистов (для процесса отладки); - как сделать обновление знаний возможным и наиболее прозрачным для специалиста; в качестве одного из вариантов решения этой проблемы предполагается участие эксперта в формировании новой модели онтологии на базе уже существующей, привлечение его опыта, тем самым исключая возможные некорректные решения. 5. Проблемы, ориентированные на использование математического аппарата: как добывать и использовать методы для решения задач с помощью математической спецификации. Таким образом, в статье описаны возможности применения компьютерных онтологий на примере задач динамики кораблей. Приведены примеры реализации некоторых онтологий по выбранной тематике. Рассмотрен язык описания онтологий OWL, описаны его основные возможности. Так как часто возникает необходимость дополнения онтологий, упомянут язык запросов SPARQL. Для редактирования онтологий наиболее подходит программное средство Protégé. База знаний по заданной тематике может представлять собой продукционную систему правил, реализованную на базе абстрактного описания и онтологий. По мнению автора, использование онтологий имеет и достоинства, и недостатки. Литература 1. Гайкович А.И., Калмук А.С., Козлов А.С., Пегашев Г.Ю., Смирнов С.А., Фирсов В.Б. Предэскизное автоматизиро- ванное проектирование надводных судов // Судостроение. № 5. 2002. 2. Интеллектуальные системы в морских исследованиях и технологиях; [под ред. Ю.И. Нечаева]. СПб: ГМТУ, 2001. 3. Артемьева И.Л., Князева М.А., Купневич О.А. Онтология оптимизации программ в системе И_МЭСОП // Искусственный интеллект. 2000. № 3. 4. Онтологии в компьютерных системах. URL: http://www.rs-head.spb.ru/ru/ (дата обращения: 19.02.2013). |
http://swsys.ru/index.php?id=3453&lang=.&page=article |
|