Приклад 2.
Нижче приведена програма на мові Prolog. Поясніть, як відповість Prolog на запит
? - дядько (джон, X)
де "? - " є запрошенням Prolog. Лістинг програми наступний.
1 батько (девід, малкольм).
2 дядько (грехим, малкольм).
3 брат (девід, джон).
4 дядько (Х, Y): - батько (г, Y), брат (Z, X).
Номери рядків показані для зручності.
Розв'язання 2.
Prolog шукатиме вираз з предикатом "дядько" і двома аргументами. Перший такий вираз знаходиться в рядку 2, але збігу не спостерігається, оскільки перший аргумент "Грехим" не відповідає аргументу "Джон". Другий вираз, що містить "дядько", знаходиться в рядку 4, але для того, щоб Prolog "досяг успіху" в досягненні мети (метою є показати, що Джон є чийсь дядько), повинна досягнути задоволена права сторона виразу: повинна збігатися з виразом - батько (Z, Y) і брат (Z, X). X в запиті і X в правилі вважаються різними, так що ми маємо наступне:
Запит: дядько (джон, X1) повинен порівнюватися з дядько (Х2, Y), що є лівою частиною правила в рядку 4. Збіг виходить для Х2 = Джон і Y = Х1 (або Х1=Y). Тепер завдання є доказом батько (Z, X1) і брат (Z, Джон). Батько (Z, X1) співпадає з рядком 1 при Z = Девід і X1 = Малкольм. Тепер завдання є виконане і задовольняє рядок 3.
Prolog відповість що X = Малкольм.
Тип проблеми
Приклад
Пояснення
Передача однакового сенсу за допомогою різних форм висловлювань
1. Стюарт розбив вазу
2. Ваза була розбита Стюартом
(1) виражено в активній формі
(2) є пасивною формою (1)
Роль приводу "с"
1. Незнайомка штовхнула хлопчика з дівчинкою
2. Незнайомка штовхнула хлопчика з собакою
У (1) привід "с" означає об'єднання тих що постраждали, тоді як в (2) привід "с" додає опис хлопчика
Багато слів мають декілька значень
1. Догляд за дитиною
2. Відхід з сцени
У (1)"відхід" позначає постійний нагляд і турботу, тоді як в (2)"відхід" позначає одноразову конкретну дію
Смислове узгодження слів
1. Викрадення автомобіля є небезпекою
2. Викрадення автомобіля є небезпечним
У (1) мається на увазі небезпека для власника, тоді як в (2) мається на увазі небезпека для злочинця
Порядок слів
1. Музей зберіг дохід
2. Дохід зберіг музей
У (1) може матися на увазі, що був збережений дохід, а в (2) - що був збережений музей
Як і у разі більшості інших складних завдань, завдання реалізації системи розуміння мови на комп'ютері розбивається на декілька рівнів. Трьома рівнями, що розглядаються в дискусіях, присвячених системам розуміння мови, є синтаксичний рівень, семантичний рівень і прагматичний рівень. Синтаксичний рівень стосується того, як слова об'єднуються в структури, які називаються виразами, і як вирази об'єднуються в структури, які звуться пропозиціями. Для перевірки того, чи є деяка пропозиція допустимою (тобто граматично правильним) і для розбиття пропозиції на складові частини, зазвичай використовуються правила граматики. Семантичний і прагматичний рівні стосуються значення пропозицій. На семантичному рівні виділяється зміст (суть пропозиції), і для виразу змісту часто використовуються певні логічні форми. Наприклад, пропозиції
Джон ударив по м'ячу.
Чи ударив Джон по м'ячу?
мають один і той же зміст, який в мові Prolog може бути представлене у вигляді:
ударив (Джон, м'яч).
Маючи можливість автоматизувати синтаксичний і семантичний аналіз, ми можемо затверджувати:
Джон ударив по м'ячу. ударив (Джон, м'яч)
Потім ми можемо запитати:
Хто ударив по м'ячу? ударив (Х, м'яч)
По чому ударив Джон? ударив (Джон, X)
Хто по чому ударив? ударив (Х, Y)
Прагматичний аналіз стосується інтерпретації пропозиції в контексті. Так, питання про інтерпретацію займенника "Він" в пропозиції він забив гол може бути вирішений тільки в контексті (тобто з використанням сусідніх пропозицій). Щоб відповісти на питання "Хто забив гол?", ми повинні вирішити, на кого саме указує займенник "Він".
Пропозиція.
Чи можете ви приготувати чай?
Часто означає прохання приготувати чай, але може мати і буквальний сенс: "Чи умієте ви готувати чай?". Контекст також використовується для того, щоб обмежити сенс певних слів. Слово "любити" в буденному використанні має сенс, що виражається у формі
любить (людина, об'єкт).
Цей сенс також мають такі подібні вирази як: "Джон любить Мері", "Джон любить роботу" і "Джон любить шоколад".
У контексті відносин між людьми "любить" може бути обмежено формою любить (людина, людина),і в цьому сенсі ми можемо припускати, що "Венера" в виразі - любить (джон, венера) є ім'ям жінки, а не назвою планети. В даному випадку обмеження вирішує потенційну неоднозначність тим часом, що може позначати "Венера" - ім'я людини або назва планети. Давайте тепер коротко розглянемо сам процес синтаксичного і семантичного аналізу.
Поточна спроба
Стек слів
Стек відвідування
Стек дублювання
S>NPVP
the dog ran across the road
NP VP
NP> D АР
DAP VP
NP>DN
D > the
dog ran across the road
APVP
AP>AN
VP
dog не відноситься до
категорії А, тому повернення
DN VP
NVP
N >dog
ran across the road
VP >v PP
VPP
V > run
across the road
PP
PP > PNP
PNP
P > across
the road
NP
NP > D AP
DAP
road
AP
AN
road не відноситься до категорії А, тому повернення
DN
N
N road
Страницы: 1, 2, 3, 4, 5