Основні проблемиобробки природньої мови
Основною проблемою NLP є мовна неоднозначність. Існують різні види неоднозначності:
·Синтаксична (структурна) неоднозначність: у фразі Time flies like an arrow для ЕОМ не зрозуміло, чи йдемова про час, що летить, або про мух, тобто чи є слово flies дієсловом чи іменником.
·Значенневанеоднозначність: уфразі The man went to the bank to get some money and jumped in слово bank можеозначатиякбанк, такіберег.
·Відмінкованеоднозначність: предлог in уреченнях He ran the mile in four minutes/He ran the mile in the Olympics позначаєабочас, абомісце, тобтоподаніцілкомрізноманітнівідношення.
·Референційнанеоднозначність: длясистеми, щоневолодієзнаннямипрореальнийсвіт, будеважковизначити, ізякимсловом - table або cake - співвідноситьсязайменник it уфразі I took the cake from the table and ate it.
·Літерація (Literalness): удіалозі Can you open the door? - I feel cold ніпрохання, анівідповідьневираженістандартнимзасобом. У інших обставинах на питання може бути отримана пряма відповідь yes/no, але в даному випадку в питанніімпліцитно виражене прохання відчинити двері.
Центральна проблема як для загальної, так і для прикладної NLP - дозвіл такого роду неоднозначностей - вирішується за допомогою перекладу зовнішнього представлення на ПМ в якусь внутрішню структуру. Для загальної NLP таке перетворення потребує набору знань про реальний світ. Так, для аналізу фрази Jack took the bread from the supermarket shelf, paid for it, and left і для коректної відповіді на такі питання, як What did Jack pay for?, What did Jack leave? та Did Jack have the bread with him when he left? необхідно знання про супермаркети, процеси покупки та продажу і деякі інші.
Прикладні системи NLP мають перевагу перед загальними, тому що працюють у вузьких предметних областях. Наприклад, системі, яка використовується продавцями в магазинах по продажу комп'ютерів, не потрібно ”роздумувати” над неоднозначністю слова terminals при запиті How many terminals are there in the order? .
Проте, створення систем, що мають можливість спілкування на ПМ в широких областях, можливо, хоча поки результати далекі від задовільних.
Технології аналізу природньої мови
Під технологією аналізу ПМ розуміється переклад деякого виразу ПМ у внутрішнє представлення. Фактично всі системи аналізу ПМ можуть бути розподілені на такі категорії: підбір шаблону (Pattern Matching), синтаксичний аналіз, семантичні граматики, аналіз за допомогою відмінкових фреймів, “чекай і дивися” (Wait And See), словниковий експертний (Word Expert), конекціониський, “ковзний” (Skimming) аналіз. Нижче піде мова про деякі найбільш поширені методи, описані у статті.
Підбір шаблону. Сутність даного підходу полягає в інтепретації вводу в цілому, а не в інтепретації змісту і структури його окремих складових на більш низькому рівні. При використанні цього методу відбувається порівняння вже наявних у системі шаблонів-зразків із текстом, що надійшов на вхід. Звичайно шаблони подані у вигляді простого списку відповідностей між класами висловлень і інтепретаціями. Іноді вони доповнені семантичними елементами або іншими компонентами більш високого рівня. За таким принципом працює система Эліза, що імітує діалог із психотерапевтом. У дійсності система нічого не розуміє, а лише підтримує діалог, порівнюючи репліки пацієнта із шаблонами і привласненими їм відповідними відповідними репліками, такими, як:
X завжди Y: | Ви можете привестиякий-небудь приклад? |
Коли? | |
Дійсно, завжди? | |
X Ви Y мене: | Чому Ви думаєте, що я Y Вас? |
Вам поддобається думати, что я Y Вас, чи не так? | |
Уявіть, що я Y Вас. Що Ви про це думаєте? |
У результаті Элізаспроможнавести такий діалог:
Пац. : | Люди завжди пильно дивляться на мене. | Підбір за 1-мшаблоном з врахуванням завжди |
Эл.: | Ви можете привестиякий-небудь приклад? | Перша відповідь за 1-мшаблоном |
Пац. : | Наприклад, зараз ти дивишся на мене. | Підбір за2-мшаблоном, Y=дивитись |
Эл.: | Чому Ви думаєте, що я дивлюся на Вас? | Перша відповідь за 2-мшаблоном |
Пац. : | Тому що ти ненавидиш мене. | Підбір за 2-мшаблоном, Y=ненавидіти |
Эл.: | Вам подобається думати, що я ненавиджу Вас, чи не так? і т.д. | друга відповідь за 2-мшаблоном |
Синтаксичний аналіз. При використанні синтаксичного аналізу відбувається інтепретація окремих частин висловлення, а не усього висловлення в цілому. Звичайно спочатку проводиться повний синтаксичний аналіз, а потім будується внутрішнє уявленнявведеного тексту, або проводиться інтепретація.
Дерева аналізу і вільно-контекстні граматики. Більшість засобів синтаксичного аналізу реалізовано у виді дерев. Одним із найпростіших різновидів є вільно-контекстна граматика, що складається з правил типу S=NP+VP або VP=V+NP і вважається, що ліва частина правила може бути замінена на праву без урахування контексту. Вільно-контекстна граматика широко використовується в машинних мовах, і з її допомогою створено високоефективні методи аналізу. Хиба цього методу - відсутність заборони на граматично невірні фрази, де, наприклад, існує неузгодженність із присудком у числі. Для вирішення цієї проблеми необхідна наявність двох окремих граматик, що паралельно працюють: однієї - для числа однини, іншої - для числа множини. Крім того, необхідна власна граматика для пасивних речень і т.д. Семантично невірне речення може породити величезну кількість варіантів розбору, із яких один буде перетворений у семантичний запис. Все це робить кількість правил величезним і, у свою чергу, вільно-контекстні граматики негожими для NLP.
Трансформаційна граматика. Трансформаційна граматика була створена з урахуванням згаданих вище хиб і більш раціонального використання правил ПМ, але виявилася негожою для NLP. Трансформаційна граматика створювалася Хомским як породжуюча, що, відповідно, ускладнювало обернену дію, тобто аналіз.
Розширена мережа переходів. Розширена мережа переходів була розроблена Бобровим (Bobrow), Фрейзером (Fraser) і багато в чому Вудсом (Woods) як продовження ідей синтаксичного аналізу і вільно-контекстних граматик зокрема. Вона являє собою вузли і спрямовані стрілки, що “розширені” (тобто доповнені) низкою тестів (правил), на підставі яких вибирається шлях для подальшого аналізу. Проміжні результати записуються в комірки(регістри). Нижче приводиться приклад такої мережі, що дозволяє аналізувати прості реченнявсіх типів (включаючи пасив), що складаються з підмета, присудка і прямого доповнення, таких, як The rabbit nibbles the carrot (Кролик гризе моркву). Позначення біля стрілок означають номер тесту, а також чито ознаки, аналогічні застосовуваним у вільно-контекстних граматиках (NP), чито конкретне слово (by). Тести написані на мові LISP і являють собою правила типу якщо умова=істина, то привласнити аналізованому слову ознака Х и записати його у відповідну комірку.
Розберемо алгоритм роботи мережі на вищенаведеному прикладі. Аналіз починається зліва, тобто з першого слова в речені. Словосполучення the rabbit проходить тест, що з'ясовує, що воно не є допоміжним дієсловом (Aux, стрілка 1), але є іменною групою (NP, стрілка 2). Тому the rabbit кладеться в комірку Subj, і реченя отримує ознаку TypeDeclarative, тобто оповідальне, і система переходить до другого вузла. Тут додатковий тест не потрібен, оскільки він відсутній у списку тестів, записаних на LISP. Отже, слово, що стоїть після the rabbit - тобто nibbles – це дієслово-присудок (позначення V над стрілкою), і nibbles записується в комірку з ім'ям V. Перекреслений вузол означає, що в ньому аналіз реченя може в принципі закінчитися. Але в нашому випадку є ще і доповнення the carrot, так що аналіз продовжується по стрілці 6 (вибір між стрілками 5 і 6 здійснюється знову за допомогою спеціального тесту), і словосполучення the carrot кладеться в комірку з ім'ям Obj. На цьому аналіз закінчується (останній вузол був би використаний у випадку аналізу такого пасивного речення, як The carrot was nibbled by the rabbit). Таким чином, у результаті заповнені регістри (комірки) Subj, Type, V та Obj, використовуючи які, можна одержати деякеуявлення (наприклад, дерево).
·Розширена мережа переходів має власні хиби: немодульность;
·складність при модифікації, що викликаєнепередбачені побічні ефекти;
·тендітність (коли єдина неграматичность у пропозиції унеможливлює подальший правильний аналіз);
·неефективність при переборі з поверненнями, тому що помилки на проміжних стадіях аналізу не зберігаються;
·неефективність з точки зору змісту, коли за допомогою отриманого синтаксичного представленнявиявляєтьсянеможливим створити правильне семантичне уявлення.
Семантичні граматики. Аналіз ПМ, заснований на використанні семантичних граматик, дуже схожий на синтаксичний, із тієї різницею, що замість синтаксичних категорій використовуються семантичні. Природньо, семантичні граматики працюють у вузьких предметних областях. Прикладом може постати система Ladder, яка вмонтована в базу даних американських судів. Її граматикаміститьзаписи типу:
S ? <present> the <attribute> of <ship>
<present> ? what is|[can you] tell me
<ship> ? the <shipname>|<classname> class ship
Такаграматикадозволяєаналізуватитакізапити, як Can you tell me the class of the Enterprise? (Enterprise - назвакорабля). У даній системі аналізатор складає на основі запиту користувача запит на мові бази даних.
Хиби семантичних граматик виявляються в тому, що, по-перше, необхідна розробка окремої граматики для кожної предметної області, а по-друге, вони дуже швидко збільшуються в розмірах. Засоби виправлення цих хиб - використання синтаксичного аналізу перед семантичним, застосування семантичних граматик тільки в рамках реляційних баз даних з абстрагуванням від загальномовних проблем і комбінація декількох методів (включаючи власне семантичну граматику).