20101003 ontology konev_lecture09
TRANSCRIPT
![Page 1: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/1.jpg)
Ontology engeneeringРазработка онтологий
![Page 2: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/2.jpg)
Что такое “Ontology Engineering”?
Разработка онтологий —
это процесс определения терминов домена и отношений между ними:
• определение концептов домена (классов)
Онтологии и представление знаний, 2010 2
![Page 3: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/3.jpg)
Что такое “Ontology Engineering”?
Разработка онтологий —
это процесс определения терминов домена и отношений между ними:
• определение концептов домена (классов)
• организация концептов в иерархию (подкласс-суперкласс)
Онтологии и представление знаний, 2010 2
![Page 4: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/4.jpg)
Что такое “Ontology Engineering”?
Разработка онтологий —
это процесс определения терминов домена и отношений между ними:
• определение концептов домена (классов)
• организация концептов в иерархию (подкласс-суперкласс)
• определение атрибутов и свойств классов, а также
ограничений на их значения
Онтологии и представление знаний, 2010 2
![Page 5: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/5.jpg)
Что такое “Ontology Engineering”?
Разработка онтологий —
это процесс определения терминов домена и отношений между ними:
• определение концептов домена (классов)
• организация концептов в иерархию (подкласс-суперкласс)
• определение атрибутов и свойств классов, а также
ограничений на их значения
• определение индивидов и придание значений атрибутам/свойствам.
Онтологии и представление знаний, 2010 2
![Page 6: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/6.jpg)
Зачем разрабатывать онтологии?
• Чтобы добиться общего понимания терминов и для обмена информацией
– между людьми
– между программами
Онтологии и представление знаний, 2010 3
![Page 7: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/7.jpg)
Зачем разрабатывать онтологии?
• Чтобы добиться общего понимания терминов и для обмена информацией
– между людьми
– между программами
• Для повторного использования знаний
– не “изобретаем колесо”
– стандарты
Онтологии и представление знаний, 2010 3
![Page 8: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/8.jpg)
Зачем разрабатывать онтологии?
• Чтобы добиться общего понимания терминов и для обмена информацией
– между людьми
– между программами
• Для повторного использования знаний
– не “изобретаем колесо”
– стандарты
• Чтобы явно записать что мы знаем о какой-то области
– эволюция знаний
– легче понимать и поддерживать
Онтологии и представление знаний, 2010 3
![Page 9: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/9.jpg)
Зачем разрабатывать онтологии?
• Чтобы добиться общего понимания терминов и для обмена информацией
– между людьми
– между программами
• Для повторного использования знаний
– не “изобретаем колесо”
– стандарты
• Чтобы явно записать что мы знаем о какой-то области
– эволюция знаний
– легче понимать и поддерживать
• Чтобы отделить знания об области от процедур
– повторное использование знаний и повторное использование процедур
Онтологии и представление знаний, 2010 3
![Page 10: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/10.jpg)
Разработка онтологий vs. ОО-моделирование
Онтология ОО классы
Онтологии и представление знаний, 2010 4
![Page 11: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/11.jpg)
Разработка онтологий vs. ОО-моделирование
Онтология ОО классы
• отражает
строение мира
• отражает
построение кода и данных
Онтологии и представление знаний, 2010 4
![Page 12: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/12.jpg)
Разработка онтологий vs. ОО-моделирование
Онтология ОО классы
• отражает
строение мира
• отражает
построение кода и данных
• фокусируется на
структуре концептов
• фокусируется на
поведении (методы)
Онтологии и представление знаний, 2010 4
![Page 13: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/13.jpg)
Разработка онтологий vs. ОО-моделирование
Онтология ОО классы
• отражает
строение мира
• отражает
построение кода и данных
• фокусируется на
структуре концептов
• фокусируется на
поведении (методы)
• физическое
представление
не важно
• описывает физическое
представление данных
(int, char, etc.)
Онтологии и представление знаний, 2010 4
![Page 14: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/14.jpg)
Цикл разработки онтологий
Онтологии и представление знаний, 2010 5
![Page 15: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/15.jpg)
Цикл разработки онтологий
Онтологии и представление знаний, 2010 6
![Page 16: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/16.jpg)
Анализ требований и области применения
• Какую область знаний должна покрывать онтология?
• Какие термины необходимы в данной области?
• На какие типы вопросов информация, хранимая в онтологии, должна позволять
найти ответ?
• Какая выразительная сила языка представления онтологий потребуется?
• Какие программные средства будут использованы?
• Гетерогенность, распределенность, автономность
• Гипотеза открытого мира vs гипотеза закрытого мира
• Статический или динамический процесс
• Ограниченные, неполные знания
• Анализ случаев
– Какая информация доступна
– Какие вопросы зададут
– Типы и роли пользователей
Онтологии и представление знаний, 2010 7
![Page 17: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/17.jpg)
Пример: онтология животных и растений
Онтология животных (и растений), упоминающихся в детских книжках, с целью создания
предметного указателя. Должна включать:
• где живут
• что едят
(хищное, травоядное, всеядное)
• опасны ли они
• большие ли они
• немного анатомии
(количество ног, крыльев, пальцев, и т.п.)
Онтологии и представление знаний, 2010 8
![Page 18: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/18.jpg)
Цикл разработки онтологий
Онтологии и представление знаний, 2010 9
![Page 19: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/19.jpg)
Анализ области применения
• Для чего будет использована эта онтология?
– Онтология не должна содержать ВСЕ возможные знания о домене
* не требуется уточнять или обобщать более, чем необходимо
* не требуется включать все возможные свойства классов
Онтологии и представление знаний, 2010 10
![Page 20: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/20.jpg)
Анализ области применения
• Для чего будет использована эта онтология?
– Онтология не должна содержать ВСЕ возможные знания о домене
* не требуется уточнять или обобщать более, чем необходимо
* не требуется включать все возможные свойства классов
Пример: онтология биологических экспериментов содержит
BiologicalOrganism и Experimenter.
Онтологии и представление знаний, 2010 10
![Page 21: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/21.jpg)
Анализ области применения
• Для чего будет использована эта онтология?
– Онтология не должна содержать ВСЕ возможные знания о домене
* не требуется уточнять или обобщать более, чем необходимо
* не требуется включать все возможные свойства классов
Пример: онтология биологических экспериментов содержит
BiologicalOrganism и Experimenter.
Должен ли класс Experimenter быть подклассом BiologicalOrganism?
Онтологии и представление знаний, 2010 10
![Page 22: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/22.jpg)
Анализ области применения
• Для чего будет использована эта онтология?
– Онтология не должна содержать ВСЕ возможные знания о домене
* не требуется уточнять или обобщать более, чем необходимо
* не требуется включать все возможные свойства классов
Пример: онтология биологических экспериментов содержит
BiologicalOrganism и Experimenter.
Должен ли класс Experimenter быть подклассом BiologicalOrganism?
– Предметный указатель
Онтологии и представление знаний, 2010 10
![Page 23: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/23.jpg)
Цикл разработки онтологий
Онтологии и представление знаний, 2010 11
![Page 24: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/24.jpg)
Повторное использование
• Редко начинаем на пустом месте
– меньше усилий
– средства разработки
– проверенные временем
• Стандартные термины легко доступны
• Использовать модули
Онтологии и представление знаний, 2010 12
![Page 25: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/25.jpg)
Где брать?
• Библиотеки онтологий
– DAML ontology library (www.daml.org/ontologies)
– Protégé ontology library (protege.stanford.edu/plugins.html)
• Онтологии верхнего уровня
– IEEE Standard Upper Ontology (suo.ieee.org)
– Cyc (www.cyc.com)
• Общие онтологии
– DMOZ (www.dmoz.org)
– WordNet (www.cogsci.princeton.edu/ wn/)
• Специальные онтологии
– UMLS Semantic Net
– GO (Gene Ontology) (www.geneontology.org)
Онтологии и представление знаний, 2010 13
![Page 26: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/26.jpg)
Цикл разработки онтологий
Онтологии и представление знаний, 2010 14
![Page 27: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/27.jpg)
Перечисление терминов
• собрать термины
– какие термины
– какие у них свойства?
– что мы хотим сказать про эти термины?
• неформально сгруппировать
• перефразировать и уточнить термины, чтобы получить неформальные определения
концептов
• нарисовать неформальную диаграмму
Онтологии и представление знаний, 2010 15
![Page 28: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/28.jpg)
Сортировка карточек
• написать название концепции/класса/идеи на карточке
• сложить в кучки по смыслу
• понять связи между кучками
• повторить (можно в небольшой группе людей)
Онтологии и представление знаний, 2010 16
![Page 29: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/29.jpg)
Пример
Dog Carnivore Dangerous
Cat Plant Pet
Cow Animal Domestic Animal
Person Draught Animala Farm Animal
Tree Child Food Animal
Grass Parent Fish
Herbivore Mother Carp
Male Father Goldfish
Female Pig
aездовые и вьючные животные
Онтологии и представление знаний, 2010 17
![Page 30: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/30.jpg)
Пример
Dog Carnivore Dangerous
Cat Plant Pet
Cow Animal Domestic Animal
Person Draught Animala Farm Animal
Tree Child Food Animal
Grass Parent Fish
Herbivore Mother Carp
Male Father Goldfish
Female Pig
aездовые и вьючные животные
Dog Carnivore Dangerous
Cat Plant Pet
Cow Animal Domestic Animal
Person Draught Animala Farm Animal
Tree Child Food Animal
Grass Parent Fish
Herbivore Mother Carp
Male Father Goldfish
Female Pig
Онтологии и представление знаний, 2010 17
![Page 31: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/31.jpg)
Группировать, добавлять и обобщать
Для группы вещей/классов/идей и задаться вопросом что у них общего
и какие ‘родственники’ у них есть.
Онтологии и представление знаний, 2010 18
![Page 32: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/32.jpg)
Группировать, добавлять и обобщать
Для группы вещей/классов/идей и задаться вопросом что у них общего
и какие ‘родственники’ у них есть.
Например
• Plant, Animal
Онтологии и представление знаний, 2010 18
![Page 33: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/33.jpg)
Группировать, добавлять и обобщать
Для группы вещей/классов/идей и задаться вопросом что у них общего
и какие ‘родственники’ у них есть.
Например
• Plant, Animal — Живое Существо (а как быть с Bacteria, Fungi?)
Онтологии и представление знаний, 2010 18
![Page 34: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/34.jpg)
Группировать, добавлять и обобщать
Для группы вещей/классов/идей и задаться вопросом что у них общего
и какие ‘родственники’ у них есть.
Например
• Plant, Animal — Живое Существо (а как быть с Bacteria, Fungi?)
• Cat, Dog, Cow, Person
Онтологии и представление знаний, 2010 18
![Page 35: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/35.jpg)
Группировать, добавлять и обобщать
Для группы вещей/классов/идей и задаться вопросом что у них общего
и какие ‘родственники’ у них есть.
Например
• Plant, Animal — Живое Существо (а как быть с Bacteria, Fungi?)
• Cat, Dog, Cow, Person — Млекопитающее (добавить Goat, Rabbit?)
Онтологии и представление знаний, 2010 18
![Page 36: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/36.jpg)
Группировать, добавлять и обобщать
Для группы вещей/классов/идей и задаться вопросом что у них общего
и какие ‘родственники’ у них есть.
Например
• Plant, Animal — Живое Существо (а как быть с Bacteria, Fungi?)
• Cat, Dog, Cow, Person — Млекопитающее (добавить Goat, Rabbit?)
• Cow, Goat, Sheep, Horse
Онтологии и представление знаний, 2010 18
![Page 37: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/37.jpg)
Группировать, добавлять и обобщать
Для группы вещей/классов/идей и задаться вопросом что у них общего
и какие ‘родственники’ у них есть.
Например
• Plant, Animal — Живое Существо (а как быть с Bacteria, Fungi?)
• Cat, Dog, Cow, Person — Млекопитающее (добавить Goat, Rabbit?)
• Cow, Goat, Sheep, Horse — Копытное
(кто они такие? ? как они делятся/группируются? четное/нечетное число пальцев?)
Онтологии и представление знаний, 2010 18
![Page 38: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/38.jpg)
Группировать, добавлять и обобщать
Для группы вещей/классов/идей и задаться вопросом что у них общего
и какие ‘родственники’ у них есть.
Например
• Plant, Animal — Живое Существо (а как быть с Bacteria, Fungi?)
• Cat, Dog, Cow, Person — Млекопитающее (добавить Goat, Rabbit?)
• Cow, Goat, Sheep, Horse — Копытное
(кто они такие? ? как они делятся/группируются? четное/нечетное число пальцев?)
• Wild, Domestic
Онтологии и представление знаний, 2010 18
![Page 39: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/39.jpg)
Группировать, добавлять и обобщать
Для группы вещей/классов/идей и задаться вопросом что у них общего
и какие ‘родственники’ у них есть.
Например
• Plant, Animal — Живое Существо (а как быть с Bacteria, Fungi?)
• Cat, Dog, Cow, Person — Млекопитающее (добавить Goat, Rabbit?)
• Cow, Goat, Sheep, Horse — Копытное
(кто они такие? ? как они делятся/группируются? четное/нечетное число пальцев?)
• Wild, Domestic — Одомашненные (другие стадии?)
Онтологии и представление знаний, 2010 18
![Page 40: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/40.jpg)
Цикл разработки онтологий
Онтологии и представление знаний, 2010 19
![Page 41: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/41.jpg)
Задать классы
выбрать основные направления:
• добавить абстракции где необходимо(например, Living Thing, Mammal, Fish)
Онтологии и представление знаний, 2010 20
![Page 42: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/42.jpg)
Задать классы
выбрать основные направления:
• добавить абстракции где необходимо(например, Living Thing, Mammal, Fish)
• определить отношения(например, eats, owns, parent of)
Онтологии и представление знаний, 2010 20
![Page 43: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/43.jpg)
Задать классы
выбрать основные направления:
• добавить абстракции где необходимо(например, Living Thing, Mammal, Fish)
• определить отношения(например, eats, owns, parent of)
• идентифицировать какие понятия определяются(e.g., Draught Animal, Father, Herbivore)
как определить собаку?
Онтологии и представление знаний, 2010 20
![Page 44: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/44.jpg)
Задать классы
выбрать основные направления:
• добавить абстракции где необходимо(например, Living Thing, Mammal, Fish)
• определить отношения(например, eats, owns, parent of)
• идентифицировать какие понятия определяются(e.g., Draught Animal, Father, Herbivore)
как определить собаку?
Сущности vs. модификаторы
• сущности существуют сами по себе (грубо, существительные)
(например, people, animals, houses, actions, processes)
• модификаторы ‘меняют’ другие вещи (грубо, прилагательные, наречия,…)
(например, wild/domestic, male/female, healthy/sick, dangerous/safe)
Онтологии и представление знаний, 2010 20
![Page 45: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/45.jpg)
Организация концептов/свойств в иерархию
Собрать все, кроме определяемых понятий в деревья —
это будут “примитивы”
Онтологии и представление знаний, 2010 21
![Page 46: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/46.jpg)
Организация концептов/свойств в иерархию
Собрать все, кроме определяемых понятий в деревья —
это будут “примитивы”
сущности модификаторы отношения определяемы
– LivingThing
– Animal
– Mammal
– Cat
– Dog
– Cow
– Person
– Pig
– Fish
– Carp
– Goldfish
– Plant
– Tree
– Grass
Domestication
– Domestic
– Wild
Use
– Pet
– Food
– Draught
Dangerousness
– Dangerous
– Safe
Sex
– Male
– Female
Age
– Adult
– Child
eats
owns
parentOf
...
Carnivore
Herbivore
Child
Parent
Mother
Father
FoodAnimal
DraughtAnimal
Онтологии и представление знаний, 2010 21
![Page 47: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/47.jpg)
Классы и иерархия классов
• Важно знать
– не существует единственной верной иерархии классов
– но есть некоторые рекомендации
Онтологии и представление знаний, 2010 22
![Page 48: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/48.jpg)
Классы и иерархия классов
• Важно знать
– не существует единственной верной иерархии классов
– но есть некоторые рекомендации
• Вопросы:
является ли каждый экземпляр подкласса экземпляром суперкласса?
Онтологии и представление знаний, 2010 22
![Page 49: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/49.jpg)
Классы и иерархия классов
• Все родственные понятия в иерархии классов должны быть на одном уровне
(ср. с разделами и главами книг)
Онтологии и представление знаний, 2010 23
![Page 50: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/50.jpg)
Классы и иерархия классов
• Все родственные понятия в иерархии классов должны быть на одном уровне
(ср. с разделами и главами книг)
• Если у класс более десяти непосредственных подклассов,
дополнительные подкатегории могут быть необходимы
(ср. со списками)
Если нет естественного подразбиения, длинный список может быть более естественным
Онтологии и представление знаний, 2010 23
![Page 51: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/51.jpg)
Классы и иерархия классов
• Все родственные понятия в иерархии классов должны быть на одном уровне
(ср. с разделами и главами книг)
• Если у класс более десяти непосредственных подклассов,
дополнительные подкатегории могут быть необходимы
(ср. со списками)
Если нет естественного подразбиения, длинный список может быть более естественным
• Имена классов должны быть или все в единственном числе или все в множественном
числе
(Animal is not a kind-of Animals)
Онтологии и представление знаний, 2010 23
![Page 52: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/52.jpg)
Классы и иерархия классов
• Все родственные понятия в иерархии классов должны быть на одном уровне
(ср. с разделами и главами книг)
• Если у класс более десяти непосредственных подклассов,
дополнительные подкатегории могут быть необходимы
(ср. со списками)
Если нет естественного подразбиения, длинный список может быть более естественным
• Имена классов должны быть или все в единственном числе или все в множественном
числе
(Animal is not a kind-of Animals)
• Классы представляют концепции области знаний, не их названия!
название может меняться, но будет означать ту же концепцию.
( синонимы для той же концепции не представляются разными классами)
Онтологии и представление знаний, 2010 23
![Page 53: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/53.jpg)
Цикл разработки онтологий
Онтологии и представление знаний, 2010 24
![Page 54: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/54.jpg)
Свойства
• Перекликается с предыдущим шагом
• Свойства (роли) описывают атрибуты членов класса
• Если A подкласс B, то каждое свойство, которое имеют элементы B, будет применяться
к элементам A.
– Задавать свойства для самого высокого в иерархии класса, к которому применяются
• “присущие свойства”: цвет, запах,...
• “внешние свойства”: название и цена
Онтологии и представление знаний, 2010 25
![Page 55: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/55.jpg)
Цикл разработки онтологий
Онтологии и представление знаний, 2010 26
![Page 56: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/56.jpg)
Ограничения
Ограничения на область определения и принимаемые значения для свойств
(если что-то используется каким-то специальным образом, оставить текстовый комментарий)
Онтологии и представление знаний, 2010 27
![Page 57: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/57.jpg)
Ограничения
Ограничения на область определения и принимаемые значения для свойств
(если что-то используется каким-то специальным образом, оставить текстовый комментарий)
• Animal eats LivingThingdomain: Animal
range: LivingThing
(NB: игнорируем разницу между частями LivingThings и LivingThings)
Онтологии и представление знаний, 2010 27
![Page 58: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/58.jpg)
Ограничения
Ограничения на область определения и принимаемые значения для свойств
(если что-то используется каким-то специальным образом, оставить текстовый комментарий)
• Animal eats LivingThingdomain: Animal
range: LivingThing
(NB: игнорируем разницу между частями LivingThings и LivingThings)
• Person owns LivingThing except Persondomain: Person
range: LivingThingand not Person
Онтологии и представление знаний, 2010 27
![Page 59: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/59.jpg)
Ограничения
Ограничения на область определения и принимаемые значения для свойств
(если что-то используется каким-то специальным образом, оставить текстовый комментарий)
• Animal eats LivingThingdomain: Animal
range: LivingThing
(NB: игнорируем разницу между частями LivingThings и LivingThings)
• Person owns LivingThing except Persondomain: Person
range: LivingThingand not Person
• Animal parentOf Animaldomain: Animal
range: Animal
Онтологии и представление знаний, 2010 27
![Page 60: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/60.jpg)
Ограничения
Ограничения на область определения и принимаемые значения для свойств
(если что-то используется каким-то специальным образом, оставить текстовый комментарий)
• Animal eats LivingThingdomain: Animal
range: LivingThing
(NB: игнорируем разницу между частями LivingThings и LivingThings)
• Person owns LivingThing except Persondomain: Person
range: LivingThingand not Person
• Animal parentOf Animaldomain: Animal
range: Animal
Идентифицировать ограничения на свойства: что можно сказать о всех примерах
класса?
Онтологии и представление знаний, 2010 27
![Page 61: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/61.jpg)
Ограничения
Ограничения на область определения и принимаемые значения для свойств
(если что-то используется каким-то специальным образом, оставить текстовый комментарий)
• Animal eats LivingThingdomain: Animal
range: LivingThing
(NB: игнорируем разницу между частями LivingThings и LivingThings)
• Person owns LivingThing except Persondomain: Person
range: LivingThingand not Person
• Animal parentOf Animaldomain: Animal
range: Animal
Идентифицировать ограничения на свойства: что можно сказать о всех примерах
класса?
• all Cows eat some Plants
• all Cats eat some Animals
• all Pigs eat some Animals and eat some Plants
• ...
Онтологии и представление знаний, 2010 27
![Page 62: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/62.jpg)
Ограничения
Ограничения на область определения и принимаемые значения для свойств
(если что-то используется каким-то специальным образом, оставить текстовый комментарий)
• Animal eats LivingThingdomain: Animal
range: LivingThing
(NB: игнорируем разницу между частями LivingThings и LivingThings)
• Person owns LivingThing except Persondomain: Person
range: LivingThingand not Person
• Animal parentOf Animaldomain: Animal
range: Animal
Идентифицировать ограничения на свойства: что можно сказать о всех примерах
класса?
• all Cows eat some Plants
• all Cats eat some Animals
• all Pigs eat some Animals and eat some Plants
• ...
описания
сущностей
Онтологии и представление знаний, 2010 27
![Page 63: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/63.jpg)
Цикл разработки онтологий
Онтологии и представление знаний, 2010 28
![Page 64: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/64.jpg)
Определяемые понятия
Перефразировать и формализовать определения в терминахпримитивов, отношений и других определяемых понятий
оставлять заметки на будущее(добавить комментарии)
• “A Parent is an Animal that is a parent of some other Animal”(NB: пока забудем про Plants)
Онтологии и представление знаний, 2010 29
![Page 65: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/65.jpg)
Определяемые понятия
Перефразировать и формализовать определения в терминахпримитивов, отношений и других определяемых понятий
оставлять заметки на будущее(добавить комментарии)
• “A Parent is an Animal that is a parent of some other Animal”(NB: пока забудем про Plants)
Parent = Animal and parentOf some Animal
Онтологии и представление знаний, 2010 29
![Page 66: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/66.jpg)
Определяемые понятия
Перефразировать и формализовать определения в терминахпримитивов, отношений и других определяемых понятий
оставлять заметки на будущее(добавить комментарии)
• “A Parent is an Animal that is a parent of some other Animal”(NB: пока забудем про Plants)
Parent = Animal and parentOf some Animal
• “A Herbivore is an Animal that eats only Plants”(NB: all Animals eat some LivingThings)
Онтологии и представление знаний, 2010 29
![Page 67: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/67.jpg)
Определяемые понятия
Перефразировать и формализовать определения в терминахпримитивов, отношений и других определяемых понятий
оставлять заметки на будущее(добавить комментарии)
• “A Parent is an Animal that is a parent of some other Animal”(NB: пока забудем про Plants)
Parent = Animal and parentOf some Animal
• “A Herbivore is an Animal that eats only Plants”(NB: all Animals eat some LivingThings)
Herbivore = Animal and eats only Plant
Онтологии и представление знаний, 2010 29
![Page 68: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/68.jpg)
Определяемые понятия
Перефразировать и формализовать определения в терминахпримитивов, отношений и других определяемых понятий
оставлять заметки на будущее(добавить комментарии)
• “A Parent is an Animal that is a parent of some other Animal”(NB: пока забудем про Plants)
Parent = Animal and parentOf some Animal
• “A Herbivore is an Animal that eats only Plants”(NB: all Animals eat some LivingThings)
Herbivore = Animal and eats only Plant
• “An Omnivore is an Animal that eats both Plants and Animals”
Онтологии и представление знаний, 2010 29
![Page 69: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/69.jpg)
Определяемые понятия
Перефразировать и формализовать определения в терминахпримитивов, отношений и других определяемых понятий
оставлять заметки на будущее(добавить комментарии)
• “A Parent is an Animal that is a parent of some other Animal”(NB: пока забудем про Plants)
Parent = Animal and parentOf some Animal
• “A Herbivore is an Animal that eats only Plants”(NB: all Animals eat some LivingThings)
Herbivore = Animal and eats only Plant
• “An Omnivore is an Animal that eats both Plants and Animals”
Omnivore = Animal and eats some Plant and eats some Animal
Онтологии и представление знаний, 2010 29
![Page 70: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/70.jpg)
Определяемые понятия
Перефразировать и формализовать определения в терминахпримитивов, отношений и других определяемых понятий
оставлять заметки на будущее(добавить комментарии)
• “A Parent is an Animal that is a parent of some other Animal”(NB: пока забудем про Plants)
Parent = Animal and parentOf some Animal
• “A Herbivore is an Animal that eats only Plants”(NB: all Animals eat some LivingThings)
Herbivore = Animal and eats only Plant
• “An Omnivore is an Animal that eats both Plants and Animals”
Omnivore = Animal and eats some Plant and eats some Animal
Не перефразируя невозможно определить не разошлись ли смыслы
того что хотели представить и того, что представили.
Онтологии и представление знаний, 2010 29
![Page 71: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/71.jpg)
Нормализация
Дерево
все узлы (кроме корня)имеют одного родителя
‘строгая иерархия’
Направленный ациклическийграф
(DAG)узлы могут иметь
несколько родителей
‘полииерархия’
Онтологии и представление знаний, 2010 30
![Page 72: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/72.jpg)
Нормализация
Дерево
все узлы (кроме корня)имеют одного родителя
‘строгая иерархия’
Направленный ациклическийграф
(DAG)узлы могут иметь
несколько родителей
‘полииерархия’
Нормализация:• разделить примитивы в непересекающиеся
деревья
Онтологии и представление знаний, 2010 30
![Page 73: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/73.jpg)
Нормализация
Дерево
все узлы (кроме корня)имеют одного родителя
‘строгая иерархия’
Направленный ациклическийграф
(DAG)узлы могут иметь
несколько родителей
‘полииерархия’
Нормализация:• разделить примитивы в непересекающиеся
деревья
• пусть классификатор создает DAG
Онтологии и представление знаний, 2010 30
![Page 74: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/74.jpg)
Нормализация
Дерево
все узлы (кроме корня)имеют одного родителя
‘строгая иерархия’
Направленный ациклическийграф
(DAG)узлы могут иметь
несколько родителей
‘полииерархия’
Нормализация:• разделить примитивы в непересекающиеся
деревья
• пусть классификатор создает DAG
Деревья легче
понять
Онтологии и представление знаний, 2010 30
![Page 75: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/75.jpg)
Нормализация
Дерево
все узлы (кроме корня)имеют одного родителя
‘строгая иерархия’
Направленный ациклическийграф
(DAG)узлы могут иметь
несколько родителей
‘полииерархия’
Нормализация:• разделить примитивы в непересекающиеся
деревья
• пусть классификатор создает DAG
Деревья легче
понять
Animal
Herbivore
Carnivore
Mammal
Omnivore Pig
Person
Dog
Cat
Cow
��
� ���
HHHY
@@
@@I
HHHHHY�
������
��
���
�
Онтологии и представление знаний, 2010 30
![Page 76: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/76.jpg)
Нормализация
Дерево
все узлы (кроме корня)имеют одного родителя
‘строгая иерархия’
Направленный ациклическийграф
(DAG)узлы могут иметь
несколько родителей
‘полииерархия’
Нормализация:• разделить примитивы в непересекающиеся
деревья
• пусть классификатор создает DAG
Деревья легче
понять
Animal
Herbivore
Carnivore
Mammal
Omnivore Pig
Person
Dog
Cat
Cow
��
� ���
HHHY
@@
@@I
HHHHHY�
������
��
���
�Animal
Herbivore
Carnivore
Mammal
Omnivore Pig
Person
Dog
Cat
Cow
��
� ���
HHHY
@@
@@I
HHHHHY�
������
��
���
�
�
)��
)��
Онтологии и представление знаний, 2010 30
![Page 77: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/77.jpg)
Модификаторы
Domestication
– Domestic
– Wild
Use
– Pet
– Food
– Draught
Dangerousness
– Dangerous
– Safe
Sex
– Male
– Female
Age
– Adult
– Child
• Идентифицировать модификаторы с
взаимно исключающими значениями
Онтологии и представление знаний, 2010 31
![Page 78: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/78.jpg)
Модификаторы
Domestication
– Domestic
– Wild
Use
– Pet
– Food
– Draught
Dangerousness
– Dangerous
– Safe
Sex
– Male
– Female
Age
– Adult
– Child
• Идентифицировать модификаторы с
взаимно исключающими значениями(Domestication, Dangerousness, Sex, Age)
NB. Применения могут быть не взаимно исключающими
(может быть одновременно Вьючное и Еда)
Онтологии и представление знаний, 2010 31
![Page 79: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/79.jpg)
Модификаторы
Domestication
– Domestic
– Wild
Use
– Pet
– Food
– Draught
Dangerousness
– Dangerous
– Safe
Sex
– Male
– Female
Age
– Adult
– Child
• Идентифицировать модификаторы с
взаимно исключающими значениями(Domestication, Dangerousness, Sex, Age)
NB. Применения могут быть не взаимно исключающими
(может быть одновременно Вьючное и Еда)
• Расширить и дополнить список значений
(Dangerousness: Dangerous, Risky, Safe)
Онтологии и представление знаний, 2010 31
![Page 80: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/80.jpg)
Модификаторы
Domestication
– Domestic
– Wild
Use
– Pet
– Food
– Draught
Dangerousness
– Dangerous
– Safe
Sex
– Male
– Female
Age
– Adult
– Child
• Идентифицировать модификаторы с
взаимно исключающими значениями(Domestication, Dangerousness, Sex, Age)
NB. Применения могут быть не взаимно исключающими
(может быть одновременно Вьючное и Еда)
• Расширить и дополнить список значений
(Dangerousness: Dangerous, Risky, Safe)
• Задать как функциональное свойство
Онтологии и представление знаний, 2010 31
![Page 81: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/81.jpg)
Модификаторы
Domestication
– Domestic
– Wild
Use
– Pet
– Food
– Draught
Dangerousness
– Dangerous
– Safe
Sex
– Male
– Female
Age
– Adult
– Child
• Идентифицировать модификаторы с
взаимно исключающими значениями(Domestication, Dangerousness, Sex, Age)
NB. Применения могут быть не взаимно исключающими
(может быть одновременно Вьючное и Еда)
• Расширить и дополнить список значений
(Dangerousness: Dangerous, Risky, Safe)
• Задать как функциональное свойство
• Два способа задать значения модификаторов
– разбиения (классы разбивают величину)
– перечисления(индивиды для всех степеней величины)
Онтологии и представление знаний, 2010 31
![Page 82: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/82.jpg)
Разбиения
Пример: величина — Dangerousness
Онтологии и представление знаний, 2010 32
![Page 83: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/83.jpg)
Разбиения
Пример: величина — Dangerousness
• Определить под-величины для разных степеней: Dangerous, Risky, Safe
– классы дизъюнктны
– ‘покрывают’ исходную величину т.е.,
Dangerousness = Dangerous or Risky or Safe
Онтологии и представление знаний, 2010 32
![Page 84: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/84.jpg)
Разбиения
Пример: величина — Dangerousness
• Определить под-величины для разных степеней: Dangerous, Risky, Safe
– классы дизъюнктны
– ‘покрывают’ исходную величину т.е.,
Dangerousness = Dangerous or Risky or Safe
• Определить функциональное свойство hasDangerousness
– область значений: исходная величина, например, Dangerousness
– домен задается отдельно
Онтологии и представление знаний, 2010 32
![Page 85: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/85.jpg)
Разбиения
Пример: величина — Dangerousness
• Определить под-величины для разных степеней: Dangerous, Risky, Safe
– классы дизъюнктны
– ‘покрывают’ исходную величину т.е.,
Dangerousness = Dangerous or Risky or Safe
• Определить функциональное свойство hasDangerousness
– область значений: исходная величина, например, Dangerousness
– домен задается отдельно
DangerousAnimal = Animal and hasDangerousness some Dangerous
Онтологии и представление знаний, 2010 32
![Page 86: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/86.jpg)
Перечисления
Пример: величина — SexValue
Онтологии и представление знаний, 2010 33
![Page 87: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/87.jpg)
Перечисления
Пример: величина — SexValue
• Определим индивиды для каждого значения: male, female
– значения различны (НЕ предполагается в OWL)
– значением является ‘перечисление’ значений, т.е.,
SexValue = { female, male }
Онтологии и представление знаний, 2010 33
![Page 88: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/88.jpg)
Перечисления
Пример: величина — SexValue
• Определим индивиды для каждого значения: male, female
– значения различны (НЕ предполагается в OWL)
– значением является ‘перечисление’ значений, т.е.,
SexValue = { female, male }
• Определим функциональное свойство hasSex
– область значений: исходное свойство т.е. SexValue
– домен задается дополнительно
Онтологии и представление знаний, 2010 33
![Page 89: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/89.jpg)
Перечисления
Пример: величина — SexValue
• Определим индивиды для каждого значения: male, female
– значения различны (НЕ предполагается в OWL)
– значением является ‘перечисление’ значений, т.е.,
SexValue = { female, male }
• Определим функциональное свойство hasSex
– область значений: исходное свойство т.е. SexValue
– домен задается дополнительно
MaleAnimal = Animal and hasSex is male
Онтологии и представление знаний, 2010 33
![Page 90: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/90.jpg)
Два способа задать значения
Разбиение Перечисление
Онтологии и представление знаний, 2010 34
![Page 91: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/91.jpg)
Два способа задать значения
Разбиение Перечисление
• может быть разбито далее
и уточнено
• не может быть разбито далее
Онтологии и представление знаний, 2010 34
![Page 92: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/92.jpg)
Два способа задать значения
Разбиение Перечисление
• может быть разбито далее
и уточнено
• не может быть разбито далее
• соответствует философскому
понятию пространства величин
• соответствует интуиции
Онтологии и представление знаний, 2010 34
![Page 93: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/93.jpg)
Два способа задать значения
Разбиение Перечисление
• может быть разбито далее
и уточнено
• не может быть разбито далее
• соответствует философскому
понятию пространства величин
• соответствует интуиции
Онтологии и представление знаний, 2010 34
![Page 94: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/94.jpg)
Два способа задать значения
Разбиение Перечисление
• может быть разбито далее
и уточнено
• не может быть разбито далее
• соответствует философскому
понятию пространства величин
• соответствует интуиции
• больше подходит для
использования с
OWL DL классификаторами
• не очень подходит для
использования
с существующими
классификаторами
Онтологии и представление знаний, 2010 34
![Page 95: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/95.jpg)
Поиск объяснений
Онтологии и представление знаний, 2010 35
![Page 96: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/96.jpg)
Зачем нужны объяснения?
Поиск объяснений это техника, помогающая поддерживать онтологии.
Пример Ранняя версия SNOMED CT (в которой > 300000 аксиом) утверждала
Amputation_of_Finger ⊑ Amputation_of_Arm
Задача Найти аксиомы (среди 300 000 аксиом SNOMED) ответственные за этот вывод.
Онтологии и представление знаний, 2010 36
![Page 97: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/97.jpg)
Определение
Рассмотрим TBox T и концептыC, D т.ч.
T |= C ⊑ D.
Множество объяснений Pin(T , C ⊑ D) для T и C ⊑ D содержит все минимальные
подмножества T ′ из T т.ч.
T ′ |= C ⊑ D.
Пример
T = {Father ⊑ Male,Male ⊑ Human,Car ⊑ Vehicle}
Множество Pin(T , Father ⊑ Human} состоит из единственного множества
{Father ⊑ Male,Male ⊑ Human}
Онтологии и представление знаний, 2010 37
![Page 98: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/98.jpg)
Пример
Рассмотрим
T = {A ⊑ B, B ⊑ E, A ⊑ F, F ⊑ E, C ⊑ D}
Тогда T |= A ⊑ E.
Имеется два множества объяснений Pin(T , A ⊑ E}:
{A ⊑ B, B ⊑ E}
и
{A ⊑ F, F ⊑ E}.
Онтологии и представление знаний, 2010 38
![Page 99: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/99.jpg)
Пример
Рассмотрим TBox
a Human ⊑ ∃child_of.Human;
b Human ⊑ Living_Being;
c ∃child_of.Living_Being ⊑ Has_Birthday;
d Living_Being ⊑ Has_Birthday.
Тогда T |= Human ⊑ Has_Birthday. Множество Pin(T ,Human ⊑ Has_Birthday)
состоит из
{b, d}и
{a, b, c}
Онтологии и представление знаний, 2010 39
![Page 100: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/100.jpg)
Вычисление
• Множество Pin(T , C ⊑ D) может содержать экспоненциально много объяснений;
• Проверка существует ли элемент Pin(T , C ⊑ D) размера ≤ n трудна даже для
EL;
• Найти один член Pin(T , C ⊑ D) не труднее классификации
– В частности, полиномиальный алгоритм поиска одного члена Pin(T , C ⊑ D)
для T , C и D в EL.
Онтологии и представление знаний, 2010 40
![Page 101: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/101.jpg)
Алгоритм поиска одного члена Pin(T , C ⊑ D)
Вход T = {α1, . . . , αn} и C ⊑ D.
1. if C ̸⊑T D, then
2. return Pin(T , C ⊑ D) empty
3. set S := T
4. for 1 ≤ i ≤ n do
5. if C ⊑S\{αi} D then
6. S := S \ {αi}
7. return S.
Онтологии и представление знаний, 2010 41
![Page 102: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/102.jpg)
Лаконичные объяснения
Множество объяснение может быть нелегко понять.
TBox
Doctor ⊑ some_large_concept_description ⊓Person ⊓ some_other_large_concept_description
Doctor ⊑ Person потому, что Person явно употребляется в определении
но это может быть сразу не видно.
Онтологии и представление знаний, 2010 42
![Page 103: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/103.jpg)
Examples
(due to Michael Zakharyaschev)
Онтологии и представление знаний, 2010 43
![Page 104: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/104.jpg)
Brief Summary of Guidelines for Ontology Building
• Always paraphrase a description or definition before encoding it in OWL
• Make all primitives disjoint — which requires that primitives form trees
• Use someValuesFrom as the default quantifier in restrictions
• Be careful to make defined classes defined (the default is primitive in Protégé).The classifier will place nothing under a primitive class
(except in the presence of axioms/domain/range constrains)
• Remember the open world assumption.Insert closure restrictions if that is what you mean
• Be careful with domain and range constraints.Check them carefully if classification does not work as expected
• Be careful about the use of “and” and “or” (intersectionOf and unionOf)
• To spot trivially satisfiable restrictions early, always have an existential(someValuesFrom) restriction corresponding to every universal (allValuesFrom)
restriction, either in the class or in one of its superclasses
• Run the classifier frequently; spot errors early
Онтологии и представление знаний, 2010 44
![Page 105: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/105.jpg)
Travel service ontology
Sketch a normalised ontology for use by travel agency covering the following:
Hotel, restaurant, sports, luxury hotel, bed and breakfast,
safari, activity, hiking, spa treatment, sunbathing, sightseeing,
accommodation rating (three stars, etc.), campground, surfing.
Build a class hierarchy and indicate which classes in it are primitive and which
are definable. Indicate the required roles, their properties, domains and ranges,
as well as individuals.
Define the following classes using OWL abstract syntax:
1. A two star hotel.
2. A spa resort (i.e., a destination offering a spa treatment).
3. A destination with sport activities but without safari.
4. A destination where all hotels have three star rating.
5. A destinations with at least three restaurants and at least four hotels.
Онтологии и представление знаний, 2010 45
![Page 106: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/106.jpg)
1. Card sorting
hotel sunbathing hiking
restaurant sightseeing activity
sports accommodation rating spa treatment
luxury hotel three stars safari
bed & breakfast campground surfing
two stars swimming pool destination
Онтологии и представление знаний, 2010 46
![Page 107: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/107.jpg)
1. Card sorting
hotel sunbathing hiking
restaurant sightseeing activity
sports accommodation rating spa treatment
luxury hotel three stars safari
bed & breakfast campground surfing
two stars swimming pool destination
hotel sunbathing hiking
restaurant sightseeing activity
sports accommodation rating spa treatment
luxury hotel three stars safari
bed & breakfast campground surfing
two stars swimming pool destination
Онтологии и представление знаний, 2010 46
![Page 108: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/108.jpg)
2. Arrange Concepts/Properties into Hierarchy
self-standing modifiers relations definable
– accommodation
– hotel
– luxury hotel
– b&b
– campground
– activity
– sports
– surfing
– hiking
– safari
– sightseeing
– relaxation
– sunbathing
– spa treatment
– restaurant
– destination
accommodation rating
– two stars
– three stars
– four stars
– five stars
hotel facility
– swimming pool
– meeting facilities
hasAccommodation
hasActivity
hasRating
hasRestaurant
hasFacility
two star hotel
…
NB. All siblings in the hierarchy of self-standing entities are disjoint.
Онтологии и представление знаний, 2010 47
![Page 109: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/109.jpg)
Class Hierarchy represents an “IS-A” Relation
a class A is a subclass of B if every instance of A is also an instance of B
Онтологии и представление знаний, 2010 48
![Page 110: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/110.jpg)
Class Hierarchy represents an “IS-A” Relation
a class A is a subclass of B if every instance of A is also an instance of B
• hotels and B&B are accommodation
therefore, Hotel and B&B may be regarded as subclasses of Accommodation
Онтологии и представление знаний, 2010 48
![Page 111: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/111.jpg)
Class Hierarchy represents an “IS-A” Relation
a class A is a subclass of B if every instance of A is also an instance of B
• hotels and B&B are accommodation
therefore, Hotel and B&B may be regarded as subclasses of Accommodation
• hiking and surfing are sport activities
therefore, Hiking and Surfing may be regarded as subclasses of Sports
Онтологии и представление знаний, 2010 48
![Page 112: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/112.jpg)
Class Hierarchy represents an “IS-A” Relation
a class A is a subclass of B if every instance of A is also an instance of B
• hotels and B&B are accommodation
therefore, Hotel and B&B may be regarded as subclasses of Accommodation
• hiking and surfing are sport activities
therefore, Hiking and Surfing may be regarded as subclasses of Sports
• however, neither a restaurant is a hotel nor a swimming pool is a hotel
therefore, neither Restaurant nor SwimmingPool can be a subclass of Hotel
(although a hotel may have a restaurant/swimming pool)
Do not confuse containment and a subclass relation!
Онтологии и представление знаний, 2010 48
![Page 113: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/113.jpg)
Relations
ObjectProperty(hasAccommodation
domain(Destination) range(Accommodation))
ObjectProperty(hasActivity domain(Destination) range(Activity))
ObjectProperty(hasRestaurant
domain(Destination) domain(Hotel) range(Restaurant))
ObjectProperty(hasFacility domain(Hotel) range(HotelFacility))
Онтологии и представление знаний, 2010 49
![Page 114: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/114.jpg)
Relations
ObjectProperty(hasAccommodation
domain(Destination) range(Accommodation))
ObjectProperty(hasActivity domain(Destination) range(Activity))
ObjectProperty(hasRestaurant
domain(Destination) domain(Hotel) range(Restaurant))
ObjectProperty(hasFacility domain(Hotel) range(HotelFacility))
Modifiers: using value sets
Consider modifier AccommodationRating(one star, two stars, three stars, four stars, five stars)
Онтологии и представление знаний, 2010 49
![Page 115: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/115.jpg)
Relations
ObjectProperty(hasAccommodation
domain(Destination) range(Accommodation))
ObjectProperty(hasActivity domain(Destination) range(Activity))
ObjectProperty(hasRestaurant
domain(Destination) domain(Hotel) range(Restaurant))
ObjectProperty(hasFacility domain(Hotel) range(HotelFacility))
Modifiers: using value sets
Consider modifier AccommodationRating(one star, two stars, three stars, four stars, five stars)
ObjectProperty(hasRating functional
domain(Accommodation) range(AccommodationRating))
Class(AccommodationRating complete oneOf(oneStar, twoStars, …, fiveStars))
DifferentIndividuals(oneStar, twoStars, …, fiveStars)
Онтологии и представление знаний, 2010 49
![Page 116: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/116.jpg)
Specifying additional restrictions
‘all luxury hotels have restaurants, swimming pools and meeting facilities’
Class(LuxuryHotel partial
restriction(hasRestaurant someValueFrom(owl:Thing))
restriction(hasFacility someValueFrom(SwimmingPool))
restriction(hasFacility someValueFrom(MeetingFacility)))
Онтологии и представление знаний, 2010 50
![Page 117: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/117.jpg)
Q1: Definitions vs. Descriptions
A two star hotel (definition):
‘a two star hotel is any hotel that has two star rating’
Class(TwoStarHotel complete Hotel
restriction(hasRating value(twoStars)))
Онтологии и представление знаний, 2010 51
![Page 118: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/118.jpg)
Q1: Definitions vs. Descriptions
A two star hotel (definition):
‘a two star hotel is any hotel that has two star rating’
Class(TwoStarHotel complete Hotel
restriction(hasRating value(twoStars)))
Consider now the following description:
‘all w-two-star-hotels have two star rating’
Class(W-TwoStarHotel partial Hotel
restriction(hasRating value(twoStars)))
Онтологии и представление знаний, 2010 51
![Page 119: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/119.jpg)
Q1: Definitions vs. Descriptions
A two star hotel (definition):
‘a two star hotel is any hotel that has two star rating’
Class(TwoStarHotel complete Hotel
restriction(hasRating value(twoStars)))
Consider now the following description:
‘all w-two-star-hotels have two star rating’
Class(W-TwoStarHotel partial Hotel
restriction(hasRating value(twoStars)))
Then
• chelseaInn is an instance of TwoStarHotel (necessary & sufficient cond.)
• but chelsea_inn not an instance of W-TwoStarHotel (necessary cond.)
w.r.t. the following ABox chelsea_inn: Hotel, (chelsea_inn, twoStars): hasRating
Онтологии и представление знаний, 2010 51
![Page 120: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/120.jpg)
Q2: Use someValuesFrom as the default quantifier in restrictions
Destinations with spa treatment:
‘a spa resort is any destination that has a spa treatment’
Class(SpaResort complete
Destination
restriction(hasActivity someValuesFrom(SpaTreatment)))
Онтологии и представление знаний, 2010 52
![Page 121: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/121.jpg)
Q2: Use someValuesFrom as the default quantifier in restrictions
Destinations with spa treatment:
‘a spa resort is any destination that has a spa treatment’
Class(SpaResort complete
Destination
restriction(hasActivity someValuesFrom(SpaTreatment)))
Note that any destination without activities is an instance of the concept
Class(W-SpaResort complete
Destination
restriction(hasActivity allValuesFrom(SpaTreatment)))
‘only’ does not imply ‘some’!
Онтологии и представление знаний, 2010 52
![Page 122: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/122.jpg)
Q3: Use someValuesFrom as the default quantifier (cont.)
A destination with sport activities but without safari:
‘a destination with sport activities but without safari is
any destination that has some sport activity but does not have any safari’
Class(DestinationWithSportButNoSafari complete
Destination
restriction(hasActivity someValuesFrom(Sports))
complementOf(restriction(hasActivity someValuesFrom(Safari))))
Онтологии и представление знаний, 2010 53
![Page 123: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/123.jpg)
Q3: Use someValuesFrom as the default quantifier (cont.)
A destination with sport activities but without safari:
‘a destination with sport activities but without safari is
any destination that has some sport activity but does not have any safari’
Class(DestinationWithSportButNoSafari complete
Destination
restriction(hasActivity someValuesFrom(Sports))
complementOf(restriction(hasActivity someValuesFrom(Safari))))
or, equivalently, ¬∃R.C means ∀R.¬C
‘... is any destination that has some sport activity and
has only activities that are not safari activities’
Class(DestinationWithSportButNoSafari complete
Destination
restriction(hasActivity someValuesFrom(Sports))
restriction(hasActivity allValuesFrom(complementOf(Safari))))
NB. Safari and Sports are disjoint
Онтологии и представление знаний, 2010 53
![Page 124: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/124.jpg)
Q4: Unions, Intersections and Complements
A destination where all hotels have three star rating.
‘a destination where all hotels have three star rating is
any destination that has only either not hotels or three star hotels’
Class(ThreeStarHotelDestination complete
Destination
restriction(hasAccommodation allValuesFrom(unionOf(
complementOf(Hotel)
intersectionOf(Hotel restriction(hasRating value(threeStars)))))))
Онтологии и представление знаний, 2010 54
![Page 125: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/125.jpg)
Q4: Unions, Intersections and Complements
A destination where all hotels have three star rating.
‘a destination where all hotels have three star rating is
any destination that has only either not hotels or three star hotels’
Class(ThreeStarHotelDestination complete
Destination
restriction(hasAccommodation allValuesFrom(unionOf(
complementOf(Hotel)
intersectionOf(Hotel restriction(hasRating value(threeStars)))))))
Alternatively,‘a destination where all hotels have three star rating is
any destination that has no hotel that has not a three star rating’
Class(ThreeStarHotelDestination complete
Destination
complementOf(restriction(hasAccommodation someValuesFrom(
intersectionOf(Hotel
complementOf(restriction(hasRating value(threeStars))))))))
Онтологии и представление знаний, 2010 54
![Page 126: 20101003 ontology konev_lecture09](https://reader034.vdocuments.mx/reader034/viewer/2022052201/559dbe601a28ab70018b4711/html5/thumbnails/126.jpg)
Q5: Number restrictions
A destinations with at least three restaurants and at least four hotels.
‘a destination with at least three restaurants and at least four hotels is
any destination that has at least three restaurants
and has at least four places to stay’
Class(TRFHDestination complete
Destination
restriction(hasRestaurant minCardinality(3))
restriction(hasAccommodation minCardinality(4)))
NB. OWL-DL 1.0 has no qualified number restrictions (OWL 1.1 has them),
so in this example we have to slightly extend the definition
and include any types of accommodation (not only hotels).
Онтологии и представление знаний, 2010 55