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

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
м робот добавил: pl:Ontologia (informatyka)
Нет описания правки
Строка 1: Строка 1:
{{другие значения| Онтология (значения)}}
{{другие значения| Онтология (значения)}}


'''Онтоло́гия''' (в информатике) — это попытка всеобъемлющей и детальной [[Формализация|формализации]] некоторой области [[Знание|знаний]] с помощью [[Концептуальная схема|концептуальной схемы]]. Обычно такая схема состоит из [[Структура данных|структуры данных]], содержащей все [[Релевантность|релевантные]] классы [[объект]]ов, их [[Связь|связи]] и [[Правило|правила]] ([[Теорема|теоремы]], ограничения), принятые в этой области. Этот термин в информатике является производным от древнего философского понятия «[[онтология]]».
'''Онтоло́гия''' (в информатике) — это попытка всеобъемлющей и детальной [[Формализация|формализации]] некоторой области [[Знание|знаний]] с помощью [[Концептуальная схема|концептуальной схемы]]. Обычно такая схема состоит из [[Структура данных|структуры данных]], содержащей все [[Релевантность|релевантные]] классы [[объект]]ов, их [[Связь|связи]] и [[Правило|правила]] ([[Теорема|теоремы]], ограничения), принятые в этой области. Этот термин в информатике является производным от древнего философского понятия «[[онтология]]».


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


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


== Элементы онтологий ==
== Элементы онтологий ==
Строка 17: Строка 17:
=== Экземпляры ===
=== Экземпляры ===


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


=== Понятия ===
=== Понятия ===


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


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


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


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


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


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


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


Сегодня объединение онтологий приходится выполнять вручную, это трудоёмкий, медленный и дорогостоящий процесс. Использование ''базисной онтологии'' — единого глоссария — несколько упрощает эту работу. Есть научные работы по технологиям объединения, но они по большей части теоретические.
Сегодня объединение онтологий приходится выполнять вручную, это трудоёмкий, медленный и дорогостоящий процесс. Использование ''базисной онтологии'' — единого глоссария — несколько упрощает эту работу. Есть научные работы по технологиям объединения, но они по большей части теоретические.


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


'''Язык описания онтологий''' — [[формальный язык]], используемый для кодирования онтологии. Существует несколько подобных языков (''список неполон''):
'''Язык описания онтологий''' — [[формальный язык]], используемый для кодирования онтологии. Существует несколько подобных языков (''список неполон''):
* [[Web Ontology Language|OWL]] — ontology web language, стандарт [[W3C]], язык для семантических утверждений, разработанный как расширение [[RDF]] и [[RDFS]];
* [[Web Ontology Language|OWL]] — ontology web language, стандарт [[W3C]], язык для семантических утверждений, разработанный как расширение [[RDF]] и [[RDFS]];
* [[KIF]] (Knowledge Interchange Format или формат обмена знаниями) — основанный на [[S-выражение|S-выражениях]] синтаксис для [[Логика первого порядка|логики]];
* [[KIF]] (Knowledge Interchange Format или формат обмена знаниями) — основанный на [[S-выражение|S-выражениях]] синтаксис для [[Логика первого порядка|логики]];
* [[CycL]] — онтологический язык, использующийся в проекте [[Cyc]], основан на [[Логика первого порядка|исчислении предикатов]] с некоторыми расширениями более высокого порядка.
* [[CycL]] — онтологический язык, использующийся в проекте [[Cyc]], основан на [[Логика первого порядка|исчислении предикатов]] с некоторыми расширениями более высокого порядка.
* DAML+OIL (FIPA)
* DAML+OIL (FIPA)



Версия от 18:01, 19 января 2010

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

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

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

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

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

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

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

Экземпляры

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

Понятия

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

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

Атрибуты

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

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

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

Если вы не определяете атрибуты для концепций, вам придется определять либо таксономию (если между концепциями существует отношение включения (Гипоним, англ. Hyponym)), либо Управляемый Словарь (англ. Controlled Vocabulary). Они полезны, но не считаются настоящими онтологиями.

Отношения

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

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

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

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

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

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

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

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

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

  • OWL — ontology web language, стандарт W3C, язык для семантических утверждений, разработанный как расширение RDF и RDFS;
  • KIF (Knowledge Interchange Format или формат обмена знаниями) — основанный на S-выражениях синтаксис для логики;
  • CycL — онтологический язык, использующийся в проекте Cyc, основан на исчислении предикатов с некоторыми расширениями более высокого порядка.
  • DAML+OIL (FIPA)

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

См. также

Ссылки