Онтологія (інформатика)
Онтоло́гія — формалізоване представлення знань про певну предметну область (середовище, світ), придатне для автоматизованої обробки. Онтологію неодмінно супроводжує деяка концепція цієї області інтересів. Найчастіше ця концепція виражається за допомогою визначення базових об'єктів (індивідуумів, атрибутів, процесів) і відношень між ними. Визначення цих об'єктів і відношень між ними зазвичай називають концептуалізацією.
Таке визначення онтології є узагальнюючим: Онтологія — це загальноприйнята і загальнодоступна концептуалізація певної області знань (світу, середовища), яка містить базис для моделювання цієї області знань і визначає протоколи для взаємодії між агентами, які використовують знання з цієї області, і, нарешті, включає домовленості про представлення теоретичних основ даної області знань.[1]
Перспективи використання
Літературні джерела багаті описом різних онтологій і очікуваних від їхнього використання перспектив. Ці перспективи можна підрозділити на наступні категорії:
- поліпшення взаємодії розробників та програмних агентів;
- уніфікація обміну даними;
- формалізація процесів специфікації, підвищення надійності і забезпечення багаторазовості використання.
Відмінності від філософського поняття онтології
Хоча термін «онтологія» походить з філософії, в інформатиці він набув самостійного значення. Основні відмінності полягають у наступному:
- Онтологія в інформатиці повинна мати формалізовану мову представлення, яку комп'ютер здатний обробляти без безпосередньої участі людини;
- онтології створюються завжди для вирішення певної задачі, і тому вони оцінюються більше з погляду застосовності, ніж повноти.
Елементи онтологій
Онтології зазвичай містять класи (поняття), екземпляри цих класів, їхні атрибути (властивості) та значення цих властивостей, а також відношення між класами та екземплярами класів. Крім того, онтологія може містити певні обмеження на використання класів та їх відношень.
Екземпляри
Екземпляри (англ. 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-виразах синтаксис для логіки;
- Common Logic — спадкоємець KIF (стандартизований — ISO/IEC 24707:2007).
- CycL — онтологічна мова, що використовується в проекті Cyc, заснована на численні предикатів із деякими розширеннями вищого порядку.
- DAML+OIL (FIPA)
Для роботи з мовами онтологій існує декілька видів технологій: редактори онтологій (для створення онтологій), СУБД онтологій (для зберігання й звертання до онтології) і сховища онтологій (для роботи з декількома онтологіями).
Див. також
Виноски
- Що таке онтологія? Архівовано 16 липня 2010 у Wayback Machine. (англ.)
Посилання
Література
- What is an ontology?
- Д. В. Ландэ, А. А. Снарский. Подход к созданию терминологических онтологий // Онтология проектирования, 2014. — N 2(12). — С. 83-91.
- Д. В. Ландэ, Построение модели предметной области путем зондирования сервиса Google Scholar Citations // Онтология проектирования, 2015. — N 3(17). — С. 328—335.