Системы компьютерной обработки естественного языка как лингвистическая проблема
Изучение вопросов, связанных с использованием естественного языка для нужд программирования, начинает активно разрабатываться во второй половине ХХ века в ходе разработки проблемы «искусственного интеллекта».
В прикладных лингвистических исследованиях под компьютерной обработкой естественного языка понимается совокупность методов, приемов и технологических процессов, которые заключаются в том, чтобы обеспечить процессы взаимодействия человека и компьютера посредством использования естественного языка.
С момента возникновения необходимости обеспечить коммуникацию машины и человека решение этой проблемы осуществлялось в двух направлениях:
- Направление, которое предполагает адаптацию специальных языков программирования для пользователей. Это направление связано с упрощением интерфейса, позволяющим оптимизировать процессы управления компьютером.
- Направление, связанное с разработкой систем, обеспечивающих коммуникацию с машиной посредством естественного языка (пускай и в ограниченном варианте).
Для решения этих проблем было необходимо выяснить, как происходит взаимодействие между человеком и компьютером, а также определить базовый набор компонентов, который бы обеспечивал функционирования систем коммуникации между человеком и машиной.
В ходе исследований было установлено, что взаимодействие человека и компьютера представляет собой диалог особого типа, ограниченный как в тематическом плане, так и в используемых языковых средствах. Большинство систем предполагают жесткую структуру диалога, где роли участников фиксированы, а машине отводится пассивная роль отвечать на запросы пользователя. Для успешной обработки запросов пользователя система компьютерной обработки естественного языка должна включать блок обработки речевого сообщения, блок его интерпретации, блок смыслопорождения и, наконец, блок синтеза ответного сообщения. Причем состав каждого блока зависит от формы коммуникации: необходимо ли машине обрабатывать голосовое сообщение или же письменный текст.
Структура системы обработки естественного языка
Особое значение в структуре системы обработки речевых сообщений занимает диалоговый компонент, который определяет основные аспекты взаимодействия между человеком и компьютером. Диалоговый компонент функционирует на трех уровнях:
- Глобальном, позволяющем выстраивать стратегию диалога.
- Тематическом, связанном с решением конкретной задачи / проблемы.
- Речевом, который предполагает формирование последовательности речевых действий.
Первые два уровня обычно представлены сценариями – определенными способами взаимодействия, выработанными для решения конкретных задач. На последнем – речевом уровне – используются модели диалогового взаимодействия, суть которых заключается в представлении о связях между коммуникативными ходами. Так, коммуникативный акт вопроса предполагает реакцию в виде ответа, что используется системой для формирования определенных стратегий речевого поведения.
Обработка запроса пользователя связана с функционированием блока понимания системы, где решаются две задачи:
- Грамматический анализ структуры высказывания.
- Семантический анализ высказывания и его последующая интерпретация.
Наконец, порождение ответного высказывания предполагает цепочку процессов, лежащих в основе генерации смысла на метаязыке, переводе его на единицы естественного языка, формировании речевого высказывания и передаче его пользователю.
Виды систем обработки естественного языка
Существует несколько систем обработки естественного языка, которые лежат в основе взаимодействие пользователя и компьютера:
- Вопросно-ответные системы – наиболее ограниченные с точки зрения технологические решения. Суть системы состоит в обработке запроса пользователя, формировании ответа и переводе его на естественный язык. Тематика вопросов ограничена возможностями программы. Компьютеру отводится пассивная роль генерации ответов на запросы пользователя.
- Диалоговые системы решения задач основаны на ином принципе работы: они нацелены на обработку сведений для решения задач, поставленных перед машиной пользователем. Такие системы используются, например, в играх, где программа адаптируется к условиям, выдвигаемым пользователем, и предлагает оптимальный вариант поведения.
- Системы обработки текстов, которые направлены на анализ и извлечение информации из текстов. Это может быть анализ по ключевым словам, суммаризация содержания, построение иерархий и проч.
Каждая из систем используется для решения определенных задач и эффективна в своей области. В целом совершенствование процессов взаимодействия машины и человека связано с дальнейшим развитием алгоритмов анализа и обработки естественного языка и их внедрением в практику.