
- •5.4. Висновки 182
- •1.1. Основні означення менеджменту знань
- •1.1.1. Структура менеджменту знань
- •Маркетинґ Проектування Підготовка виробництва Виробництво Збут.
- •1.1.2. Формування знань
- •1.1.3. Введення даних
- •1.1.4. Адміністрування
- •1.1.5. Мотивація
- •1.1.6. Особливості впровадження мз
- •1.2. Менеджмент знань
- •1.3. Базові поняття менеджменту знань
- •1.3.1. Видобування знань
- •1.3.2. Системи пізнання
- •1.3.3. Організація доступу до знань
- •1.3.4. Інновації в області автоматизації
- •1.3.5. Менеджмент знань та інформації
- •1.3.6. Менеджмент знань та Інтернет
- •1.4. Онтологічний інжиніринґ
- •1.4.1. Системи керування знаннями
- •1.4.2. Онтологія
- •1.5. Висновки
- •9. Базові поняття менеджменту знань.
- •2.1. Поле знань
- •2.1.1. Мова опису поля знань
- •2.1.3. «Піраміда» знань
- •2.2. Стратегії одержання знань
- •2.3. Теоретичні аспекти видобування знань
- •2.3.1. Психологічний аспект
- •2.3.2. Лінгвістичний аспект
- •2.3.3. Гносеологічний аспект видобування знань
- •2.4. Теоретичні аспекти структурування знань
- •2.4.1. Історична довідка
- •2.4.2. Ієрархічний підхід
- •2.4.3. Традиційні методології структуризації
- •2.4.4. Об'єктно-структурний підхід (осп)
- •3.1. Класифікація методів практичного видобування знань
- •3.2. Комунікативні методи
- •3.2.1. Пасивні методи
- •3.2.2. Активні індивідуальні методи
- •3.2.3. Активні групові методи
- •3.3. Текстологічні методи
- •3.3.1. Методи структурування
- •3.3.2. Еволюція систем одержання знань
- •4.1. Латентні структури знань і психосемантика
- •4.1.1. Семантичні простори і психологічне градуювання
- •4.1.2. Методи багатовимірного градуювання
- •4.1.3. Використання метафор для виявлення «прихованих» структур знань
- •4.2. Метод репертуарних решіток
- •4.2.1. Основні поняття
- •4.2.2. Методи виявлення конструктів. Метод мінімального контексту
- •4.2.3. Аналіз репертуарних решіток
- •4.2.4. Автоматизовані методи
- •4.3. Керування знаннями
- •4.3.1. Що таке «керування знаннями»?
- •4.3.2. Керування знаннями і корпоративна пам'ять
- •4.3.3. Системи omis
- •4.3.4. Особливості розроблення омis
- •4.4. Візуальне проектування баз знань як інструмент пізнання
- •4.4.1. Від понятійних карт до семантичних мереж
- •4.4.2. База знань як пізнавальний інструмент
- •4.5. Проектування гіпермедіа бд і адаптивних навчальних систем
- •4.5.1. Гіпертекстові системи
- •4.5.2. Від мультимедіа до гіпермедіа
- •4.5.3. На шляху до адаптивних навчальних систем
- •5.1. Важливість правильної класифікації
- •5.1.1. Класифікація й об’єктно-орієнтовне проектування
- •5.1.2. Труднощі класифікації
- •5.2. Ідентифікація класів і об'єктів
- •5.2.1. Класичний і сучасний підходи
- •5.2.2. Об’єктно-орієнтований аналіз
- •5.3. Ключові абстракції й механізми
- •5.3.1. Ключові абстракції
- •5.3.2. Ідентифікація механізмів
- •5.4. Висновки
- •6.1. Поняття онтології
- •6.2. Моделі онтології й онтологічної системи
- •6.3. Методології створення і «життєвий цикл» онтології
- •6.4. Мови опису онтологій
- •6.4.1. Види owl
- •6.4.2. Структура онтологій
- •7.1. Онтологія як засіб формалізації та алгоритмізації знань в інтелектуальній системі
- •7.1.1. Аналіз підходів до навчання онтологій
- •7.1.2. Загальні принципи проектування онтологій
- •7.1.3. Формати та стандарти подання інформації
- •7.1.4. Засоби для створення онтології
- •7.2. Технологія розроблення онтологій в редакторі Protégé
- •7.2.1. Еволюція Protégé
- •7.2.2. Protégé-owl. Мова Web онтологій owl
- •7.2.3. Основні терміни та поняття у Protégé-owl
- •7.2.4. Методика розроблення онтології засобами Protégé
- •Створення й експлуатація онтології
- •7.2.5. Створення онтології
5.2. Ідентифікація класів і об'єктів
5.2.1. Класичний і сучасний підходи
Із часів Платона проблемою класифікації займалися філософи, лінгвісти, когнітивісти, математики. Тому було б розумно вивчити накопичений досвід і застосувати його в об’єктно-орієнтовному проектуванні. Історично відомі тільки три підходи:
класична категоризація;
концептуальна кластеризація;
теорія прототипів.
Класична категоризація. У класичному підході всі речі, що мають деяку властивість або сукупність властивостей, формують деяку категорію. Причому, наявність цих властивостей є необхідною й достатньою умовою, що визначає категорію. Наприклад, неодружені — це категорія: кожна людина або неодружена, або одружена, і ця ознака достатня для розв’язання задачі, до якої категорії належить той чи інший індивідуум. З іншого боку, високі люди не визначають категорії, якщо, звичайно, ми спеціально не уточнимо критерій, що дозволяє чітко відрізняти високих людей від невисоких.
Класична категоризація прийшла до нас від Платона й Аристотеля. Останній у своїй класифікації рослин і тварин користувався технікою міркувань, що нагадує сучасну дитячу гру у 20 запитань (Це мінерал, тварина чи рослина? Це покрито хутром чи пір'ям? Чи може воно літати? Чи пахне воно?). Такий підхід знайшов послідовників, найвидатнішими з яких були: Фома Аквінський, Декарт, Локк. За твердженням Фоми Аквінського: "Ми можемо йменувати речі відповідно до наших знань про їх природу, яку отримуємо через пізнання їх властивостей і дій".
Принципи класичної категоризації відображені у сучасній теорії розвитку дитини. Пьяже стверджує, що після першого року життя дитина усвідомлює існування об'єктів і потім починає набувати навичок їх класифікації, спочатку користуючись базовими категоріями, такими, як собаки, кішки й іграшки. Пізніше дитина усвідомлює, з одного боку, загальні (тварини), а з іншого боку, часткові категорії (коллі, доги, вівчарки).
Отже, класичний підхід як критерій подібності об'єктів використовує спорідненість їх властивостей. Зокрема, об'єкти можна розбивати на множини, що не перетинаються, залежно від наявності або відсутності деякої ознаки. Кращими є такі набори властивостей, елементи яких мало взаємодіють між собою. Цим пояснюються такі загальноприйняті критерії як розмір, колір, форма й матеріал. Тому що ці критерії не перетинаються, про деякий предмет можна стверджувати, що він великий, сірий, круглий і дерев'яний. Загалом, властивості не обов'язково мають бути вимірюваними, як властивості можна використати поведінку. Та обставина, що птахи літають, а риби ні, дозволяє відрізнити орла від форелі.
Які конкретно властивості треба брати до уваги? Це залежить від задачі. Наприклад, кольори автомобіля треба зафіксувати в задачі обліку продукції автомобілебудівного заводу, але він не цікавий програмі, що керує вуличним світлофором. Ось чому ми говоримо, що немає абсолютного критерію класифікації, та сама структура класів може використовуватися для однієї задачі й бути непридатною для іншої. Не можна стверджувати, що деяка схема класифікації краще за інші відображає структуру й порядок речей у природі. Природі байдужі наші спроби її зрозуміти. Деякі класифікації дійсно важливіші за інші, але тільки у зв'язку з нашими інтересами, а не тому, що вони правильніше або повніше відображають реальність.
Сучасне мислення найчастіше використовує класичну категоризацією, однак, як показує приклад з високими й низькими людьми, цей підхід не завжди працює. Природні категорії не чітко відмежовані. Більшість птахів літає, але не всі. Стілець може бути дерев'яним, металевим або пластмасовим, а кількість ніг у нього цілком залежить від примхи конструктора. Практично неможливо перелічити визначальні властивості природної категорії, так щоб не було винятків. Це, дійсно, проблема класичної категоризації, яку й спробували виправити в сучасних підходах. Розглянемо їх.
Концептуальна кластеризація. Це сучасніший варіант класичного підходу. Він виник зі спроб формального подання знань. При такому підході спочатку формуються концептуальні описи класів (кластерів об'єктів), а потім ми класифікуємо сутності відповідно до цих описів. Наприклад, візьмемо поняття "пісня про кохання". Це поняття, а не ознака або властивість, оскільки ступінь кохання в пісні виміряти неможливо. Але якщо можна стверджувати, що пісня скоріше про кохання, ніж про щось інше, то ми вміщуємо її в цю категорію.
Концептуальну кластеризацію можна зв'язати з теорією нечітких (багатозначних) множин, в якій об'єкт може належати до декількох категорій одночасно з різним ступенем точності. Концептуальна кластеризація використовує у класифікації абсолютні судження, ґрунтуючись на найкращій згоді.
Теорія прототипів. Класична категоризація й концептуальна кластеризація — досить виразні методи, цілком придатні для проектування складних програмних систем. Але є ситуації, в яких ці методи не працюють. Розглянемо сучасніший метод класифікації, теорію прототипів, передумови якої можна знайти у книзі із психології сприйняття [21].
Існують деякі абстракції, які не мають ні чітких властивостей, ні чіткого визначення. За твердженням Віттгенстейна (Wittgenstein), існують категорії (наприклад, ігри), які не відповідають класичним зразкам, тому що немає ознак, які властиві всім іграм... Із цієї причини їх можна об'єднати так званою сімейною подібністю... Віттгенстейн стверджує, що в категорії ігор немає чіткої межі. Категорію можна розширити й включити нові види ігор за умови, що вони нагадують вже відомі ігри. Ось чому цей підхід називається теорією прототипів: клас визначається одним об'єктом-прототипом, і новий об'єкт можна віднести до класу за умови, що він наділений істотною подібністю із прототипом.
Застосуємо класифікацію на основі прототипів до згаданої вище проблеми стільців. Ми вважаємо м'який пуф, перукарське крісло й складальне кріселко стільцями не тому, що вони задовольняють деякий фіксований набір ознак прототипу, а тому, що вони мають достатню фамільну подібність із прототипом... Не треба ніякого загального набору властивостей для прототипу, щоб він надавався і для пуфика, і для перукарського крісла, але вони обидва — стільці, тому що кожний з них окремо схожий на типовий стілець, нехай навіть кожний по-своєму. Властивості, обумовлені при взаємодії з об'єктом (властивості взаємодії), є головними при визначенні сімейної подібності.
Поняття властивостей взаємодії — центральне для теорії прототипів. У концептуальній кластеризації ми групуємо об’єкти відповідно до різних концепцій. У теорії прототипів класифікація об'єктів здійснюється за ступенем їх подібності до конкретного прототипу.
Застосування класичних і нових теорій. Три розглянутих підходи до класифікації мають безпосереднє відношення до об’єктно-орієнтовного проектування.
На практиці ми ідентифікуємо класи й об'єкти спочатку за властивостями, які є важливими у певній ситуації, тобто намагаємося виділити й відібрати структури й типи поведінки за допомогою словника ПО. Потенційно можливих абстракцій, як правило, дуже багато. Якщо таким шляхом не вдалося побудувати необхідну структуру класів, тоді використовуємо концептуальний підхід. У цьому випадку в центрі уваги є поведінка об'єктів, коли вони взаємодіють один з одним. Нарешті, ми пробуємо виділити прототипи й асоціювати з ними об'єкти.
Ці три способи класифікації складають теоретичну основу об’єктно-орієнтовного підходу до аналізу, який пропонує багато практичних порад і правил, які можна застосувати для ідентифікації класів і об'єктів під час проектування складної програмної системи.