Рефераты. Зв'язок нейронних мереж з штучним інтелектом

Приклад 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 = Малкольм.

4. Розуміння мови

Для людей спілкування за допомогою звичайної розмовної мови є, очевидно, нескладним завданням, а ось всі комп'ютерні системи, що моделюють цей процес, до цих пір мають можливості, істотно поступливі можливостям звичайного першокласника. Створені системи (тобто машинні моделі) розуміння мови, що довели свою виняткову практичну користь. Наприклад, можна побудувати комп'ютеризовану систему замовлення авіаквитків, яка буде вести діалог з користувачем на звичайній мові, така система правильно відповідатиме на більшість питань користувача. Необхідність в наявності систем розуміння мови стає очевидною, якщо пригадати про можливості, що виникають у зв'язку з прискоренням розвитку засобів телекомунікацій. Все більш звичними стають електронні банківські розрахунки в інтерактивному режимі, і постійно росте інтерес до розробки автоматизованих агентів, здатних здійснювати пошук і аналізувати величезні об'єми даних в Інтернеті. Проте всі такі застосування мають досить вузькі області застосування. Обмеження області застосування дозволяє понизити рівень складності розробки за рахунок скорочення розміру словника і спрощення завдання розуміння сенсу запиту. І хоча число вузькоспеціальних застосувань для розпізнання розмовної мови за останні декілька років помітно виросло, ми все ще не можемо сказати, коли ж машинні можливості розуміння мови наблизяться до того рівня розуміння, на якому знаходиться людина. Розмовна мова є дуже виразною формою комунікації, що ставить перед ученими і програмістами масу проблем. Декілька прикладів представлено в табл.7.

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

Таблиця 7. Деякі труднощі обробки розмовної мови

Тип проблеми

Приклад

Пояснення

Передача однакового сенсу за допомогою різних форм висловлювань

1. Стюарт розбив вазу

2. Ваза була розбита Стюартом

(1) виражено в активній формі

(2) є пасивною формою (1)

Роль приводу "с"

1. Незнайомка штовхнула хлопчика з дівчинкою

2. Незнайомка штовхнула хлопчика з собакою

У (1) привід "с" означає об'єднання тих що постраждали, тоді як в (2) привід "с" додає опис хлопчика

Багато слів мають декілька значень

1. Догляд за дитиною

2. Відхід з сцени

У (1)"відхід" позначає постійний нагляд і турботу, тоді як в (2)"відхід" позначає одноразову конкретну дію

Смислове узгодження слів

1. Викрадення автомобіля є небезпекою

2. Викрадення автомобіля є небезпечним

У (1) мається на увазі небезпека для власника, тоді як в (2) мається на увазі небезпека для злочинця

Порядок слів

1. Музей зберіг дохід

2. Дохід зберіг музей

У (1) може матися на увазі, що був збережений дохід, а в (2) - що був збережений музей

Як і у разі більшості інших складних завдань, завдання реалізації системи розуміння мови на комп'ютері розбивається на декілька рівнів. Трьома рівнями, що розглядаються в дискусіях, присвячених системам розуміння мови, є синтаксичний рівень, семантичний рівень і прагматичний рівень. Синтаксичний рівень стосується того, як слова об'єднуються в структури, які називаються виразами, і як вирази об'єднуються в структури, які звуться пропозиціями. Для перевірки того, чи є деяка пропозиція допустимою (тобто граматично правильним) і для розбиття пропозиції на складові частини, зазвичай використовуються правила граматики. Семантичний і прагматичний рівні стосуються значення пропозицій. На семантичному рівні виділяється зміст (суть пропозиції), і для виразу змісту часто використовуються певні логічні форми. Наприклад, пропозиції

Джон ударив по м'ячу.

Чи ударив Джон по м'ячу?

мають один і той же зміст, який в мові Prolog може бути представлене у вигляді:

ударив (Джон, м'яч).

Маючи можливість автоматизувати синтаксичний і семантичний аналіз, ми можемо затверджувати:

Джон ударив по м'ячу. ударив (Джон, м'яч)

Потім ми можемо запитати:

Хто ударив по м'ячу? ударив (Х, м'яч)

По чому ударив Джон? ударив (Джон, X)

Хто по чому ударив? ударив (Х, Y)

Прагматичний аналіз стосується інтерпретації пропозиції в контексті. Так, питання про інтерпретацію займенника "Він" в пропозиції він забив гол може бути вирішений тільки в контексті (тобто з використанням сусідніх пропозицій). Щоб відповісти на питання "Хто забив гол?", ми повинні вирішити, на кого саме указує займенник "Він".

Пропозиція.

Чи можете ви приготувати чай?

Часто означає прохання приготувати чай, але може мати і буквальний сенс: "Чи умієте ви готувати чай?". Контекст також використовується для того, щоб обмежити сенс певних слів. Слово "любити" в буденному використанні має сенс, що виражається у формі

любить (людина, об'єкт).

Цей сенс також мають такі подібні вирази як: "Джон любить Мері", "Джон любить роботу" і "Джон любить шоколад".

У контексті відносин між людьми "любить" може бути обмежено формою любить (людина, людина),і в цьому сенсі ми можемо припускати, що "Венера" в виразі - любить (джон, венера) є ім'ям жінки, а не назвою планети. В даному випадку обмеження вирішує потенційну неоднозначність тим часом, що може позначати "Венера" - ім'я людини або назва планети. Давайте тепер коротко розглянемо сам процес синтаксичного і семантичного аналізу.

4.1. Синтаксичний аналіз

Фрагмент тексту складається з пропозицій, а кожна пропозиція компонується з виразів, які можуть містити під вирази і, кінець кінцем, складаються із слів. Граматику визначає спосіб, відповідно до якого слова і вирази можуть об'єднуватися в пропозиції. Граматика може бути представлена з допомогою багатьох будь-яких мов уявлень, але найчастіше для цього використовують формат правил виводу. На мал.4 показана структура пропозиції “ The dog ran across the road ” англійської мови (у перекладі воно означає "собака біг через дорогу").

Мал.4. Приклад граматики, вираженої правилами виводу. S - означає пропозицію, N - іменник, А - прикметник, Р - привід, D - визначник (артикль), V - дієслово, ІР - іменна група, VР - дієслівна група, АР - група прикметника, РР - прийменникова група.

Мал.5. Дерево синтаксичного аналізу для пропозиції The dog ran across the road".

Речення аналізується з метою виділення вхідних в його структуру виразів і з метою його перевірки відповідно граматиці. Для аналізу речення потрібний також словник. Словник визначає категорії слів (N, V, Р, А, D). Такий аналіз може бути інтерпретований як пошук, при якому підтримується стек дублювання для резервного копіювання станів, щоб була можливість повернутися з тупикового стану.

Приклад 3. Ілюструйте те, як можна у вигляді пошуку провести синтаксичний аналіз пропозиції " The dog ran across the road ". Використовуйте наступну граматику:

S > NP VP

NP> D AP ID N

PP > P NP

VP> V PP

AP> AN

і наступний словник:

D> the N> dog I road V >ran P> across

Розв'язання 3. Процес показаний в табл.8, а стани, що генеруються при цьому, - на мал.6.

Таблиця 8. Синтаксичний аналіз пропозиції " The dog ran across the road ", то розглядається як пошук

Поточна спроба

Стек слів

Стек відвідування

Стек дублювання

S>NPVP

the dog ran across the road

NP VP

NP> D АР

the dog ran across the road

DAP VP

NP>DN

D > the

dog ran across the road

APVP

NP>DN

AP>AN

dog ran across the road

VP

NP>DN

dog не відноситься до

категорії А, тому повернення

NP>DN

the dog ran across the road

DN VP

D > the

dog ran across the road

NVP

N >dog

ran across the road

VP

VP >v PP

ran across the road

VPP

V > run

across the road

PP

PP > PNP

across the road

PNP

P > across

the road

NP

NP > D AP

the road

DAP

NP>DN

D > the

road

AP

NP>DN

AP>AN

road

AN

NP>DN

road не відноситься до категорії А, тому повернення

NP>DN

the road

DN

D > the

road

N

N road

Страницы: 1, 2, 3, 4, 5



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.