Онтологии и системы представления онтологий

Из дипломной работы Машковой А. Ю. ("Разработка средствами языка программирования Visual Prolog англоязычной системы представления онтологий")
1.1. Понятие онтологии
Понятие онтология сейчас активно применяется в информатике и искусственном интеллекте. Этот термин пришел из философии, где обозначал часть метафизики — учение о всем сущем, о его наиболее общих философских категориях, таких как бытие, субстанция, причина, действие, явление. При этом онтология как наука претендовала на полное объяснение причин всех явлений.
В инженерии знаний под онтологией понимается детальное описание некоторой проблемной области, которое используется для формального и декларативного определения ее концептуализации. Часто онтологией называют базу знаний специального вида, которую можно разделять, отчуждать и самостоятельно использовать в рамках рассматриваемой предметной области. Можно сказать, что онтология — это точная спецификация некоторой области, которая включает в себя словарь терминов этой области и множество логических связей, которые описывают, как эти термины соотносятся между собой.
Онтологии позволяют представить понятия в таком виде, что они становятся пригодными для машинной обработки. Нередко онтологии используются в качестве посредника между пользователем и информационной системой.
Формально онтология определяется как O = , где X – конечное множество понятий предметной области, R – конечное множество отношений между понятиями, F – конечное множество функций интерпретации [7].
Практически все модели онтологии содержат определенные концепты (понятия), свойства концептов (атрибуты), отношения между концептами и дополнительные ограничения, которые определяются аксиомами. Концептом может быть описание задачи, функции, действия, стратегии, процесса и т. п.
Онтологические системы строятся на основе следующих принципов:
формализации, т. е. описания объективных элементов действительности в единых, строго определенных образцах (терминах, моделях и др.);
использования ограниченного количества базовых терминов (сущностей), на основе которых конструируются все остальные понятия;
внутренней полноты и логической непротиворечивости.
В отличие от обычного словаря для онтологической системы характерно внутреннее единство, логическая взаимосвязь и непротиворечивость используемых понятий.
1.2. Классификация онтологий
Классифицировать онтологии можно по различным параметрам (в зависимости от того, с какой целью их классифицируют), например:
по степени зависимости от конкретной задачи или прикладной области;
по языку представления онтологических знаний и его выразительным возможностям;
по уровню детализации аксиоматизации;
по предметной области.
По степени зависимости от конкретной задачи или предметной области обычно различают следующие онтологии [8]:
Верхнего уровня. Такие онтологии описывают наиболее общие концепты (пространство, время, материя, объект, событие, действие и т. д.), которые независимы от конкретной проблемы или области. Поэтому представляется разумным (по крайней мере, в теории) унифицировать их для больших сообществ пользователей. Примером такой общей онтологии является коммерческий проект онтологии CYC[12]. Это база знаний, содержащая все общие понятия окружающего мира, которую могут использовать самые разные программные средства. Для представления знаний в рамках этого проекта разработан специальный язык CYCL.
Ориентированные на предметную область. Во многих дисциплинах сейчас разрабатываются стандартные онтологии, которые могут использоваться экспертами по предметным областям (доменам) для совместного использования и аннотирования информации в своей области. Например, в области медицины созданы большие стандартные, структурированные словари, такие как SNOMED и семантическая сеть Системы Унифицированного Медицинского Языка (the Unified Medical Language System). Также появляются обширные общецелевые онтологии. Так, программа ООН по развитию (United Nations Development Program) и компания Dun&Bradstreet объединили усилия для разработки онтологии UNSPSC[9], которая предоставляет терминологию товаров и услуг.
Ориентированные на задачу. Это онтология, используемая конкретной прикладной программой и содержащая термины, которые используются при разработке ПО, выполняющего конкретную задачу. Она отражает специфику приложения, но может также содержать некоторые общие термины (например, в графическом редакторе будут и специфические термины — палитра, тип заливки, наложение слоев и т. д., и общие — сохранить и загрузить файл).
Онтологии предметной области и онтологии задач описывают, соответственно, словари, которые относятся к определенной предметной области (например медицина, дистанционное обучение, Интернет-технологии) или типичной задаче (например диагностика, продажа). При этом они используют специализацию терминов, представленных в онтологиях верхнего уровня.
Прикладные онтологии описывают концепты, которые зависят как от онтологии задач, так и от онтологии домена. Примером может служить онтология для автомобилей, строительных материалов, вычислительной техники. Онтология предметной области обобщает понятия, использующиеся в некоторых задачах домена, абстрагируясь от самих задач.