
- •4.1. Знання і деякі підходи до їх подання
- •4.2. Вербально-дедуктивне визначення знань
- •4.3. Експертні системи
- •4.4. Дані та знання
- •4.5. Зв'язки між інформаційними одиницями
- •4.6. Проблема винятків
- •4.7. Властивості знань
- •4.8. Неоднорідність знань. Області і рівні знань
- •4.9. База знань як об'єднання простіших одиниць
- •4.10. Бінарні предикати і тріада
- •4.11. Проблема неточних і неповних знань
- •5Л. Визначення та класифікація семантичних мереж
- •5.2. Семантичні мережі в пам'ті людини
- •5.3. Трирівнева архітектура семантичних мереж
- •5.4. Асиміляція нових знань на основі семантичних мереж
- •5.5. Різні способи задання семантичних мереж
- •5.6. Логічне виведення на семантичних мережах
- •5.7. Процедурні і роздалені семантичні мережі
- •Фрейми та слоти: базові поняття
- •Конкретизація, ієрархія та наслідуваніїя фреймів
- •6.3. Поповнення первинних описів на основі фреймових моделей
- •0.10 * (Кількість_уроків - 1)), (Коли, _ ), (Хто,_),
- •0.10 * (Кількість_уроків - 1)), (Коли, вчора), (Хто, Петро),
- •6.4. Мережі подібностей і відмінностей
- •6.5. Фрейми та об'єктно-орієнтоване програмування
- •6.6. Поняття про мову uml
- •7Л. Логічні побудови та логічні моделі
- •7.2. Короткий вступ до числення предикатів
- •7.3. Фразова форма запису логічних формул
- •7.4. Аналіз і доведення теорем
- •7.5. Побудова теорії певної області знань
- •7.6. Від формальної логіки до логічного програмування
- •Будь-який терм зіставляється сам з собою. Наприклад, дві фрази
- •Різні константи не зіставляються одна з одною, тому фрази
- •Змінна може бути замінена константою або іншим термом. Так, фрази
- •7.7. Мова Пролог і логічне програмування
- •7.8. Основні ідеї Прологу
- •7.9. Як працює Пролог
- •8.1. Характеристика продукіцйиих моделей
- •8.2. Продукції та мережі виведення
- •8.3. Типова схема роботи експертної системи на базі продукцій
- •8.4. Пряме та зворотне виведення
- •8.5. Типові дисципліїш виконання продукцій
- •8.6. Основні стратегії вирішешія конфліктів у продукіцйііих системах
0.10 * (Кількість_уроків - 1)), (Коли, _ ), (Хто,_),
(Де, <Вул. О.Бендера, 999>)).
Зверніть увагу на те, що атрибут Закінчення є обчислюваним, оскільки його значення залежить від кількості уроків.
Нехай на вхід системи подається речення "Вчора Петро був у школі". Система повинна на основі відомих їй алгоритмів виявити, що це речення зіставляється з фреймом ЗАНЯТТЯ_В_ШКОЛІ і сформувати опис на основі цього фрейму (фактично, нових екземплярах фрейму). Вона дає цьому опису назву, наприклад, Заняття_Петра і відображає в заголовку, що це екземпляр фрейму ЗАНЯТТЯ_В_ШКОЛ1. Далі заповнюються слоти, і опис набуває такого вигляду:
Заняття_Петра (ЗАНЯТТЯ_В_ШКОЛІ) ((Вид_роботи, НАВЧАННЯ),
(Початок, 9.00),
(Кількість_уроків, _),
(Закінчення, Початок + Кількість_уроків * 0.45 +
0.10 * (Кількість_уроків - 1)), (Коли, вчора), (Хто, Петро),
(Де, <Вул. О.Бендера, 999>)).
Слоти Вид__роботи, Де та Початок були заповнені на основі базового фрейму, а слоти Коли та Хто — з введеного тексту. Слоти Кількість_уро- ків і Закінчення залишилися незаповненими — для цього не вистачає інформації.
Тепер система в змозі відповідати на ряд запитань, наприклад: "Що вчора робив Петро?" або "Де вчора був Петро?". Точнішу відповідь на запитання "Коли Петро був у школі? " система може дати, якщо вона має інформацію про поточний час.
Якщо системі потрібно відповісти на запитання "Коли Петро закінчив навчання у школі? вона має активізувати процедуру уточнення (у даному разі спитати у користувача, скільки було уроків). Після відповіді система може здійснити необхідні обчислення та відповісти на поставлене запитання.
Важливою властивістю фреймових моделей є те, що фрейми можуть містити процедури, які виконують ті чи інші дії. Такі процедури прийнято називати приєднаними. їх можна розглядати як окремі слоти. На інтуїтивному рівні наявність приєднаних процедур дає підстави говорити про те, що фрейм має здатність виконувати ті чи інші операції.
Найбільш використовуваним типом приєднаної процедури є процедура, яка активізується шляхом зовнішнього виклику (за повідомленням, яке надходить від іншого фрейму).
Важливим типом приєднаної процедури є демон — процедура, яка автоматично активізується, тільки-но стають істинними певні умови (наприклад, проходить певний проміжок часу або значення одного слота стає більшим за значення іншого).
Велике значення мають слотові демони. На відміну від звичайних приєднаних процедур, що описують поведінку фрейму в цілому, слотові демони пов'язані з конкретними слотами. Типовим є використання стандартних слотових демонів, які визначають, що слід робити, якщо деякий слот змінився, або якщо відбулося звернення до незаповненого слота.
Існують різні підходи до зберігання фреймових структур у пам'яті обчислювальних машин, і, відповідно, до мов опису знань на основі фреймів. Таких мов є досить багато; як приклади можна навести KRL, FRL (розвитком якого є HPRL), ПРЕФ, ДИЛОС, RLL [145, 223]. Кожна мова передбачає свої структури для подання фреймів і типові операції над ними.
Можна вважати, що у типовому фреймі зберігається така інформація:
ім'я і загальний опис фрейму;
інформація про батьківський фрейм;
інформація про окремі слоти: імена та значення слотів, а також їх властивості (наприклад, тип слота, умови коректності інформації, яка зберігається в слоті, тощо). Важливою властивістю слота є, зокрема, режим успадкування: можна задати обов'язкове успадкування, успадкування за певної умови певній умові, відмову від успадкування тощо.
І семантичні мережі, і фрейми в першу чергу є формалізмами для струк- туризації знань, на відміну від логічних і продукційних моделей, центральне місце в яких займають процедури дедуктивного виведення. Семантичні мережі основний акцент роблять на описі різноманітних зв'язків між інформаційними одиницями, а фреймові моделі — на відношеннях узагальнення та агрегації.
Семантичні мережі та фрейми мають значно більше спільних рис, ніж відмінностей, і тому на сучасному етапі фреймові моделі та семантичні мережі розглядають, як правило, у спільному контексті. З одного боку, ніщо не заважає розглядати вузли семантичної мережі як фрейми з власною внутрішньою структурою. З іншого боку, можна вводити різноманітні зв'язки між слотами фреймів. Тоді фрейм набуває рис семантичної мережі.