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

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

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

6.Вилучити повтори, надмірність і синонімію.

7.Обговорити поняття, що не ввійшли в структуру ГТ із експертом і ввести їх або вилучити.

8.Виявити основні відносини {R} і спроектувати ескіз ГТструктури.

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

10.Привести у відповідність ескіз ГТ і подання користувача.

11.Сформувати ряд сценаріїв обходу ГТ із метою спрощення

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

викладання, або з урахуванням категорії користувачів.

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

переміщення за екраном назад; повернення до початку; повернення до початку секції; перегляд структури; озвучування екрана; увімкнення відео; допомога;

переміщення на екран уперед.

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

Такий підхід використаний у процесі створення ГТ АНС в області інженерії знань для систем дистанційного навчання. Системи навчання в області ШІ мають невелику історію, хоча за відсутності

161

підручників із цих дисциплін ці електронні підручники особливо необхідні. Відомі лише поодинокі роботи в нашій країні й за її межами – “База знань для розроблювачів ЕС” і KARTT (Knowledge

Aqcuisition Research and Teaching Tool).

Проектуючи будь-яку ГТ-структуру, нетривіальним завданням є виділення “опорних” концептів – питань, практично не висвітлених у літературі. У роботі [35] наведений огляд різних методів видобування знань, що частково передбачають і дослідження з виявлення значущих концептів. Можна запропонувати використовувати для цієї мети методи багатовимірного градуювання, що дають змогу виявляти структуру індивідуальних ментальних просторів, аналізуючи попарні зв’язки понять предметної області.

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

Надалі ці концепти утворять вузли {А} релевантної ГТ-струк- тури, яку можна фактично трактувати як модель користувача UM (user model):

UM = {А, R}.

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

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

162

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

1.Для чого потрібно використовувати методи психосемантики?

2.Які форми використовують психолінгвістичні методи?

3.Що таке семантичний простір знань? Наведіть приклад.

4.Чому семантичні простори двох кваліфікованих фахівців можуть бути різними?

5.Наведіть приклад асоціативної мережі структури знань.

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

7.Як здійснюється побудова семантичного простору?

8.Що таке багатовимірне градуювання?

9.Для чого використовуються методи багатовимірного градуювання?

10.Яку модель використовують методи багатовимірного градуювання?

11.Чим відрізняється психосемантика від інженерії знань?

12.Поясніть використання метафор для виявлення “прихованих” структур знань.

13.Які Ви знаєте рівні градуювання знань?

14.Які є орієнтовані методи видобування знань?

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

16.Як використовуються решітки Келлі для психосемантичних тестів?

17.Як можна інтерпретувати геометричну модель градуювання?

18.У чому полягає суть методу репертуарних решіток?

19.Що являють собою репертуарні решітки?

20.Які Ви знаєте методи виявлення конструктів?

21.Опишіть метод мінімального контексту.

22.Що дає змогу визначити аналіз репертуарних решіток?

23.Що дає змогу визначити аналіз декількох репертуарних решіток?

24.Які існують способи порівняння двох решіток?

25.У чому полягає суть аналізу груп системних конструктів?

26.Наведіть приклади систем, в яких реалізовані автоматизоване створення репертуарних решіток і видобування з експертів конструктів.

27.Що означає термін “керування знаннями”?

28.Які технології використовуються для застосування КМ-систем?

29.Які існують причини розроблення КМ-систем?

30.Що означає поняття “корпоративна пам‟ять”?

31.Які існують рівні корпоративної пам‟яті?

32.Які існують етапи під час розроблення систем КМ?

33.Які основні функції ОМІS Ви знаєте?

34.Як виглядає архітектура ОМІS?

35.Перерахуйте особливості розроблення ОМІS?

36.Які Ви знаєте візуальні методи специфікації й проектування баз знань і розроблення концептуальних структур?

37.Чим є релевантна ГТ-структура?

163

Розділ 5

КЛАСИФІКАЦІЯ ДАНИХ ТА ЗНАНЬ

Важливість правильної класифікації Ідентифікація класів і об’єктів Ключові абстракції й механізми

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

5.1. Важливість правильної класифікації

На одній з конференцій програмістам задали запитання: “Якими правилами ви керуєтеся, визначаючи класи і об’єкти?” Страуструп, розробник мови C++, відповів: “Це як пошук святого Грааля. Не існує панацеї”. Габріель, один з розробників CLOS, сказав: “Це запитання, на яке немає простої відповіді. Я просто пробую”. На щастя, є багатий досвід класифікації в інших науках, на основі якого розроблені методики об’єктно-орієнтовного аналізу. Кожна така методика пропонує свої правила (евристики) ідентифікації класів і об’єктів. Вони й будуть предметом цього розділу.

164

5.1.1. Класифікація й об’єктно-орієнтовне проектування

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

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

Не дивно, що класифікація торкається багатьох аспектів об’єк- тно-орієнтовного проектування. Вона допомагає визначити ієрархії узагальнення, спеціалізації й агрегації. Знайшовши загальні форми взаємодії об’єктів, ми вводимо механізми, які стануть фундаментом реалізації нашого проекту. Класифікація допомагає правильно визначити модульну структуру. Можемо розташувати об’єкти в одному або різних модулях, залежно від ступеня подібності об’єктів; зчеплення й з’єднання – лише міри цієї подібності.

Класифікація дуже важлива для розподілу процесів між процесорами. Скеровуємо процеси на один процесор або на різні залежно від того, як ці процеси зв’язані один з одним.

5.1.2. Труднощі класифікації

Приклади класифікації. Об’єктом є щось таке, що має чіткі межі. Насправді – це не зовсім так. Межі предметів часто невизначені.

165

Наприклад, подивіться на ногу. Спробуйте визначити, де починається й закінчується коліно. У розмовній мові важко зрозуміти, чому саме ці звуки означають слово, а не є частиною якогось довшого слова. Уявіть собі, що проектуєте текстовий редактор. Що вважати класом – літери чи слова? Як розуміти окремі фрази, речення, параграфи, документи? Як звертатися з довільними, не обов’язково осмисленими, блоками тексту? Що робити з реченнями, абзацами й цілими документами – чи відповідають такі класи нашій задачі?

Розумна класифікація – складна проблема. Оскільки є паралелі з аналогічними труднощами в об’єктно-орієнтовному проектуванні, розглянемо приклади класифікації у двох інших наукових дисциплінах: біології та хімії.

Аж до XVIII століття ідея про можливість класифікації живих організмів за ступенем складності була переважальною. Ступінь складності був суб’єктивним, тому не дивно, що людина виявилася у списку на першому місці. У середині XVIII століття шведський ботанік Карл Лінней запропонував досконалішу таксономію для класифікації організмів: він увів поняття родів і виду. Через століття Дарвін запропонував теорію, згідно з якою механізмом еволюції є природний добір і наявні види тварин – продукт еволюції давніх організмів. Теорія Дарвіна ґрунтувалася на розумній класифікації видів. Натуралісти намагаються розташувати види, роди, сімейства в кожному класі в тому, що називається натуральною системою. Під цією системою деякі автори розуміють деяку просту схему, що дає змогу об’єднати найподібніші живі організми в один клас і різні – у різні класи. У сучасній біології термін “класифікація” означає встановлення ієрархічної системи категорій на основі природних зв’язків між організмами. Найзагальніше поняття в біологічній таксономії – царство, потім, в порядку спадання загальності: тип (відділ), клас, загін (порядок), сімейство, рід і, нарешті, вид. Місце кожного організму в ієрархічній системі визначається на підставі зовнішньої та внутрішньої будови тіла й еволюційних зв’язків. У сучасній класифікації живих істот виділяють групи організмів, які мають загальну генетичну історію, тобто організми, що мають подібні ДНК, входять в одну групу. Класифікація за ДНК корисна, бо дає змогу виділити відрізнити організми, які схожі зовні, але генетично дуже відрізняються. Згідно з сучасними поглядами, дельфіни більше схожі до корови, ніж до форелі.

166

Можливо, для програміста біологія здається зрілою, цілком сформованою наукою з певними критеріями класифікації організмів. Однак ми навіть не знаємо порядок кількості видів рослин і тварин, що населяють нашу планету: класифіковано менш ніж 2 млн. видів, тоді як можливу кількість видів передбачено від 5 до 50 млн. Понад це, різні критерії класифікації тих самих тварин приводять до різних результатів. Все залежить від того, що ви хочете одержати. Якщо ви хочете, щоб класифікація свідчила про споріднення видів, ви одержите одну відповідь, якщо ви бажаєте відобразити рівень пристосування, відповідь буде іншою. Можна зробити висновок, що навіть у строгих наукових дисциплінах методи і критерії класифікації дуже залежать від мети класифікації.

Аналогічна ситуація склалася й у хімії. У давні часи вважалося, що всі речовини – це комбінація землі, повітря, вогню й води. У середині XVII в. Роберт Бойль запропонував елементи як примітивні хімічні абстракції, з яких складаються складніші речовини. Через століття 1789 року Лавуазьє опублікував перший список, що містив 23 елементи, хоча згодом встановлено, що деякі з них такими не є. Але відкриття нових елементів тривало, список збільшувався. Нарешті, 1869 року Менделєєв запропонував періодичний закон, що давав точні критерії для класифікації відомих елементів і навіть міг пророкувати властивості ще не відкритих елементів. Але навіть періодичний закон не був кінцем історії про класифікацію елементів. На початку XX ст. відкриті елементи з однаковими хімічними властивостями, але з різними атомними вагами – ізотопи.

Висновок простий. Як стверджував Декарт: “Відкриття порядку – нелегке завдання, але якщо він знайдений, зрозуміти його зовсім не важко”. Кращі програмістські рішення виглядають просто, але, як показує досвід, домогтися простої архітектури дуже складно.

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

167

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

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

Чому ж класифікація така складна? Ми пояснюємо це двома причинами. По-перше, відсутністю “ідеальної” класифікації, хоча, природно, одні класифікації кращі від інших. Існує стільки способів розподілу світу на об’єктні системи, скільки вчених візьметься за цю задачу. Будь-яка класифікація залежить від погляду суб’єкта. Розглянемо приклад: Об’єднане Королівство... економісти можуть розглядати як економічний інститут, соціологи – як суспільство, захисники довкілля – як куточок природи, американські туристи – як визначну пам’ятку, найромантичніші з нас – як зелені поля. По-друге, розумна класифікація вимагає неабиякого творчого підходу. Іноді відповідь очевидна, іноді – це справа смаку, а буває, що все залежить від уміння помітити головне. Все це нагадує загадку: “Чому лазерний промінь схожий на золоту рибку?.. Тому, що ні він, ні рибка не вміють свистіти”. Треба бути дуже творчим мислителем, щоб знайти спільне в настільки не пов’язаних предметах.

168

5.2. Ідентифікація класів і об’єктів

5.2.1. Класичний і сучасний підходи

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

класична категоризація;

концептуальна кластеризація;

теорія прототипів.

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

Класична категоризація прийшла до нас від Платона й Аристотеля. Останній у своїй класифікації рослин і тварин користувався технікою міркувань, що нагадує сучасну дитячу гру на 20 запитань (Це мінерал, тварина чи рослина? Це покрито хутром чи пір’ям? Чи може воно літати? Чи пахне воно?). Такий підхід підтримали послідовники, найвидатнішими серед яких були: Фома Аквінський, Декарт, Локк. За твердженням Фоми Аквінського: “Ми можемо йменувати речі відповідно до наших знань про їх природу, яку отримуємо через пізнання їх властивостей і дій”.

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

169

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

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

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

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

170