Онтология (информатика): различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[отпатрулированная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
м Удаление шаблонов: {{Нп3}}×1
 
(не показано 56 промежуточных версий 33 участников)
Строка 1: Строка 1:
{{другие значения| Онтология (значения)}}
{{другие значения| Онтология (значения)}}


'''Онтоло́гия''' (в информатике) — это попытка всеобъемлющей и детальной [[Формализация|формализации]] некоторой области [[Знание|знаний]] с помощью [[Концептуальная схема|концептуальной схемы]]. Обычно такая схема состоит из [[Структура данных|структуры данных]], содержащей все [[Релевантность|релевантные]] классы объектов, их связи и правила ([[Теорема|теоремы]], ограничения), принятые в этой области. Этот термин в информатике является производным от древнего философского понятия «[[онтология]]».
'''Онтоло́гия''' в информатике ({{lang-neolat|ontologia}} от {{lang-grc|ὤν}} род. п. {{lang-grc2|ὄντος}} — сущее, то, что существует и {{lang-grc2|λόγος}} — учение, наука) — это попытка всеобъемлющей и подробной [[Формализация|формализации]] некоторой области [[Знание|знаний]] с помощью [[Концептуальная схема|концептуальной схемы]]. Обычно такая схема состоит из [[Структура данных|структуры данных]], содержащей все [[Релевантность|релевантные]] классы объектов, их связи и правила ([[Теорема|теоремы]], ограничения), принятые в этой области. Этот термин в информатике является производным от древнего философского понятия «[[онтология]]».


Онтологии используются в [[Процесс разработки программного обеспечения|процессе]] [[Программирование|программирования]] как форма [[Представление знаний|представления знаний]] о реальном мире или его части. Основные сферы применения — [[Бизнес-моделирование|моделирование бизнес-процессов]], [[семантическая паутина]] ({{lang-en|Semantic Web}}), [[искусственный интеллект]].
Онтологии используются в [[Процесс разработки программного обеспечения|процессе]] [[Программирование|программирования]] как форма [[Представление знаний|представления знаний]] о реальном мире или его части. Основные сферы применения — [[Бизнес-моделирование|моделирование бизнес-процессов]], [[семантическая паутина]] ({{lang-en|Semantic Web}}), [[искусственный интеллект]].


== Отличия от философского понятия онтологии ==
== Отличия от философского понятия онтологии ==

Хотя термин «онтология» изначально философский, в информатике он принял самостоятельное значение. Здесь есть два существенных отличия:
Хотя термин «онтология» изначально философский, в информатике он принял самостоятельное значение. Здесь есть два существенных отличия:
* Онтология в информатике должна иметь формат, который компьютер сможет легко обработать;
* Онтология в информатике должна иметь формат, который компьютер сможет легко обработать;
Строка 12: Строка 11:


== Элементы онтологий ==
== Элементы онтологий ==

Современные онтологии строятся по большей части одинаково, независимо от языка написания. Обычно они состоят из [[Экземпляр класса|экземпляров]], [[Понятие|понятий]], [[Атрибут (реляционная модель)|атрибутов]] и [[Отношение (логика)|отношений]].
Современные онтологии строятся по большей части одинаково, независимо от языка написания. Обычно они состоят из [[Экземпляр класса|экземпляров]], [[Понятие|понятий]], [[Атрибут (реляционная модель)|атрибутов]] и [[Отношение (логика)|отношений]].


=== Экземпляры ===
=== Экземпляры ===
'''''Экземпляры''''' ({{lang-en|instances}}) или индивиды ({{lang-en|individuals}}) — это объекты, основные нижнеуровневые компоненты онтологии; могут представлять собой как физические объекты (люди, дома, планеты), так и [[Абстракция|абстрактные]] (числа, слова). Строго говоря, онтология может обойтись и без конкретных объектов, однако, одной из главных целей онтологии является ''классификация'' таких объектов, поэтому они также включаются.

Экземпляры ({{lang-en|instances}}) или индивиды ({{lang-en|individuals}}) — это основные, нижнеуровневые компоненты онтологии. Экземпляры могут представлять собой как физические объекты (люди, дома, планеты), так и [[Абстракция|абстрактные]] (числа, слова). Строго говоря, онтология может обойтись и без конкретных объектов. Однако, одной из главных целей онтологии является ''классификация'' таких объектов, поэтому они также включаются.


=== Понятия ===
=== Понятия ===
'''''Понятия''''' ({{lang-en|concepts}}) или '''''классы''''' ({{lang-en|classes}}) — абстрактные группы, коллекции или наборы объектов. Они могут включать в себя экземпляры, другие классы либо же сочетания и того, и другого. Пример:

Понятия ({{lang-en|concepts}}) (или классы ({{lang-en|classes}})) — абстрактные группы, коллекции или наборы объектов. Они могут включать в себя экземпляры, другие классы, либо же сочетания и того, и другого. Пример:

* Понятие «люди», вложенное понятие «человек». Чем является «человек» — вложенным понятием, или экземпляром (индивидом) — зависит от онтологии.
* Понятие «люди», вложенное понятие «человек». Чем является «человек» — вложенным понятием, или экземпляром (индивидом) — зависит от онтологии.
* Понятие «индивиды», экземпляр «индивид».
* Понятие «индивиды», экземпляр «индивид».


Классы онтологии составляют '''''[[таксономия|таксономию]]''''' — иерархию понятий по отношению вложения{{sfn|Добров и др.|2009}}.
=== Атрибуты ===


=== Атрибуты ===
Объекты в онтологии могут иметь атрибуты. Каждый атрибут имеет по крайней мере имя и значение, и используется для хранения информации, которая специфична для объекта и привязана к нему. Например, объект the Ford Explorer имеет такие атрибуты, как:
Объекты в онтологии могут иметь '''''атрибуты'''''. Каждый атрибут имеет по крайней мере имя и значение и используется для хранения информации, которая специфична для объекта и привязана к нему. Например, объект ''Автомобиль-модели-А'' имеет такие атрибуты, как:
* ''Название'': Ford Explorer
* ''Название'': ''Автомобиль-модели-А''
* ''Число-дверей'': 4
* ''Число-дверей'': 4
* ''Двигатель'': {4.0Л, 4.6Л}
* ''Двигатель'': {4.0Л, 4.6Л}
* ''Коробка-передач'': 6-скоростная
* ''Коробка-передач'': 6-ступенчатая


Значение атрибута может быть [[сложный тип данных|сложным типом данных]]. В данном примере значение атрибута, который называется ''Двигатель'', является списком значений простых типов данных.
Значение атрибута может быть [[сложный тип|сложным типом данных]]. В данном примере значение атрибута, который называется ''Двигатель'', является списком значений простых типов данных.


=== Отношения ===
=== Отношения ===
Важная роль атрибутов заключается в том, чтобы определять '''''отношения''''' (зависимости) между объектами онтологии. Обычно отношением является атрибут, значением которого является другой объект.


Предположим, что в онтологии автомобилей присутствует два объекта — автомобиль ''Автомобиль-модели-А'' и ''Автомобиль-модели-Б''. Пусть ''Автомобиль-модели-Б'' это модель-наследник ''Автомобиль-модели-А'', тогда отношение между ''Автомобиль-модели-А'' и ''Автомобиль-модели-Б'' определим как атрибут «isSuccessorOf» со значением «''Автомобиль-модели-А''» для объекта ''Автомобиль-модели-Б'' (следует заметить, что в языках описания онтологий существуют предопределенные отношения наследования).
Важная роль атрибутов заключается в том, чтобы определять зависимости (отношения) между объектами онтологии. Обычно отношением является атрибут, значением которого является другой объект.

Предположим, что в онтологии автомобилей присутствует два объекта — автомобиль [[Ford Explorer]] и [[Ford Bronco]]. Пусть Bronco — это модель-наследник Explorer, тогда отношение между Ford Explorer и Ford Bronco определим как атрибут «isSuccessorOf» со значением «Explorer» для объекта Bronco (следует заметить, что в языках описания онтологий существуют предопределенные отношения наследования).


== Специализированные и общие онтологии ==
== Специализированные и общие онтологии ==
Специализированные (''предметно-ориентированные'') онтологии — это представление какой-либо области знаний или части реального мира. В такой онтологии содержатся специальные для этой области значения терминов. К примеру, слово «''поле''» в [[Сельское хозяйство|сельском хозяйстве]] означает [[Поле (сельское хозяйство)|участок земли]], в [[Физика|физике]] — [[Поле (физика)|один из видов материи]], в [[Математика|математике]] — [[Поле (алгебра)|класс алгебраических систем]].

Специализированные (''предметно-ориентированные'') онтологии — это представление какой-либо области знаний или части реального мира. В такой онтологии содержатся специальные для этой области значения терминов. К примеру, слово ''«[[Поле (сельское хозяйство)|поле]]»'' в [[Сельское хозяйство|сельском хозяйстве]] означает участок земли ([[Поле (сельское хозяйство)]]), в [[Физика|физике]] — один из видов материи ([[Поле (физика)]]), в [[Математика|математике]] — класс алгебраических систем ([[Поле (алгебра)]]).


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


Если использующая специализированные онтологии система развивается, то может потребоваться их '''объединение'''. Подзадачей объёдинения онтологий является задача [[Отображение онтологий|отображение онтологий]]. И для инженера по онтологиям это серьёзные задачи. Подобные онтологии часто несовместимы друг с другом, хотя могут представлять близкие области. Разница может появляться из-за особенностей местной культуры, идеологии, или вследствие использования другого '''языка описания'''. Объединение онтологий выполняют как вручную, так и в полуавтоматическом режиме. В целом это трудоёмкий, медленный и дорогостоящий процесс. Использование ''базисной онтологии'' — единого глоссария — несколько упрощает эту работу. Есть научные работы по технологиям объединения, но они по большей части теоретические.
Если использующая специализированные онтологии система развивается, то может потребоваться их '''объединение'''. Подзадачей объединения онтологий является задача [[отображение онтологий|отображения онтологий]]. И для инженера по онтологиям это серьёзная задача. Онтологии даже близких областей могут быть несовместимы друг с другом. Разница может появляться из-за особенностей местной культуры, идеологии или вследствие использования другого '''языка описания'''. Объединение онтологий выполняют как вручную, так и в полуавтоматическом режиме. В целом это — трудоёмкий, медленный и дорогостоящий процесс. Использование ''базисной онтологии'' — единого глоссария — несколько упрощает эту работу.


== Языки описания онтологий ==
== Языки описания онтологий ==

'''Язык описания онтологий''' — [[формальный язык]], используемый для кодирования онтологии. Существует несколько подобных языков (''список неполон''):
'''Язык описания онтологий''' — [[формальный язык]], используемый для кодирования онтологии. Существует несколько подобных языков (''список неполон''):
* [[Web Ontology Language|OWL]] — Web Ontology Language, стандарт [[W3C]], язык для семантических утверждений, разработанный как расширение [[RDF]] и [[RDFS]];
* [[Web Ontology Language|OWL]] — Web Ontology Language, стандарт [[W3C]], язык для семантических утверждений, разработанный как расширение [[RDF]] и [[RDFS]];
* [[KIF]] (Knowledge Interchange Format или формат обмена знаниями) — основанный на [[S-выражение|S-выражениях]] синтаксис для [[Логика первого порядка|логики]];
* {{нп3|KIF|KIF|en|Knowledge Interchange Format}} ({{lang-en|Knowledge Interchange Format}} — формат обмена знаниями) — основанный на [[S-выражение|S-выражениях]] синтаксис для [[Логика первого порядка|логики]];
* [[Common Logic]] — преемник KIF (стандартизован — ISO/IEC 24707:2007).
* [[Common Logic|Common Logic (CL)]] — преемник KIF (стандартизован — ISO/IEC 24707:2007).
* [[CycL]] — онтологический язык, использующийся в проекте [[Cyc]], основан на [[Логика первого порядка|исчислении предикатов]] с некоторыми расширениями более высокого порядка.
* {{нп3|CycL|CycL|en|CycL}} — онтологический язык, использующийся в проекте [[Cyc]]. Основан на [[логика первого порядка|исчислении предикатов]] с некоторыми расширениями более высокого порядка.
* {{нп3|DAML|||DARPA Agent Markup Language}}
* [[DAML]]+[[OIL]] ([[FIPA]])
* {{нп3|OIL|||Ontology Inference Layer}}

* {{нп3|Agent Communications Language}}
Для работы с языками онтологий существует несколько видов технологий: редакторы онтологий (для создания онтологий), [[DBMS]] онтологий (для хранения и обращения к онтологии) и хранилища онтологий (для работы с несколькими онтологиями).
Для работы с языками онтологий существует несколько видов технологий: редакторы онтологий (для создания онтологий), [[СУБД]] онтологий (для хранения и обращения к онтологии) и хранилища онтологий (для работы с несколькими онтологиями).


== См. также ==
== См. также ==
* [[Высшая онтология]]
* [[Онтология проектирования]]
* [[База знаний]]
* [[База знаний]]
* [[Таксономия]]
* [[Таксономия]]
* [[Глоссарий]]
* [[Глоссарий]]
* [[Извлечение информации]]
* [[Извлечение информации]]
* [[Открытые биомедицинские онтологии]]
* {{нп3|Редакторы онтологий|||Ontology editor}}

== Примечания ==
{{примечания}}

== Литература ==
* ''Лапшин В. А.'' Онтологии в компьютерных системах. — М.: Научный мир, 2010.
* {{книга
|автор = Добров Б. В., Иванов В.В., Лукашевич Н.В., Соловьев В.Д.
|заглавие = Онтологии и тезаурусы: модели, инструменты, приложения
|ссылка = http://www.intuit.ru/department/expert/ontoth/
|место = М.
|издательство = Бином. Лаборатория знаний
|год = 2009
|страниц = 173
|isbn = 978-5-9963-0007-5
|ref = Добров и др.
}}


== Ссылки ==
== Ссылки ==
* [http://bigc.spb.ru/publications/bigspb/km/use_ontology_in_suz.php Использование онтологий в системах управления знаниями]
* [http://bigc.spb.ru/publications/bigspb/km/use_ontology_in_suz.php Использование онтологий в системах управления знаниями] {{Wayback|url=http://bigc.spb.ru/publications/bigspb/km/use_ontology_in_suz.php |date=20080223210519 }}
* [http://elbib.ru/index.phtml?page=elbib/rus/journal/2004/part4/op Обзор инструментов инженерии онтологий]
* [https://web.archive.org/web/20180920070235/http://www.elbib.ru/index.phtml?page=elbib%2Frus%2Fjournal%2F2004%2Fpart4%2Fop Обзор инструментов инженерии онтологий] (на 2004 год)
* [http://habrahabr.ru/post/173015/ Редактор онтологий на естественном языке] {{Wayback|url=http://habrahabr.ru/post/173015/ |date=20140904185002 }} — обзор редактора [[Fluent Editor]], работающего с контролируемым английским языком и [[Web Ontology Language|OWL]]. Так же упоминает редакторы онтологий [[Protégé]] и [[TopBraid Composer]].
* [http://ifets.ieee.org/russian/depository/ontology101_rus.doc Руководство по созданию Вашей первой онтологии]
* [https://web.archive.org/web/20110429003209/http://ifets.ieee.org/russian/depository/ontology101_rus.doc Руководство по созданию Вашей первой онтологии]


{{compu-prog-stub}}
{{ai-stub}}
{{rq|sources|refless}}
{{rq|sources|refless}}


{{Инженерия знаний}}
{{Инженерия знаний}}
{{Software Engineering}}
{{Software Engineering}}
{{Семантическая паутина}}


[[Категория:Информатика]]
[[Категория:Информатика]]
[[Категория:Инженерия знаний]]
[[Категория:Инженерия знаний]]
[[Категория:Семантическая паутина]]
[[Категория:Семантическая паутина]]
[[Категория:Веб 3.0]]

[[Категория:Системная инженерия]]
[[ar:أنطولوجية (علم المعلومات)]]
[[cs:Ontologie (informatika)]]
[[da:Ontologi (datalogi)]]
[[de:Ontologie (Informatik)]]
[[en:Ontology (information science)]]
[[es:Ontología (informática)]]
[[et:Ontoloogia (informaatika)]]
[[eu:Ontologia (informatika)]]
[[fa:هستی‌شناسی (علم اطلاعات)]]
[[fi:Ontologia (tietojenkäsittelytiede)]]
[[fr:Ontologie (informatique)]]
[[he:אונטולוגיה (מדעי המידע)]]
[[hr:Ontologija (računarstvo)]]
[[hu:Ontológia (mesterséges intelligencia)]]
[[it:Ontologia (informatica)]]
[[ja:オントロジー (情報科学)]]
[[ko:온톨로지]]
[[lt:Ontologija (informatika)]]
[[nl:Ontologie (informatica)]]
[[no:Ontologi (informatikk)]]
[[pl:Ontologia (informatyka)]]
[[pt:Ontologia (ciência da computação)]]
[[sl:Ontologija (informatika)]]
[[sr:Онтологија (рачунарство)]]
[[uk:Онтологія (інформатика)]]
[[zh:本体 (信息科学)]]

Текущая версия от 06:15, 4 февраля 2023

Онтоло́гия в информатике (новолат. ontologia от др.-греч. ὤν род. п. ὄντος — сущее, то, что существует и λόγος — учение, наука) — это попытка всеобъемлющей и подробной формализации некоторой области знаний с помощью концептуальной схемы. Обычно такая схема состоит из структуры данных, содержащей все релевантные классы объектов, их связи и правила (теоремы, ограничения), принятые в этой области. Этот термин в информатике является производным от древнего философского понятия «онтология».

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

Отличия от философского понятия онтологии

[править | править код]

Хотя термин «онтология» изначально философский, в информатике он принял самостоятельное значение. Здесь есть два существенных отличия:

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

Элементы онтологий

[править | править код]

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

Экземпляры

[править | править код]

Экземпляры (англ. instances) или индивиды (англ. individuals) — это объекты, основные нижнеуровневые компоненты онтологии; могут представлять собой как физические объекты (люди, дома, планеты), так и абстрактные (числа, слова). Строго говоря, онтология может обойтись и без конкретных объектов, однако, одной из главных целей онтологии является классификация таких объектов, поэтому они также включаются.

Понятия (англ. concepts) или классы (англ. classes) — абстрактные группы, коллекции или наборы объектов. Они могут включать в себя экземпляры, другие классы либо же сочетания и того, и другого. Пример:

  • Понятие «люди», вложенное понятие «человек». Чем является «человек» — вложенным понятием, или экземпляром (индивидом) — зависит от онтологии.
  • Понятие «индивиды», экземпляр «индивид».

Классы онтологии составляют таксономию — иерархию понятий по отношению вложения[1].

Объекты в онтологии могут иметь атрибуты. Каждый атрибут имеет по крайней мере имя и значение и используется для хранения информации, которая специфична для объекта и привязана к нему. Например, объект Автомобиль-модели-А имеет такие атрибуты, как:

  • Название: Автомобиль-модели-А
  • Число-дверей: 4
  • Двигатель: {4.0Л, 4.6Л}
  • Коробка-передач: 6-ступенчатая

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

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

Предположим, что в онтологии автомобилей присутствует два объекта — автомобиль Автомобиль-модели-А и Автомобиль-модели-Б. Пусть Автомобиль-модели-Б это модель-наследник Автомобиль-модели-А, тогда отношение между Автомобиль-модели-А и Автомобиль-модели-Б определим как атрибут «isSuccessorOf» со значением «Автомобиль-модели-А» для объекта Автомобиль-модели-Б (следует заметить, что в языках описания онтологий существуют предопределенные отношения наследования).

Специализированные и общие онтологии

[править | править код]

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

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

Если использующая специализированные онтологии система развивается, то может потребоваться их объединение. Подзадачей объединения онтологий является задача отображения онтологий. И для инженера по онтологиям это серьёзная задача. Онтологии даже близких областей могут быть несовместимы друг с другом. Разница может появляться из-за особенностей местной культуры, идеологии или вследствие использования другого языка описания. Объединение онтологий выполняют как вручную, так и в полуавтоматическом режиме. В целом это — трудоёмкий, медленный и дорогостоящий процесс. Использование базисной онтологии — единого глоссария — несколько упрощает эту работу.

Языки описания онтологий

[править | править код]

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

Для работы с языками онтологий существует несколько видов технологий: редакторы онтологий (для создания онтологий), СУБД онтологий (для хранения и обращения к онтологии) и хранилища онтологий (для работы с несколькими онтологиями).

Примечания

[править | править код]

Литература

[править | править код]
  • Лапшин В. А. Онтологии в компьютерных системах. — М.: Научный мир, 2010.
  • Добров Б. В., Иванов В.В., Лукашевич Н.В., Соловьев В.Д. Онтологии и тезаурусы: модели, инструменты, приложения. — М.: Бином. Лаборатория знаний, 2009. — 173 с. — ISBN 978-5-9963-0007-5.