Языки онтологий Создание онтологий в редакторе Protégé-2000 icon

Языки онтологий Создание онтологий в редакторе Protégé-2000




Скачати 252.53 Kb.
НазваЯзыки онтологий Создание онтологий в редакторе Protégé-2000
Дата25.10.2012
Розмір252.53 Kb.
ТипЛекция
1. /XML-Лекция 1. концепция Семантического Веб.doc
2. /XML-Лекция 10. XSL.doc
3. /XML-Лекция 11. Сортировка и фильтрация.doc
4. /XML-Лекция 12. Другие способы отображения XML документов.docx
5. /XML-Лекция 13. XLINK.doc
6. /XML-Лекция 14_RDF.doc
7. /XML-Лекция 15_OWL.doc
8. /XML-Лекция 1_Презентация.docx
9. /XML-Лекция 2. Основы XML.doc
10. /XML-Лекция 3. Создание XML-документов.doc
11. /XML-Лекция 4. Обработка XML в C#.docx
12. /XML-Лекция 5. Создание XML-документов в C#.docx
13. /XML-Лекция 6. Отображение XML-документов в помощью CSS.doc
14. /XML-Лекция 7. Атрибуты и пространства имен.doc
15. /XML-Лекция 8. Определение типа документа.doc
16. /XML-Лекция 9. Схемы XSD.doc
“семантический web и языки информационного обмена”
Тема Обработка документов xml лекция 10. Способы преобразования документов xml план
Тема Обработка документов xml лекция 11. Фильтрация и сортировка данных xml план
Лекция 12. Другие способы отображения xml документов План Связывание xml данных с html страницей с помощью dso
Тема Связь xml документов Лекция 12. Создание ссылок на языке xlink
Стандарты rdf пример практического применения rdf
Языки онтологий Создание онтологий в редакторе Protégé-2000
Тема концепция семантического web
Тема Язык xml лекция Введение
Тема Основы xml лекция Создание и отображение xml-документа
Лекция Работа с xml в. Net план Классы для работы с xml. Net чтение и запись потоков данных Xml Использование класса XmlReader Методы чтения данных
Лекция Создание xml-документов в. Net план Использование класса XmlWriter запись потоков данных Xml Использование dom в. Net Чтение xml-документа с помощью XmlNodeList
Тема Основы xml лекция Применение css для отображения xml-документа
Тема Основы xml лекция 7
Тема xml-схемы – описание структуры документа лекция Определение типа документа (dtd document Type Definition)
Тема xml-схемы – описание структуры документа лекция Описание схемы документа средствами xsd (xml schema Definition language)


Тема 6. Описание семантики понятий в Web

Лекция 15 Онтологии в семантическом Web

План

  1. Что такое Онтология?

  2. Языки онтологий

  3. Создание онтологий в редакторе Protégé-2000

http://protege.stanford.edu

  1. Перспективы развития семантического веб


На первой лекции мы говорили о двух основных направлениях исследований в семантическом Web:

1. Разработка новых языков представление данных. На сегодняшний день такими языками являются Расширяемый Язык Разметки XML (eXtensible Markup Language) и Средства Описания Ресурсов RDF (Resource Description Framework).

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





Рис. 1. Стек технологий семантического Web (Пирог Тима Бернса-Ли)


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


1. Что такое Онтология?

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

Другими словами, онтология - это наука о бытии, наука о природе вещей и взаимосвязи между ними.

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


Онтология – описание модели предметной области


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


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

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

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

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


Типы онтологий (Википедия):


  • Мета-онтологии— описывают наиболее общие понятия, которые не зависят от предметных областей.

  • Онтология предметной области — формальное описание предметной области, обычно применяется для того, чтобы уточнить понятия определённые в мета-онтологии (если используется) и/или определить общую терминологическую базу предметной области.

  • Онтология конкретной задачи — онтология, определяющая общую терминологическую базу задачи, проблемы.

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

Формально онтология определяется как O = , где

  • X — конечное множество понятий предметной области,

  • R — конечное множество отношений между понятиями,

  • F — конечное множество функций интерпретации.

2. Языки онтологий

Для описания моделей предметных областей есть достаточно много подходов:

Графические нотации:

  • Семантические сети

  • UML

  • RDF


Основанные на логике:

  • Дескриптивные логики(OIL, DAML+OIL, OWL)

  • Правила(RuleML, LP/Prolog)

  • Логика первого порядка(KIF)

  • Концептуальные графы

  • Логики высших порядков(LBase)

  • Неклассические логики (FLogic, немонотонные логики, модальности)


Многие языки используют объектно-ориентированную модель, основанную на:


Объекты/Экземпляры/Индивидуумы:

– в логике первого порядка -эквивалентны константам


Типы/Классы/Понятия

–множества объектов, имеющих общие характеристики

–в логике первого порядка – эквивалентны унарным предикатам


Отношения/Свойства/Роли

–множества пар (троек) объектов

–в логике первого порядка – эквивалентны бинарным предикатам


Такие языки:

–хорошо понимаемы;

–формально специфицированы;

–(относительно) легки в использовании

–поддаются машинной обработке


Требования к языку онтологий для Web


ЯзыкWeb-онтологий должен:

•Расширять существующие стандарты Web –такие как XML, RDF, RDFS

•Быть простым для понимания и использования – должен базироваться на хорошо известных способах представления знаний

•Быть формально специфицированным

•Обладать “адекватной” выразительной мощностью

•Возможность обеспечить поддержку автоматических рассуждений


Язык OWL

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

Этот язык является развитием технологий XML и RDF и входит в разрабатываемый сегодня новый стек web-протоколов.


Три уровня OWL

OWL full- полная версия языка (объединение OWL-синтаксиса и RDF);

OWL DL-ограничен фрагментом логики первого порядка (¼DAML+OIL)

OWL Lite-“простое для реализации” подмножество OWL DL


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


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


OWL Full - полная версия языка.

Этот язык использует все базисные элементы языка OWL и позволяет комбинировать их случайным образом с RDF и схемой RDF. Полный OWL совместим "снизу вверх" с RDF, как синтаксически, так и семантически: любой разрешенный документ RDF является также разрешенным документом OWL Full. Маловероятно, что какие-либо интеллектуальные программные средства способны поддерживать все возможности OWL Full, поскольку этот язык предлагает максимум выразительных средств и синтаксической свободы RDF при отсутствии вычислительных гарантий.


OWL-документы: пространства имен

OWL-документы (обычно называемые OWL-онтологиями) являются RDF-документами (т.е. имеют корневой элемент rdf:RDF)

В этом элементе обычно специфицируются следующие пространства имен:


xmlns:owl ="http://www.w3.org/2002/07/owl#"

xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"

xmlns:xsd ="http://www.w3.org/2001/XLMSchema#">


Пример фрагмента онтологии предметной области Университет

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


OWL- документы: преамбула

•OWL-онтология может начинаться с множества утверждений для служебных целей. Эти утверждения группируются в элементе owl:Ontology, содержащем комментарии, управление версиями и включение других онтологий.


Например:



An example OWL ontology





University Ontology




•owl:imports-единственное утверждение, имеющее последствия для логического значения онтологии. Перечисляет другие онтологии, содержание которых подразумевается как часть текущей онтологии.


OWL: Элемент owl:Class

Классы определяются, используя элемент owl:Class, который является подклассом rdfs:Class.

















Пример:








Используя элемент owl:disjointWith можно сказать, что этот класс не пересекается с классами профессор и ассистент. Эти элементы могут включаться в приведенное выше определение или добавляться путем ссылки на id, используя rdf:about. Этот механизм наследуется от RDF:











OWL: эквивалентность классов.

Эквивалентность классов может быть определена, используя элемент owl:equivalentClass:









Классы owl:Thing и owl:Nothing

Два заранее определенных класса:

owl:Thing - наиболее общий класс, содержащий все. (все является вещью);

owl:Nothing - пустой класс.

Каждый класс является подклассом owl:Thing и суперклассом owl:Nothing


OWL: Элементы свойств (Property elements)

В OWL существует два вида свойств:

Объектные свойства(Object properties) -связывают объекты с другими объектами. Например: isTaughtBy, supervises и т.д.

Свойства -типы данных (Datatype properties) -связывают объекты со значениями типов данных. Например: phone, title, age и т.д.

OWL не имеет предопределенных типов данных и способов их определения;

OWL позволяет использовать типы данных XML Schema.

Пример свойства - типа данных:



< rdfs:range

rdf:resource="http://www.w3.org/2001/XLMSchema#nonNegativeInteger"/ >




OWL: Пример объектного свойства

Определяемые пользователем типы данных будут обычно собираться в XML-схему, а затем использоваться в OWL-онтологии.


Пример объектного свойства:












OWL: Инверсные свойства

OWL позволяет задавать «инверсные свойства», например: преподается и преподает.












Области определения и область значений могут наследоваться от инверсного свойства (перестановкой области определения и области значений)


OWL: Эквивалентные свойства

•Эквивалентность свойств может быть определена используя элемент owl:equivalentProperty:









OWL: Ограничения свойств

•Элемент owl:Restriction в общем случае содержит элемент owl:onProperty и одно или более объявлений ограничений.

•Два типа ограничений:

–ограничения на тип значений свойства (owl:allValuesFrom, owl:hasValue и owl:someValuesFrom);

–ограничения кардинальности (числа значений)

OWL: Ограничения свойств - all

allValuesFrom ValuesFrom

rdfs:subClassOf позволяет специфицировать класс C как подкласс другого класса C'. Объявление класса C, элементы которого удовлетворяют определенным условиям, эквивалентно утверждению, что C является подклассом C', в котором собраны все объекты, удовлетворяющие этим условиям.

Пример -элемент определяет курсы первого года обучения, читаемые только профессорами:


















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


OWL: Ограничения свойств - hasValue

Объявление, что курсы по математике читаются профессором, имеющим идентификатор 949352:













< /rdfs:subClassOf >




owl:hasValue утверждает, что свойство, специфицированное элементом owl:onProperty должно иметь конкретное значение.


OWL: Ограничения свойств - some

someValuesFrom ValuesFrom


Пример:

















Преподаватели должны читать по крайней мере один предмет на старшем курсе.


OWL: Ограничения кардинальности свойств


Пример «Каждый курс читается по крайней мере одним преподавателем»:











1










Литерал «1» интерпретируется как неотрицательное целое (nonNegativeInteger), а не как строка или еще что-то;

Используется объявление пространства имен xsd, сделанное в элементе-заголовке для ссылки на документ XML-Schema.


OWL: Ограничения кардинальности свойств


«Кафедра должна включать от не менее 5 и не более 20 сотрудников»:










5



20










Примеры онтологий

Примерами онтологий являются каталоги сайтов интерактивных покупок, таких как Amazon.com, стандартные терминологии той или иной области деятельности, например, UNSPSC - The United Nations Standard Products and Services Code (система стандартных продуктов и услуг ООН), или различные таксономические системы интернета, такие как категории сайта "My Yahoo".

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


3. Создание онтологий в редакторе Protégé-2000

Protégé – локальная Java программа, разработанная группой медицинской інформатики Стенфордского университета. Программа предназначена для построения (создания, редактирования и просмотра) онтологий моделей прикладной области. Её первоначальная цель – помочь разработчикам программного обеспечения в создании и поддержке явных моделей предметной области и включение этих моделей непосредственно в программный код. Protégé включает редактор онтологий, позволяющий проектировать онтологии разворачивая иерархическую структуру абстрактных или конкретных классов и слотов. Структура онтологии сделана аналогично иерархической структуре каталога. На основе сформированной онтологии, Protégé может генерировать формы получения знаний для введения экземпляров классов и подклассов. Инструмент имеет графический интерфейс удобный для использования неопытными пользователями, снабжен справками и примерами. Protégé основан на фреймовой модели представления знания OKBC (Open Knowledge Base Connectivity) и снабжен рядом плагинов, что позволяет его адаптировать для редактирования моделей в разных форматах.

Онтология в Protégé представляется классами, слотами, фасетами и аксиомами.

Классы могут быть абстрактными или конкретными.

Абстрактные классы являются контейнерами конкретных классов и могут содержать абстрактные атрибуты (которые не содержат конкретных значений).

Атрибуты понятий в Protege называются слотами.

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

Protege поддерживает множественное наследование: один класс может иметь несколько суперклассов.

Для определения типов и ограничений на значение используются фасеты.

Слоты в Protege описывают свойства классов и экземпляров (возможные атрибуты). Согласно фреймовой модели, слот – это фрейм. Слоты определяются независимо от любого класса и один и тот же слот может принадлежать разным классам.

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

Слоты-образцы (template slot) и собственные (own) слоты. Слот можно присоединить к фрейму (классу) одним из двух способов: как слот-образец или как собственный слот. Собственный слот, присоединенный к фрейму, описывает свойства объекта, представленного фреймом. Классы также могут иметь собственные слоты. Например, документация класса является собственным слотом, присоединенным к классу, поскольку описывает сам класс, а не экземпляры класса.


Пример онтологии вин

(онтология 101)

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

    Слоты описывают свойства классов и экземпляров: вино Chateau Lafite Rothschild Pauillac - крепкое, оно производится на винном заводе Chateau Lafite Rothschild. У нас есть два слота, которые описывают вино в этом примере: слот крепость со значением «крепкое» и слот производитель со значением «винный завод Chateau Lafite Rothschild». Мы можем сказать, что на уровне класса у экземпляров класса Вино есть слоты, которые описывают вкус, крепость, уровень сахара, производителя вина и т.д.

    Все экземпляры класса Вино и его подкласс Pauillac имеют слот производитель, значение которого является экземпляром класса Винный завод (Рис. 1). Все экземпляры класса Винный завод имеют слот производит, относящийся ко всем винам (экземплярам класса Вино и его подклассов), которые производятся на этом заводе.

    На практике разработка онтологии включает:

    • определение классов в онтологии;

    • расположение классов в таксономическую иерархию (подкласс – надкласс);

    • определение слотов и описание допускаемых значений этих слотов;

    • заполнение значений слотов экземпляров.

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






    Рис. 1. Некоторые классы в области вин, экземпляры и отношения между ними. Черным обозначены классы, а красным – экземпляры. Прямые связи обозначают слоты и внутренние связи, такие как «экземпляр [класса]» и «подкласс [класса]».


Этапы создания онтологии

    Шаг 1. Определение области и масштаба онтологии.

Какие задачи должна решать онтология?

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


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

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

Вопросы для проверки компетентности


Один из способов определить масштаб онтологии – это набросать список вопросов, на которые должна ответить база знаний, основанная на онтологии, т.е. вопросы для проверки компетентности. Эти вопросы будут служить лакмусовой бумажкой: Содержит ли онтология достаточно информации для ответа на эти типы вопросов? Требуется ли для ответов особый уровень детализации или представление определенной области? Эти вопросы для проверки компетентности являются всего лишь формальными и не должны быть исчерпывающими.

В области вина и еды возможны следующие вопросы для проверки компетентности:

1. Какие характеристики вина мне следует учитывать при выборе вина?

2. Вино Bordeaux красное или белое?

3. Хорошо ли сочетается Cabernet Sauvignon с морскими продуктами?

4. Какое вино лучше всего подойдет к жареному мясу?

5. Какие характеристики вина влияют на его сочетаемость с блюдом?

6. Влияет ли с год производства вина на его букет или крепость?

7. Какие урожаи Napa Zinfandel были хорошими?

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


Шаг 2. Рассмотрение вариантов повторного использования существующих онтологий

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

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


Шаг 3. Перечисление важных терминов в онтологии

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


Шаг 4. Определение классов и иерархии классов

Существует несколько возможных подходов для разработки иерархии классов:

      • Процесс нисходящей разработки начинается с определения самых общих понятий предметной области с последующей конкретизацией понятий. Например, мы можем начать с создания классов для общих понятий Вино и Еда. Затем мы конкретизируем класс Вино, создавая его подклассы: Белое вино, Красное вино, Розовое вино. Мы можем еще дальше категоризировать класс Красное Вино, например, в Syrah, Red Burgundy, Cabernet Sauvignon и т.д.

      • Процесс восходящей разработки начинается с определения самых конкретных классов, листьев иерархии, с последующей группировкой этих классов в более общие понятия. Например, сначала мы определяем классы для вин Pauillac и Margaux. Затем мы создаем общий надкласс для двух этих классов – Medoc, который, в свою очередь является подклассом Bordeaux.

      • Процесс комбинированной разработки – это сочетание нисходящего и восходящего подходов: Сначала мы определяем более заметные понятия, а затем соответствующим образом обобщаем и ограничиваем их. Мы могли бы начать с нескольких понятий высшего уровня, таких как Вино, и нескольких конкретных понятий, таких как Margaux. Затем мы можем соотнести их с понятием среднего уровня, таким как Medoc. После этого нам может понадобиться сформировать все классы вин из области Франции, формируя таким образом ряд понятий среднего уровня.

На рис. 2 показано возможное деление на различные уровни обобщения.



Рис. 2. Различные уровни таксономии Вино: Вино, Красное вино, Белое вино, Розовое вино – более общие понятия, верхний уровень. Pauillac и Margaux – самые конкретные классы в иерархии, нижний уровень.


Ни один из этих трех методов не лучше других по своей сути. Какой метод мы бы ни избрали, обычно мы начинаем с определения классов. Из списка, составленного в Шаге 3, мы выбираем термины, которые описывают объекты, существующие независимо, а не термины, которые описывают эти объекты. В онтологии эти термины будут классами и станут точками привязки в иерархии классов]. Мы организуем классы в иерархическую таксономию, задавая вопрос: если объект является экземпляром одного класса, будет ли он обязательно (т.е. по определению) экземпляром некоторого другого класса?

Если класс А – надкласс класса В, то каждый экземпляр В также является экземпляром А.

Другими словами, класс В представляет собой понятие, которое является «разновидностью» А.

Например, каждое вино Pinot Noir – обязательно красное вино. Поэтому класс Pinot Noir – подкласс класса Красное вино.

На рис. 2 показана часть иерархии классов онтологии по винам.




Рис. 3. Слоты класса Вино и фацеты этих слотов. Значок “I” рядом со слотом производитель указывает, что у слота есть обратный слот


Шаг 5. Определение свойств классов – слотов

Классы сами по себе не предоставляют достаточно информации для ответа на вопросы проверки компетентности из Шага 1. После определения некоторого количества классов мы должны описать внутреннюю структуру понятий.

Мы уже выбрали классы из списка терминов, который мы создали на Шаге 3. Большинство оставшихся терминов, вероятно, будут свойствами этих классов. Эти термины включают, к примеру, цвет вина, его крепость, вкус и содержание сахара, а также местоположение винного завода.

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

Вообще, в онтологии слотами могут стать несколько типов свойств объектов:

  • «внутренние» свойства, такие как вкус вина;

  • «внешние» свойства, такие как название вина и область, в которой оно было произведено;

  • части, если объект имеет структуру; они могут быть как физическими, так и абстрактными «частями» (например, блюда, входящие в обед);

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

Таким образом, в дополнение к ранее определенным свойствам, к классу Вино нам нужно добавить следующие слоты: название, область, производитель, виноград. На рис. 3 показаны слоты класса Вино.

Все подклассы класса наследуют слот этого класса. Например, все слоты класса Вино будут унаследованы всеми подклассами этого класса, включая Красное Вино и Белое Вино. К классу Красное Вино мы добавим дополнительный слот уровень танина (низкий, средний или высокий). Слот уровень танина будет унаследован всеми классами, представляющими красные вина (такие как Bordeaux и Beaujolais).

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


Шаг 6. Определение фацетов слотов

Слоты могут иметь различные фацеты, которые описывают тип значения, разрешенные значения, число значений (мощность) и другие свойства значений, которые может принимать слот. Например, значение слота название (как в «название вина») – одна строка. То есть, название – это слот с типом значения Строка. Слот производит (как в выражении «винный завод производит эти вина») может иметь множественные значения, которые являются экземплярами класса Вино. То есть, производит – это слот с типом значения Экземпляр, и разрешенным классом является Вино.

Сейчас мы опишем несколько общих фацетов.


Мощность слота

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

Некоторые системы позволяют определить минимальную и максимальную мощность для того, чтобы более точно описать количество значений слота. Минимальная мощность N означает, что слот должен иметь не менее N значений. Например, слот виноград класса Вино имеет минимальную мощность 1: каждое вино делается, как минимум, из одного сорта винограда. Максимальная мощность М означает, что слот может иметь максимум М значений. Максимальная мощность слота виноград для вин из одного сорта винограда равняется 1. Иногда полезно установить максимальную мощность в 0. Эта установка будет означать, что для определенного подкласса слот не может иметь значений.


Тип значения слота

Фацет типа значения описывает, какие типы значений можно ввести в слот. Вот список наиболее общих типов значений:

  • Строка – самый простой тип значения, который используется в таких слотах, как название: значением является простая строка.

  • Число (иногда используются более конкретные типы значений: Float (Число с плавающей запятой) и Integer (Целое число)) описывает слоты числовыми значениями. Например, стоимость вина может иметь тип Float.

  • Булевы слоты – это простые флаги «да - нет». Например, если мы не будет представлять игристые вина как отдельный класс, то принадлежность к игристым винам может быть показана значением булевого слота: если значение «истина» («да»), то вино игристое, а если значение «ложь» («нет»), то вино не игристое.

  • Нумерованные слоты определяют список конкретных разрешенных значений слота. Например, мы можем установить, что слот вкус может принять одно из трех возможных значений: сильный, умеренный и мягкий. В Protege-2000 нумерованные слоты имеют тип Символ.

  • Слоты-экземпляры позволяют определить отношения между индивидными концептами. Слоты с типом значения Экземпляр также должны определять список разрешенных классов, экземпляры которых можно использовать. Например, слот производит класса Винный завод в качестве значений может иметь экземпляры класса Вино.

На рис. 4 показано определение слота производит класса Винный завод.





Рис. 4. Определение слота производит, который описывает вина, производимые на винном заводе. Слот имеет множественную мощность и значение типа Экземпляр.

Разрешенным классом для значений этого слота является класс Вино.

Домен слота и диапазон значений слота


Разрешенные классы для слотов типа Экземпляр часто называют диапазоном значений слота. В примере на рис. 4 класс Вино является диапазоном значений слота производит. Некоторые системы позволяют ограничить диапазон значений слота, если слот привязан к определенному классу.

Шаг 7. Создание экземпляров

Последний шаг – это создание отдельных экземпляров классов в иерархии. Для определения отдельного экземпляра класса требуется (1) выбрать класс, (2) создать отдельный экземпляр этого класса и (3) ввести значения слотов. Например, мы можем создать отдельный экземпляр Chateau-Morgon-Beaujolais для представления определенного типа вина Beaujolais. Chateau-Morgon-Beaujolais – это экземпляр класса Beaujolais, представляющего все вина Beaujolais. У этого экземпляра определены следующие значения слотов (рис. 5):

  • Крепость: Легкое

  • Цвет: Красный

  • Вкус: Мягкий

  • Уровень танина: Низкий

  • Виноград: Gamay (экземпляр класса Виноград для изготовления вин)

  • Производитель: Chateau-Morgon (экземпляр класса Винный завод)

  • Область: Beaujolais (экземпляр класса Винная область)

  • Сахар: Сухое





Рис. 5. Определение экземпляра класса Beaujolais. Экземпляром является вино Chateua Morgon Beaujolais из области Beaujolais, произведенное из винограда Gamay на заводе Chateau Morgon. Оно легкое, с мягким вкусом, красное, с низким уровень танина. Это сухое вино.


Обеспечение правильности иерархии классов

Отношение “is-a”1

Иерархия классов представляет отношение “is-a”: класс А – это подкласс В, если каждый экземпляр В также является экземпляром А. Например, Chardonnay – подкласс класса Белое Вино. Другой способ подхода к таксономическому отношению – это отношение “kind-of”2: Chardonnay –вид Белого вина. Реактивный лайнер –вид самолета. Мясо – вид еды.

Подкласс класса представляет понятие, которое является «разновидностью» понятия, представляемого надклассом.


Отдельно взятое вино не является подклассом всех вин




Рис. 7. Категоризация вин. Простое перечисление всех вин против нескольких уровней категоризации.


Перспективы развития семантического веб

Уже сегодня практически все известные компании уровня IBM, Adobe или Sun Microsystems, активно используют технологию Семантического Web в своих продуктах для решения задач управления данными.

Компания Microsoft инвестирует сотни миллионов долларов в проект взаимодействующих сетевых ресурсов .NET, который отражает их представление о ближайшем будущем Internet. Создаваемая система позволяет проводить автоматизированный обмен сетевыми ресурсами между отдельными программами, приложениями, базами данных, пользователями, основываясь на XML, как на ключевой технологии.

В Европе ведется проект, подобный Семантическому Web, - "Сеть знаний", Knowledge Web (http://kw.dia.fi.upm.es/semanticportal/jsp/frames.jsp). Эта сеть ориентирована на нужды информационных технологий в промышленности, науке и образовании, а Семантический Web (поддерживаемый и в Европе - SWAD-Europe, www.w3.org/ 2001/sw/Europe/) больше рассчитан на электронную коммерцию и упрощение работы пользователей сети Интернет.

Недавно в рамках идеологии Семантического Web в School of Electronics & Computer Science (ECS) Университета Саутгемптона была разработана система mSpace. Программное обеспечение этой системы представляет собой набор мощных инструментов, позволяющих собирать данные из различных источников и организовывать информацию по категориям и дающих возможность пользователю свободно ориентироваться в ней.

Перспективы


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

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

1 Буквально «является».

2 Буквально «вид, разновидность [чего-то]».

Схожі:

Языки онтологий Создание онтологий в редакторе Protégé-2000 iconОформление материалов
Материалы докладов оформляются в форме статей. Текст статьи набирается в редакторе ms word 2000-2003. Для сопровождения доклада необходимо...
Языки онтологий Создание онтологий в редакторе Protégé-2000 iconТребования к оформлению текстов докладов
Материалы могут быть подготовлены на украинском, русском или английском языках. Текст необходимо подготовить в редакторе Microsoft...
Языки онтологий Создание онтологий в редакторе Protégé-2000 iconЛитература:” печатают по центру 12 шрифтом; формулы и рисунки размещают в тексте. Формулы создают в редакторе Microsoft Equation или MathTypeки содзают в графических редакторах. Пример оформления тезисов доклада
Объем текста тезисов доклада не должен превышать 1-2 полных страниц формата А4, набранных на одном из рабочих языков конференции...
Языки онтологий Создание онтологий в редакторе Protégé-2000 iconГост 5402. 1-2000
Принят межгосударственным Советом по стандартизации, метрологии и сертификации (протокол №17-2000 от 22 июня 2000 г.)
Языки онтологий Создание онтологий в редакторе Protégé-2000 iconГост 5402. 2-2000 (исо 2477-87) межгосударственный стандарт
Принят межгосударственным Советом по стандартизации, метрологии и сертификации (протокол №17-2000 от 22 июня 2000 г.)
Языки онтологий Создание онтологий в редакторе Protégé-2000 iconМетодические указания к выполнению контрольной работы по дисциплине «Основы программирования и алгоритмические языки»
Методические указания к выполнению контрольной работы по дисциплине «Основы программирования и алгоритмические языки» для студентов...
Языки онтологий Создание онтологий в редакторе Protégé-2000 iconЛабораторная работа №12 Создание таблиц в ms access. Вариант 8 Используя конструктор таблиц, создать таблицы. Проконтролировать создание ключевых полей. База данных «Тренировки»
Тип упражнения – текст 1 (значения – «с» – статич., «д» – динамич., «р» – разминочное)
Языки онтологий Создание онтологий в редакторе Protégé-2000 iconЛабораторная работа №12 Создание таблиц в ms access. Вариант 10 Используя конструктор таблиц, создать таблицы. Проконтролировать создание ключевых полей. База данных «Недвижимость»
Состояние – текст 12 (значения: «отличное», «хорошее», «удовлетв.», «нужен ремонт»)
Языки онтологий Создание онтологий в редакторе Protégé-2000 iconЛабораторная работа №12 Создание таблиц в ms access. Вариант 14 Используя конструктор таблиц, создать таблицы. Проконтролировать создание ключевых полей. База данных «вуз» Таблица «Факультеты»
Используя конструктор таблиц, создать таблицы. Проконтролировать создание ключевых полей
Языки онтологий Создание онтологий в редакторе Protégé-2000 iconЛабораторная работа №12 Создание таблиц в ms access. Вариант 3 Используя конструктор таблиц, создать таблицы. Проконтролировать создание ключевых полей. База данных «Каталог видеозаписей»
Используя конструктор таблиц, создать таблицы. Проконтролировать создание ключевых полей
Языки онтологий Создание онтологий в редакторе Protégé-2000 iconЛабораторная работа №12 Создание таблиц в ms access. Вариант 24 Используя конструктор таблиц, создать таблицы. Проконтролировать создание ключевых полей. База данных «Аудитории вуза»
Используя конструктор таблиц, создать таблицы. Проконтролировать создание ключевых полей
Додайте кнопку на своєму сайті:
Документи


База даних захищена авторським правом ©zavantag.com 2000-2013
При копіюванні матеріалу обов'язкове зазначення активного посилання відкритою для індексації.
звернутися до адміністрації
Документи