Онтология

Материалы про онтологии.

  • Базовая онтология
  • Концепция семантического Web
  • Сущности
  • Ссылки
  • Пример онтологии

Базовая онтология

Namespaces - пространство имен. Допустимые: axiom, base, prof, work
aiglaxiom - понятия, необъясняемые внутри онтологии (аксиомы);
aiglbase - понятия, находящиеся в базовой части онтологии;
aiglprof - понятия, находящиеся в специализированной части онтологии;
aiglwork - понятия, находящиеся в рабочей части онтологии;

для этого определим 4 онтологии:

Онтология aiglaxiom первична.
Онтология aiglbase ссылается на aiglaxiom и на понятия внутри aiglbase.
Онтология aiglprof ссылается на aiglaxiom, aiglbase и на понятия внутри aiglprof.
Онтология aiglwork ссылается на aiglaxiom, aiglbase, aiglprof и на понятия внутри aiglprof.

Употреблять все это легко:

http://ai.obrazec.ru/forum/viewtopic.php?p=22651#22651 - Источник

Обсуждение создания базовой онтологии:
http://ai.obrazec.ru/forum/viewtopic.php?t=1645 - Базовая онтология
http://ai.obrazec.ru/forum/viewtopic.php?t=1649 - Способы реализации абстрактного и образного мышления ИИ

Пояснения к базовой онтологии 0.0.1

BaseOntology0-0-0-1Alpha.png
BaseOntology0-0-4-0.png

Обо всем по порядку. Итак, то что вы видите на моей схеме http://ai.obrazec.ru/forum/download.php?id=367 Это есть содержимое базы знаний. Сразу хочу предупредить, что классы, свойства и экземпляры этой БЗ совершенно не похожи на классы и объекты ООП. В БЗ они - лишь записи, у кот. есть ссылки, которые вы видите на схеме. И все это может храниться на внешнем носителе (HDD).

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

Далее. От класса "Сущность" порожден класс"Свойство" аналогично только что приведенному примеру. Мы лишь дали ему уникальную метку в БЗ "Свойство". Класс "Сущность" содержит такие свойства как "Граница", Содержание", "Вовне". Это означает, что любой мыслимый объект (понятие) имеет неотъемлемые внутренние свойства (Содержание), интерфейс, связи с другими объектами мира (Граница), и то что уже не принадлежит данному объекту (Вовне). Это - обычное отрицание. Вот собственно и все мое толкование для любого объекта мира(выдуманного или реального) на предельно абстрактном уровне.

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

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

Ниже я привел пример описания некоторой мысли: Великая Отечественная Война началась в 1941 году. В ней участвовали Германия и СССР. Война состояла из битв, в 1945 году она окончилась победой СССР.

Теперь - самое главное. На таком сетевом описании мыслей можно делать множество умозаключений. например, мы легко сможем понять, что было раньше - победа или начало войны. Ведь "ВОВ" - это частный случай списка. А список имеет начало и конец.

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

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

http://ai.obrazec.ru/forum/viewtopic.php?p=22357#22357

Концепция семантического Web

Представляю презентацию под названием "Концепция семантического Web и Интеллектуальные агенты".
http://aikernel.org/ai/books/semantic_web_and_agents.7z (PDF)

Ссылки

http://ai.obrazec.ru/forum/viewtopic.php?p=22614

Краткий обзор использования OWL

Этот обзор не претендует на полноту. Здесь представлены лишь некоторые ресурсы, которые мне попались.
Дополнительную информацию ищите в ya.ru и google по ключевым словам "OWL", "Semantic Web", "Семантические сети".

  1. W3C
    Организация W3C уже давно составила рекомендаци языка для семантических сетей. Сначала это был RDF,который в дальнейшем развился в OWL, а за тем в OWL 2.0. Вот некоторые ссылки:
    http://www.w3.org/2001/sw/ - W3C Semantic Web Activity
    http://www.w3.org/2004/OWL/ - Web Ontology Language (OWL)
  2. Описание языка OWL
    Приведу некоторые ссылки на описание OWL на русском языке:
    http://ru.wikipedia.org/wiki/White_Owl
    http://book.uraic.ru/files/owl/REC-owl-guide-20040210_ru.htm - OWL, язык веб-онтологий. Руководство
    http://sherdim.rsu.ru/pts/semantic_web/REC-owl-guide-20040210_ru.html - OWL, язык веб-онтологий. Руководство
    http://www.w3.org/2006/04/OWL_UseCases-ru.html - OWL Язык Сетевых онтологий. Варианты использования и требования
    http://www.azoo.info/owl.shtml - Описание языка OWL (краткое)
  3. Программа для редактирования OWL файлов: Protege
    Эта программа основная и практически, наверное, единственная программа для работы с OWL и семантическими сетями.
    http://protege.stanford.edu/
    http://ai.obrazec.ru/forum/viewtopic.php?p=22618
    Чтобы добавить необходимого формализма, буду далее вести описание онтологии строго в рамках рекомендации http://www.w3.org/2004/OWL/ а точнее OWL DL.
    Вот кое- что из документации, часть из этих ссылок дал prof1983:
    http://sherdim.rsu.ru/pts/semantic_web/REC-owl-features-20040210_ru.html - перевод краткого обзора OWL,
    http://sherdim.rsu.ru/pts/semantic_web/REC-owl-guide-20040210_ru.html - русский перевод руководства.
    http://www.w3.org/TR/owl-ref/ подробное описание OWL на английском языке.
    http://www.w3.org/2006/04/OWL_UseCases-ru.html русский перевод вариантов использования OWL
    http://www.w3.org/TR/owl-xmlsyntax/ синтаксис OWL на английском языке.
    http://shcherbak.net/translations/ru_owl2primer_shcherbak_net.html - OWL 2. Здесь можно почерпнуть весьма интересную информацию об онтологиях.
    http://ru.wikipedia.org/wiki/Web_Ontology_Language можно еще почитать тут.
    Думаю, стоит ли использовать для описания онтологии Манчестерский синтаксис: http://www.w3.org/2007/OWL/wiki/ManchesterSyntax
    или XML.
    Примеры онтологий:
    http://xmlns.com/wot/0.1/
    http://xmlns.com/foaf/spec/
    http://www.w3.org/2001/vcard-rdf/3.0#
    Хотел бы пояснить, что OWL определяет правила создания онтологий. Однако создание конкретной онтологии, в нашем случае Базовой онтологии - дело наших с вами рук и голов. Т.е. OWL - это язык разметки знаний для обмена в интернете. Как онтология может быть представлена в реальной программе другое дело.
  4. http://www.ibm.com/developerworks/ru/library/wa-semweb/ - Статья "Будущее Web - за семантикой"

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

Продемонстрирую на простом примере различие между представлением онтологии в OWL и в моем варианте.
Все яблоки имеют цвет. Яблоко1 имеет конкретный Цвет1. Яблоко2 имеет конкретный Цвет2.
В OWL это будет:
Есть классы: Apple, Color, которые являются субклассами корневого класса Thing. Класс Apple и Color связаны свойством hasColor.Экземпляр Apple1 класса Apple связан с экземпляром Color1 класса Color свойством hasColor. Экземпляр Apple2 класса Apple связан с экземпляром Color2 класса Color свойством hasColor. (см. Test4eng.owl)
Это отображено схематически в левой верхней части рисунка Test4eng.PNG
Но т.к. одно свойство hasColor может связывать более одной пары индивидов через Domain- Range, то для этого необходимо такие пары связей отражать отдельно, иначе они могут быть перемешаны с другими парами. Для этого я на рисунке ввел прямоугольники "?". Само свойство hasColor не происходит от Thing.

Мой вариант - в правой части рисунка test4eng.png
На нем видно, что класс AppleColor - это субкласс класса Color и одновременно является свойством класса Apple.
Экземпляр Apple1Color класса AppleColor одновременно является и свойством экземпляра Apple1 класса Apple, экземпляр Apple2Color класса AppleColor одновременно является и свойством экземпляра Apple2 класса Apple.
Такое представление онтологии позволяет рассматривать свойства как обычные классы и экземпляры этих классов. Это приводит к улучшенному поиску и структуризации онтологии. Если в OWL онтологии мы создадим независимые свойства hasAppleColor и hasPearColor, то будет трудно ответить на вопрос, какие вещи имеют цвет, т.к. цвета вообще в такой онтологии нет. Если же завести hasColor и от него создать субклассы соотв. цветов, то такой поиск можно будет выполнить. Но при этом нужно каким-то образом узнать имя свойства hasColor.
Т.о. OWL и мое представление имеют в вышеприведеном примере приблизително одинаковую языковую выразительность, но свойства OWL - это описатели характера связей экземпляров классов. В моей же онтологии свойства - это полноценные понятия, которыми можно оперировать так же как и другими классами и экземплярами классов. При этом все понятия происходят от одного корневого класса - Thing.

Источник: http://ai.obrazec.ru/forum/viewtopic.php?p=22965#22965












© AiKernel 2010-2012
01.05.2011 - 01.07.2012