Багато речей нам незрозумілі не тому, що наші поняття слабкі,
але тому, що ці речі не входять в коло наших понять, Козьма Прутков,
«Думки і афоризми»
Хоча термін «онтологія» зараз досить популярний в співтовариства програміста, чіткого його розуміння ще не склалося. Знання про те, що таке онтології і як їх використовувати при створенні інформаційних систем, до сих пір є чимось езотеричним, доступним тільки обраним фахівцям з обробки знань. Інша думка полягає в тому, що онтології - це щось абстрактне, «іграшкові знання», які не застосовуються на практиці і якими займаються в своїх «абстрактних сферах» так звані «crazy scientists», в просторіччі іменовані «ботанів». Тим часом, термін «онтологія» зовсім не складний для розуміння і був введений для досягнення цілком практичних цілей. Спробуємо розібратися, для чого ж були придумані онтології [1] .
Онтології, спрощено кажучи, є описами знань, які зроблені досить формально, щоб бути оброблені комп'ютерами. Такі формальні описи використовуються в самих різних і часом вельми несподіваних областях комп'ютерної науки.
1. Онтологія в філософії
Без сумніву, спочатку цей термін прийшов до нас з філософії. Якщо точніше, то під онтологією розуміють ту частину філософії, яка з'ясовує основні, фундаментальні принципи буття, витоки всього сутнісного. Саме поняття «онтологія» в перекладі з грецької мови означає вчення про сущому, сутнісне, найважливіше (онтос - суще, сутнісне, логос - вчення).
метафізика
італійського художника Джорджо де Кіріко
(1988-1978)
«Буття» - це філософська категорія, що позначає єдність об'єктивної і суб'єктивної реальності, існування не тільки незалежного від свідомості людини об'єктивного світу, а й самого свідомості.
Основне питання онтології: що саме дійсно існує, є реальною дійсністю, а що лише ілюзією, видимістю, що здаються існуванням. Тому є певні відтінки в поняттях «існування» і «буття». Категорія «існування» показує, що щось є в наявності, але сам факт існування ще не розкриває прихованої суті, глибинної причини існуючого. Філософія не обмежується констатацією того, що існують фізичний світ, люди, рослини, тварини, суспільство, духовна культура тощо. Філософія покликана знайти основу усього розмаїття, множинності явищ світу, відкрити зв'язку, взаємозалежності між ними.
З давніх-давен філософами було помічено, що не все, доступне нашому чуттєвого досвіду, є реальною дійсністю. У світі спостерігається вічна плинність буття, всі речі виникають і з часом зникають. Світ роздроблений на елементи, окремі явища і речі. Те, що безпосередньо спостерігається в світі, є тимчасовим, тому воно не має статусу справжньої реальності. Що є безперечно і безумовно існуючим? Філософи прийшли до висновку, що чуттєве сприйняття світу ще не розкриває глибинну сутність речей. Дійсно існуючої є особлива, надчуттєвий реальність, яка недоступна чуттєвого досвіду, але яку можна осягнути розумом. Так виникає метафізика - вчення про сверхчувственной реальності, про приховану від безпосереднього спостереження сутності речей, про причини їх єдності і внутрішньої взаємозв'язку. Метафізика стала основою філософської онтології.
Основними питаннями онтології і метафізики ще з античних часів були такі питання:
Чи існують першоелементи всього існуючого?
Чи існує субстанція як справжня реальність, як гранична основа буття? Якщо так, то чи є вона незмінною субстанцією, або ж її потрібно мислити як вічно мінливу?
Чи існує світ як цілісну єдність, або він тільки безліч незв'язаних один з одним явищ, речей, подій?
Чи має світ початок і кінець, або він вічний і нескінченний?
Чи всі в цьому світі визначається причинно-наслідковими зв'язками, або є щось вільне, що не підпорядковане детермінації?
Яке місце людини в світі? Чи є людина черговою ланкою світового розвитку, або він є його вершиною?
Ці та інші питання складають основу вчення про буття, тобто онтології.
Потрібно зауважити, що є істотна різниця в розумінні онтології східної і західної традиції. На Заході основою сущого є буття. Східна ж онтологія грунтується на уявленні про небутті як дійсної основі всього існуючого. Небуття на Сході трактується не як негативна характеристика - відсутність буття, а як позитивне перевагу буття. Якщо в західній філософії все речі і явища сприймаються як різні форми буття, тобто зникнення речей є тільки переходом до іншої форми буття, то в східній культурі саме буття є лише тимчасовим проявом небуття.
Але науково-технічний прогрес і, зокрема, бурхливий розвиток інформаційних технологій, привели до іншого розуміння цього філософського поняття.
2. Онтологія в інформаційних технологіях
Якщо торкатися інформаційних технологій, то термін «онтологія» вперше з'явився в роботі Томаса Грубера [2] , В якій розглядалися різні аспекти взаємодії інтелектуальних систем між собою і з людиною.
Інтелектуальними системами називаються програми, які моделюють деякі аспекти інтелектуальної діяльності людини. Звичайно, будь-яка програма займається таким моделюванням в тій чи іншій мірі, адже саме в цьому і полягає цінність комп'ютера для людини - комп'ютерна система дозволяє звільнити людину від виконання якоїсь однотипної діяльності.

Томас Грубер (1959 р.н.)
Ця діяльність може бути досить складною і витонченою, але вона завжди однотипна і конкретна: комп'ютерна система, створена, наприклад, для редагування графіки, не може бути використана для управління комбайнами при сінокосі. У цьому сенсі знання, які закладає в програму її творець (тобто алгоритм цієї програми), завжди статичні, вони не змінюються (звичайно, за винятком дуже конкретних знань, які ми називаємо «даними програми»).
Інтелектуальна система в цьому сенсі більш універсальна - в ній знання про те, що треба робити в процесі виконання програми, що не вшиті в програму раз і назавжди, але можуть змінюватися. Якщо так, то ці знання необхідно передавати програмі як дані, а, отже, виникає необхідність їх опису.
Знання, які закладені в комп'ютерних програмах, можна розділити на два сорти:
- Процедурні знання, тобто знання про те, що потрібно зробити в кожній конкретній ситуації. Наприклад, якщо бухгалтерській програмі прийшли дані про платежі, то треба зробити відповідні зміни на рахунках одержувачів платежів, а також інші необхідні дії, що накладаються цією ситуацією.
- Крім процедурних знань, кожній програмі необхідні знання про світ задач або декларативні знання, тобто знання про те, що таке платежі, проводки, рахунки і т.п. речі. Без цих знань, очевидно, програма не зможе функціонувати, не можна буде побудувати алгоритм програмної системи.
Таким чином, при створенні інтелектуальної системи доводиться враховувати такий поділ знань і придумувати якісь програмні інструменти для оперування цими знаннями.
Томас Грубер розглядав питання взаємодії інтелектуальних систем між собою, а також з людиною. Ідея Грубера полягала в тому, щоб дозволити інтелектуальним системам обмінюватися між собою закладеними в них знаннями про світ задач.
Якщо всередині інтелектуальної системи знання про світ можуть бути закодовані як завгодно, то для обміну цими знаннями з іншого інтелектуальною системою необхідно надати опис цих знань.
Це опис має бути в достатній мірі формальним, щоб бути зрозумілим іншій системі, а також повинен бути відомий мову цього опису. Крім того, опис має бути зрозумілим також і людині. Для цього Грубер запропонував описувати знання двома способами:
- в канонічній формі, яка представляє собою опис знань на певному мовою (наприклад, мова програмування);
- в формі онтології, яка представляє собою безліч класів знань, пов'язаних між собою відношенням узагальнення (це зворотне відношення для відносини спадкування).
Таким чином, онтологія по Грубер - це опис декларативних знань, зроблене у вигляді класів зі ставленням ієрархії між ними. До цього опису, призначеному для читання людиною, приєднано опис в канонічній формі, який призначений для читання машинами. Кожна інтелектуальна система може надавати кілька таких описів, що відповідають різним областям декларативних знань, що зберігаються в ній і, таким чином, виступає як сховище бібліотеки онтологій. Грубер представляв, що інтелектуальні системи будуть виступати як бібліотеки онтологій і вільно обмінюватися онтологіями між собою.
Складання опису декларативного знання зазвичай вимагає великої роботи і певних навичок і знань. Для позначення цієї роботи, а також її результату, Грубер ввів в ужиток спеціальний термін «концептуалізація». Опис він називав «специфікацією». Таким чином, онтологія по Грубер визначається як специфікація концептуалізації.
Але введене Грубером поділ специфікацій знань на дві складові (канонічну форму і онтологію) не дуже зручно, тому що доводиться описувати одні і ті ж знання два рази, хоча і по-різному. Сучасні мови опису онтологій дозволяють поєднати ці форми специфікацій в єдине ціле.
Таким чином, зараз під онтологією розуміється будь-який опис декларативних знань, зроблене на формальній мові і забезпечене деякої класифікацією знань, що дозволяє людині зручно сприймати їх.
Канонічна форма не обов'язково використовує конкретну мову, можуть використовуватися і інші формалізми. Наприклад, можна використовувати т.зв. алгебраїчний підхід до опису знань [3] . Але будь-який такий опис має включати в себе уявлення декларативних знань у вигляді ієрархії об'єктів (класів), тільки в цьому випадку це опис може вважатися онтологією.
До сих пір розгляд було присвячено досить абстрактним речам, а зараз розглянемо приклад, як онтології застосовуються для опису вмісту Web-сторінок.
Навіщо потрібно описувати вміст Web-сторінки? Онтології вмісту Web-сторінок необхідні пошуковим програмами для поліпшення якості пошуку по Web.
Ідея побудови специфікацій концептуалізації змісту Web-сторінок є основою концепції так званого розумного Web або Semantic Web. Semantic Web являє собою наступне покоління World Wide Web (W3), в якому крім гіпертекстових документів містяться описи семантики цих документів, а також опису семантики різних сервісів, що надають ці документи кінцевим користувачам.
Зазвичай про Semantic Web розповідають як про компонент майбутньої версії Web - так званому Web 3.0. Яким насправді буде Web 3.0, можна тільки припускати, але очевидно, що одним з головних його компонентів буде Semantic Web, в якому кожна Web-сторінка надає також онтологію свого змісту.
Формальна специфікація змісту Web-документа дає можливість пошуковій програмі робити висновки про відповідність пошукового запиту даному Web-документу не тільки на основі синтаксичної інформації, одержуваної з тексту цього документа, але і грунтуючись на семантиці змісту даного документа.
Це може кардинально поліпшити якість Web-пошуку, так як опис світу Web-сторінки, ясна пошуковій програмі, дає останній набагато більше інформації, ніж вона може отримати від неструктурованого тексту (на основі лише синтаксису).
Ідеї розумного Web давно були сприйняті спільнотою W3, в результаті чого вже на протязі більше десяти років ведуться роботи по втіленню цих ідей в життя. Першим завданням, яке необхідно вирішити для цього, є розробка стандартного мови, який був би зрозумілий всім пошуковим програмами. На даний момент розроблено два таких мови:
- Мова Resource Description Framework (RDF) - система опису ресурсів Web.
- Web Ontology Language (OWL) - мова онтології Web. OWL можна розглядати як розширення мови RDF.
Таким чином, загальний підсумок такий: якщо в філософії онтологія - це знання про буття, то в комп'ютерних науках - це знання про світ задач і знання про взаємодію інтелектуальних систем між собою, а також з людиною.
СПИСОК ЛІТЕРАТУРИ
- [1] Лапшин В.А. Онтології в комп'ютерних системах. - М .: Науковий світ, 2010 року.
- [2] Gruber TR The role of common ontology in achieving sharable, reusable knowledge bases // Principles of Knowledge Representation and Reasoning. Proceedings of the Second International Conference. JA Allen, R. Fikes, E. Sandewell - eds. Morgan Kaufmann, 1991, 601-602.
- [3] Когаловскій М., Калініченко Л. Концептуальне моделювання та онтологічні моделі // Онтологічні моделювання. Праці симпозіуму в м Звенигороді, 19-20 травня 2008,.
А.А. Антонюк, кандидат фізико-математичних наук
Що є безперечно і безумовно існуючим?Чи існує субстанція як справжня реальність, як гранична основа буття?
Якщо так, то чи є вона незмінною субстанцією, або ж її потрібно мислити як вічно мінливу?
Чи існує світ як цілісну єдність, або він тільки безліч незв'язаних один з одним явищ, речей, подій?
Чи має світ початок і кінець, або він вічний і нескінченний?
Чи всі в цьому світі визначається причинно-наслідковими зв'язками, або є щось вільне, що не підпорядковане детермінації?
Яке місце людини в світі?
Чи є людина черговою ланкою світового розвитку, або він є його вершиною?
Навіщо потрібно описувати вміст Web-сторінки?