Онтология (информатика)

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

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

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

Отличия от философского понятия онтологии[править | править исходный текст]

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

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

Элементы онтологий[править | править исходный текст]

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

Экземпляры[править | править исходный текст]

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

Понятия[править | править исходный текст]

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

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

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

Атрибуты[править | править исходный текст]

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

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

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

Отношения[править | править исходный текст]

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

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

Специализированные и общие онтологии[править | править исходный текст]

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

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

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

Языки описания онтологий[править | править исходный текст]

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

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

См. также[править | править исходный текст]

Примечания[править | править исходный текст]

Литература[править | править исходный текст]

Ссылки[править | править исходный текст]