Кафедра комп’ютерних технологій
Індивідуальне завдання
з дисципліни: «Нейронні мережі та еволюційні технології»
Тема: "Зв'язок нейронних мереж з штучнимінтелектом"
Коломия 2009
Зміст
Вступ
1. Природа інтелекту
1.1 Знання і уявлення
1.2 Міркування
1.3 Навчання
2. Гіпотеза символьних систем
2.1 Пошук
2.2 Продукційні системи
3. Представлення за допомогою символів
3.1 Числення висловів
3.2 Числення предикатів
3.3 Інші символьні мови
3.4 Мова Ргоlog
4. Розуміння мови
4.1. Синтаксичний аналіз
4.2. Семантичний аналіз
5. Символьні зв'язки нейронних мереж
Висновок
Вправи
Вступ
Нейронні мережі можуть застосовуватися привирішенні різних технічних проблем. Архітектура штучних нейронних мереж не можепорівнятися з людським мозком по складності і розмірах, але саме такі мережіскладають абстрактні моделі мозку. Тому відразу ж виникає питання: чи можна задопомогою штучних мереж реалізувати «штучний інтелект»? Штучнийінтелект є однією з найважливіших дисциплін в області інформатики, що маєглибокі зв'язки з математикою, психологією і навіть філософією. Ця дисциплінабула визнана самостійною в 1950-х, і з тих пір на дослідження побудовиінтелектуальних машин було витрачено немало часу і грошей. Мета вивченняштучного інтелекту в широкому сенсі може бути описана як створення машин, щовиконують завдання, з якими добре справляється людина, але які нелегкозапрограмувати з використанням традиційного підходу до обчислень. Завдання, якідобре виконують люди, але які важко для запрограмувати, часто виявляютьсяцілком поєднаними. Наприклад, ходіння по кімнаті або підтримка розмови невимагає таких розумових зусиль, як складання чисел. Але створення машин, щовиконують подібні завдання, виявилося для інженерів проблемою великої складності.Той факт, що відносно просто побудувати машину, здатну скласти університетськийіспит, але не машину, здатну виконати прибирання будинку, робить виклик нашимтрадиційним уявленням про те, що означає бути інтелектуалом.
Дослідники штучного інтелекту зосередилисяголовним чином на тому, що зазвичай називають символьною парадигмою, а також«традиційним штучним інтелектом» або «класичним штучнимінтелектом» (а іноді і «старомодним штучним інтелектом»). Теперіснує нова форма штучного інтелекту, заснована наконнекціях (тобто нейронних мережах) і еволюційних моделях (тобто системах, щоіснують в деякому середовищі і адаптуються до неї на основі природного відбору).Новий штучний інтелект не заперечує традиційний штучний інтелект, і вченівважають, що не заперечуватиме ніколи. Насправді для створення справді інтелектуальнихмашин може бути потрібний радикальний переворот в наших уявленнях про них. Можназаперечити, що новий штучний інтелект є тільки новою формою традиційногоштучного інтелекту, і підставою для такого заперечення є той факт, що до цихпір на нижчому рівні ми використовуємо все ті ж обчислювальні пристрої (символьнісистеми насправді реалізуються на послідовних машинах, так як і більшістьмоделей нейронних мереж). Штучний інтелект все ще обіцяє те, що обіцялося ще впочатку його розвитку, але поки що про важливість штучного інтелекту ми повинніговорити з оптимізмом. Врешті-решт, наші запити до якості роботи технічнихпристроїв весь час ростуть, тому на будь-якому етапі розробки таких пристроїв завждиставиться завдання створення машини з вищим рівнем інтелекту. Поза сумнівом,створюватимуться більш інтелектуальні машини, але ми завжди цікавитимемосяможливістю створення андроїда, здатного вести з нами справжній діалог. І навітьколи такий андроїд буде побудований, філософи все одно не перестанутьсперечатися про те, чи володіє цей андроїд інтелектом, який можна порівняти знашим. Щоб розвивати новий штучний інтелект, нам потрібно зрозуміти дещо зтрадиційного штучного інтелекту і, можливо, звести обидві ці парадигми разом«під прапором» загального штучного інтелекту. У цій роботі миобговоримо природу інтелекту і розробки в області традиційного штучногоінтелекту.
1. Природа інтелекту
Інтелект є концепцією, яка не піддаєтьсястрогому визначенню. Людський інтелект складається з безлічі компонентів, середяких здібність до навчання, органи чуття (наприклад, зір і дотик), щодозволяють взаємодіяти із зовнішнім середовищем, і об'єм знань, який взагалі непіддається оцінці. Навіть наші домашні тварини можуть вважатисяінтелектуальними: вони мають складні системи обробки інформації, які дають їмможливість розпізнавати людей і виконувати завдання, що вимагають чималоїмайстерності.
Інтелектуальна поведінка не є винятковоюпрерогативою центрального процесора (людського мозку), що діє в ізоляції, — роботацентрального процесора залежить від додаткових приладів, що сприймають,заздалегідь оброблюючи і таких, які структурують дані, що поступають. Інтелектуальніагенти можуть бути побудовані таким чином, що їм доведеться діяти на повністювіртуальному світі, але цим агентам необхідно буде вказувати і розвиватибажання і цілі, щоб проявляти себе інтелектуально. Дослідження зазвичайконцентруються на якомусь окремому і вузькому аспекті інтелекту, і з практичнихміркувань сенсорні канали і первинна обробка даних часто замінюютьсяприпущенням про наявність відповідної структури даних. Традиційний штучнийінтелект примушував нас вірити, що теоретично можливо (але практично все щенемає) створити мозок — втілення штучного інтелекту — слід лише створитиправильний алгоритм, і мозок тут як тут. В рамках традиційного штучногоінтелекту вивчення інтелектуальних, систем концентрувалося навколо декількохключових питань — це представлення даних, здатність міркувати і здатністьсистеми автоматично адаптуватися до зміни умов (іншими словами, здатністьнавчатися).
1.1 Знання і уявлення
Інтелектуальна система втілює знання. Коли миговоримо про знання, це можуть бути фактичні знання, необхідні наприклад, дляучасті у вікторині, або практичні знання, потрібні при заміні автомобільногоколеса. Це можуть бути знання, названі навиками, необхідні, наприклад, при їздіна велосипеді, або ж це можуть бути мільйони бітів інформації, яку ми називаємоздоровим глуздом, що дозволяє, наприклад, не пролити воду з чашки при питті. Представленнязнання може бути явним або неявним.
Явне знання може бути встановлене іінспектоване, наприклад, у формі фактів.
Яблуко є плід. Кіт є тварина.
Це можуть бути також і правила.
Якщо акумуляторрозрядився, то автомобіль не заведеться.
Якщо процентніставки ростуть, то ціна кредиту піднімається.
Неявне знання передати непросто. Наприклад,дитині можна роз'яснити загальні принципи їзди на велосипеді, включаючинеобхідність обертати педалі і направляти переднє колесо у бік руху, алепроцедура не може бути записана так, щоб дитина могла її прочитати, а потімвикористовувати для того, щоб поїхати на велосипеді. Насправді знання того, якїхати на велосипеді, отримується в результаті проб і помилок.
Традиційний штучний інтелект складається зобробки символів, а знання представляються за допомогою символьних структур. Представленнязнання має декілька форм і різних рівнів.
Ось приклади уявлень: знання, виражені у виглядіправил; графік зміни зростання дитини; карта лондонського метро. Рівеньуявлення залежить від рівня деталізації інформації, яку необхідно передати. Наприклад,карта лондонського метро є абстрактним зображенням дійсної мережі зв'язанихстанцій. Для цілей планування переїздів між станціями карта виявляється цілкомвідповідною, оскільки показує всі з'єднання і взаємне розташування станцій. Зображеніна карті лінії не відображають реальної відстані і кривизни дійсних ліній, щозв'язують станції, оскільки ця інформація до справи не відноситься, а тількизаважає зоровому сприйняттю.
Дослідники штучного інтелекту використовуютьзнання про мозок як керівництво для того, щоб будувати штучний інтелект, алетеорію того, як людина представляє знання, формалізувати дуже важко. Як людисприймають торці книг — як канцелярське приладдя, прикраси або елементиобстановки? Як можна представити любов, якщо машина не випробовує таких емоцій?Чи можна змусити машину випробувати любов і, якщо це можливо, то чи буде їїрозуміння любові відрізнятися від нашого? Існують когнітивні теорії того, якпредставляє знання мозок людини, і саме такі теорії служать основою длясимвольних уявлень.
1.2 Міркування
Людина знає, як поводитися в нових ситуаціях,оскільки вона може аналізувати свої знання і ухвалювати адекватні рішення,засновані на минулому досвіді і на прогнозуванні можливих наслідків такихрішень. Символьна парадигма намагається частково імітувати таку поведінку задопомогою програм, що включають набір правил представлення відповіднихвисновків.
Правило. Якщоакумуляторрозрядився, то автомобіль не заведеться.
Конкретні дані.
Акумулятор в автомобілі Сюзен розрядився.
Нове виведене знання. Автомобіль Сюзен незаведеться.
Зовсім не складно запрограмувати систему, щопрацює відповідно до основних правил логічних висновків, але перш, ніж машиназможе демонструвати щось подібне реальному інтелекту, доведеться знайтивідповіді на деякі важливі питання. Правила утілюють знання, а тому і питаннявиявляються пов'язаними із знаннями. Які правила потрібні і є достатніми длятого, щоб виконати завдання інтелектуально? Розглянемо спеціальне завдання, щовимагає тільки знання пристрою автомобіля. Експертна система (система,заснована на використанні знань, необхідних для виведення висновків у вузькійобласті) залучається в наступному діалозі:
Клієнт: Навіщо на автомобілях встановлюютьсяручні гальма?
Експертна система: Щоб зупинити рух автомобіля.
Клієнт: Адже автомобіль не завжди рухається,коли ручне гальмо вимкнене?
Експертна система: Це залежить відгоризонтальності поверхні.
Клієнт: Що дає енергію, що примушує колесаавтомобіля обертатися?
Експертна система: Двигун.
Клієнт: Таким чином, якщо двигун працює, токолеса обертатимуться?
Експертна система: Якщо зчеплення включене.
Клієнт: Що трапиться, якщо двигун працюватимез включеним ручним гальмом і включеним зчепленням?
Експертна система: Передбачається, що виспочатку повинні відключити ручне гальмо"
Клієнт: Так, але припустимо, що я цього незробив.
Експертна система:???
Відповідь «Не знаю» на останнєпитання є прийнятним, якщо ви не експерт по автомобілях, але виглядає смішним,якщо уявити, що ви експерт. Той, хто ніколи не водив автомобіль, але маючидобре знання фізики і механічних пристроїв, може дати цілком розумну відповідь.Але знання фізики вимагає виходу експертної системи з вузької областіавтомобілів і веде до необхідності об’єднання ширшої області знань. Розуміннятого, скільки потрібно знань для адекватного виконання відповідного завдання,являється проблемою розробника експертної системи: достатньо важко гарантуватиправильну роботу комп'ютерної програми, що допускає обмежене число типіввведення, але тяжкість перевірки правильності роботи зростає багато разів, колина етапі проектування потенційне введення не може бути передбачене взагалі. Існуютьвражаючі експертні системи, що виконують величезну роботу і, як повідомляється,значно зменшують витрати компаній. Але зажадайте від експертної системи дуже багато- і вона незабаром виявиться слабкою, оскільки знання її обмежені.
У фахівців, що створюють експертні системи,виникають і інші труднощі. Розглянемо твердження, подібне наступному:
Відчуття було просто жахливим, це щастязалишитися після такого в живих, адже всі чоловіки в літаку загинули.
Чи є розповідач жінкою? Чи знаходилася вона влітаку?
Я не сумніваюся, що вони покладуть всю провинуна жінку-пілота.
Тепер здається розумним припущення, щорозповідачем є жінка-пілот і що вона була єдиною жінкою на борту літака, якийпопав в аварію.
Ми зіткнулися на підході до аеродрому. Я булав одномісному літаку, і я катапультувалася.
Остання інформація примушує нас переглянутипопередні виводи. Побудова інтелектуального агента, здатного робити серіювисновків, є тільки однією з безлічі проблем, що стоять перед розробникамиінтелектуальних систем.
1.3 Навчання
Виживання будь-якої тварини залежить відздатності адаптуватися до зміни ситуації на основі наявного досвіду. Мипокладаємося на те, що наші домашні тварини здібні до навчання такою мірою, щоми зможемо навчити їх поводитися соціально прийнятним чином.
Більшість комп'ютерів програмуються длявиконання певних завдань. Інженер-програміст представляє опис проблеми увигляді алгоритму, а потім реалізує цей алгоритм на якій-небудь мові програмуваннявисокого рівня. Зв'язок проблеми з реалізацією опирається на знання і уявлення.
Наприклад, можна заявити, що площа круга рівнаπrІ де πє числовою константою, а r — радіусом. Розуміння цього описуспирається на знання того, що радіусом є довжина відрізка прямої, що сполучаєцентр круга з крапкою на колі, що таке коло і так далі. Запропонована вищеформула виражає знання, але використання цієї формули теж вимагає знань: наприклад,користувач повинен знати, що площа виражатиметься в одиницях, що є квадратомодиниць, що використовуються для вимірювання радіусу.
Ось приклад програми на мові С для обчисленняплощі круга за вказаною формулою:
floatareaOfCircle(floatradius)
{
float pi = 3.1415927;
return(pi*radius*radius);
}
Внутрішньо комп'ютер представляє число πв двійковому форматі, але це не має ніякого значення для програміста, таксамо як і реалізація саме на мові С не має ніякого значення для користувачапрограми, оскільки розуміння даного алгоритму залежить тільки від достатньохорошого знання англійської мови і деяких математичних результатів.
Ключем до програмування є здатність виразитипроблему у вигляді алгоритму і вибрати відповідне уявлення. Але що можнасказати про знання, яке не може бути виражене явно? Неможливість явно виразитирішення означає, що програма не може бути отримана традиційними методами. Алеможна створити програму автоматично в результаті процесу навчання. Машиниможуть програмуватися так само, як відбувається навчання собаки виконаннюкоманди. Команда служить введенням, правильна відповідь винагороджується, ісигнал повторюється до тих пір, поки собака не адаптує свою поведінкувідповідно до виконання необхідногозавдання.
2. Гіпотеза символьних систем
Традиційний штучний інтелект спирається нагіпотезу символьних систем. Ця гіпотеза в спрощеному формулюванні стверджує, щореалізувавши величезну структуру взаємозв'язаних символів, що представляютьреальні знання, і складний набір символьних процесів, які дозволяють оперуватиструктурами з метою створення нових структур, можна створити машину, щопрацюватиме так само добре, як людина. Коротко кажучи, гіпотеза стверджує, щокомп'ютер можна запрограмувати так, що він буде думати.
Ми розглянемо декілька простих модельнихзавдань, що дозволяють зрозуміти, що таке символьна обробка. Ми необговорюватимемо тут правильність вказаної гіпотези, оскільки хотіли б тількиз'ясувати, що таке символьні процеси. Необхідно також мати на увазі, що якщо набазі цієї гіпотези може бути побудована мисляча машина, то така машина повиннаконцентрувати колосальні об'єми знань, об'єднаних у величезний масив складнихпроцесів. В цьому розділі ми розглянемо природу обчислень. По практичнихнавиках майже всі експерименти з штучним інтелектом мали малі масштаби, алеякщо створення машини, подібної до людини, можливо, масштаби цих експериментівповинні істотно змінитися. Рух в цьому напрямі вже почався.
2.1 Пошук
Вирішення головоломок, побудова планів,діагностика захворювань і так далі — все це проблеми, які можна вирішити врезультаті процесу пошуку. Розглянемо планування автобусної подорожі по Англіїз півдня на північ. У вашому розпорядженні є розклад руху автобусів, азавданням є знаходження послідовності стикуючих маршрутів, які дозволять вамдобратися з Саутгемптона до Ноттінгема (передбачається, що прямого сполученняміж цими містами немає). Можна почати з Саутгемптона, як пункту відправлення,проглянути список пунктів призначення маршрутів, вибрати деякий пунктпризначення і перейти на ту сторінку розкладу руху, яка відповідає вибраномупункту призначення. Пункт призначення тепер стає вашим уявним пунктомвідправлення, і ви вибираєте інший пункт призначення. Ви продовжуєте цюпроцедуру доти, поки не побачите назва пункту відправлення, для якого пунктомпризначення буде вказаний Ноттінгем. Немає нічого простішого! На практиці,проте, ви скористаєтеся знаннями географії, і розглядатимете тільки ті проміжніпункти призначення, які лежать в напрямі, що наближає вас до кінцевого пунктупризначення, Ноттінгему. Ви можете також використовувати декілька закладок,щоб, знайшовши деякий маршрут з Саутгемптона в пункт А, перейти до відповідноїсторінки розкладу Ноттінгему і подивитися, чи є маршрут з Ноттінгема в пункт А.І ви продовжуватимете перескакувати так з однієї сторінки на іншу в надіїзнайти пункт, де ваш маршрут вперед і зворотний маршрут перетнуться.
Були розроблені комп'ютерні алгоритми, щоімітують такий тип пошуку. Давайте розглянемо одну просту головоломку, подібнудо «гри в п'ятнадцять», але з восьми елементів. Головоломка є ґратамиз дев'ятьма осередками, де вісім осередків зайнято пронумерованими плитками. Незайнятийосередок можна інтерпретувати як порожню плитку: відповідної плитки немає, алеце виявляється корисною ідеєю, що дозволяє спростити опис проблеми. Плиткирозміщуються випадковим чином, а метою є розміщення плиток в порядку номерівзліва направо і зверху вниз. Завдання ставиться нудне і трохи трудомістке: визав'язуєте другу очі і даєте йому головоломку для того, щоб він пересувавплитки. Ваш друг пересуває одну плитку, а ви перевіряєте результат. Плитки нерозміщуються в потрібному порядку, тому ви просите друга пересунути ще однуплитку. Яку плитку рухати, вирішує ваш друг, а не ви. Після черговогопересування ви виконуєте чергову перевірку, і цей процес продовжується до тихпір, поки плитки не будуть розміщені в належному порядку.
Плитки перемішуються знову у випадковомупорядку. Цього разу ви ведете запис виконаних переміщень, щоб ваш друг неповторював одні і ті ж послідовності переміщень з одних і тих же комбінацій плиток.Ваш друг виконує пошук всліпу.
На кожній стадії пошуку для переміщення існуєпевне число можливостей. Щоб спростити опис, уявимо собі, що пересуваєтьсяпорожня плитка і що вона може рухатися вгору, вниз, управо або вліво, залежновід того, в якому місці ґрат вона знаходиться. Єдиною формою допомоги, яку вамдозволяється надати вашому другу, є сигнал завершення виконання завдання інедопущення повторення послідовності переміщень. Кожна комбінація плиток називаєтьсястаном, так що завданням є знаходження цільового стану — того, вякому всі плитки виявляються в потрібному порядку. Можна розглянути випадковийпочатковий стан і з'ясувати, які нові багатства можуть бути з нього отримані задопомогою переміщення тієї плитки. З кожного нового стану процес можнапродовжувати далі. Відповідна ідея представлена на мал.1. Показаніне всі, а тільки деякі стани. Від кожного стану відходить декілька ліній, кожназ яких відповідає певному переміщенню порожньої плитки. В результаті такогопереміщення виникає новий стан ґрат. Якщо продовжити побудову ілюстрації далі,ми побачимо, що в декількох місцях ілюстрації будуть розміщені стани,відповідні кінцевій меті. В результаті руху по маршруту переміщень відпочаткового стану (кореня) до будь-якого з цільових станів виявляєтьсяпослідовність переміщень, що дає рішення. Одні послідовності можуть при цьомубути коротшими за інші.
/>
Мал.1. Деякііз станів пошуку, що генеруються при спробах вирішити головоломку з восьмиплиток. Цільовий стан знаходиться в нижньому ряду зліва. Для початкового станупереміщення порожнього квадрата вгору еквівалентно переміщенню «двійки»вниз, але опис головоломки в термінах руху порожнього квадрата виявляєтьсязручнішим
Алгоритми пошуку усліпу легко реалізуються накомп'ютері. Труднощі зазвичай полягають в з'ясуванні того, від чого залежатьстани і як краще ці стани представити. Для головоломки з восьми плитокпредставлення станів виявляється простим, але для реальних завдань знайтивідповідне уявлення буває досить непросто.
Якщо ви самі вирішуєте головоломку з восьмиплиток, то, ймовірно, знайдете рішення швидше, ніж це зробив би ваш друг іззав'язаними очима. Ви робитимете для себе виводи про те, чи наближає кожнеконкретне переміщення вас до кінцевої цілі. Цей інформований варіант гриназивається евристичним пошуком. Пошук відповідного маршруту зарозкладом з використанням знання географії є евристичним: для напряму пошукувикористовуються відповідні знання. Розробка алгоритмів для здійсненняевристичного пошуку є не складнішим ніж програмування пошуку усліпу. Найскладнішиммоментом тут є визначення евристик, тобто правил пошуку.
Пошук є основою штучного інтелекту. Як зразокпошуку може бути представлена діагностика стану здоров'я пацієнта за допомогоюзастосування правил, і деякі аспекти проблеми розуміння мови.
2.2 Продукційні системи
Продукційна система несе в собі фундаментальніідеї, на яких «виросли» експертні системи і мови типу Рrоlog. «Серцем» продукційної системи є процедура управління, щозалишається незмінною у всіх застосуваннях. Обчислення, які виконує продукційнасистема, управляються набором продукційних правил і конкретними даними. Продукційніправила утворюють безліч пар «умова-дія», що визначають умови, якіповинні бути виконані для того, щоб правило виявилося дозволеним дозастосування, і дію, яка повинна бути виконана, якщо це правило застосувати. Робочапам'ять зберігаєпоточний стан, і саме від поточного станузалежить, чи виконуватиметься умова конкретного правила. Продукційний циклвиключно простий: за станом робочої пам'яті слід спочатку перевірити, якіправила можуть бути задоволені, зробити дозволеними до застосування всізадоволені правила, з більшості дозволених до застосування правив вибратиправило, яке слід застосувати, і відновити стан робочої пам'яті відповідно до діїзастосованого правила.
Більшість дозволених до застосування правилназивається безліччю суперечностей, а стратегія вибору з цієїмножини правила, яке слід застосувати, називається стратегією вирішенняпротиріч.
Весь процес вибору правила для застосуванняповторюється до тих пір, поки не буде задоволено деяку умову зупинки. Простийприклад такого процесу показаний на мал.2. В даному прикладі,стратегія вирішення протиріч є стратегією новизни, що означаєпростий вибір правила, умова якого раніше ще не була задоволена, а у разідекількох таких правил — довільний вибір будь-якого з них. Визначення стратегіївирішення протиріч виявляється завданням розробника. Існує декілька стандартнихстратегій, наприклад вже згадувана стратегія новизни або стратегія конкретності(коли перевагу має правило, що має більше число умов), але читач повинензрозуміти, що деталі конструкції будь-якої системи створюються на розсуд їїрозробника: продукційна система являється загальною обчислювальною процедурою,яку можна налаштовувати так, як цього вимагає конкретне завдання. Прикладпослідовності дій продукційної системи, показаний в таблиці.
Продукційна множина: Цикл Робоча пам'ять Множина суперечностей Вибране правило Т, W, Р 3,4 3 1 Т, W, Р, Q 3,4 4 2 Т, W, Р, Q, S 2, 3,4 2 3 Т,W, Р, Q, S, R 1,2,3,4 1 4 Т,W, Р,Q, S, R мета 1,2,3,4 Зупинка
3. Представлення за допомогою символів
Щоб будувати інтелектуальні системи, мовапредставлень повинна відповідати наступним вимогам.
Бути досить виразною, щоб дозволятипредставлення всіх реальних станів.
Бути стислою настільки, щоб обчисленняпіддавались управлінню.
Мати форму, відповідну для міркувань, щобмодель реальності могла міняти свій стан.
/>
Мал.2. Циклпродукційної системи
Логіка використовується математиками для того,щоб доводити правильність, або неправильність тверджень. Всі головні умови представлень,включаючи Rules, Semantic nets і Frames, можуть бутипереведені у форму логіки, відому як числення предикатів першого порядку. Короткеобговорення числення предикатів першого порядку дається відразу після розглядубільш простої форми логіки, названої пропозиційним численням або численнямвисловів.
3.1 Числення висловів
Висловом є пропозиція, якій може бути привласненезначення ІСТИНА або ХИБНІСТЬ. Наприклад, «Сьогодні йде дощ» або«Мідь є метал» є або правильними, або помилковими твердженнями. Врамках числення висловів можна представляти пропозиції в символьному вигляді,створювати складні пропозиції з інших пропозицій, використовуючи зв'язки, івиводити висновки, щоб знайти значення пропозиції. Синтаксис числення висловівописує те, як створюються пропозиції (включаючи складні вирази), граматикавизначає правила, по яких з'ясовується синтаксична коректність пропозиції. Семантикачислення висловів визначає те, як визначити співвідношення між пропозицією ізначеннями ІСТИНА або ХИБНІСТЬ.
Елементарною пропозицією є простий вислів типу«Сьогодні йде дощ», і такі пропозиції часто представляються прописнимибуквами, наприклад Р або Q. Складнапропозиція створюється за допомогою зв'язку, що сполучає два або декількаелементарних пропозицій. Круглі дужки використовуються для того, щоб вказатипріоритет операцій при комбінуванні елементарних пропозицій за допомогою зв'язків.У табл.1 дано пояснення зв'язку, а в табл.2 приведені правила граматики длялогіки висловів. Граматика може використовуватися для аналізу речення іперевірки того, що воно синтаксично правильне. Наприклад, неформальний описперевірки синтаксичної правильності виразу ((P/\Q) \/R) =>S пропонується в табл.3.
Таблиця 1. Логічні зв'язкиЗв'язка Приклад /\ (І) Звана кон'юнкцією
Сьогодні йде дощ І я промок
Р/\Q, де Р позначає кон'юнкт «Сьогодні йде дощ”;
а Q — кон'юнкт „Я промок“ \/ (АБО), Звана диз'юнкцією
Салі пішла в магазин АБО Том пішов в магазин Р\/Q, де Р позначає диз'юнкт „Салі пішла в магазин“,
а Q — диз'юнкт „Том пішов в магазин“ ¬ (НЕ) Звана запереченням
Слон НЕ розовий.
¬ Р, де Р позначає „Слон розовий“ => (ВАБИТЬ) Звана імплікацією або твердженням „якщо..., то… “
ЯКЩО я на вулиці І йде дощ, ТО я промокну (P/\Q) =>R, де Р позначає „Я на вулиці“,Q позначає „Йде дощ“, а R — „Я промокну“ (ЕКВІВАЛЕНТ) Еквівалентністю або подвійною імплікацією Вирази по обидві сторони цього зв'язку повинні бути логічно еквівалентними
Таблиця 2. Правила граматики для логікивисловівПривило граматики Пояснення Пропозиція→Елементарна- пропозиція | Складна — пропозиція Пропозиція є або елементарною або складною
Елементарна — пропозиція →
Р | Q | R |… Елементарна пропозиція позначається прописною буквою, як правило з останньої третини алфавіту Елементарна — пропозиція Істина | Брехня Елементарна пропозиція може представлятися також значеннями ІСТИНА або БРЕХНЯ
Складна — пропозиція Пропозиція Зв'язок Пропозиція
¬Пропозиція | (Пропозиція) Складна пропозиція будується з двох інших пропозицій і зв'язку. Заперечення пропозиції теж є пропозицією, і поміщення пропозиції в дужки теж в результаті дає пропозицію
Зв'язок →/\ | \/ | ¬ | => | Зв'язком є будь-який з логічних символів, представлених в табл.1
Таблиця 3. Приклад синтаксичного аналізуКроки Пояснення ( (Р/\Q) /\R) =>S Відповідно до першого правила пропозиція є або елементарною, або складною. Очевидно, що цей вираз не є елементарною пропозицією, тому ми повинні перевірити, чи воно є складною пропозицією ( (Р/\Q) /\R) =>S Правою стороною виразу є S, а S є елементарною пропозицією відповідно до другого правила ( (Р/\Q) /\R) Ми повинні показати, що (P/\Q) /\R є складною пропозицією (Р/\Q) /\R Порівнюючи з правилом „Пропозиція Зв'язок Пропозиція“ робимо вивід, що R є пропозицією, оскільки воно є елементарним (Р/\Q) Ми повинні показати, що Р/\Q є складною пропозицією Р/\Q Знову порівнюючи з правилом „Пропозиція Зв'язок Пропозиція“ робимо вивід, що і Р, і Q є пропозиціями
Семантика числення висловів визначається задопомогою таблиці істинності. Всі зв'язки, за виняткомзаперечення, є бінарними відносинами, тому у визначеннях потрібновикористовувати два символи. Пропозиція може приймати значення ІСТИНА або ХИБНІСТЬ,тому для бінарних зв'язків є чотири можливі комбінації, як показано в табл.4.
Таблиця 4. Таблиця істинностіp q -р р/\q рvq р=>q pq істина істина хибність істина істина істина істина істина хибність хибність хибність істина хибність хибність хибність істина істина хибність істина істина хибність хибність хибність істина хибність хибність істина істина
Здебільшого визначення зв'язків інтуїтивнозрозумілі. Наприклад, „Сьогодні йде дощ“ І „Сьогодні НЕ йде дощ“,очевидно, ХИБНІСТЬ, що підтверджується таблицею істинності, якщо знайти в нійможливі значення ІСТИНА /\ ХИБНІСТЬ або ХИБНІСТЬ /\ ІСТИНА. Знаходженняімплікації часто викликає питання, оскільки ми інтуїтивно намагаємосязастосувати інтерпретацію, засновану на нашому загальному розумінні мови. Наприклад,можна заявити, що пропозиція типу „Якщо число 5 парно, то мій автомобільрожевий“ (що має форму Р => С2) є брехнею, оскільки воно не має сенсу. Проте,відповідно до визначення імплікації, цей вираз виявляється істинним, незалежновід того, чи є ваш автомобіль рожевим чи ні: ми знаємо, „число 5 парно“є брехнею, так що відповідною комбінацією повинна бути або ХИБНІСТЬ =>ІСТИНА (автомобіль рожевий) або ХИБНІСТЬ => ХИБНІСТЬ (автомобіль не рожевий).Ми прагнемо інтерпретувати вираз типу „якщо то...“ якпричинно-наслідкове, і тому пропозиція „Якщо число 5 парне, то мійавтомобіль рожевий“ виглядає безглуздим, оскільки визначення числа 5 неробить ніякого впливу на колір вашого автомобіля. Тут слід зрозуміти, щоімплікація в численні виразів не вимагає, щоб був хоч якийсь смисловий зв'язокміж пропозиціями по обидві сторони імплікації, що зв'язує їх. Знання того, що Рє ХИБНІСТЬ, не дає ніякої можливості зробити вивід про істинність Р. Наприклад,пропозиція „Якщо акумулятор розрядився, то автомобіль не заведеться“ даєнам можливість припустити, що істиною є „автомобіль не заведеться“, якщоістиною також є „акумулятор розрядився“, але правило не говорить намнічого про здатність автомобіля завестися, якщо ми не знаємо, що „акумуляторне розрядився“ — автомобіль може не завестися з цілого ряду причинабсолютно іншого роду. Якщо цих пояснень вам все ще недостатньо, краще всьогоінтерпретувати Р ==> Q простояк пропозиція, що дозволяє зробити вивід про те, що Q є ІСТИНА, якщо ми знаємо, що Р є ІСТИНА.
Існує цілий ряд правил виведення логіки висловів,і вони представлені в табл.5.
Таблиця 5. Правила виведення логікивисказаного
Правило Пояснення
/>
Приклад 1
Є наступна інформація.
Якщо акумулятор машини розряджений, то машинане заводиться. Якщо машина Джона не заводиться і поточний час виявляєтьсяпізнішим 8 годин ранку, то Джон запізниться на потяг. Одного разу вранці після8 годин ранку акумулятор машини Джона виявився розрядженим.
Використовуючи логічні правила виводу,покажіть, що Джон запізнився на потяг.
Розв’язання1
У символьному вигляді інформація може бутипредставлена таким чином.
Р: акумулятор машини розряджений.
Q: машина незаводиться.
R: час після 8 ранку.
S: Джон запізнився напотяг.
Правило 1. Р => Q.
Правило 2. Q ^ R=>S
Відомо, що Р і R є ІСТИНА. Завданням є доказ S. Доказ будується таким чином.
1 Р Дано.
2 R Дано.
3 Q Виходить з кроку 1 і правила 1 за правилом modus ponens.
4 Q ^ RВиходитьз кроків 3 і 2 заправилом інтродукції 1.
5 S Виходить з кроку 4 і правила 2 за правилом modus ponens.
3.2 Числення предикатів
Числення висловів припускає, що світ можнамоделювати за допомогою фактів. Але для реальних застосувань числення висловівне підходить. Розглянемо, наприклад, число пропозицій, які будуть потрібні длямоделювання запізнення на роботу, скажімо, 50 чоловік. Для цього потрібнодопускати узагальнені вирази. Числення предикатів (або, точніше, численняпредикатів першого порядку) розширює числення висловів так, що світ виявляєтьсятаким, що складається з об'єктів, відносин і властивостей. Ця метод допускаєузагальнені твердження, вводячи в розгляд змінні, а також квантори, щодозволяють визначати властивості сукупності об'єктів. Розглянемо твердження»Якщо конем володіє Джон, то кінь є чистокровним". Це твердженняпосилається на сукупність об'єктів, а саме, на всіх коней, якими володіє Джон,у наслідок чого відпадає необхідність посилатися на кожен екземпляр (тобто накожного з коней Джона) окремо. Це твердження є узагальненим і позбавляє віднеобхідності формулювання відповідного твердження для кожного з коней Джона. Можнаперефразовувати твердження і сказати «Всі коні, якими володіє Джон, єчистокровними». Тут для вказівки того, що властивість «чистокровний»застосовується до всієї сукупності коней Джона, використовується квантор (всі).Слово «володіти» є бінарним предикатом, що описує відношення міжДжоном і конем, а слово «чистокровний» є унарним предикатом, щоописує властивість коня. В термінах числення предикатів твердження «Всіконі, якими володіє Джон, є чистокровними» в символьному виглядізаписується так:
/>х (Кінь (х) ^Володіти(Джон, х)) => Чистокровний (х).
Символ /> називається кванторомспільності і читається як «для всіх» або «кожен». Учисленні предикатів визначається і інший символ, а саме, символ />, так званий кванторіснування, який читається як "існує". Наприклад, коли миговоримо «Джон має чистокровного коня», це означає, що існує принаймніодин кінь (а можливо і більше) в колекції Джона, що є чистокровним. На мовіпредикатів це твердження виглядає таким чином:
/>х Кінь (х) ^Володіти (Джон, х) ^ Чистокровний (х).
Числення предикатів пропонує запис який єбільш стислим, ніж звичайна розмовна мова. У системі числення предикатів однапропозиція відповідатиме безлічі пропозицій звичайної розмовної мови. Численняпредикатів зменшує і неоднозначність. Наприклад, «Всі коні не єчистокровними» можна сплутати з «Не всі коні є чистокровними», іплутанина вирішується за допомогою знання того, що існують інші породи коней. Уявленнякожної з пропозицій в термінах предикатів показує їх різницю:
/>коні ¬Чистокровний(кінь) і ¬/>коні Чистокровний (кінь).
Перша пропозиція дійсно стверджує, що всічистокровні вимерли (жодного екземпляра не існує), а друга пропозиціястверджує, що «то, що кожен кінь є чистокровним, невірно».
3.3 Інші символьні мови
Є багато мов уявлень, але вони мають багатоспільного. Популярні мови типу FOPC, Frames або Semantic nets по суті еквівалентні і мають цілий рядзагальних ключових елементів:
об'єкти, такіяк, наприклад, м'яч, персона, човен, велосипед або філософ;
відносини міжоб'єктами, такі як, наприклад, Джон є батьком Кім, або паровоз тягне склад;
властивості, такі як, наприклад, моя машина зеленого кольору, Девід має зріст шістьфутів.
Ці мови насправді відрізняються тількисинтаксисом. Синтаксис є важливим, оскільки для виразу інформації одинформалізм може виявитися більш відповідним, ніж інший. Наприклад, легко знайтимаршрут між двома станціями лондонського метро, використовуючи графічну схемумережі, чим описані з'єднання між її станціями у вигляді тексту. Вибрана намимова повинна бути настільки виразною, щоб ми могли виразити всі необхіднізнання, але достатньо стисло, щоб можна було ефективно організувати необхідніобчислення. Крім того, мова повинна дозволити виводити нові знання.3.4 Мова Ргоlog
Мова Рrоlog формально не є мовоюуявлень, але її синтаксис використовується в наступному розділі, тому миприведемо її опис.
Мова Ргоlog є мовою програмування штучного інтелекту, в якому дані представляютьсяяк безліч відносин між об'єктами. Програма на мові Ргоlog складається із списку фактів і правил, і ця моває важливою завдяки тому, що вона має вбудований механізм виведення висновків,який дає можливість отримати відповіді на питання про запрограмовані знання. Синтаксисмови Рrоlog опирається на обчисленні предикатів. Відношення типу «Джон любитьМері» записується так:
любить (джон, мері).
Предикат (тобто відношення) і об'єктивідношення повинні починатися з букви нижнього регістру. Вказане вище відношеннятрактується як факт, іншими прикладами фактів є:
метал (мідь) — мідь є метал;
грають (джон, мері, теніс) — Джон і Меріграють в теніс.
Змінна повинна починатися з символу верхньогорегістра. Коли змінна посилається на константу (тобто на конкретний екземпляр,такий як Джон), говорять, що змінна конкретизована. Змінна можебути конкретизована в результаті порівняння виразів. Наприклад, припустимо, щобаза даних містить любить (Джон, Мері). Тоді можуть бути поставлені наступніпитання.
Хто любить мері?
любить (Х, мері)
відповідь X = джон
X конкретизована значенням Джон
Хто є тим, кого любить джон?
любить (джон, X)
відповідь X = мері
Хто кого любить?
любить (Х, V)
відповідь X = джон, У = мері
Правила виражаються за допомогою зворотноїнотації у формі «умова якщо умова», в протилежність прямій нотації«якщо умова, то умова». Наприклад
дядько (Х, У): — батько (Z. У), брат (Z, X).
Символ ": — " використовуєтьсязамість ЯКЩО, а символ ",«замість І. Таким чином вказане правилостверджує, що
X є дядько У, якщо Z є батько У і брат є X.
Приклад конкретизації цього правила показанийна мал.3.
Брат Джон
/>
/>Девід
Дядько
Батько
Малкольм
дядько (джон, малкольм): — батько (девід,малкольм), брат (девід, джон).
Мал.3. Правиломови Prolog, конкретизоване семантичним уявленням, показаним у вигляді діаграми
Змінна є локальною по відношенню до виразу (тобтофакту або правила): змінна з одним і тим же ім'ям, що з'являється в двох різнихправилах, інтерпретуватиметься в мові Prolog якщо має різні імена.
Робота Prolog побудована на уніфікації. Коли Prologнамагається довести твердження, шукається перший вираз, що дає збіг. Для збігудвох виразів вони повинні:
мати одне і те ж відношення;
мати однакове число аргументів;
давати збіг по кожному аргументу.
Порівняння аргументів визначається таким чином.
1. Константи: дві константи дають збіг, якщовони є ідентичними рядками.
2. Константа і змінна: якщо змінна неконкретизована, то вона даватиме збіг з будь-якою константою і будеконкретизована цією константою; конкретизована змінна даватиме збіг зконстантою у відповідності с п.1.
3. Змінні: дві довільні змінні (неконкретизовані) завжди дають збіг, а якщо надалі одна змінна стаєконкретизованою деякою константою, то інша змінна також буде конкретизованатією ж константою.
Приклади збігів показані в табл.6Таблиця 6. Порівняння зразків в мові Prolog Вираз 1 Вираз 2 Збіг любить (Х, Мері) любить (Джон, Мері) так любить (Джон, X) любить (Джон, Мері) X = Мері любить (Джон, Мері) подобається (Джон, Мері) Немає любить (Х, У) любить (Джон, Мері) X = Джон У = Мері любить (Джон, Мері) любить (Х, X) Немає
любить (Х, Мері) і
X = Джон любить (У, Мері) У = X = Джон штовхає (Джон, Кріс) штовхає (Джон, Кріс, рука) Немає
Приклад 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 →ranP→ across
Розв’язання3.Процес показаний в табл.8,а стани, що генеруються при цьому, — на мал.6.
Таблиця 8. Синтаксичний аналізпропозиції " Thedogranacrosstheroad", то розглядається якпошукПоточна спроба Стек слів Стек відвідування Стек дублювання 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 /> /> /> /> />
Алгоритми синтаксичного аналізу вивчалисядостатньо інтенсивно, оскільки синтаксичний аналіз є основою багатьохобчислювальних систем, тобто компіляція програм або перевірка синтаксису запитудо бази даних. Запропонований тут приклад пропозиції виглядає тривіальним, алебудь-яка реальна система розуміння мови використовує складнішу граматику, щодозволяє розуміти, наприклад, узгодження множини і часів.
4.2. Семантичний аналіз
Семантичний аналіз часто реалізується як етапсинтаксичного аналізу в результаті додавання до правил граматики відповіднихвластивостей і використання порівняння зразків. Тут ми маємо можливість сказатитільки декілька слів про те, як виділяється суть пропозиції у формі мови Ргоlog. Граматика
SN→PVP
NP→N
N →name
VP → V NP
name → мери | джон
verb →любить
/>/>S
/>/>/>/> NP VP
/>/>/>/> DAP DN V PP/> /> /> /> /> /> /> /> /> />
/> D AN D N P NP
/> (the) Поверненняthe dog across
до“dog”
DAP DN/> /> /> /> /> /> /> /> /> /> /> /> /> /> />
D AN D N
(the) Поверненняthe road
Мал.6. Стани,що генеруються при синтаксичному аналізі пропозиції " Thedogranacrosstheroad"
Запис «Джон любить Мері». У мові Ргоlog воно має наступну форму.
любить (Джон, Мері)
Щоб виділити цю форму в процесі синтаксичногоаналізу, граматика доповнюється наступними властивостями.
S (sem-vp sem-np) →NP (sem-np) VP (sem-vp)
NP (sem-np) → N (sem-np)
N (sem-n) → (sem-n)
VP (sem-v sem-np) → V (sem-v) NP (sem-np)
name (sem-n) →Mepi («Mepi»)
name (sem-n) → Джон («Джон»)
verb (sem-v) → любить (λу. λ. х любить (х. у))
Вказаний тут дієслівний елемент (verb) містить вираз, зване λ-числення. Воно використовується длятого, щоб виконати просту операцію, яка називається λ— зведена, іспростити вираз.
Наприклад, вираз у формі ((λ х Рх)а)
може бути зведеним до «Ра». Томувираз λу. λ х. любить (х, у), сформульований у вигляді (λ у. λ х. любить(х, у))«мері»), зводиться до λx. любить (х, мері), а ( (λ, х. любить (х, мері))«джон»)зводиться до любить (джон, мері).
Така λ-зведена виконується впорядку зліва направо, і її метою є приведення виразу до легшого читання (аборозпізнавання) форми.
У разі нашого простого прикладу можнапредставити порівняння властивостей як серію викликів функцій. Ліва сторонаправила розглядається як функція, а права сторона виконує серію викликів іншихфункцій. Ці операції продовжаться рекурсивно до тих пір, поки слову не будезнайдено відповідність і не буде повернений рядок.
Пропозицію «Джон любить Мері» будепроаналізоване з використанням «псевдо-С» нотації і із застосуванням λ-зведеннямтам, де це необхідно. Врахуйте те, що деякі дужки в граматичних виразах булиопущені з метою збереження простоти запису.
Виклик S з аргументом «джон любить мері»
повертає (λ х. любить (х, мері) джон)= любить (джон, мері)
S (sem-vр sem-nр)
{
NP (sem-nр) — в результаті виклику NР в кінці повертається джон
VР (sem-vр) — в результатівиклику VР повертається (λуλх. любить (х, у) мері) =(λ, х. любить (х, мері))
}
NP (sem-nр) {
N (sem-np)
}
N (sem-n) {
name (sem-n)
}
name (sem-n) { if «джон»
return sem-n= «джон»if «мері»
return sem-n= «мері»
}
VP (sem-v sem-np) {
V (sem-v) — в результаті виклику V повертається (λу. λ х. любить (х, у))
NP (sem-np) — повертається мері
}
V (sem-v) {
sem-v = (λу. λ х. любить (х, у))
5. Символьні зв'язки нейронних мереж
Ідея використання нейронних мереж длявиконання завдань, символьних систем штучного інтелекту, що традиційновідносяться до області, апелює до інтуїції інженерів і не тільки тому, щоабстрактна архітектура штучного мозку може видавати нестандартні рішення, алетакож і тому, що нейронні мережі мають цілий ряд інших привабливих властивостей.Нейронні мережі навчаються виконанню завдання за допомогою адаптації допропонованих мереж. Система, заснована на навчанні, має можливість виводитизнання автоматично, а також виявляти знання, які є специфічними для конкретногозавдання і які важко представити у вигляді набору правил (наприклад, як їхатина велосипеді). Мережа рідко пропонує однозначну відповідь, вона зазвичайзабезпечує відповідь у вигляді оцінки, але для вирішення практичних завданьоцінені відповіді виявляються більш відповідними. Нейронні мережі можуть такождемонструвати плавне зниження своєї ефективності, зберігаючи здатністьвиконувати завдання (хоча і на гіршому рівні), якщо частина структури мережівиявляється пошкодженою. Нейронні мережі можуть іноді зберігати своюпрацездатність, навіть якщо якась частина архітектури мережі перестаєфункціонувати взагалі. Нарешті, нейронні мережі можуть бути реалізовані увигляді масових паралельних структур, які потенційно можуть запропонуватиефективнішу продуктивність в порівнянні з машинами, що використовуютьпослідовну архітектуру.
Символьні системи мають свої переваги. Засобомкомунікації є символи, і в процесі комунікації відбувається передача великогооб'єму знань. Наприклад, якщо комусь скажуть, що він загине, якщо торкнетьсярейок, по яких йдуть поїзди метро, то, за рідкісним виключенням, людинасерйозно віднесеться до такого попередження. Знання, виражене у вигляді правил,може зберегти життя в ситуаціях, які раніше не були випробувані на практиці. Пілотлітака, що ненавмисно вводить літак в штопор, стикається з ситуацією, що несезагрозу життю, і хоча практика виходу з штопора може допомогти справитися зситуацією досвідченому пілотові, молодому пілотові може допомогти знаннявідповідних правил. Знання, що повідомляється в символьній формі, може такожприскорити навчання. Важким етапом підготовки будь-якого пілота є навчання посадкилітака. Добрий інструктор може запропонувати емпіричні правила, здатнідопомогти пілотові-новачкові і може повторити або підкоригувати інструкції,виявивши неправильне або погане їх виконання.
Отже, і символьна парадигма, і парадигманейронних мереж мають свої переваги з погляду побудови інтелектуальних систем. Томунедивним є той факт, що проводилося (і проводиться сьогодні) немало досліджень,присвячених можливості налагодження зв'язків між традиційним або символьнимштучним інтелектом і нейронними мережами. Ці зв'язки дуже різноманітні, алеголовним питанням для багатьох прихильників нейронних мереж є, мабуть, питанняпро те, чи можуть бути створені нейронні мережі, здатні вирішувати когнітивнізавдання найвищого рівня, якими є, наприклад, розуміння мови і планування.
Перші додатки нейронних мереж, що послідувализа відродженням інтересу до нейронних мереж в 1980-х роках, стосувалисяпроблем розпізнавання, що відносяться до низького рівня, і виконували, по суті,побудову відображення безлічі початкових даних в безліч відповідних відповідей.А оскільки велися жваві дискусії відносно нейронних мереж як когнітивнихмоделей, недивно і те, що деякі філософи і когнітивні психологи почалицікавитися можливостями мереж першої генерації. Було з'ясовано, що частинакритичних зауважень була заснована на незнанні того, як добитися від нейронноїмережі необхідної якості виконання завдання. Слід відмітити, що критичніпитання все ще чекають своїх відповідей, але ми сподіваємося, що з цим не будепроблем у міру розширення наших знань в області нейронних мереж.
Трьома характерними особливостями, щовідповідають за успіх символьної парадигми, є композиційні структури,сенситивна обробка структур і узагальнення. Всі ці три властивості виявляютьсятісно пов'язаними.
Композиційні структури можуть бути визначеніяк ієрархічні структури, в яких вся структура складається з окремих частин. Типовимприкладом таких структур є дерева, а також спадкові і агреговані моделі, яківикористовують інженери. Композиція структур є основою будь-якої форми розробкиконструкцій: при спробах рішення будь-якої складної задачі таке завданнязазвичай розбивається на частини. Ми вже бачили в розділі 5, що композиційнийаналіз грає велику роль в системах розуміння мови. Структура виразів пропозиціїпредставлялася у вигляді ієрархії його частин, і семантичний аналіз припускав,що сенс всієї пропозиції може бути знайдений як комбінація змісту частин.
Трансформація ¬ (P /\ Q) в його логічний еквівалент (¬ P \/ ¬ Q) є прикладом операції, яка сенситивно залежить від структури. Якщо Рі Q замінити на Rі S, то операція залишається достовірною, оскільки:¬ (R /\S)трансформується в логічний еквівалент (¬ R \/ ¬ S). Дана операціяможе бути також представлена у вигляді складніших виразів, оскільки весь виразможе бути розбитий на частини. Наприклад, ¬( (Рv R) /\ Q) все одно має форму: ¬(A/\ Q), тому йото логічним еквівалентом є(¬(Рv R) /\ Q).
Абстракція узагальнених виразів теж єприродною частиною символьної парадигми. Аргументи у виразі любить (одушевлений,об'єкт) допускають будь-яку комбінацію об'єктів, відповідних для даноговідношення. Це дозволяє системі демонструвати регулярну поведінку. Якщо системарегулярна, вона повинна допускати семантичне (і синтаксичне) узагальнення. Регулярнасистема, яка розуміє «джон любить мері», зрозуміє також і «мерілюбить джона».
Висновок
В області традиційного штучного інтелектузначні зусилля витрачаються на дослідження уявлень. Ключовим компонентомбудь-якої інтелектуальної системи є здатність адаптуватися до змін середовища,тобто здатність навчатися. Традиційні системи штучного інтелекту дляпредставлення знань використовують символьні структури, так що обчисленняможуть розглядатися як послідовність операцій, вживаних до цих структур впроцесі пошуку рішення. Нижче перераховані деякі ключові моменти, на якіспирається традиційний штучний інтелект.
Знання представляються в явному вигляді.
Структурні компоненти можуть об'єднуватися длятого, щоб будувати ще складніші структури. Це означає, що великі структуриможуть бути скомпонованими з малих структур, і, навпаки, великі структуриможуть бути розділені на менші.
Символьні уявлення дозволяють узагальнений іабстрактний опис знань.
Вправи
1. Покажіть, що вираз ( (P=>Q) /\ R) =>S буде проаналізовано як допустиме відповіднодо граматики, представленої в табл. 2.
2. Використовуючи таблицю істинності, покажіть, що ¬ ( (Р \/ R) /\ Q) еквівалентно (¬ (Р v R) v ¬ Q).
3. В таблиці показанийприклад використання продукційної системи для доказу мети при наступнихправилах і за умови, що: Т, W і Р є ІСТИНА.Цикл Робоча пам'ять Множина суперечностей Вибране правило Т, W, Р 3,4
3 1 Т, W, Р, Q 3,4 4 2 Т, W, Р, Q, S 2, 3,4 2 3 Т,W, Р, Q, S, R 1,2,3,4 1 4 Т,W, Р,Q, S, R мета 1,2,3,4 Зупинка
Р /\ Q /\ R => мета
S=>R
T/\W=>Q
T=>S
Використовуйте правила виведення логікивисловів, щоб довести мету.
4.
S → NP VP|NPV
NP→D AP|D N|NP PP
PP→ P NP
VP→VNP|V PP
AP→A AP|A N
Використовуючи цю граматику, побудуйте деревосинтаксичного аналізу для:
(а)«The little dog barked» (маленький собака загавкав);
(б)«The horse jumped over the fence» (кіньперестрибнув через огорожу).
5. Випишіть стани пошуку, що генеруються вході синтаксичного аналізу пропозицій з вправи 4.
6. Як потрібно змінити граматику з вправи 4,щоб пропозиція «John found the book» (Джон знайшов книгу) виявилася допустимою?
7. Є база даних Prolog:
Я частина (закрилок, крило) частина (елерон,крило) частина (крило, літак)
Перефразовуйте наступні питання і покажіть, якProlog відповістьна них.
(а) частина (закрилок. крило).
(б) частина (крило, X).
(в) частина (Х, крило).
8. Припустимо, що до коду Prolog з вправи 7додається частина
(Х. Y): — частина (Z, Y), частина (X, Z)
(а) Як програма відповість на частину (закрилок,літак)? Трасуйте відповідний процес порівняння.
(б) Чи не бачите ви яких-небудьпотенційних проблем, які можуть виникнути з вказаним вище правилом?
Література
1. Роберт Каллан — «Основныеконцепции нейронных сетей». “Вильямс", 2003. — 288с.