Онтология
Материалы про онтологии.
- Базовая онтология
- Концепция семантического 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", "Семантические сети".
-
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)
-
Описание языка 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 (краткое)
-
Программа для редактирования 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 - это язык разметки знаний для обмена в интернете. Как онтология может быть представлена в реальной программе другое дело.
-
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
|