- •1. Семантичні мережі.
- •1.1. Визначення та класифікацій семантичних мереж.
- •1.2. Семантичні мережі в пам'яті людини.
- •1.3. Трирівнева архітектура семантичних мереж.
- •1.4. Асиміляція нових знань, на основі семантичних мереж.
- •1.5. Різні способи задания семантичних мереж.
- •1.6. Логічне виведення на семантичних мережах.
- •1.7. Процедурні і розділені семантичні мережі.
- •2.1. Фрейми та слоти: базові поняття.
- •2.2. Конкретизація, ієрархія та наслідування фреймів.
- •2.3. Поповнення первинних описів на основі фреймових моделей.
- •2. Фреймові мережі.
- •0.10 * (Кількість уроків - 1)),
- •0.10 * (Кількість_уроків - 1)),
- •2.4. Мережі подібностей і відмінностей.
- •2.5. Фрейми та об'єктно-орієнтоване програмування.
0.10 * (Кількість уроків - 1)),
(Коли,_),
(Хто, _),
(Де, <Вул. О.Бендера, 999>)).
Зверніть увагу на те, що атрибут Закінчення є обчислюваним, оскільки його значення залежить від кількості уроків.
Нехай на вхід системи подається речення "Вчора Петро був у школі". Система повинна на основі відомих їй алгоритмів виявити, що це речення зіставляється з фреймом ЗАНЯТТЯ_В_ШКОЛІ і сформувати опис на основі цього фрейму (фактично, нових екземплярах фрейму). Вона дає цьому опису назву, наприклад, Заняття_Петра і відображає в заголовку, що це екземпляр фрейму ЗАНЯТТЯ_В_ШКОЛІ. Далі заповнюються слоти, і опис набуває такого вигляду:
Заняття_Петра (ЗАНЯТТЯ_В_ШКОЛІ) ((Вид_роботи, НАВЧАННЯ),
(Початок, 9.00),
(Кількість_уроків, _),
(Закінчення, Початок + Кількість_уроків * 0.45 +
0.10 * (Кількість_уроків - 1)),
(Коли, ВЧОРА),
(Хто, Петро),
(Де, <Вул. О.Бендера, 999>)).
Слоти Вид_роботи, Де та Початок були заповнені на основі базового фрейму, а слоти Коли та Хто - з введеного тексту. Слоти Кількість_уроків і Закінчення залишилися незаповненими - для цього не вистачає інформації.
Тепер система в змозі відповідати на ряд запитань, наприклад: "Що вчора робив Петро?" або "Де вчора був Петро?". Точнішу відповідь на запитання "Коли Петро був у школі?" система може дати, якщо вона має інформацію про поточний час.
Якщо системі потрібно відповісти на запитання "Коли Петро закінчив навчання у школі?"'', вона має активізувати процедуру уточнення (у даному разі спитати у користувача, скільки було уроків). Після відповіді система може здійснити необхідні обчислення та відповісти на поставлене запитання.
Важливою властивістю фреймових моделей є те, що фрейми можуть містити процедури, які виконують ті чи інші дії. Такі процедури прийнято називати приєднаними. їх можна розглядати як окремі слоти. На інтуїтивному рівні наявність приєднаних процедур дає підстави говорити про те, що фрейм має здатність виконувати ті чи інші операції.
Найбільш використовуваним типом приєднаної процедури є процедура, яка активізується шляхом зовнішнього виклику (за повідомленням, яке надходить від іншого фрейму).
Важливим типом приєднаної процедури є демон - процедура, яка автоматично активізується, тільки-но стають істинними певні умови (наприклад, проходить певний проміжок часу або значення одного слота стає більшим за значення іншого).
Велике значення мають слотові демони. На відміну від звичайних приєднаних процедур, що описують поведінку фрейму в цілому, слотові демони пов'язані з конкретними слотами. Типовим є використання стандартних слотових демонів, які визначають, що слід робити, якщо деякий слот змінився, або якщо відбулося звернення до незаповненого слота.
Існують різні підходи до зберігання фреймових структур у пам'яті обчислювальних машин, і, відповідно, до мов опису знань на основі фреймів. Таких мов є досить багато; як приклади можна навести KRL, FRL (розвитком якого є HPRL), ПРЕФ, ДИЛОС, RLL [1]. Кожна мова передбачає свої структури для подання фреймів і типові операції над ними.
Можна вважати, що у типовому фреймі зберігається така інформація:
ім'я і загальний опис фрейму;
інформація про батьківський фрейм;
інформація про окремі слоти: імена та значення слотів, а також їх властивості (наприклад, тип слота, умови коректності інформації, яка зберігається в слоті, тощо). Важливою властивістю слота є, зокрема, режим успадкування: можна задати обов'язкове успадкування, успадкування за певної умови певній умові, відмову від успадкування тощо.
І семантичні мережі, і фрейми в першу чергу є формалізмами для структуризації знань, на відміну від логічних і продукційних моделей, центральне місце в яких займають процедури дедуктивного виведення. Семантичні мережі основний акцент роблять на описі різноманітних зв'язків між інформаційними одиницями, а фреймові моделі - на відношеннях узагальнення та агрегації.
Семантичні мережі та фрейми мають значно більше спільних рис, ніж відмінностей, і тому на сучасному етапі фреймові моделі та семантичні мережі розглядають, як правило, у спільному контексті. З одного боку, ніщо не заважає розглядати вузли семантичної мережі як фрейми з власною внутрішньою структурою. З іншого боку, можна вводити різноманітні зв'язки між слотами фреймів. Тоді фрейм набуває рис семантичної мережі.
