SlideShare a Scribd company logo
1 of 126
Download to read offline
Ontology engeneering
Разработка онтологий
Что такое “Ontology Engineering”?


Разработка онтологий            —
                             это процесс определения терминов домена и отношений между ними:



•   определение концептов домена               (классов)




Онтологии и представление знаний, 2010                                                     2
Что такое “Ontology Engineering”?


Разработка онтологий            —
                             это процесс определения терминов домена и отношений между ними:



•   определение концептов домена               (классов)



•   организация концептов в иерархию             (подкласс-суперкласс)




Онтологии и представление знаний, 2010                                                     2
Что такое “Ontology Engineering”?


Разработка онтологий            —
                             это процесс определения терминов домена и отношений между ними:



•   определение концептов домена               (классов)



•   организация концептов в иерархию             (подкласс-суперкласс)



•   определение атрибутов и свойств классов, а также
                  ограничений на их значения




Онтологии и представление знаний, 2010                                                     2
Что такое “Ontology Engineering”?


Разработка онтологий            —
                             это процесс определения терминов домена и отношений между ними:



•   определение концептов домена               (классов)



•   организация концептов в иерархию             (подкласс-суперкласс)



•   определение атрибутов и свойств классов, а также
                  ограничений на их значения



•   определение индивидов и придание значений атрибутам/свойствам.




Онтологии и представление знаний, 2010                                                     2
Зачем разрабатывать онтологии?


•   Чтобы добиться общего понимания терминов и для обмена информацией

      –   между людьми
      –   между программами




Онтологии и представление знаний, 2010                                  3
Зачем разрабатывать онтологии?


•   Чтобы добиться общего понимания терминов и для обмена информацией

      –   между людьми
      –   между программами

•   Для повторного использования знаний

      –   не “изобретаем колесо”
      –   стандарты




Онтологии и представление знаний, 2010                                  3
Зачем разрабатывать онтологии?


•   Чтобы добиться общего понимания терминов и для обмена информацией

      –   между людьми
      –   между программами

•   Для повторного использования знаний

      –   не “изобретаем колесо”
      –   стандарты

•   Чтобы явно записать что мы знаем о какой-то области

      –   эволюция знаний
      –   легче понимать и поддерживать




Онтологии и представление знаний, 2010                                  3
Зачем разрабатывать онтологии?


•   Чтобы добиться общего понимания терминов и для обмена информацией

      –   между людьми
      –   между программами

•   Для повторного использования знаний

      –   не “изобретаем колесо”
      –   стандарты

•   Чтобы явно записать что мы знаем о какой-то области

      –   эволюция знаний
      –   легче понимать и поддерживать

•   Чтобы отделить знания об области от процедур

      –   повторное использование знаний и повторное использование процедур




Онтологии и представление знаний, 2010                                        3
Разработка онтологий vs. ОО-моделирование



                Онтология                    ОО классы




Онтологии и представление знаний, 2010                          4
Разработка онтологий vs. ОО-моделирование



                Онтология                                 ОО классы


          •   отражает                               •   отражает
                                     строение мира          построение кода и данных




Онтологии и представление знаний, 2010                                                 4
Разработка онтологий vs. ОО-моделирование



                Онтология                                 ОО классы


          •   отражает                               •   отражает
                                     строение мира          построение кода и данных


          •   фокусируется на                        •   фокусируется на
                            структуре концептов                     поведении (методы)




Онтологии и представление знаний, 2010                                                   4
Разработка онтологий vs. ОО-моделирование



                Онтология                                 ОО классы


          •   отражает                               •   отражает
                                     строение мира           построение кода и данных


          •   фокусируется на                        •   фокусируется на
                            структуре концептов                     поведении (методы)


          •   физическое                             •   описывает физическое
              представление                              представление данных
                                         не важно                        (int, char, etc.)




Онтологии и представление знаний, 2010                                                       4
Цикл разработки онтологий




Онтологии и представление знаний, 2010                           5
Цикл разработки онтологий




Онтологии и представление знаний, 2010                           6
Анализ требований и области применения

     • Какую область знаний должна покрывать онтология?

     • Какие термины необходимы в данной области?

     • На какие типы вопросов информация, хранимая в онтологии, должна позволять
        найти ответ?

     • Какая выразительная сила языка представления онтологий потребуется?

     • Какие программные средства будут использованы?

     • Гетерогенность, распределенность, автономность

     • Гипотеза открытого мира vs гипотеза закрытого мира

     • Статический или динамический процесс

     • Ограниченные, неполные знания

     • Анализ случаев

           – Какая информация доступна

           – Какие вопросы зададут

           – Типы и роли пользователей

Онтологии и представление знаний, 2010                                         7
Пример: онтология животных и растений


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


•   где живут

•   что едят
          (хищное, травоядное, всеядное)

•   опасны ли они

•   большие ли они

•   немного анатомии
          (количество ног, крыльев, пальцев, и т.п.)




Онтологии и представление знаний, 2010                                           8
Цикл разработки онтологий




Онтологии и представление знаний, 2010                           9
Анализ области применения


     • Для чего будет использована эта онтология?

           – Онтология не должна содержать ВСЕ возможные знания о домене

                 * не требуется уточнять или обобщать более, чем необходимо

                 * не требуется включать все возможные свойства классов




Онтологии и представление знаний, 2010                                        10
Анализ области применения


     • Для чего будет использована эта онтология?

           – Онтология не должна содержать ВСЕ возможные знания о домене

                 * не требуется уточнять или обобщать более, чем необходимо

                 * не требуется включать все возможные свойства классов




        Пример: онтология биологических экспериментов содержит

                                 BiologicalOrganism   и   Experimenter.




Онтологии и представление знаний, 2010                                        10
Анализ области применения


     • Для чего будет использована эта онтология?

           – Онтология не должна содержать ВСЕ возможные знания о домене

                 * не требуется уточнять или обобщать более, чем необходимо

                 * не требуется включать все возможные свойства классов




        Пример: онтология биологических экспериментов содержит

                                 BiologicalOrganism   и   Experimenter.


        Должен ли класс Experimenter быть подклассом BiologicalOrganism?




Онтологии и представление знаний, 2010                                        10
Анализ области применения


     • Для чего будет использована эта онтология?

           – Онтология не должна содержать ВСЕ возможные знания о домене

                 * не требуется уточнять или обобщать более, чем необходимо

                 * не требуется включать все возможные свойства классов




        Пример: онтология биологических экспериментов содержит

                                 BiologicalOrganism   и   Experimenter.


        Должен ли класс Experimenter быть подклассом BiologicalOrganism?




           – Предметный указатель




Онтологии и представление знаний, 2010                                        10
Цикл разработки онтологий




Онтологии и представление знаний, 2010                           11
Повторное использование


     • Редко начинаем на пустом месте

           – меньше усилий

           – средства разработки

           – проверенные временем

     • Стандартные термины легко доступны

     • Использовать модули




Онтологии и представление знаний, 2010                             12
Где брать?

     • Библиотеки онтологий

           – 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
Цикл разработки онтологий




Онтологии и представление знаний, 2010                           14
Перечисление терминов


     • собрать термины

           – какие термины

           – какие у них свойства?

           – что мы хотим сказать про эти термины?

     • неформально сгруппировать

     • перефразировать и уточнить термины, чтобы получить неформальные определения
        концептов

     • нарисовать неформальную диаграмму




Онтологии и представление знаний, 2010                                          15
Сортировка карточек


     • написать название концепции/класса/идеи на карточке

     • сложить в кучки по смыслу

     • понять связи между кучками

     • повторить          (можно в небольшой группе людей)




Онтологии и представление знаний, 2010                         16
Пример


                  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
Пример


                  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
Группировать, добавлять и обобщать


Для группы вещей/классов/идей и задаться вопросом что у них общего
                                                   и какие ‘родственники’ у них есть.




Онтологии и представление знаний, 2010                                             18
Группировать, добавлять и обобщать


Для группы вещей/классов/идей и задаться вопросом что у них общего
                                                   и какие ‘родственники’ у них есть.

Например


•   Plant, Animal




Онтологии и представление знаний, 2010                                             18
Группировать, добавлять и обобщать


Для группы вещей/классов/идей и задаться вопросом что у них общего
                                                               и какие ‘родственники’ у них есть.

Например


•   Plant, Animal               —        Живое Существо   (а как быть с Bacteria, Fungi?)




Онтологии и представление знаний, 2010                                                         18
Группировать, добавлять и обобщать


Для группы вещей/классов/идей и задаться вопросом что у них общего
                                                               и какие ‘родственники’ у них есть.

Например


•   Plant, Animal               —        Живое Существо   (а как быть с Bacteria, Fungi?)



•   Cat, Dog, Cow, Person




Онтологии и представление знаний, 2010                                                         18
Группировать, добавлять и обобщать


Для группы вещей/классов/идей и задаться вопросом что у них общего
                                                               и какие ‘родственники’ у них есть.

Например


•   Plant, Animal               —        Живое Существо   (а как быть с Bacteria, Fungi?)



•   Cat, Dog, Cow, Person                    —    Млекопитающее        (добавить Goat, Rabbit?)




Онтологии и представление знаний, 2010                                                            18
Группировать, добавлять и обобщать


Для группы вещей/классов/идей и задаться вопросом что у них общего
                                                               и какие ‘родственники’ у них есть.

Например


•   Plant, Animal               —        Живое Существо   (а как быть с Bacteria, Fungi?)



•   Cat, Dog, Cow, Person                    —    Млекопитающее        (добавить Goat, Rabbit?)



•   Cow, Goat, Sheep, Horse




Онтологии и представление знаний, 2010                                                            18
Группировать, добавлять и обобщать


Для группы вещей/классов/идей и задаться вопросом что у них общего
                                                                  и какие ‘родственники’ у них есть.

Например


•   Plant, Animal               —        Живое Существо      (а как быть с Bacteria, Fungi?)



•   Cat, Dog, Cow, Person                    —     Млекопитающее            (добавить Goat, Rabbit?)



•   Cow, Goat, Sheep, Horse                       —       Копытное
                       (кто они такие? ?    как они делятся/группируются?     четное/нечетное число пальцев?)




Онтологии и представление знаний, 2010                                                                     18
Группировать, добавлять и обобщать


Для группы вещей/классов/идей и задаться вопросом что у них общего
                                                                  и какие ‘родственники’ у них есть.

Например


•   Plant, Animal               —        Живое Существо      (а как быть с Bacteria, Fungi?)



•   Cat, Dog, Cow, Person                    —     Млекопитающее            (добавить Goat, Rabbit?)



•   Cow, Goat, Sheep, Horse                       —       Копытное
                       (кто они такие? ?    как они делятся/группируются?     четное/нечетное число пальцев?)



•   Wild, Domestic




Онтологии и представление знаний, 2010                                                                     18
Группировать, добавлять и обобщать


Для группы вещей/классов/идей и задаться вопросом что у них общего
                                                                  и какие ‘родственники’ у них есть.

Например


•   Plant, Animal               —        Живое Существо      (а как быть с Bacteria, Fungi?)



•   Cat, Dog, Cow, Person                    —     Млекопитающее            (добавить Goat, Rabbit?)



•   Cow, Goat, Sheep, Horse                       —       Копытное
                       (кто они такие? ?    как они делятся/группируются?     четное/нечетное число пальцев?)



•   Wild, Domestic              —        Одомашненные       (другие стадии?)




Онтологии и представление знаний, 2010                                                                     18
Цикл разработки онтологий




Онтологии и представление знаний, 2010                           19
Задать классы


выбрать основные направления:

•   добавить абстракции где необходимо
                                                         (например, Living Thing, Mammal, Fish)




Онтологии и представление знаний, 2010                                                       20
Задать классы


выбрать основные направления:

•   добавить абстракции где необходимо
                                                         (например, Living Thing, Mammal, Fish)
•   определить отношения
                                                              (например, eats, owns, parent of)




Онтологии и представление знаний, 2010                                                       20
Задать классы


выбрать основные направления:

•   добавить абстракции где необходимо
                                                         (например, Living Thing, Mammal, Fish)
•   определить отношения
                                                               (например, eats, owns, parent of)
•   идентифицировать какие понятия определяются
                                                         (e.g., Draught Animal, Father, Herbivore)

                                                                          как определить собаку?




Онтологии и представление знаний, 2010                                                          20
Задать классы


выбрать основные направления:

•   добавить абстракции где необходимо
                                                                     (например, 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
Организация концептов/свойств в иерархию


Собрать все, кроме определяемых понятий в деревья   —
                                                        это будут “примитивы”




Онтологии и представление знаний, 2010                                     21
Организация концептов/свойств в иерархию


Собрать все, кроме определяемых понятий в деревья                —
                                                                          это будут “примитивы”


                 сущности                  модификаторы   отношения    определяемы

          – LivingThing                  Domestication    eats        Carnivore
            – Animal                      – Domestic      owns        Herbivore
              – Mammal                    – Wild          parentOf    Child
                 – Cat                   Use              ...         Parent
                 – Dog                    – Pet                       Mother
                 – Cow                    – Food                      Father
                 – Person                 – Draught                   FoodAnimal
                 – Pig                   Dangerousness                DraughtAnimal
              – Fish                      – Dangerous
                 – Carp                   – Safe
                 – Goldfish              Sex
            – Plant                       – Male
              – Tree                      – Female
              – Grass                    Age
                                          – Adult
                                          – Child

Онтологии и представление знаний, 2010                                                       21
Классы и иерархия классов


•   Важно знать

      –   не существует единственной верной иерархии классов

      –   но есть некоторые рекомендации




Онтологии и представление знаний, 2010                           22
Классы и иерархия классов


•   Важно знать

      –    не существует единственной верной иерархии классов

      –    но есть некоторые рекомендации



•   Вопросы:


          является ли каждый экземпляр подкласса экземпляром суперкласса?




Онтологии и представление знаний, 2010                                      22
Классы и иерархия классов


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




Онтологии и представление знаний, 2010                                                     23
Классы и иерархия классов


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



•   Если у класс более десяти непосредственных подклассов,
                                         дополнительные подкатегории могут быть необходимы
                                                                                 (ср. со списками)

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




Онтологии и представление знаний, 2010                                                          23
Классы и иерархия классов


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



•   Если у класс более десяти непосредственных подклассов,
                                         дополнительные подкатегории могут быть необходимы
                                                                                  (ср. со списками)

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


•   Имена классов должны быть или все в единственном числе или все в множественном
    числе
                                                                   (Animal is not a kind-of Animals)




Онтологии и представление знаний, 2010                                                            23
Классы и иерархия классов


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



•   Если у класс более десяти непосредственных подклассов,
                                             дополнительные подкатегории могут быть необходимы
                                                                                             (ср. со списками)

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


•   Имена классов должны быть или все в единственном числе или все в множественном
    числе
                                                                              (Animal is not a kind-of Animals)



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




Онтологии и представление знаний, 2010                                                                       23
Цикл разработки онтологий




Онтологии и представление знаний, 2010                           24
Свойства


     • Перекликается с предыдущим шагом

     • Свойства (роли) описывают атрибуты членов класса

     • Если A подкласс B , то каждое свойство, которое имеют элементы B , будет применяться
        к элементам      A.

           – Задавать свойства для самого высокого в иерархии класса, к которому применяются

     • “присущие свойства”: цвет, запах,...

     • “внешние свойства”: название и цена




Онтологии и представление знаний, 2010                                                  25
Цикл разработки онтологий




Онтологии и представление знаний, 2010                           26
Ограничения


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




Онтологии и представление знаний, 2010                                                                27
Ограничения


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

                                                                   domain: Animal
•   Animal eats LivingThing
                                                                   range: LivingThing

                                         (NB: игнорируем разницу между частями LivingThings и LivingThings)




Онтологии и представление знаний, 2010                                                                   27
Ограничения


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

                                                                   domain: Animal
•   Animal eats LivingThing
                                                                   range: LivingThing

                                         (NB: игнорируем разницу между частями LivingThings и LivingThings)

                                                                   domain: Person
•   Person owns LivingThing except Person                          range: LivingThing
                                                                          and not Person




Онтологии и представление знаний, 2010                                                                   27
Ограничения


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

                                                                   domain: Animal
•   Animal eats LivingThing
                                                                   range: LivingThing

                                         (NB: игнорируем разницу между частями LivingThings и LivingThings)

                                                                   domain: Person
•   Person owns LivingThing except Person                          range: LivingThing
                                                                          and not Person

                                                                   domain: Animal
•   Animal parentOf Animal
                                                                   range: Animal




Онтологии и представление знаний, 2010                                                                   27
Ограничения


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

                                                                   domain: Animal
•   Animal eats LivingThing
                                                                   range: LivingThing

                                         (NB: игнорируем разницу между частями LivingThings и LivingThings)

                                                                   domain: Person
•   Person owns LivingThing except Person                          range: LivingThing
                                                                          and not Person

                                                                   domain: Animal
•   Animal parentOf Animal
                                                                   range: Animal


Идентифицировать            ограничения на свойства: что можно сказать о                всех примерах
класса?




Онтологии и представление знаний, 2010                                                                   27
Ограничения


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

                                                                   domain: Animal
•   Animal eats LivingThing
                                                                   range: LivingThing

                                         (NB: игнорируем разницу между частями LivingThings и LivingThings)

                                                                   domain: Person
•   Person owns LivingThing except Person                          range: LivingThing
                                                                          and not Person

                                                                   domain: Animal
•   Animal parentOf Animal
                                                                   range: Animal


Идентифицировать            ограничения на свойства: что можно сказать о                всех примерах
класса?

•   all Cows eat some Plants

•   all Cats eat some Animals

•   all Pigs eat some Animals and eat some Plants

•   ...

Онтологии и представление знаний, 2010                                                                   27
Ограничения


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

                                                                   domain: Animal
•   Animal eats LivingThing
                                                                   range: LivingThing

                                         (NB: игнорируем разницу между частями LivingThings и LivingThings)

                                                                   domain: Person
•   Person owns LivingThing except Person                          range: LivingThing
                                                                          and not Person

                                                                   domain: Animal
•   Animal parentOf Animal
                                                                   range: Animal


Идентифицировать            ограничения на свойства: что можно сказать о                всех примерах
класса?

•   all Cows eat some Plants

•   all Cats eat some Animals                                                        описания
                                                                              сущностей
•   all Pigs eat some Animals and eat some Plants

•   ...

Онтологии и представление знаний, 2010                                                                   27
Цикл разработки онтологий




Онтологии и представление знаний, 2010                           28
Определяемые понятия


Перефразировать и формализовать определения в терминах
                          примитивов, отношений и других определяемых понятий
оставлять заметки на будущее
                                                                         (добавить комментарии)


•   “A Parent is an Animal that is a parent of some other Animal”
                                                                    (NB: пока забудем про Plants)




Онтологии и представление знаний, 2010                                                         29
Определяемые понятия


Перефразировать и формализовать определения в терминах
                          примитивов, отношений и других определяемых понятий
оставлять заметки на будущее
                                                                          (добавить комментарии)


•   “A Parent is an Animal that is a parent of some other Animal”
                                                                     (NB: пока забудем про Plants)

                               Parent = Animal and parentOf some Animal




Онтологии и представление знаний, 2010                                                          29
Определяемые понятия


Перефразировать и формализовать определения в терминах
                          примитивов, отношений и других определяемых понятий
оставлять заметки на будущее
                                                                            (добавить комментарии)


•   “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
Определяемые понятия


Перефразировать и формализовать определения в терминах
                          примитивов, отношений и других определяемых понятий
оставлять заметки на будущее
                                                                                (добавить комментарии)


•   “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
Определяемые понятия


Перефразировать и формализовать определения в терминах
                          примитивов, отношений и других определяемых понятий
оставлять заметки на будущее
                                                                                (добавить комментарии)


•   “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
Определяемые понятия


Перефразировать и формализовать определения в терминах
                          примитивов, отношений и других определяемых понятий
оставлять заметки на будущее
                                                                                (добавить комментарии)


•   “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
Определяемые понятия


Перефразировать и формализовать определения в терминах
                          примитивов, отношений и других определяемых понятий
оставлять заметки на будущее
                                                                                (добавить комментарии)


•   “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
Нормализация

                                                Направленный ациклический
                         Дерево
                                                граф
     все узлы (кроме корня)                               (DAG)
                    имеют одного родителя       узлы могут иметь
                                                                   несколько родителей
                    ‘строгая иерархия’
                                                            ‘полииерархия’




Онтологии и представление знаний, 2010                                                   30
Нормализация

                                                Направленный ациклический
                         Дерево
                                                граф
     все узлы (кроме корня)                               (DAG)
                    имеют одного родителя       узлы могут иметь
                                                                   несколько родителей
                    ‘строгая иерархия’
                                                            ‘полииерархия’

Нормализация:
•   разделить примитивы в непересекающиеся
                                                 деревья




Онтологии и представление знаний, 2010                                                   30
Нормализация

                                                Направленный ациклический
                         Дерево
                                                граф
     все узлы (кроме корня)                               (DAG)
                    имеют одного родителя       узлы могут иметь
                                                                   несколько родителей
                    ‘строгая иерархия’
                                                            ‘полииерархия’

Нормализация:
•   разделить примитивы в непересекающиеся
                                                 деревья
•   пусть классификатор создает DAG




Онтологии и представление знаний, 2010                                                   30
Нормализация

                                                Направленный ациклический
                         Дерево
                                                граф
     все узлы (кроме корня)                               (DAG)
                    имеют одного родителя       узлы могут иметь
                                                                   несколько родителей
                    ‘строгая иерархия’
                                                            ‘полииерархия’

Нормализация:
•   разделить примитивы в непересекающиеся                  Деревья легче
                                                                                 понять
                                                 деревья
•   пусть классификатор создает DAG




Онтологии и представление знаний, 2010                                                    30
Нормализация

                                                 Направленный ациклический
                         Дерево
                                                 граф
      все узлы (кроме корня)                               (DAG)
                     имеют одного родителя       узлы могут иметь
                                                                    несколько родителей
                    ‘строгая иерархия’
                                                             ‘полииерархия’

Нормализация:
•    разделить примитивы в непересекающиеся                  Деревья легче
                                                                                  понять
                                                  деревья
•    пусть классификатор создает DAG


                   Herbivore
                                         Cow
                                       
                                         Cat
             ¨ Carnivore
           ©                           
            ¨
            %                       
    Animal
            r
            ‰                        ¨¨ Dog
        d rr
        s                          
                                    ¨
                                  )¨
                                  ©
                                  ¨
                                  %
         d          Mammal        '
                                  r
                                  ‰rr Person
          d                           rr
               d Omnivore                Pig

Онтологии и представление знаний, 2010                                                     30
Нормализация

                                                 Направленный ациклический
                         Дерево
                                                 граф
      все узлы (кроме корня)                               (DAG)
                     имеют одного родителя       узлы могут иметь
                                                                    несколько родителей
                    ‘строгая иерархия’
                                                              ‘полииерархия’

Нормализация:
•    разделить примитивы в непересекающиеся                   Деревья легче
                                                                                      понять
                                                  деревья
•    пусть классификатор создает DAG

                                                                                     $ Cow
                   Herbivore
                                         Cow                   Herbivore      A $   
                                                                                   
                                                                                   $ Cat
                                                                               A $  
                                          Cat
             ¨ Carnivore
           ©                                             ©
                                                            ¨ Carnivore            
            ¨
            %                                             ¨%                    
    Animal
            r
            ‰                        ¨¨ Dog       Animal
                                                           r‰                     ¨¨ Dog
        d rr
        s                          
                                    ¨
                                  )¨
                                  ©
                                  ¨
                                  %                    d rr
                                                       s                         ¨
                                                                                
                                                                               )¨
                                                                               ©
                                                                               %
                                                                               ¨
         d          Mammal        '                      d       Mammal        '
                                  r
                                  ‰rr Person                                   ‰
                                                                               rrr    Person
          d                           rr                  d                        rr
               d Omnivore                Pig
                                                              d Omnivore       '        Pig

Онтологии и представление знаний, 2010                                                         30
Модификаторы


•   Идентифицировать модификаторы с                          Domestication
                           взаимно исключающими значениями    – Domestic
                                                              – Wild
                                                             Use
                                                              – Pet
                                                              – Food
                                                              – Draught
                                                             Dangerousness
                                                              – Dangerous
                                                              – Safe
                                                             Sex
                                                              – Male
                                                              – Female
                                                             Age
                                                              – Adult
                                                              – Child




Онтологии и представление знаний, 2010                                       31
Модификаторы


•   Идентифицировать модификаторы с                                                 Domestication
                           взаимно исключающими значениями                           – Domestic
                                         (Domestication, Dangerousness, Sex, Age)    – Wild
                                                                                    Use
    NB. Применения могут быть не взаимно исключающими
                                                                                     – Pet
                                   (может быть одновременно Вьючное и Еда)
                                                                                     – Food
                                                                                     – Draught
                                                                                    Dangerousness
                                                                                     – Dangerous
                                                                                     – Safe
                                                                                    Sex
                                                                                     – Male
                                                                                     – Female
                                                                                    Age
                                                                                     – Adult
                                                                                     – Child




Онтологии и представление знаний, 2010                                                              31
Модификаторы


•   Идентифицировать модификаторы с                                                 Domestication
                           взаимно исключающими значениями                           – Domestic
                                         (Domestication, Dangerousness, Sex, Age)    – Wild
                                                                                    Use
    NB. Применения могут быть не взаимно исключающими
                                                                                     – Pet
                                   (может быть одновременно Вьючное и Еда)
                                                                                     – Food
                                                                                     – Draught
•   Расширить и дополнить список значений                                           Dangerousness
                                         (Dangerousness: Dangerous, Risky, Safe)     – Dangerous
                                                                                     – Safe
                                                                                    Sex
                                                                                     – Male
                                                                                     – Female
                                                                                    Age
                                                                                     – Adult
                                                                                     – Child




Онтологии и представление знаний, 2010                                                              31
Модификаторы


•   Идентифицировать модификаторы с                                                 Domestication
                           взаимно исключающими значениями                           – Domestic
                                         (Domestication, Dangerousness, Sex, Age)    – Wild
                                                                                    Use
    NB. Применения могут быть не взаимно исключающими
                                                                                     – Pet
                                   (может быть одновременно Вьючное и Еда)
                                                                                     – Food
                                                                                     – Draught
•   Расширить и дополнить список значений                                           Dangerousness
                                         (Dangerousness: Dangerous, Risky, Safe)     – Dangerous
                                                                                     – Safe
                                                                                    Sex
•   Задать как функциональное свойство                                               – Male
                                                                                     – Female
                                                                                    Age
                                                                                     – Adult
                                                                                     – Child




Онтологии и представление знаний, 2010                                                              31
Модификаторы


•   Идентифицировать модификаторы с                                                 Domestication
                           взаимно исключающими значениями                           – Domestic
                                         (Domestication, Dangerousness, Sex, Age)    – Wild
                                                                                    Use
    NB. Применения могут быть не взаимно исключающими
                                                                                     – Pet
                                   (может быть одновременно Вьючное и Еда)
                                                                                     – Food
                                                                                     – Draught
•   Расширить и дополнить список значений                                           Dangerousness
                                         (Dangerousness: Dangerous, Risky, Safe)     – Dangerous
                                                                                     – Safe
                                                                                    Sex
•   Задать как функциональное свойство                                               – Male
                                                                                     – Female
                                                                                    Age
•   Два способа задать значения модификаторов                                        – Adult
                                                                                     – Child
      –   разбиения                                  (классы разбивают величину)


      –   перечисления
                                            (индивиды для всех степеней величины)



Онтологии и представление знаний, 2010                                                              31
Разбиения


Пример: величина             —    Dangerousness




Онтологии и представление знаний, 2010                   32
Разбиения


Пример: величина             —    Dangerousness


•   Определить под-величины для разных степеней:                 Dangerous, Risky, Safe

      –   классы дизъюнктны
      –   ‘покрывают’ исходную величину т.е.,

                                         Dangerousness = Dangerous or Risky or Safe




Онтологии и представление знаний, 2010                                                    32
Разбиения


Пример: величина             —    Dangerousness


•   Определить под-величины для разных степеней:                 Dangerous, Risky, Safe

      –   классы дизъюнктны
      –   ‘покрывают’ исходную величину т.е.,

                                         Dangerousness = Dangerous or Risky or Safe

•   Определить функциональное свойство hasDangerousness

      –   область значений: исходная величина, например, Dangerousness
      –   домен задается отдельно




Онтологии и представление знаний, 2010                                                    32
Разбиения


Пример: величина             —    Dangerousness


•   Определить под-величины для разных степеней:                 Dangerous, Risky, Safe

      –   классы дизъюнктны
      –   ‘покрывают’ исходную величину т.е.,

                                         Dangerousness = Dangerous or Risky or Safe

•   Определить функциональное свойство hasDangerousness

      –   область значений: исходная величина, например, Dangerousness
      –   домен задается отдельно



              DangerousAnimal = Animal and hasDangerousness some Dangerous




Онтологии и представление знаний, 2010                                                    32
Перечисления


Пример: величина             —    SexValue




Онтологии и представление знаний, 2010                      33
Перечисления


Пример: величина             —    SexValue


•   Определим индивиды для каждого значения:                male, female

      –   значения различны              (НЕ предполагается в OWL)

      –   значением является ‘перечисление’ значений, т.е.,

                                              SexValue =   { female, male }




Онтологии и представление знаний, 2010                                        33
Перечисления


Пример: величина             —    SexValue


•   Определим индивиды для каждого значения:                male, female

      –   значения различны              (НЕ предполагается в OWL)

      –   значением является ‘перечисление’ значений, т.е.,

                                              SexValue =   { female, male }

•   Определим функциональное свойство hasSex

      –   область значений: исходное свойство т.е. SexValue
      –   домен задается дополнительно




Онтологии и представление знаний, 2010                                        33
Перечисления


Пример: величина             —    SexValue


•   Определим индивиды для каждого значения:                male, female

      –   значения различны              (НЕ предполагается в OWL)

      –   значением является ‘перечисление’ значений, т.е.,

                                              SexValue =   { female, male }

•   Определим функциональное свойство hasSex

      –   область значений: исходное свойство т.е. SexValue
      –   домен задается дополнительно



                                 MaleAnimal = Animal and hasSex is male




Онтологии и представление знаний, 2010                                        33
Два способа задать значения


                        Разбиение                       Перечисление




Онтологии и представление знаний, 2010                                 34
Два способа задать значения


                        Разбиение                             Перечисление

          •   может быть разбито далее                •   не может быть разбито далее
                                         и уточнено




Онтологии и представление знаний, 2010                                                  34
Два способа задать значения


                        Разбиение                             Перечисление

          •   может быть разбито далее                •   не может быть разбито далее
                                         и уточнено


          •   соответствует философскому              •   соответствует интуиции
              понятию пространства величин




Онтологии и представление знаний, 2010                                                  34
Два способа задать значения


                        Разбиение                             Перечисление

          •   может быть разбито далее                •   не может быть разбито далее
                                         и уточнено


          •   соответствует философскому              •   соответствует интуиции
              понятию пространства величин




Онтологии и представление знаний, 2010                                                  34
Два способа задать значения


                        Разбиение                             Перечисление

          •   может быть разбито далее                •   не может быть разбито далее
                                         и уточнено


          •   соответствует философскому              •   соответствует интуиции
              понятию пространства величин




          •   больше подходит для                     •   не очень подходит для
          использования с                             использования
                    OWL DL классификаторами                           с существующими
                                                      классификаторами




Онтологии и представление знаний, 2010                                                  34
Поиск объяснений




Онтологии и представление знаний, 2010                      35
Зачем нужны объяснения?


Поиск объяснений это техника, помогающая поддерживать онтологии.

Пример Ранняя версия SNOMED CT (в которой         300000 аксиом) утверждала

                            Amputation_of_Finger ⊑ Amputation_of_Arm


Задача Найти аксиомы (среди 300 000 аксиом SNOMED) ответственные за этот вывод.




Онтологии и представление знаний, 2010                                            36
Определение


Рассмотрим 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
Пример


Рассмотрим
                          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
Пример


Рассмотрим 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
Вычисление


     • Множество Pin(T           , C ⊑ D) может содержать экспоненциально много объяснений;

     • Проверка существует ли элемент Pin(T             , C ⊑ D)   размера   ≤ n   трудна даже для
        EL;

     • Найти один член Pin(T              , C ⊑ D) не труднее классификации

           – В частности, полиномиальный алгоритм поиска одного члена Pin(T             , C ⊑ D)
               для   T,C     и   D   в   EL.




Онтологии и представление знаний, 2010                                                          40
Алгоритм поиска одного члена 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
Лаконичные объяснения


Множество объяснение может быть нелегко понять.

TBox

          Doctor ⊑ some_large_concept_description ⊓
                       Person ⊓ some_other _large_concept_description


Doctor ⊑ Person потому, что Person явно употребляется в определении

                                                          но это может быть сразу не видно.




Онтологии и представление знаний, 2010                                                   42
Examples
                                         (due to Michael Zakharyaschev)




Онтологии и представление знаний, 2010                                    43
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
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
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
1. Card sorting

      hotel
      hotel                              sunbathing
                                         sunbathing             hiking
                                                                hiking
      restaurant
      restaurant                         sightseeing
                                         sightseeing            activity
                                                                activity
      sports
      sports                             accommodation rating
                                         accommodation rating   spa treatment
                                                                spa treatment
      luxury hotel
      luxury hotel                       three stars
                                         three stars            safari
                                                                safari
      bed  breakfast
      bed  breakfast                    campground
                                         campground             surfing
                                                                surfing
      two stars
      two stars                          swimming pool
                                         swimming pool          destination
                                                                destination




Онтологии и представление знаний, 2010                                          46
2. Arrange Concepts/Properties into Hierarchy

         self-standing                     modifiers               relations       definable

  – accommodation                  accommodation rating     hasAccommodation   two star hotel
    – hotel                          – two stars            hasActivity        …
       – luxury hotel                – three stars          hasRating
    – bb                            – four stars           hasRestaurant
    – campground                     – five stars           hasFacility

  – activity                       hotel facility
    – sports                         – swimming pool
       – surfing                     – meeting facilities
       – hiking
    – safari
    – sightseeing
    – relaxation
       – sunbathing
       – spa treatment

  – restaurant

  – destination

NB. All siblings in the hierarchy of self-standing entities are disjoint.



Онтологии и представление знаний, 2010                                                          47
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
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 BB are accommodation
    therefore, Hotel and BB may be regarded as subclasses of Accommodation




Онтологии и представление знаний, 2010                                                             48
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 BB are accommodation
    therefore, Hotel and BB 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
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 BB are accommodation
    therefore, Hotel and BB 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
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
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
20101003 ontology konev_lecture09
20101003 ontology konev_lecture09
20101003 ontology konev_lecture09
20101003 ontology konev_lecture09
20101003 ontology konev_lecture09
20101003 ontology konev_lecture09
20101003 ontology konev_lecture09
20101003 ontology konev_lecture09
20101003 ontology konev_lecture09
20101003 ontology konev_lecture09
20101003 ontology konev_lecture09
20101003 ontology konev_lecture09

More Related Content

Similar to 20101003 ontology konev_lecture09

What fact is and how do business learn requirements engineering
What fact is and how do business learn requirements engineeringWhat fact is and how do business learn requirements engineering
What fact is and how do business learn requirements engineeringAlex Turkhanov
 
Презентация лаборатории медиаисследований для студентов
Презентация лаборатории медиаисследований для студентовПрезентация лаборатории медиаисследований для студентов
Презентация лаборатории медиаисследований для студентовИлья Кирия
 
Прогуливаясь по онтологическому саду
Прогуливаясь по онтологическому садуПрогуливаясь по онтологическому саду
Прогуливаясь по онтологическому садуlukoshka
 
Онтологически-контролируемое обучение: имплицитное и эксплицитное знание
Онтологически-контролируемое обучение: имплицитное и эксплицитное знаниеОнтологически-контролируемое обучение: имплицитное и эксплицитное знание
Онтологически-контролируемое обучение: имплицитное и эксплицитное знаниеAlexey Neznanov
 
лингвистическая онтология как когнитивная технология
лингвистическая онтология как когнитивная технологиялингвистическая онтология как когнитивная технология
лингвистическая онтология как когнитивная технологияAltyna_
 
Semantic Web ontologies in Finance. Review 2017.
Semantic Web ontologies in Finance. Review 2017.Semantic Web ontologies in Finance. Review 2017.
Semantic Web ontologies in Finance. Review 2017.Timur Ovadia Berezin
 
Праксиология и системное мышление
Праксиология и системное мышлениеПраксиология и системное мышление
Праксиология и системное мышлениеAnatoly Levenchuk
 
Ontology and Text Alalize
Ontology and Text AlalizeOntology and Text Alalize
Ontology and Text AlalizeOchirov Tsyren
 
Хакатон по открытым данным: анализ паспортов ВАК и диссертаций средствами пои...
Хакатон по открытым данным: анализ паспортов ВАК и диссертаций средствами пои...Хакатон по открытым данным: анализ паспортов ВАК и диссертаций средствами пои...
Хакатон по открытым данным: анализ паспортов ВАК и диссертаций средствами пои...Sergey Saltykov
 
стартовая презентация
стартовая презентациястартовая презентация
стартовая презентацияlandcast92
 
методологические основы психологии
методологические основы психологииметодологические основы психологии
методологические основы психологииVlad Kondratenko
 
АРХИТЕКТУРА СИСТЕМЫ УПРАВЛЕНИЯ ЗНАНИЯМИ НА ОСНОВЕ WIKI-ТЕХНОЛОГИИ И ИНТЕГРИРО...
АРХИТЕКТУРА СИСТЕМЫ УПРАВЛЕНИЯ ЗНАНИЯМИ НА ОСНОВЕ WIKI-ТЕХНОЛОГИИ И ИНТЕГРИРО...АРХИТЕКТУРА СИСТЕМЫ УПРАВЛЕНИЯ ЗНАНИЯМИ НА ОСНОВЕ WIKI-ТЕХНОЛОГИИ И ИНТЕГРИРО...
АРХИТЕКТУРА СИСТЕМЫ УПРАВЛЕНИЯ ЗНАНИЯМИ НА ОСНОВЕ WIKI-ТЕХНОЛОГИИ И ИНТЕГРИРО...ITMO University
 
Мастер-класс: Системное мышление
Мастер-класс: Системное мышлениеМастер-класс: Системное мышление
Мастер-класс: Системное мышлениеCEE-SEC(R)
 
Онтологии и информационная архитектура: соотношение терминов и потенциал совм...
Онтологии и информационная архитектура: соотношение терминов и потенциал совм...Онтологии и информационная архитектура: соотношение терминов и потенциал совм...
Онтологии и информационная архитектура: соотношение терминов и потенциал совм...Dmitry Kudryavtsev
 
SPb BA & SA Night. Learning a New Business Domain [1.01, RUS]
SPb BA & SA Night. Learning a New Business Domain [1.01, RUS]SPb BA & SA Night. Learning a New Business Domain [1.01, RUS]
SPb BA & SA Night. Learning a New Business Domain [1.01, RUS]Alex V. Petrov
 
икт как средство развития ключевых компетенций
икт как средство развития ключевых компетенцийикт как средство развития ключевых компетенций
икт как средство развития ключевых компетенцийNatalya Dyrda
 
Сборка "Порядков мышления"
Сборка "Порядков мышления"Сборка "Порядков мышления"
Сборка "Порядков мышления"lukoshka
 

Similar to 20101003 ontology konev_lecture09 (20)

IMS
IMSIMS
IMS
 
What fact is and how do business learn requirements engineering
What fact is and how do business learn requirements engineeringWhat fact is and how do business learn requirements engineering
What fact is and how do business learn requirements engineering
 
Презентация лаборатории медиаисследований для студентов
Презентация лаборатории медиаисследований для студентовПрезентация лаборатории медиаисследований для студентов
Презентация лаборатории медиаисследований для студентов
 
OntoEd
OntoEdOntoEd
OntoEd
 
Прогуливаясь по онтологическому саду
Прогуливаясь по онтологическому садуПрогуливаясь по онтологическому саду
Прогуливаясь по онтологическому саду
 
Онтологически-контролируемое обучение: имплицитное и эксплицитное знание
Онтологически-контролируемое обучение: имплицитное и эксплицитное знаниеОнтологически-контролируемое обучение: имплицитное и эксплицитное знание
Онтологически-контролируемое обучение: имплицитное и эксплицитное знание
 
лингвистическая онтология как когнитивная технология
лингвистическая онтология как когнитивная технологиялингвистическая онтология как когнитивная технология
лингвистическая онтология как когнитивная технология
 
Semantic Web ontologies in Finance. Review 2017.
Semantic Web ontologies in Finance. Review 2017.Semantic Web ontologies in Finance. Review 2017.
Semantic Web ontologies in Finance. Review 2017.
 
Праксиология и системное мышление
Праксиология и системное мышлениеПраксиология и системное мышление
Праксиология и системное мышление
 
презентация нотв 2010
презентация нотв 2010презентация нотв 2010
презентация нотв 2010
 
Ontology and Text Alalize
Ontology and Text AlalizeOntology and Text Alalize
Ontology and Text Alalize
 
Хакатон по открытым данным: анализ паспортов ВАК и диссертаций средствами пои...
Хакатон по открытым данным: анализ паспортов ВАК и диссертаций средствами пои...Хакатон по открытым данным: анализ паспортов ВАК и диссертаций средствами пои...
Хакатон по открытым данным: анализ паспортов ВАК и диссертаций средствами пои...
 
стартовая презентация
стартовая презентациястартовая презентация
стартовая презентация
 
методологические основы психологии
методологические основы психологииметодологические основы психологии
методологические основы психологии
 
АРХИТЕКТУРА СИСТЕМЫ УПРАВЛЕНИЯ ЗНАНИЯМИ НА ОСНОВЕ WIKI-ТЕХНОЛОГИИ И ИНТЕГРИРО...
АРХИТЕКТУРА СИСТЕМЫ УПРАВЛЕНИЯ ЗНАНИЯМИ НА ОСНОВЕ WIKI-ТЕХНОЛОГИИ И ИНТЕГРИРО...АРХИТЕКТУРА СИСТЕМЫ УПРАВЛЕНИЯ ЗНАНИЯМИ НА ОСНОВЕ WIKI-ТЕХНОЛОГИИ И ИНТЕГРИРО...
АРХИТЕКТУРА СИСТЕМЫ УПРАВЛЕНИЯ ЗНАНИЯМИ НА ОСНОВЕ WIKI-ТЕХНОЛОГИИ И ИНТЕГРИРО...
 
Мастер-класс: Системное мышление
Мастер-класс: Системное мышлениеМастер-класс: Системное мышление
Мастер-класс: Системное мышление
 
Онтологии и информационная архитектура: соотношение терминов и потенциал совм...
Онтологии и информационная архитектура: соотношение терминов и потенциал совм...Онтологии и информационная архитектура: соотношение терминов и потенциал совм...
Онтологии и информационная архитектура: соотношение терминов и потенциал совм...
 
SPb BA & SA Night. Learning a New Business Domain [1.01, RUS]
SPb BA & SA Night. Learning a New Business Domain [1.01, RUS]SPb BA & SA Night. Learning a New Business Domain [1.01, RUS]
SPb BA & SA Night. Learning a New Business Domain [1.01, RUS]
 
икт как средство развития ключевых компетенций
икт как средство развития ключевых компетенцийикт как средство развития ключевых компетенций
икт как средство развития ключевых компетенций
 
Сборка "Порядков мышления"
Сборка "Порядков мышления"Сборка "Порядков мышления"
Сборка "Порядков мышления"
 

More from Computer Science Club

20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugsComputer Science Club
 
20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugsComputer Science Club
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugsComputer Science Club
 
20140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture1220140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture12Computer Science Club
 
20140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture1120140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture11Computer Science Club
 
20140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture1020140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture10Computer Science Club
 
20140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture0920140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture09Computer Science Club
 
20140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture0220140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture02Computer Science Club
 
20140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture0120140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture01Computer Science Club
 
20140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-0420140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-04Computer Science Club
 
20140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture0120140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture01Computer Science Club
 

More from Computer Science Club (20)

20141223 kuznetsov distributed
20141223 kuznetsov distributed20141223 kuznetsov distributed
20141223 kuznetsov distributed
 
Computer Vision
Computer VisionComputer Vision
Computer Vision
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
 
20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
 
20140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture1220140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture12
 
20140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture1120140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture11
 
20140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture1020140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture10
 
20140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture0920140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture09
 
20140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture0220140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture02
 
20140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture0120140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture01
 
20140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-0420140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-04
 
20140223-SuffixTrees-lecture01-03
20140223-SuffixTrees-lecture01-0320140223-SuffixTrees-lecture01-03
20140223-SuffixTrees-lecture01-03
 
20140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture0120140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture01
 
20131106 h10 lecture6_matiyasevich
20131106 h10 lecture6_matiyasevich20131106 h10 lecture6_matiyasevich
20131106 h10 lecture6_matiyasevich
 
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
 
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
 
20131013 h10 lecture4_matiyasevich
20131013 h10 lecture4_matiyasevich20131013 h10 lecture4_matiyasevich
20131013 h10 lecture4_matiyasevich
 
20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich
 
20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich
 

20101003 ontology konev_lecture09

  • 2. Что такое “Ontology Engineering”? Разработка онтологий — это процесс определения терминов домена и отношений между ними: • определение концептов домена (классов) Онтологии и представление знаний, 2010 2
  • 3. Что такое “Ontology Engineering”? Разработка онтологий — это процесс определения терминов домена и отношений между ними: • определение концептов домена (классов) • организация концептов в иерархию (подкласс-суперкласс) Онтологии и представление знаний, 2010 2
  • 4. Что такое “Ontology Engineering”? Разработка онтологий — это процесс определения терминов домена и отношений между ними: • определение концептов домена (классов) • организация концептов в иерархию (подкласс-суперкласс) • определение атрибутов и свойств классов, а также ограничений на их значения Онтологии и представление знаний, 2010 2
  • 5. Что такое “Ontology Engineering”? Разработка онтологий — это процесс определения терминов домена и отношений между ними: • определение концептов домена (классов) • организация концептов в иерархию (подкласс-суперкласс) • определение атрибутов и свойств классов, а также ограничений на их значения • определение индивидов и придание значений атрибутам/свойствам. Онтологии и представление знаний, 2010 2
  • 6. Зачем разрабатывать онтологии? • Чтобы добиться общего понимания терминов и для обмена информацией – между людьми – между программами Онтологии и представление знаний, 2010 3
  • 7. Зачем разрабатывать онтологии? • Чтобы добиться общего понимания терминов и для обмена информацией – между людьми – между программами • Для повторного использования знаний – не “изобретаем колесо” – стандарты Онтологии и представление знаний, 2010 3
  • 8. Зачем разрабатывать онтологии? • Чтобы добиться общего понимания терминов и для обмена информацией – между людьми – между программами • Для повторного использования знаний – не “изобретаем колесо” – стандарты • Чтобы явно записать что мы знаем о какой-то области – эволюция знаний – легче понимать и поддерживать Онтологии и представление знаний, 2010 3
  • 9. Зачем разрабатывать онтологии? • Чтобы добиться общего понимания терминов и для обмена информацией – между людьми – между программами • Для повторного использования знаний – не “изобретаем колесо” – стандарты • Чтобы явно записать что мы знаем о какой-то области – эволюция знаний – легче понимать и поддерживать • Чтобы отделить знания об области от процедур – повторное использование знаний и повторное использование процедур Онтологии и представление знаний, 2010 3
  • 10. Разработка онтологий vs. ОО-моделирование Онтология ОО классы Онтологии и представление знаний, 2010 4
  • 11. Разработка онтологий vs. ОО-моделирование Онтология ОО классы • отражает • отражает строение мира построение кода и данных Онтологии и представление знаний, 2010 4
  • 12. Разработка онтологий vs. ОО-моделирование Онтология ОО классы • отражает • отражает строение мира построение кода и данных • фокусируется на • фокусируется на структуре концептов поведении (методы) Онтологии и представление знаний, 2010 4
  • 13. Разработка онтологий vs. ОО-моделирование Онтология ОО классы • отражает • отражает строение мира построение кода и данных • фокусируется на • фокусируется на структуре концептов поведении (методы) • физическое • описывает физическое представление представление данных не важно (int, char, etc.) Онтологии и представление знаний, 2010 4
  • 14. Цикл разработки онтологий Онтологии и представление знаний, 2010 5
  • 15. Цикл разработки онтологий Онтологии и представление знаний, 2010 6
  • 16. Анализ требований и области применения • Какую область знаний должна покрывать онтология? • Какие термины необходимы в данной области? • На какие типы вопросов информация, хранимая в онтологии, должна позволять найти ответ? • Какая выразительная сила языка представления онтологий потребуется? • Какие программные средства будут использованы? • Гетерогенность, распределенность, автономность • Гипотеза открытого мира vs гипотеза закрытого мира • Статический или динамический процесс • Ограниченные, неполные знания • Анализ случаев – Какая информация доступна – Какие вопросы зададут – Типы и роли пользователей Онтологии и представление знаний, 2010 7
  • 17. Пример: онтология животных и растений Онтология животных (и растений), упоминающихся в детских книжках, с целью создания предметного указателя. Должна включать: • где живут • что едят (хищное, травоядное, всеядное) • опасны ли они • большие ли они • немного анатомии (количество ног, крыльев, пальцев, и т.п.) Онтологии и представление знаний, 2010 8
  • 18. Цикл разработки онтологий Онтологии и представление знаний, 2010 9
  • 19. Анализ области применения • Для чего будет использована эта онтология? – Онтология не должна содержать ВСЕ возможные знания о домене * не требуется уточнять или обобщать более, чем необходимо * не требуется включать все возможные свойства классов Онтологии и представление знаний, 2010 10
  • 20. Анализ области применения • Для чего будет использована эта онтология? – Онтология не должна содержать ВСЕ возможные знания о домене * не требуется уточнять или обобщать более, чем необходимо * не требуется включать все возможные свойства классов Пример: онтология биологических экспериментов содержит BiologicalOrganism и Experimenter. Онтологии и представление знаний, 2010 10
  • 21. Анализ области применения • Для чего будет использована эта онтология? – Онтология не должна содержать ВСЕ возможные знания о домене * не требуется уточнять или обобщать более, чем необходимо * не требуется включать все возможные свойства классов Пример: онтология биологических экспериментов содержит BiologicalOrganism и Experimenter. Должен ли класс Experimenter быть подклассом BiologicalOrganism? Онтологии и представление знаний, 2010 10
  • 22. Анализ области применения • Для чего будет использована эта онтология? – Онтология не должна содержать ВСЕ возможные знания о домене * не требуется уточнять или обобщать более, чем необходимо * не требуется включать все возможные свойства классов Пример: онтология биологических экспериментов содержит BiologicalOrganism и Experimenter. Должен ли класс Experimenter быть подклассом BiologicalOrganism? – Предметный указатель Онтологии и представление знаний, 2010 10
  • 23. Цикл разработки онтологий Онтологии и представление знаний, 2010 11
  • 24. Повторное использование • Редко начинаем на пустом месте – меньше усилий – средства разработки – проверенные временем • Стандартные термины легко доступны • Использовать модули Онтологии и представление знаний, 2010 12
  • 25. Где брать? • Библиотеки онтологий – 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
  • 26. Цикл разработки онтологий Онтологии и представление знаний, 2010 14
  • 27. Перечисление терминов • собрать термины – какие термины – какие у них свойства? – что мы хотим сказать про эти термины? • неформально сгруппировать • перефразировать и уточнить термины, чтобы получить неформальные определения концептов • нарисовать неформальную диаграмму Онтологии и представление знаний, 2010 15
  • 28. Сортировка карточек • написать название концепции/класса/идеи на карточке • сложить в кучки по смыслу • понять связи между кучками • повторить (можно в небольшой группе людей) Онтологии и представление знаний, 2010 16
  • 29. Пример 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
  • 30. Пример 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
  • 31. Группировать, добавлять и обобщать Для группы вещей/классов/идей и задаться вопросом что у них общего и какие ‘родственники’ у них есть. Онтологии и представление знаний, 2010 18
  • 32. Группировать, добавлять и обобщать Для группы вещей/классов/идей и задаться вопросом что у них общего и какие ‘родственники’ у них есть. Например • Plant, Animal Онтологии и представление знаний, 2010 18
  • 33. Группировать, добавлять и обобщать Для группы вещей/классов/идей и задаться вопросом что у них общего и какие ‘родственники’ у них есть. Например • Plant, Animal — Живое Существо (а как быть с Bacteria, Fungi?) Онтологии и представление знаний, 2010 18
  • 34. Группировать, добавлять и обобщать Для группы вещей/классов/идей и задаться вопросом что у них общего и какие ‘родственники’ у них есть. Например • Plant, Animal — Живое Существо (а как быть с Bacteria, Fungi?) • Cat, Dog, Cow, Person Онтологии и представление знаний, 2010 18
  • 35. Группировать, добавлять и обобщать Для группы вещей/классов/идей и задаться вопросом что у них общего и какие ‘родственники’ у них есть. Например • Plant, Animal — Живое Существо (а как быть с Bacteria, Fungi?) • Cat, Dog, Cow, Person — Млекопитающее (добавить Goat, Rabbit?) Онтологии и представление знаний, 2010 18
  • 36. Группировать, добавлять и обобщать Для группы вещей/классов/идей и задаться вопросом что у них общего и какие ‘родственники’ у них есть. Например • Plant, Animal — Живое Существо (а как быть с Bacteria, Fungi?) • Cat, Dog, Cow, Person — Млекопитающее (добавить Goat, Rabbit?) • Cow, Goat, Sheep, Horse Онтологии и представление знаний, 2010 18
  • 37. Группировать, добавлять и обобщать Для группы вещей/классов/идей и задаться вопросом что у них общего и какие ‘родственники’ у них есть. Например • Plant, Animal — Живое Существо (а как быть с Bacteria, Fungi?) • Cat, Dog, Cow, Person — Млекопитающее (добавить Goat, Rabbit?) • Cow, Goat, Sheep, Horse — Копытное (кто они такие? ? как они делятся/группируются? четное/нечетное число пальцев?) Онтологии и представление знаний, 2010 18
  • 38. Группировать, добавлять и обобщать Для группы вещей/классов/идей и задаться вопросом что у них общего и какие ‘родственники’ у них есть. Например • Plant, Animal — Живое Существо (а как быть с Bacteria, Fungi?) • Cat, Dog, Cow, Person — Млекопитающее (добавить Goat, Rabbit?) • Cow, Goat, Sheep, Horse — Копытное (кто они такие? ? как они делятся/группируются? четное/нечетное число пальцев?) • Wild, Domestic Онтологии и представление знаний, 2010 18
  • 39. Группировать, добавлять и обобщать Для группы вещей/классов/идей и задаться вопросом что у них общего и какие ‘родственники’ у них есть. Например • Plant, Animal — Живое Существо (а как быть с Bacteria, Fungi?) • Cat, Dog, Cow, Person — Млекопитающее (добавить Goat, Rabbit?) • Cow, Goat, Sheep, Horse — Копытное (кто они такие? ? как они делятся/группируются? четное/нечетное число пальцев?) • Wild, Domestic — Одомашненные (другие стадии?) Онтологии и представление знаний, 2010 18
  • 40. Цикл разработки онтологий Онтологии и представление знаний, 2010 19
  • 41. Задать классы выбрать основные направления: • добавить абстракции где необходимо (например, Living Thing, Mammal, Fish) Онтологии и представление знаний, 2010 20
  • 42. Задать классы выбрать основные направления: • добавить абстракции где необходимо (например, Living Thing, Mammal, Fish) • определить отношения (например, eats, owns, parent of) Онтологии и представление знаний, 2010 20
  • 43. Задать классы выбрать основные направления: • добавить абстракции где необходимо (например, Living Thing, Mammal, Fish) • определить отношения (например, eats, owns, parent of) • идентифицировать какие понятия определяются (e.g., Draught Animal, Father, Herbivore) как определить собаку? Онтологии и представление знаний, 2010 20
  • 44. Задать классы выбрать основные направления: • добавить абстракции где необходимо (например, 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
  • 45. Организация концептов/свойств в иерархию Собрать все, кроме определяемых понятий в деревья — это будут “примитивы” Онтологии и представление знаний, 2010 21
  • 46. Организация концептов/свойств в иерархию Собрать все, кроме определяемых понятий в деревья — это будут “примитивы” сущности модификаторы отношения определяемы – LivingThing Domestication eats Carnivore – Animal – Domestic owns Herbivore – Mammal – Wild parentOf Child – Cat Use ... Parent – Dog – Pet Mother – Cow – Food Father – Person – Draught FoodAnimal – Pig Dangerousness DraughtAnimal – Fish – Dangerous – Carp – Safe – Goldfish Sex – Plant – Male – Tree – Female – Grass Age – Adult – Child Онтологии и представление знаний, 2010 21
  • 47. Классы и иерархия классов • Важно знать – не существует единственной верной иерархии классов – но есть некоторые рекомендации Онтологии и представление знаний, 2010 22
  • 48. Классы и иерархия классов • Важно знать – не существует единственной верной иерархии классов – но есть некоторые рекомендации • Вопросы: является ли каждый экземпляр подкласса экземпляром суперкласса? Онтологии и представление знаний, 2010 22
  • 49. Классы и иерархия классов • Все родственные понятия в иерархии классов должны быть на одном уровне (ср. с разделами и главами книг) Онтологии и представление знаний, 2010 23
  • 50. Классы и иерархия классов • Все родственные понятия в иерархии классов должны быть на одном уровне (ср. с разделами и главами книг) • Если у класс более десяти непосредственных подклассов, дополнительные подкатегории могут быть необходимы (ср. со списками) Если нет естественного подразбиения, длинный список может быть более естественным Онтологии и представление знаний, 2010 23
  • 51. Классы и иерархия классов • Все родственные понятия в иерархии классов должны быть на одном уровне (ср. с разделами и главами книг) • Если у класс более десяти непосредственных подклассов, дополнительные подкатегории могут быть необходимы (ср. со списками) Если нет естественного подразбиения, длинный список может быть более естественным • Имена классов должны быть или все в единственном числе или все в множественном числе (Animal is not a kind-of Animals) Онтологии и представление знаний, 2010 23
  • 52. Классы и иерархия классов • Все родственные понятия в иерархии классов должны быть на одном уровне (ср. с разделами и главами книг) • Если у класс более десяти непосредственных подклассов, дополнительные подкатегории могут быть необходимы (ср. со списками) Если нет естественного подразбиения, длинный список может быть более естественным • Имена классов должны быть или все в единственном числе или все в множественном числе (Animal is not a kind-of Animals) • Классы представляют концепции области знаний, не их названия! название может меняться, но будет означать ту же концепцию. ( синонимы для той же концепции не представляются разными классами) Онтологии и представление знаний, 2010 23
  • 53. Цикл разработки онтологий Онтологии и представление знаний, 2010 24
  • 54. Свойства • Перекликается с предыдущим шагом • Свойства (роли) описывают атрибуты членов класса • Если A подкласс B , то каждое свойство, которое имеют элементы B , будет применяться к элементам A. – Задавать свойства для самого высокого в иерархии класса, к которому применяются • “присущие свойства”: цвет, запах,... • “внешние свойства”: название и цена Онтологии и представление знаний, 2010 25
  • 55. Цикл разработки онтологий Онтологии и представление знаний, 2010 26
  • 56. Ограничения Ограничения на область определения и принимаемые значения для свойств (если что-то используется каким-то специальным образом, оставить текстовый комментарий) Онтологии и представление знаний, 2010 27
  • 57. Ограничения Ограничения на область определения и принимаемые значения для свойств (если что-то используется каким-то специальным образом, оставить текстовый комментарий) domain: Animal • Animal eats LivingThing range: LivingThing (NB: игнорируем разницу между частями LivingThings и LivingThings) Онтологии и представление знаний, 2010 27
  • 58. Ограничения Ограничения на область определения и принимаемые значения для свойств (если что-то используется каким-то специальным образом, оставить текстовый комментарий) domain: Animal • Animal eats LivingThing range: LivingThing (NB: игнорируем разницу между частями LivingThings и LivingThings) domain: Person • Person owns LivingThing except Person range: LivingThing and not Person Онтологии и представление знаний, 2010 27
  • 59. Ограничения Ограничения на область определения и принимаемые значения для свойств (если что-то используется каким-то специальным образом, оставить текстовый комментарий) domain: Animal • Animal eats LivingThing range: LivingThing (NB: игнорируем разницу между частями LivingThings и LivingThings) domain: Person • Person owns LivingThing except Person range: LivingThing and not Person domain: Animal • Animal parentOf Animal range: Animal Онтологии и представление знаний, 2010 27
  • 60. Ограничения Ограничения на область определения и принимаемые значения для свойств (если что-то используется каким-то специальным образом, оставить текстовый комментарий) domain: Animal • Animal eats LivingThing range: LivingThing (NB: игнорируем разницу между частями LivingThings и LivingThings) domain: Person • Person owns LivingThing except Person range: LivingThing and not Person domain: Animal • Animal parentOf Animal range: Animal Идентифицировать ограничения на свойства: что можно сказать о всех примерах класса? Онтологии и представление знаний, 2010 27
  • 61. Ограничения Ограничения на область определения и принимаемые значения для свойств (если что-то используется каким-то специальным образом, оставить текстовый комментарий) domain: Animal • Animal eats LivingThing range: LivingThing (NB: игнорируем разницу между частями LivingThings и LivingThings) domain: Person • Person owns LivingThing except Person range: LivingThing and not Person domain: Animal • Animal parentOf Animal range: Animal Идентифицировать ограничения на свойства: что можно сказать о всех примерах класса? • all Cows eat some Plants • all Cats eat some Animals • all Pigs eat some Animals and eat some Plants • ... Онтологии и представление знаний, 2010 27
  • 62. Ограничения Ограничения на область определения и принимаемые значения для свойств (если что-то используется каким-то специальным образом, оставить текстовый комментарий) domain: Animal • Animal eats LivingThing range: LivingThing (NB: игнорируем разницу между частями LivingThings и LivingThings) domain: Person • Person owns LivingThing except Person range: LivingThing and not Person domain: Animal • Animal parentOf Animal range: Animal Идентифицировать ограничения на свойства: что можно сказать о всех примерах класса? • all Cows eat some Plants • all Cats eat some Animals описания сущностей • all Pigs eat some Animals and eat some Plants • ... Онтологии и представление знаний, 2010 27
  • 63. Цикл разработки онтологий Онтологии и представление знаний, 2010 28
  • 64. Определяемые понятия Перефразировать и формализовать определения в терминах примитивов, отношений и других определяемых понятий оставлять заметки на будущее (добавить комментарии) • “A Parent is an Animal that is a parent of some other Animal” (NB: пока забудем про Plants) Онтологии и представление знаний, 2010 29
  • 65. Определяемые понятия Перефразировать и формализовать определения в терминах примитивов, отношений и других определяемых понятий оставлять заметки на будущее (добавить комментарии) • “A Parent is an Animal that is a parent of some other Animal” (NB: пока забудем про Plants) Parent = Animal and parentOf some Animal Онтологии и представление знаний, 2010 29
  • 66. Определяемые понятия Перефразировать и формализовать определения в терминах примитивов, отношений и других определяемых понятий оставлять заметки на будущее (добавить комментарии) • “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
  • 67. Определяемые понятия Перефразировать и формализовать определения в терминах примитивов, отношений и других определяемых понятий оставлять заметки на будущее (добавить комментарии) • “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
  • 68. Определяемые понятия Перефразировать и формализовать определения в терминах примитивов, отношений и других определяемых понятий оставлять заметки на будущее (добавить комментарии) • “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
  • 69. Определяемые понятия Перефразировать и формализовать определения в терминах примитивов, отношений и других определяемых понятий оставлять заметки на будущее (добавить комментарии) • “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
  • 70. Определяемые понятия Перефразировать и формализовать определения в терминах примитивов, отношений и других определяемых понятий оставлять заметки на будущее (добавить комментарии) • “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
  • 71. Нормализация Направленный ациклический Дерево граф все узлы (кроме корня) (DAG) имеют одного родителя узлы могут иметь несколько родителей ‘строгая иерархия’ ‘полииерархия’ Онтологии и представление знаний, 2010 30
  • 72. Нормализация Направленный ациклический Дерево граф все узлы (кроме корня) (DAG) имеют одного родителя узлы могут иметь несколько родителей ‘строгая иерархия’ ‘полииерархия’ Нормализация: • разделить примитивы в непересекающиеся деревья Онтологии и представление знаний, 2010 30
  • 73. Нормализация Направленный ациклический Дерево граф все узлы (кроме корня) (DAG) имеют одного родителя узлы могут иметь несколько родителей ‘строгая иерархия’ ‘полииерархия’ Нормализация: • разделить примитивы в непересекающиеся деревья • пусть классификатор создает DAG Онтологии и представление знаний, 2010 30
  • 74. Нормализация Направленный ациклический Дерево граф все узлы (кроме корня) (DAG) имеют одного родителя узлы могут иметь несколько родителей ‘строгая иерархия’ ‘полииерархия’ Нормализация: • разделить примитивы в непересекающиеся Деревья легче понять деревья • пусть классификатор создает DAG Онтологии и представление знаний, 2010 30
  • 75. Нормализация Направленный ациклический Дерево граф все узлы (кроме корня) (DAG) имеют одного родителя узлы могут иметь несколько родителей ‘строгая иерархия’ ‘полииерархия’ Нормализация: • разделить примитивы в непересекающиеся Деревья легче понять деревья • пусть классификатор создает DAG Herbivore Cow     Cat   ¨ Carnivore ©    ¨ % Animal r ‰  ¨¨ Dog d rr s     ¨ )¨ © ¨ % d Mammal ' r ‰rr Person d rr d Omnivore Pig Онтологии и представление знаний, 2010 30
  • 76. Нормализация Направленный ациклический Дерево граф все узлы (кроме корня) (DAG) имеют одного родителя узлы могут иметь несколько родителей ‘строгая иерархия’ ‘полииерархия’ Нормализация: • разделить примитивы в непересекающиеся Деревья легче понять деревья • пусть классификатор создает DAG $ Cow Herbivore Cow Herbivore A $         $ Cat A $   Cat   ¨ Carnivore ©    ©   ¨ Carnivore   ¨ % ¨% Animal r ‰  ¨¨ Dog Animal r‰  ¨¨ Dog d rr s     ¨ )¨ © ¨ % d rr s   ¨   )¨ © % ¨ d Mammal ' d Mammal ' r ‰rr Person ‰ rrr Person d rr d rr d Omnivore Pig d Omnivore ' Pig Онтологии и представление знаний, 2010 30
  • 77. Модификаторы • Идентифицировать модификаторы с Domestication взаимно исключающими значениями – Domestic – Wild Use – Pet – Food – Draught Dangerousness – Dangerous – Safe Sex – Male – Female Age – Adult – Child Онтологии и представление знаний, 2010 31
  • 78. Модификаторы • Идентифицировать модификаторы с Domestication взаимно исключающими значениями – Domestic (Domestication, Dangerousness, Sex, Age) – Wild Use NB. Применения могут быть не взаимно исключающими – Pet (может быть одновременно Вьючное и Еда) – Food – Draught Dangerousness – Dangerous – Safe Sex – Male – Female Age – Adult – Child Онтологии и представление знаний, 2010 31
  • 79. Модификаторы • Идентифицировать модификаторы с Domestication взаимно исключающими значениями – Domestic (Domestication, Dangerousness, Sex, Age) – Wild Use NB. Применения могут быть не взаимно исключающими – Pet (может быть одновременно Вьючное и Еда) – Food – Draught • Расширить и дополнить список значений Dangerousness (Dangerousness: Dangerous, Risky, Safe) – Dangerous – Safe Sex – Male – Female Age – Adult – Child Онтологии и представление знаний, 2010 31
  • 80. Модификаторы • Идентифицировать модификаторы с Domestication взаимно исключающими значениями – Domestic (Domestication, Dangerousness, Sex, Age) – Wild Use NB. Применения могут быть не взаимно исключающими – Pet (может быть одновременно Вьючное и Еда) – Food – Draught • Расширить и дополнить список значений Dangerousness (Dangerousness: Dangerous, Risky, Safe) – Dangerous – Safe Sex • Задать как функциональное свойство – Male – Female Age – Adult – Child Онтологии и представление знаний, 2010 31
  • 81. Модификаторы • Идентифицировать модификаторы с Domestication взаимно исключающими значениями – Domestic (Domestication, Dangerousness, Sex, Age) – Wild Use NB. Применения могут быть не взаимно исключающими – Pet (может быть одновременно Вьючное и Еда) – Food – Draught • Расширить и дополнить список значений Dangerousness (Dangerousness: Dangerous, Risky, Safe) – Dangerous – Safe Sex • Задать как функциональное свойство – Male – Female Age • Два способа задать значения модификаторов – Adult – Child – разбиения (классы разбивают величину) – перечисления (индивиды для всех степеней величины) Онтологии и представление знаний, 2010 31
  • 82. Разбиения Пример: величина — Dangerousness Онтологии и представление знаний, 2010 32
  • 83. Разбиения Пример: величина — Dangerousness • Определить под-величины для разных степеней: Dangerous, Risky, Safe – классы дизъюнктны – ‘покрывают’ исходную величину т.е., Dangerousness = Dangerous or Risky or Safe Онтологии и представление знаний, 2010 32
  • 84. Разбиения Пример: величина — Dangerousness • Определить под-величины для разных степеней: Dangerous, Risky, Safe – классы дизъюнктны – ‘покрывают’ исходную величину т.е., Dangerousness = Dangerous or Risky or Safe • Определить функциональное свойство hasDangerousness – область значений: исходная величина, например, Dangerousness – домен задается отдельно Онтологии и представление знаний, 2010 32
  • 85. Разбиения Пример: величина — Dangerousness • Определить под-величины для разных степеней: Dangerous, Risky, Safe – классы дизъюнктны – ‘покрывают’ исходную величину т.е., Dangerousness = Dangerous or Risky or Safe • Определить функциональное свойство hasDangerousness – область значений: исходная величина, например, Dangerousness – домен задается отдельно DangerousAnimal = Animal and hasDangerousness some Dangerous Онтологии и представление знаний, 2010 32
  • 86. Перечисления Пример: величина — SexValue Онтологии и представление знаний, 2010 33
  • 87. Перечисления Пример: величина — SexValue • Определим индивиды для каждого значения: male, female – значения различны (НЕ предполагается в OWL) – значением является ‘перечисление’ значений, т.е., SexValue = { female, male } Онтологии и представление знаний, 2010 33
  • 88. Перечисления Пример: величина — SexValue • Определим индивиды для каждого значения: male, female – значения различны (НЕ предполагается в OWL) – значением является ‘перечисление’ значений, т.е., SexValue = { female, male } • Определим функциональное свойство hasSex – область значений: исходное свойство т.е. SexValue – домен задается дополнительно Онтологии и представление знаний, 2010 33
  • 89. Перечисления Пример: величина — SexValue • Определим индивиды для каждого значения: male, female – значения различны (НЕ предполагается в OWL) – значением является ‘перечисление’ значений, т.е., SexValue = { female, male } • Определим функциональное свойство hasSex – область значений: исходное свойство т.е. SexValue – домен задается дополнительно MaleAnimal = Animal and hasSex is male Онтологии и представление знаний, 2010 33
  • 90. Два способа задать значения Разбиение Перечисление Онтологии и представление знаний, 2010 34
  • 91. Два способа задать значения Разбиение Перечисление • может быть разбито далее • не может быть разбито далее и уточнено Онтологии и представление знаний, 2010 34
  • 92. Два способа задать значения Разбиение Перечисление • может быть разбито далее • не может быть разбито далее и уточнено • соответствует философскому • соответствует интуиции понятию пространства величин Онтологии и представление знаний, 2010 34
  • 93. Два способа задать значения Разбиение Перечисление • может быть разбито далее • не может быть разбито далее и уточнено • соответствует философскому • соответствует интуиции понятию пространства величин Онтологии и представление знаний, 2010 34
  • 94. Два способа задать значения Разбиение Перечисление • может быть разбито далее • не может быть разбито далее и уточнено • соответствует философскому • соответствует интуиции понятию пространства величин • больше подходит для • не очень подходит для использования с использования OWL DL классификаторами с существующими классификаторами Онтологии и представление знаний, 2010 34
  • 95. Поиск объяснений Онтологии и представление знаний, 2010 35
  • 96. Зачем нужны объяснения? Поиск объяснений это техника, помогающая поддерживать онтологии. Пример Ранняя версия SNOMED CT (в которой 300000 аксиом) утверждала Amputation_of_Finger ⊑ Amputation_of_Arm Задача Найти аксиомы (среди 300 000 аксиом SNOMED) ответственные за этот вывод. Онтологии и представление знаний, 2010 36
  • 97. Определение Рассмотрим 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
  • 98. Пример Рассмотрим 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
  • 99. Пример Рассмотрим 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
  • 100. Вычисление • Множество Pin(T , C ⊑ D) может содержать экспоненциально много объяснений; • Проверка существует ли элемент Pin(T , C ⊑ D) размера ≤ n трудна даже для EL; • Найти один член Pin(T , C ⊑ D) не труднее классификации – В частности, полиномиальный алгоритм поиска одного члена Pin(T , C ⊑ D) для T,C и D в EL. Онтологии и представление знаний, 2010 40
  • 101. Алгоритм поиска одного члена 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
  • 102. Лаконичные объяснения Множество объяснение может быть нелегко понять. TBox Doctor ⊑ some_large_concept_description ⊓ Person ⊓ some_other _large_concept_description Doctor ⊑ Person потому, что Person явно употребляется в определении но это может быть сразу не видно. Онтологии и представление знаний, 2010 42
  • 103. Examples (due to Michael Zakharyaschev) Онтологии и представление знаний, 2010 43
  • 104. 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
  • 105. 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
  • 106. 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
  • 107. 1. Card sorting hotel hotel sunbathing sunbathing hiking hiking restaurant restaurant sightseeing sightseeing activity activity sports sports accommodation rating accommodation rating spa treatment spa treatment luxury hotel luxury hotel three stars three stars safari safari bed breakfast bed breakfast campground campground surfing surfing two stars two stars swimming pool swimming pool destination destination Онтологии и представление знаний, 2010 46
  • 108. 2. Arrange Concepts/Properties into Hierarchy self-standing modifiers relations definable – accommodation accommodation rating hasAccommodation two star hotel – hotel – two stars hasActivity … – luxury hotel – three stars hasRating – bb – four stars hasRestaurant – campground – five stars hasFacility – activity hotel facility – sports – swimming pool – surfing – meeting facilities – hiking – safari – sightseeing – relaxation – sunbathing – spa treatment – restaurant – destination NB. All siblings in the hierarchy of self-standing entities are disjoint. Онтологии и представление знаний, 2010 47
  • 109. 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
  • 110. 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 BB are accommodation therefore, Hotel and BB may be regarded as subclasses of Accommodation Онтологии и представление знаний, 2010 48
  • 111. 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 BB are accommodation therefore, Hotel and BB 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
  • 112. 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 BB are accommodation therefore, Hotel and BB 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
  • 113. 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
  • 114. 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