Онтологии в корпоративных системах Часть II

Авторы: А.Я. Гладун, Ю.В. Рогушина

Источник: http://www.management.com.ua/ims/ims116.html




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

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

ФОРМАЛЬНАЯ МОДЕЛЬ ОНТОЛОГИИ

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

Формальная модель онтологии O=<Т, R, F> — это упорядоченная тройка конечных множеств, где:

Модели онтологий классифицируются таким образом:

Отношения представляют тип взаимодействия между концептами ПрО1. Пример бинарного отношения — «является частью». Следует заметить, что отношения, которые целесообразно использовать при создании онтологии, значительно менее разнообразны, чем термины, и, как правило, не специфичны для конкретной ПрО («часть-целое», «является подклассом», «оказывает воздействие», «похоже на» и т. п.).

Аксиомы используются для моделирования утверждений, которые всегда являются истинными.

Между концептами могут быть установлены определенные виды связей. Словарь терминов в определенной прикладной области, тезаурус со своими понятиями (концептами) и связи, которые определяют термины естественного языка, могут рассматриваться как онтологии. Для установления связи между вербально определенными концептами и поиском концептов релевантных запросов используются методы получения информации. Известными примерами онтологии такого типа являются индексы поисковых машин информации в Интернет.

Для описания более сложных систем вводят такие понятия, как модель расширяемой онтологии.

ЯЗЫКИ ОПИСАНИЯ ОНТОЛОГИЙ

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

Ключевым моментом в проектировании онтологии является выбор соответствующего языка спецификации онтологий (Ontology specification language). Цель таких языков — дать возможность указывать дополнительную машинно-интерпретируемую семантику ресурсов, сделать машинное представление данных более похожим на положение вещей в реальном мире, существенно повысить выразительные возможности концептуального моделирования слабо структурированных Web-данных.

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

Существуют традиционные языки спецификации онтологий: Ontolingua, CycL, языки, основанные на дескриптивных логиках (такие как LOOM), языки, основанные на фреймах (OKBC, OCML, Flogic).

Более поздние языки основаны на Web-стандартах (XOL, SHOE, UPML). Специально для обмена онтологиями через Web были созданы RDF(S), DAML, OIL, OWL, которые будут рассмотрены далее.

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

Язык RDF. В рамках проекта семантической интерпретации информационных ресурсов Интернет (Semantic Web) был предложен стандарт описания метаданных о документе Resource Description Framework, использующий XML-синтаксис.

RDF использует базовую модель данных «объект — атрибут — значение» и способен сыграть роль универсального языка описания семантики ресурсов и взаимосвязей между ними. Ресурсы описываются в виде ориентированного размеченного графа — каждый ресурс может иметь свойства, которые в свою очередь также могут быть ресурсами или их коллекциями. Все словари RDF используют базовую структуру, описывающую классы ресурсов и типы связей между ними. Это позволяет использовать разнородные децентрализованные словари, созданные для машинной обработки по разным принципам и методам. Важной особенностью стандарта является расширяемость: можно задать структуру описания источника, используя и расширяя такие встроенные понятия RDF-схем, как классы, свойства, типы, коллекции. Модель схемы RDF включает наследование классов и свойств.

RDF уже получил поддержку многих ведущих производителей ПО. Разработан ряд программных продуктов, позволяющих создавать RDF-описания для разного рода систем. Предполагаются возможности интеграции существующих хранилищ информации в общую базу семантического описания и интеграции концепции RDF-базы с форматом MPEG. RDF Schema — стандарт, предложенный по инициативе W3C для представления онтологических знаний. Он специфицирует множество всевозможных допустимых схем данных. Модели предметных областей описываются посредством ресурсов, свойств и их значений. RDFS предоставляет хорошие базовые возможности для описания словарей типов предметных областей. Одно из ограничений — невозможность с помощью RDFS выразить аксиоматические знания, т. е. задать аксиомы и правила вывода, построенные на них.

DAML+OIL — семантический язык разметки Web-ресурсов, расширяющий стандарты RDF и RDF Schema за счет более полных примитивов моделирования. Последняя версия DAML+OIL обеспечивает богатый набор конструкций для создания онтологии и разметки информации таким образом, чтобы их могла читать и понимать машина.

Первыми предложениями по описанию онтологии на базе RDFS были DARPA DAML-ONT (DARPA Agent Markup Language) и European Commission OIL (Ontology Inference Layer). Эти стандарты спецификации и обмена онтологиями были разработаны для поддержки процесса обмена знаниями и интеграции знаний. На базе этих предложений и возникло совместное решение DAML+OIL. Онтология DAML+OIL состоит из: заголовков (headers); элементов классов (class elements); элементов свойств (property elements); экземпляров (instances).

OWL (Web Ontology Language) — язык представления онтологий, расширяющий возможности XML, RDF, RDF Schema и DAML+OIL. Этот проект предусматривает создание мощного механизма семантического анализа. Планируется, что в нем будут устранены ограничения конструкций DAML+OIL.

Онтологии OWL — это последовательности аксиом и фактов, а также ссылок на другие онтологии. Они содержат компоненту для записи авторства и другой подробной информации, являются документами Web, на них можно ссылаться через URI.

В упоминавшемся уже проекте Semantic Web «машинная обработка смысла» контента будет сделана максимально четкой при помощи пометки документов указателем «с полным смыслом» на основе использования онтологических терминов. Таким образом, онтологии рассматриваются как ключевая технология для использования в Semantic Web (рис. 1).

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

ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА ОБРАБОТКИ ОНТОЛОГИЙ

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

Редакторы

Ontolingua. Кроме собственно редактора онтологии, эта система содержит сетевой компонент Webster, предназначенный для определения концептов, сервер, обеспечивающий доступ к онтологиям Ontolingua по протоколу OKBC (Open Knowledge Base Connectivity), и Chimaera — инструментарий для анализа и объединения онтологий.

Protégé — свободно распространяемая Java-программа, предназначенная для построения (создания, редактирования и просмотра) онтологий той или иной прикладной области. Она включает редактор онтологии, позволяющий проектировать онтологии, разворачивая иерархическую структуру абстрактных и конкретных классов и слотов. На основе сформированной онтологии Protégé позволяет генерировать формы получения знаний для введения экземпляров классов и подклассов.

Инструмент поддерживает использование языка OWL и позволяет генерировать html-документы, отображающие структуру онтологий. Поскольку он использует фреймовую модель представления знаний ОКВС, это позволяет адаптировать его и для редактирования моделей ПрО, представленных не в OWL, а в других форматах (UML, XML, SHOE, DAML+OIL, RDF и RDFS и т. п.).

DOE — простой редактор, который позволяет пользователю создавать онтологии. Процесс спецификации онтологии состоит из трех этапов.

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

На втором этапе две таксономии рассматриваются с разных точек зрения. Пользователь может расширить их новыми объектами или добавить ограничения на области отношений.

На третьем этапе онтология может быть переведена на язык представления знаний.

OntoEdit — инструментальное средство, обеспечивающее просмотр, проверку и модификацию онтологии. Оно поддерживает языки представления онтологии OIL и RDFS, а также внутренний язык представления знаний OXML, основанный на XML. Как и Protégé, это автономное Java-приложение, но его коды закрыты. Свободно распространяемая версия OntoEdit Free ограничена 50 концептами, 50 отношениями и 50 экземплярами.

OilEd -автономный графический редактор онтологии, разработанный в рамках проекта Оп-То-Knowledge. Он свободно распространяется по общедоступной лицензии GPL. Инструмент использует для представления онтологий язык OIL. В OilEd отсутствует поддержка экземпляров классов.

WebOnto разработан для просмотра, создания и редактирования онтологий. Для моделирования онтологий он использует язык OCML (Operational Conceptual Modeling Language). Пользователь может создавать различные структуры, в том числе классы со множественным наследованием. Инструмент имеет ряд полезных особенностей: просмотр отношений, классов и правил, возможна совместная работа над онтологией нескольких пользователей.

ODE (Ontological Design Environment) взаимодействует с пользователями на концептуальном уровне, обеспечивает их набором таблиц для заполнения (концептов, атрибутов, отношений) и автоматически генерирует код на языках LOOM, Ontolingua и FLogic. Инструмент получил свое развитие в WebODE, который интегрирует все сервисы ODE в единую архитектуру, сохраняя свои онтологии в реляционной БД.

Сложные инструментальные средства

Эти средства нужны для того, чтобы не только вводить и редактировать онтологическую информацию, но и анализировать ее, выполняя типичные операции над онтологиями, например:

PROMPT служит для объединения и группировки онтологий. Это дополнение к системе Protégé, реализованное в виде плагина. По двум онтологиям, которые надо объединить, PROMPT строит список операций (например, объединение терминов или их копирование в новую онтологию) и передает его пользователю, который может выполнить одну из предлагаемых операций. Затем список операций модифицируется, и создается список конфликтов и их возможных решений. Это повторяется до тех пор, пока не будет готова новая онтология.

Chimaera — интерактивный инструмент для объединения онтологии, базирующийся на редакторе онтологий Ontolingua.

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

OntoMorph определяет набор операторов преобразования, которые можно применить к онтологии.

OBSERVER объединяет онтологии с информацией об отображении между ними и находит синонимы в исходных онтологиях.

ONION базируется на алгебре онтологии и предоставляет инструменты для определения правил артикуляции (соединения) между онтологиями.

МЕТОДОЛОГИЯ СОЗДАНИЯ ОНТОЛОГИЙ

Практическая разработка онтологии включает:

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

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

Знание того, для чего предполагается использовать онтологию, и того, насколько детальной или общей она будет, может повлиять на многие решения, касающиеся моделирования.

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

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

Повторное использование существующих онтологии может быть необходимым, если системе нужно взаимодействовать с другими приложениями, которые уже вошли в отдельные онтологии или контролируемые словари. Многие полезные онтологии уже доступны в электронном виде и могут быть импортированы. Существуют библиотеки повторно используемых онтологий, например Ontolingua или DAML. Существует также ряд общедоступных коммерческих онтологий, например UNSPSC, RosettaNet, DMOZ.

ОРГАНИЗАЦИОННЫЕ ОНТОЛОГИИ И ПОРТАЛЫ ЗНАНИЙ

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

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

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

Разработанные онтологии позволят сотрудникам одной отрасли или корпорации использовать общую терминологию и избежать взаимных недоразумений, которые могут усложнить сотрудничество и привести к серьезным убыткам (например, организационная онтология четко отражает взаимную иерархию и связи между подразделениями предприятия, а также сферы их компетенции, а ссылки на определенные нормативные документы обеспечивают одинаковую базу для переговоров). Они обеспечат работу со структурированными источниками данных, для которых может быть построена схема данных, то есть описаны типы данных и связи между ними, и существует формальный способ получения отдельных элементов данных. Примерами структурированных источников данных можно считать различные базы данных (например реляционные и объектные), а также слабо структурированные ресурсы, описанные в форматах XML, RDF, OWL, DAML+OIL.

В качестве примера практического использования онтологических моделей технологий приведем систему ONTOLOGIC, предназначенную для создания и поддержки распределенных систем нормативно-справочной информации (НСИ), ведения словарей, справочников и классификаторов и поддержки системы кодирования объектов учета (см. рис. 3).

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

Для обеспечения однозначной идентификации и классификации объектов в системах НСИ разработана методика, использующая онтологическую модель формального описания классифицируемых данных, обеспечивающая выделение ключевых свойств объектов классификации и построение на их основе классификационного кода. Выделяются классы (группы однородной продукции) по принципу однородности набора технических и потребительских характеристик, и для каждого материала формируется классификационный код, включающий код класса и коды всех свойств и их значений для данного материала.

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

Данная технология предусматривает создание типового решения для управления основными данными и НСИ для промышленных предприятий, холдингов и государственных структур. В качестве технологической платформы используется SAP MDM (Master Data Management), предназначенный для интеграции различных (в том числе разноплатформенных) приложений в масштабе компании, холдинга, отрасли, госструктуры и т. п., а также для организации и управления отраслевой или корпоративной нормативно-справочной информацией (мастер-данными).

ПРИМЕРЫ ПРИМЕНЕНИЯ ОНТОЛОГИЙ

TOVE (Toronto Virtual Enterprise). Цель проекта — создание модели данных, которая должна:

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

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

Среди множества других проектов Ontolingua использует проект Enterprise project.

Enterprise Project. Целью проекта является улучшение (где необходимо, замена) существующих методов моделирования при помощи набора средств, позволяющих интегрировать различные методы и средства моделирования предприятия. Предполагается создание таких инструментальных средств, которые обеспечат: фиксирование и описание конкретной предметной области; определение задач и требований (согласующихся с онтологией); определение и оценку вариантов решений и альтернативных проектов, реализацию выбранной стратегии.

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

KACTUS. Цель проекта — построение методологии многократного применения знаний о технических системах во время их жизненного цикла. Это необходимо, чтобы использовать одни и те же базы знаний для проектирования, оценки, функционирования, сопровождения, перепроектирования и обучения.

KACTUS поддерживает интегрированный подход, включающий производственные и инженерные методы и методы инженерии знаний, на основе создания онтологической и вычислительной основы для многократного использования полученных знаний параллельно с различными приложениями технической области. Это достигается при помощи построения онтологии предметной области и ее многократного использования в различных прикладных областях. Кроме того, делается попытка объединить эти онтологии с существующими стандартами (например STEP), применяя онтологии там, где возможно фиксирование данных о конкретной области.

Основным формализмом в KACTUS является CML (Conceptual Modeling Language).

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

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

SHOE (Simple HTML Ontology Extensions) позволяет авторам аннотировать свои Web-страницы, внося в них семантическое содержание. Основным компонентом SHOE является онтология, которая содержит информацию о некоторой области. Используя эту информацию, средства поиска и построения запросов обеспечивают более релевантный ответ на запрос по сравнению с существующими поисковыми машинами, так как предоставляется возможность включать в Web-страницы знания, которые интеллектуальные агенты могут действительно прочитать. Для этого SHOE дополняет HTML набором специальных тэгов для представления знаний. SHOE позволяет находить знания с помощью таксономии и правил вывода, существующих в онтологии.

Plinus. Целью проекта является полуавтоматическое извлечение знаний из текстов на естественном языке, в частности, литературы о механических свойствах керамических материалов. Так как тексты охватывают широкий диапазон понятий, требуется множество интегрированных онтологии для охвата таких понятий, как керамические материалы и их свойства, способы их обработки, различные дефекты материалов, например, такие как трещины и поры. Онтология определяет язык, при помощи которого выражается семантическая часть словаря.

ЗАКЛЮЧЕНИЕ

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

Все это значительно усложняет взаимопонимание. Поэтому необходимо разрабатывать формализованные модели представления знаний, которые обеспечивали бы обработку информации на семантическом уровне в системах управления знаниями (СУЗ).

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

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