- •В.В. Литвин технології менеджменту знань
- •Розділ 1 основні поняття менеджменту знань
- •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. Висновки
- •Запитання для повторення та контролю знань
- •Розділ 2 теоретичні аспекти менеджменту та інженерії знань
- •2.1. Поле знань
- •2.1.1. Мова опису поля знань
- •2.1.2. Семіотична модель поля знань
- •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 технології менеджменту та інженерії знань
- •3.1. Класифікація методів практичного видобування знань
- •3.2. Комунікативні методи
- •3.2.1. Пасивні методи
- •Порівняльні характеристики пасивних методів видобування знань
- •3.2.2. Активні індивідуальні методи
- •Порівняльні характеристики активних індивідуальних методів видобування
- •3.2.3. Активні групові методи
- •3.3. Текстологічні методи
- •3.3.1. Методи структурування
- •Дані концептуалізації
- •3.3.2. Еволюція систем одержання знань
- •Запитання для повторення та контролю знань
- •Завдання для самостійного розв’язування
- •Розділ 4 прикладні аспекти менеджменту та інженерії знань
- •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 Класифікація даних та знань
- •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 онтології й онтологічні системи
- •6.1. Поняття онтології
- •6.2. Моделі онтології й онтологічної системи
- •Класифікація моделей онтології
- •6.3. Методології створення і “життєвий цикл”онтології
- •6.4. Мови опису онтологій
- •6.4.1. Види owl
- •6.4.2. Структура онтологій
- •Запитання для повторення та контролю знань
- •Розділ 7 Програмні засоби побудови онтологій
- •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. Створення онтології
- •Запитання для повторення та контролю знань
- •Завдання для самостійного розв’язування
- •Література
- •Литвин Василь Володимирович технології менеджменту знань
- •V lp.Com.Ua, ел. Пошта: vmr@vlp.Com.Ua
5.3. Ключові абстракції й механізми
5.3.1. Ключові абстракції
Пошук і вибір ключових абстракцій. Ключова абстракція – це клас або об’єкт, що входить у словник ПО. Найголовніша цінність ключових абстракцій полягає в тому, що вони визначають межі проблеми: виділяють те, що входить у систему й тому важливе для нас, і усувають зайве. Завдання виділення таких абстракцій специфічні для предметної області. Правильний вибір об’єктів залежить від призначення ІС і ступеня детальності опрацювання інформації.
Як ми вже відзначали, визначення ключових абстракцій передбачає два процеси: відкриття й винахід. Ми відкриваємо абстракції, слухаючи фахівців із ПО: якщо експерт про неї говорить, то ця абстракція дійсно важлива. Винаходячи, ми створюємо нові класи і об’єкти, які не обов’язково є частиною предметної області, але корисні під час проектування або реалізації системи. Наприклад, користувач банкомату говорить “рахунок, зняти, покласти”; ці терміни – частина словника предметної області. Розробник системи використовує їх, але додає свої, такі як база даних, диспетчер екрану, список, тощо. Ці ключові абстракції створені вже не предметною областю, а проектуванням.
Найпотужніший спосіб виділення ключових абстракцій – зводити задачу до вже відомих класів і об’єктів. Через відсутність таких повторно використовуваних абстракцій ми рекомендуємо користуватися сценаріями, щоб виконувати процес ідентифікації класів і об’єктів.
Уточнення ключових абстракцій. Визначивши кандидатів на ролі ключових абстракцій, ми повинні оцінити їх за такими критеріями. Програміст має задавати собі запитання: Як створюють об’єкти класу? Як можна копіювати і/або знищувати об’єкти класу? Які операції можуть бути виконані над цим об’єктом? Якщо відповіді на ці запитання дати важко, то, можливо, загальна концепція не зрозуміла, і краще сісти й подумати ще раз, ніж відразу розпочати програмування.
Визначивши нові абстракції, потрібно знайти їх місце в контексті наявних класів і об’єктів. Не варто намагатися робити це строго зверху вниз або знизу вгору. Немає особливої необхідності будувати ієрархію класів, починаючи з найвищого класу, і потім доповнювати її підкласами. Частіше ви створюєте кілька незалежних ієрархій, усвідомлюєте їх загальні ознаки й виділяєте один або кілька суперкласів. Треба кілька проходжень вверх й вниз ієрархією, щоб створити програмний проект. Це лише спостереження, яке ґрунтується на досвіді й підтверджує той факт, що об’єктно-орієнтоване проектування – процес послідовних наближень. Найчастіші реорганізації в ієрархії класів – це відомість частин, які збігаються, двох класів в один і поділ класу на два нові.
Важко відразу розташувати класи й об’єкти на певних рівнях абстракції. Іноді, знайшовши важливий клас, ми можемо перемістити його нагору в ієрархії класів, тим самим збільшуючи ступінь повторності використання коду. Це називається переміщенням класу. Аналогічно, можемо дійти висновку, що клас занадто узагальнений, і це ускладнює успадкування: відбувається семантичний розрив або конфлікт зернистості. В обох випадках ми намагаємося виявити зчеплення або недостатню зв’язність абстракцій і зм’якшити конфлікт.
Програмісти часто байдуже ставляться до правильного найменування класів і об’єктів, але насправді дуже важливо відобразити в позначенні класів і об’єктів сутність описуваних ними предметів. Програми необхідно писати ретельно, як художню літературу, думаючи і про читача, і про комп’ютер. Ідентифікуючи лише однин об’єкт, необхідно придумати імена: для нього, для його класу і для модуля, у якому клас оголошений. Помножте на тисячу об’єктів і сотні класів, і ви зрозумієте, яка це складна проблема.
Існують такі правила:
об’єкти варто називати іменниками: theSensor або shape;
класи – узагальненими іменниками: Sensors, Shapes;
операції-модифікатори називають активними дієсловами: Draw, moveLeft;
операції-селектори повинні містити запит або форму дієслова “to be”: extentOf, isOpen;
підкреслення й використання великих літер – на ваш розсуд, намагайтеся лише не суперечити самі собі.