Главная arrow Логика arrow Обработка естественного языка
Как начинался компьютер
Компьютерная революция
Двоичный код
Разработки военных лет
Интегральные микросхемы
Микрокомпьютер
Персоны
Сеть
Язык компьютера
Развитие ПО
Гибкие системы
Средства разработки
Информатика
Вычислительная наука
Операционные системы
Искусственный интеллект
Предыстория
Поиск
Знания и рассуждения
Логика
Робототехника
 

 
Обработка естественного языка Печать

Обеспечение взаимодействия с ЭВМ на естественном языке (ЕЯ) является важнейшей задачей исследований по искусственному интеллекту (ИИ). Базы данных, пакеты прикладных программ и экс-пертные системы, основанные на ИИ, требуют оснащения их гибким интерфейсом для многочислен-ных пользователей, не желающих общаться с компьютером на искусственном языке. В то время как многие фундаментальные проблемы в области обработки ЕЯ (Natural Language Processing, NLP) еще не решены, прикладные системы могут оснащаться интерфейсом, понимающем ЕЯ при определенных ограничениях.

Введение

Существуют два вида и, следовательно, две концепции обработки естественного языка:

  • для отдельных предложений;
  • для ведения интерактивного диалога.

Обработка естественного языка - это формулирование и исследование компьютерно-эффективных механизмов для обеспечения коммуникации с ЭВМ на ЕЯ. Объектами исследований являются:

  • собственно естественные языки;
  • использование ЕЯ как в коммуникации между людьми, так и в коммуникации человека с ЭВМ.

Задача исследований - создание компьютерно-эффективных моделей коммуникации на ЕЯ. Именно такая постановка задачи отличает NLP от задач традиционной лингвистики и других дисцип-лин, изучающих ЕЯ, и позволяет отнести ее к области ИИ. Проблемой NLP занимаются две дисципли-ны: лингвистика и когнитивная психология.

Традиционно лингвисты занимались созданием формальных, общих, структурных моделей ЕЯ, и поэтому отдавали предпочтение тем из них, которые позволяли извлекать как можно больше языко-вых закономерностей и делать обобщения. Практически никакого внимания не уделялось вопросу о пригодности моделей с точки зрения компьютерной эффективности их применения. Таким образом, оказалось, что лингвистические модели, характеризуя собственно язык, не рассматривали механизмы его порождения и распознавания. Хорошим примером тому служит порождающая грамматика Хомско-го, которая оказалась абсолютно непригодной на практике в качестве основы для компьютерного рас-познавания ЕЯ.

Задачей же когнитивной психологии является моделирование не структуры языка, а его использо-вания. Специалисты в этой области также не придавали большого значения вопросу о компьютерной эффективности.

Различаются общая и прикладная NLP. Задачей общей NLP является разработка моделей ис-пользования языка человеком, являющихся при этом компьютерно-эффективными. Основой для этого является общее понимание текстов, как это подразумевается в работах Чарняка, Шенка, Карбонелла и др. Несомненно, общая NLP требует огромных знаний о реальном мире, и большая часть работ со-средоточена на представлении таких знаний и их применении при распознавании поступающего со-общения на ЕЯ. На сегодняшний день ИИ еще не достиг того уровня развития, когда для решения по-добных задач в большом объеме использовались бы знания о реальном мире, и существующие сис-темы можно называть лишь экспериментальными, поскольку они работают с ограниченным количест-вом тщательно отобранных шаблонов на ЕЯ.

Прикладная NLP занимается обычно не моделированием, а непосредственно возможностью ком-муникации человека с ЭВМ на ЕЯ. В этом случае не так важно, как введенная фраза будет понята с точки зрения знаний о реальном мире, а важно извлечение информации о том, чем и как ЭВМ может быть полезной пользователю (примером может служить интерфейс экспертных систем). Кроме пони-мания ЕЯ, в таких системах важно также и распознавание ошибок и их коррекция.

Основная проблема обработки естественного языка

Основной проблемой 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) анализ. Ниже пойдет речь о некоторых наиболее распространенных методах, описанных в статье.

Подбор шаблона. Сущность данного подхода состоит в интерпретации ввода в целом, а не в ин-терпретации смысла и структуры его отдельных составляющих на более низком уровне. При исполь-зовании этого метода происходит сравнение уже имеющихся в системе шаблонов-образцов с текстом, поступившим на вход. Обычно шаблоны представлены в виде простого списка соответствий между классами высказываний и интерпретациями. Иногда они дополнены семантическими элементами или другими компонентами более высокого уровня. По такому принципу работает система Элиза, имити-рующая диалог с психотерапевтом. В действительности система ничего не понимает, а лишь поддер-живает диалог, сравнивая реплики пациента с шаблонами и присвоенными им соответствующими от-ветными репликами, такими, как:

Заключение

Таким образом, процесс разработки систем, обеспечивающих понимание ЕЯ, требует создание механизмов, отличных от традиционных способов представлений ЕЯ, а системы с естественно-языковыми интерфейсами применяются только в узких предметных областях.