Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ТЕХНОЛОГІЇ МЕНЕДЖМЕНТУ ЗНАНЬ

.pdf
Скачиваний:
153
Добавлен:
07.02.2016
Размер:
3.02 Mб
Скачать

никовою моделлю, розглянутою вище. Отже, модель онтологічної системи дає змогу описувати необхідні для її функціонування онтології різних рівнів. Взаємозв’язок між онтологіями показаний на рис. 6.4.

Машина виведення онтологічної системи загалом може спиратися на мережеве відображення онтології всіх рівнів. А її функціонування буде пов’язане:

зактивацією понять чи відношень, що фіксують задачу, яка роз- в’язується (опис первинної ситуації);

визначенням цільового стану (ситуації); виведенням на мережі; полягає у тому, що від вузлів первинної

ситуації розповсюджуються хвилі активації, що використовують властивості відношень, пов’язаних з ними. Критерієм зупинки процесу є досягнення цільової ситуації або перевищення тривалості виконання (time-out).

6.3.Методології створення

і“життєвий цикл” онтології

Розробники систем, заснованих на знаннях, стикаються з проблемою “вузької шийки” видобування знань. Аналогічна проблема існує і у процесі створення онтології. Але, на відміну від розробників інтелектуальних систем, творців онтології чекають і додаткові проблеми, пов’язані з відсутністю хоч якихось загальних і верифікованих методологій, що визначають, які “процедури” повинні виконувати в процесі розроблення, і на яких стадіях розроблення онтології їх потрібно виконувати. Сьогодні існує лише декілька незалежних методологій, орієнтованих на побудову онтології.

Відразу зазначимо, що ці підходи і методології ґрунтуються на поданих принципах проектування і реалізації онтології, запропонованих Грубером.

1. Чіткість (Clarity) – онтологія повинна ефективно передавати значення введених термінів. Визначення мають бути об’єктивними, хоча мотивація введення термінів може визначатися ситуацією або вимогами обчислювальної ефективності. Для об’єктивізації визначень потрібно використовувати чітко фіксований формалізм, логічно задавати визначення у вигляді логічних аксіом.

201

2.Узгодженість (Coherence) – означає, що принаймні всі визначення мають бути логічно несуперечливі, а всі твердження, що виводяться в онтології, не повинні суперечити аксіомам.

3.Розширюваність (Extendibility) – онтологія має бути спроектована так, щоб забезпечувати використання словників термінів, що розділяються, які допускають можливість монотонного розширення чи спеціалізації без необхідності ревізії вже наявних понять.

4.Мінімум впливу кодування (Minimal encoding bias)

концептуалізація, що лежить в основі створюваної онтології, має бути специфікована на рівні уявлення, а не символьного кодування. Цей принцип пов’язаний з тим, що агенти, які поділяють онтологію, можуть бути реалізовані в різних системах відображення знань.

5.Мінімум онтологічних зобовязань (Minimal ontological commitment) – онтологія повинна містити тільки найістотніші припущення про модельований світ, щоб залишати свободу розширення і спеціалізації. Звідси витікає, що онтології ґрунтуються на “слабких” теоріях, оскільки мета їх створення і використання полягає передусім у тому, щоб “говорити” про предметну область, на відміну від БЗ, які можуть містити знання, необхідні для розв’язання задач чи одержання відповідей на запитання.

6.4. Мови опису онтологій

Сьогодні існує декілька розповсюджених стандартів опису онтологій. Ключовим моментом у проектуванні онтологій є вибір відпо-

відної мови специфікації онтологій (Ontology specification language).

Мета таких мов надати можливість вказувати додаткову семантику ресурсів, що машинно-інтерпретується, зробити машинне подання даних більш схожим на стан речей у реальному світі, істотно підвищити виразні можливості концептуального моделювання слабкоструктурованих Web-даних.

Існують традиційні мови специфікації онтологій (Ontolingua, CYCL, мови, засновані на дескриптивних логіках, такі як LOOM, і мови, засновані на фреймах, OKBC, OCML, Flogic). Пізніші мови засновані на Web-стандартах, такі як XOL, SHOE або UPML, RDF(S),

202

DAML, OIL, OWL, що створені спеціально для обміну онтологіями через Web.

Загалом, відмінність між традиційними і Web-мовами специфікації онтологій полягає у виразних можливостях опису наочної області і деяких можливостях механізму логічного виведення для цих мов. Типові примітиви мов додатково містять:

конструкції для арегації множинних ієрархій класів, правил виведення і аксіом;

різні форми модуляризації для запису онтологій і відношень між ними; можливість мета-опису онтологій; це корисно для встановлення

зв’язків між різними видами онтологій.

Першими пропозиціями з опису онтологій на базі RDFS були

DARPA DAML-ONT (DARPA Agent Markup Language) і European Commission OIL (Ontology Inference Layer). Ці стандарти специфікації й обміну онтологіями розроблені для досягнення якнайкращих результатів у підтримці процесу обміну знаннями й інтеграції знань. DAML забезпечує примітиви для оголошення перетинів, об’єднань, доповнень класів тощо, а OIL заснований на description logics. Інше розширення RDFS DRDFS. Так само як і OIL, він дає можливість для вираження класів і визначення властивостей, проте виразна потужність мов DRDFS і OIL така, що жоден з них не може розглядатися як фрагмент іншого.

На базі цих пропозицій DAML і OIL виникло спільне рішення – DAML+OIL, яке послугувало поштовхом для створення в межах ініціативи Semantic Web окремої групи з перегляду цього рішення і стандартизації мови опису Web-онтологій (OWL – Web Ontology Language). Адаптація до Web-систем логіки і штучного інтелекту становить вершину “піраміди Semantic Web”, забезпечуючи семантичноадекватний пошук інформації і машинну інтерпретацію семантики.

OIL також можна розглядати в порівнянні з Ontolingua, розробленим у межах ініціативи On-To-Knowledge. Порівняно з Ontolingua, OIL менш виразний, але все-таки дає змогу робити логічні висновки: підтримка виведення забезпечується системою FACT – класифікатором, який працює на основі description logic.

Проте загалом можна сказати, що орієнтованість мов опису онтологій на системи математичної логіки робить їх занадто потужними інструментами для величезної кількості додатків, яким достатньо простої мови опису словників, – RDFS. І це правильно, кожен ступінь

203

у піраміді – це ступінь, на якому багато систем можуть зупинитися, згідно зі своїми власними вимогами до даних і їх використання.

Детально проаналізувавши найрозповсюдженіші мови опису онтологій, ми прийшли до висновку, що найцікавішим стандартом опису онтологій є Ontology Web Language, або OWL. Цей стандарт встановлений організацією W3C, що є законодавцем стандартів у всьому, що стосується Web. Поточний стандарт OWL прийнятий 2004 року, коли W3C опублікувала документ “OWL Web Ontology Language Guide. W3C Recommendation 10 February 2004” (OWL, мова Web-он-

тологій. Керівництво. Рекомендація W3C від 10 лютого 2004 р.). Наведемо декілька тез із вищезгаданого документа.

Всесвітня Павутина зараз нагадує погано розмічену географічну карту. Наше освоєння документів і усвідомлення їх можливостей засноване на пошуку ключових слів, підтримуваному грамотним використанням зв’язків між документами і навиками роботи в пошукових системах. Вся маса цих даних некерована без підтримки потужними інструментами. Щоб наносити на карту цей ландшафт точніше, ком- п’ютерним агентам потрібні машинно-читабельні описи вмісту і характеристик доступних Web-ресурсів. Ці описи повинні йти на додаток до версій тієї самої інформації, що можуть бути прочитані людиною.

Мова Web-онтологій OWL покликана забезпечити механізм, який може використовуватися для опису класів і зв’язків між ними, що властиві для Web-документів і додатків, однак її структура передбачає використання і в інших середовищах.

Рекомендації W3C демонструють, як використовувати мову

OWL, щоб:

формалізувати область визначення класів і властивостей цих класів; визначити індивідів та призначити їх властивості; уточнити ці класи та індивіди до ступеня, що визначений формальною

семантикою OWL.

Виклад рекомендацій організований так, щоб відобразити поступове визначення набору класів, властивостей та індивідів, починаючи з основних принципів і переходячи до складніших мовних компонентів.

“Скажіть мені, яке вино мені треба купити до кожної страви в цьому меню. І, до речі, я не люблю Сотерн.” Сьогодні важко було б створити Web-сервер-агент, який зміг би виконати пошук вин у

204

мережі, що задовольняють цей запит. Для підтримки такого роду обчислень необхідно піти далі за ключові слова і описати зміст ресурсів, доступних у мережі. Цей додатковий рівень інтерпретації пов’язаний з семантикою даних.

Мова Web-онтологій OWL – це мова для визначення і подання Web-онтологій. Онтологія – термін, запозичений з філософії, який означає науку, що описує форми буття і те, як вони відносяться між собою. Web-онтологія може об’єднувати описи класів, властивостей і їх приклади. Формальна семантика OWL описує, як отримати логічні наслідки, маючи таку онтологію, тобто отримати факти, які не відображені в онтології буквально, але виходять з її семантики. Ці наслідки можуть бути засновані на одному документі або множині розподілених документів, які комбінуються з використанням певних механізмів OWL.

Питання, яке виникає, коли читаєш опис ще одного XML/Webстандарту, – це “Що це дає мені, що не можуть дати XML і XML Schema?” Є дві відповіді на це запитання.

Онтологія відрізняється від схеми XML тим, що це відображення знання, а не формат повідомлень. Більшість Web-стандартів складаються з комбінації форматів повідомлень і специфікацій протоколів. Цим форматам задали експлуатаційну семантику типу: “Після отримання повідомлення ЗамовленняНаКупівлю, перевести Кіль-

кість гривень з РахунокПокупця на РахунокПродавця і відпустити

Товар.” Але специфікація не створена для підтримки операцій поза контекстом цієїї транзакції. Наприклад, у нас немає, як правило, механізму, щоб визначити, що через те, що Товар має назву Шордоне, він має також бути білим вином.

Однією з переваг OWL-онтологій буде доступність інструментів, які можуть аналізувати їх. Інструменти забезпечать загальну підтримку, яка не є специфічною для певної наочної області, що було б тим випадком, коли треба побудувати систему, щоб міркувати в межах однієї стандартної для заданої індустрії XML-схеми. Побудова чіткої і працездатної системи міркування – непроста справа. Будівництво онтології набагато доступніше. Автори стандарту очікують, що багато людей приєднаються до створення онтологій. Вони отримають вигоду з інструментів третіх осіб, заснованих на формальних властивостях мови OWL, інструментів, що нададуть асортимент можливостей, які більшості організацій було б важко реалізувати самим.

205

6.4.1. Види OWL

OWL забезпечує три різні за виразністю діалекту, спроектовані для використання окремими співтовариствами розробників і користувачів, види мови.

OWL Lite

OWL DL

OWL Full

Рис. 6.5. Ієрархія видів OWL

OWL Lite підтримує тих користувачів, які мають потребу передусім в класифікаційній ієрархії і простих обмеженнях. Наприклад, при тому, що вона підтримує обмеження кардинальності (кількості елементів), допускаються значення кардинальності тільки 0 або 1. Для розробників має бути простіше у своїх продуктах забезпечити підтримку OWL Lite, ніж його виразніших побратимів, так, зокрема, OWL Lite дозволяє швидку міграцію тезаурусів та інших таксономій.

OWL DL призначена для тих користувачів, які хочуть максимальної виразності без втрати повноти обчислень (всі висновки гарантовано будуть обчислюваними). OWL DL охоплює усі мовні конструкції OWL з обмеженнями на зразок розділення типу (клас не може бути приватною властивістю, а властивість не може бути індивідом або класом). OWL DL через його відповідність дескриптивній логіці, дисципліні, в якій вивчений саме вирішуваний фрагмент логіки першого порядку. OWL DL спроектована, щоб підтримати певний сегмент бізнесу, що займається дескриптивною логікою, і мати бажані обчислювальні властивості для систем штучного інтелекту.

OWL Full призначається для користувачів, які хочуть мати максимальну виразність і синтаксичну свободу RDF без обчислювальних гарантій. Наприклад, в OWL Full клас може одночасно розглядатися і

206

як сукупність індивідів, і як індивід. Інша істотна відмінність від OWL DL в тому, що owl:DatatypeProperty може бути позначено як owl:InverseFunctionalProperty. OWL Full уможливлює такі онтології,

які розширюють склад зумовленого (RDF або OWL) словника. Малоймовірно, що яке-небудь інтелектуальне програмне забезпечення буде в змозі забезпечити повну підтримку кожної особливості OWL Full.

Кожен з цих діалектів – розширення його простішого попередника, і в тому, що стосується виразних можливостей, і в тому, що стосується можливостей обчислюваних висновків. Підтримуються такі зв’язки, але не навпаки:

кожна допустима OWL Lite онтологія – допустима OWL DL онтологія; кожна допустима OWL DL онтологія – допустима OWL Full онтологія; кожний правильний OWL Lite висновок – правильний OWL DL

висновок;

кожний правильний OWL DL висновок правильний OWL Full висновок.

Розробники онтологій, що використовують OWL, повинні вирішити, який з діалектів найкраще придатний для їх завдань. Вибір між OWL Lite і OWL DL залежить від того, наскільки користувачам потрібні виразніші конструкції, що забезпечує OWL DL. Додатки для OWL Lite матимуть бажані обчислювальні характеристики. Додатки для OWL DL, при тому, що мають справу з вирішуваним діалектом, в найважчих випадках будуть пов’язані з вищою складністю. Вибір між OWL DL і OWL Full, головно, залежить від ступеня того, наскільки користувачам потрібні засоби мета – моделювання RDF-схем (наприклад, таких, що визначають класи класів). Використовуючи OWL Full, порівняно з OWL DL, підтримка логічного виведення менш передбачена.

Користувачі, що мігрують з RDF в OWL DL або OWL Lite повинні докласти зусиль, щоб оригінальний RDF-документ виконував обмеження, накладені OWL DL і OWL Lite. Деталі цих обмежень пояснено в додатках рекомендацій W3C.

6.4.2. Структура онтологій

OWL – це компонент ініціативи Semantic Web. Це спроба зробити Web-ресурси доступнішими для автоматизованих процесів додаванням інформації про ресурси, яка описує або забезпечує Web-сервер-

207

контент. Оскільки семантична мережа за визначенням розподілена, OWL повинен давати змогу збирати інформацію з розподілених джерел. Це частково забезпечується можливістю онтологій бути зв’язаними, передбачаючи прямий імпорт інформації з інших онтологій.

На додаток, OWL припускає, що описи ресурсів не обмежені єдиним файлом або темою. Тоді як клас C1 спочатку може бути визначений в онтології O1, він може бути розширений в інших онтологіях. Наслідки з цих додаткових думок про C1 є монотонними. Нова інформація не може спростовувати попередню інформацію. Нова інформація може бути такою, що суперечить, але факти і наслідки можуть тільки додаватися, а не навпаки.

Можливість таких суперечностей це те, що розробник онтології повинен ураховувати. Очікується, що інструменти, які підтримують OWL, допоможуть виявляти такі випадки.

Щоб написати онтологію, яку можуть однозначно інтерпретувати і використовувати програмні агенти, потрібен синтаксис і формальна семантика OWL. OWL – це розширення словника RDF. Семантика OWL визначена в документі “Семантика і абстрактний синтаксис OWL”.

Запитання для повторення та контролю знань

1.Що таке онтологія?

2.Як задається формальна модель онтології?

3.Які бувають частинні випадки моделі онтологій?

4.Яка структура називається таксономічною?

5.Як класифікують моделі онтологій?

6.Як задається формальна модель онтологічної системи?

7.Які компоненти входять у формальну модель онтологічної системи?

8.Відобразіть взаємозв‟язок між онтологіями онтологічної системи.

9.Які Ви знаєте методології, що орієнтовані на побудову онтології? На яких принципах вони ґрунтуються?

10.Як класифікують онтології?

11.Наведіть приклад онтології верхнього рівня.

12.Як онтологічні знання використовуються в Інтернеті?

208

Розділ 7

ПРОГРАМНІ ЗАСОБИ ПОБУДОВИ ОНТОЛОГІЙ

7.1. Онтологія як засіб формалізації та алгоритмізації знань в інтелектуальній системі

Сьогодні отримання знань залишається найважчим у процесі проектування інтелектуальних систем. Систему, здатну визначати, зберігати та використовувати в потрібний момент необхідні релевантні знання, називатимемо інтелектуальною. Зазвичай, інтелектуальні системи застосовують для розв’язання складних задач; основна складність їх розв’язування пов’язана з використанням слабкоформалізованих знань спеціалістів-практиків, і логічне (або змістове) опрацювання інформації переважає над обчислювальним. Тому в основі структури сучасних інтелектуальних систем лежать бази знань (БЗ), які формуються відповідно до предметної області (ПО), в якій застосовується певна інтелектуальна система.

На етапі проектування та реалізації інтелектуальних систем виділяють багато методологічних і технологічних проблем, з якими безпосередньо стикаються їх розробники. Зокрема в Україні такі проблеми полягають у відсутності концептуальної цілісності й узгодженості між окремими прийомами та методами інженерії знань; нестачі кваліфікованих фахівців у цій області; жорсткості розроблених програмних засобів та їх низької адаптивної здатності; складності впровадження експертних та інтелектуальних систем, що зумовлені психологічними аспектами, неприйнятті персоналом нових технологій; відсутності в Україні техніко-економічних показників оцінювання ефективності таких систем; емпіричності процедури вибору програмного інструментарію і процесу тестування (відсутність єдиних критеріїв). Перерахунок, звичайно, можна продовжувати, але тим не менше, перспективи розвитку і впровадження інтелектуальних систем у більшість галузей науки очевидні.

209

Успіх у розв’язанні задачі побудови ефективної спеціалізованої інтелектуальної системи визначається відповідністю її бази знань та онтології (ядра бази знань) до особливостей предметної області.

Тому дослідження онтологій стає все популярнішим серед науковців у галузі інформаційних технологій. І ще більше, сьогодні розроблення онтологій – явних формальних описів понять предметної області та зв’язків між ними – переходить зі світу лабораторій штучного інтелекту на робочі столи експертів з певних предметних областей, інженерів та користувачів. Нині онтології широко застосовують в інформаційних технологіях (робота пошукових машин, електронна комерція, системи опрацювання інформації), матеріалознавстві (системи аналізу стану матеріалів), машинобудуванні та інших галузях науки та промисловості (рис. 7.1).

Онтологію можна розглядати, як загальний словник понять для вчених, який спільно використовується в певній предметній області. Вона об’єднує машинно-інтерпретовані формулювання основних понять предметної області та зв’язків між ними.

Рис. 7.1. Застосування онтології в системі знань

Цей підрозділ книги про онтологію – базовий компонент інтелектуальної системи. У наступних параграфах розглянемо основні методики навчання онтологій, формати і стандарти відображення та наявні інструменти для їх створення. Особливу увагу приділено технології розроблення онтології в редакторі Protégé, найзручнішому та адаптованому для побудови спеціалізованих предметно-орієнтованих онто-

210