Оптимизация общения с ЭВМ:системы обработки естественного языка
Междисциплинарное прикладное направление с несколько неудачным названием «обработка естественного языка» (перевод английского термина Natural Language Processing) возникло в конце 60-х гг. и развивалось в рамках научно-технологической дисциплины «искусственный интеллект». По своей внутренней форме словосочетание «обработка естественного языка» охватывает все области, в которых компьютеры используются для обработки языковых данных. Между тем в практике закрепилось более узкое понимание этого термина — разработка методов, технологий и конкретных систем, обеспечивающих общение человека с ЭВМ на естественном или ограниченном естественном языке.
Возникновение и бурное развитие этого направления в 70-е гг., рассматриваемого в прикладной лингвистике как часть проблематики компьютерной лингвистики, связано в первую очередь с неожиданным экспоненциальным ростом количества конечных пользователей ЭВМ. Поскольку обучение языкам и технологии программирования всех пользователей невозможно22), то возникла проблема организации взаимодействия с компьютерными программами. Решение этой проблемы коммуникации шло по двум основным путям. В первом случае предпринимались попытки адаптации языков программирования и операционных систем к конечному пользователю. Языки низкого уровня типа Ассемблера заменялись языками высокого уровня типа Visual Basic; происходило развитие
22) Ср. характерное высказывание: «(...) по оценкам американских специалистов, к 2000 г. для удовлетворения потребности в программистах надо будет обучить программированию всех жителей США» [Попов 1982, с. 14|.
операционных систем в сторону большей изобразительности и наглядности; для создания коммуникативного комфорта и облегчения понимания в операционных системах стали использоваться привычные человеку метафоры ПИСЬМЕННОГО СТОЛА, БИБЛИОТЕКИ. Эта тенденция в настоящее время в явной форме отразилась в дизайне и организации интерфейса в операционных средах корпорации «Microsoft Windows», но еще раньше (как минимум, на десятилетие!) аналогичная идеология приближения к конечному пользователю была реализована в операционных системах компьютеров фирмы «Apple-Macintosh».
Второе направление — разработка систем, которые позволяли бы взаимодействовать с ЭВМ в конкретной проблемной области на естественном языке или каком-то его ограниченном варианте. В центре внимания исследований в области обработки естественного языка оказался опыт изучения общения, диалога, коммуникации в гуманитарных науках. Основное отличие компьютерного моделирования коммуникации в системах взаимодействия с ЭВМ заключается в том, что при ограничении проблемной сферы разработчикам приходится тем не менее учитывать все аспекты, все уровни реального общения, что представляет собой серьезную проблему не только практического, но и теоретического плана. Достаточно сказать, что до сих пор не существует общепринятой теории диалога на естественном языке, которая включала бы лингвистические, социологические и психологические составляющие.
Базовая структура человеко-машинного взаимодействия.Общение с ЭВМ осуществляется в виде диалога, включающего в обычном случае двух участников — человека и ЭВМ. Роли участников меняются — инициатором может выступать и машина, и человек. Имеются системы, которые настроены только на одну стратегию. Например, информационно-поисковые системы ориентированы, преимущественно, на пассивную стратегию ответа на вопросы, задаваемые пользователем. Перехват инициативы компьютером возможен только для уточнения вопроса или информационной потребности. Такие системы называются системами с жесткой структурой диалога.С другой стороны, многие экспертные системы на определенном этапе должны использовать стратегию опроса пользователя. Если допускается смена ролей участников диалога, такая структура коммуникативного взаимодействия называется мягкой.
Базовые компоненты систем, обеспечивающих взаимодействие с ЭВМ на ЕЯ.Архитектура систем обработки естественного языка в общем случае включает блок анализа речевого сообщения пользователя, блок интерпретации сообщения, блок порождения смысла ответа и блок синтеза поверхностной структуры высказывания. Особой частью системы является диалоговый компонент, в котором фиксированы стратегии ведения диалога, условия применения этих стратегий, способы преодоления возможных коммуникативных неудач.
Диалоговый компонент.Диалоговый компонент системы общения на ЕЯ должен обеспечивать коммуникативное взаимодействие на глобальном уровне (стратегия ведения диалога в зависимости от решаемых задач), на уровне тематической структуры (выбор и отождествление конкретной проблемы), а также на уровне речевых действий (последовательностей речевых актов участников). Степень проработки каждого из этих уровней в конкретных алгоритмах системы может быть различной. Это определяется общими задачами системы ИИ, в которую встроена система диалогового взаимодействия. Стратегии ведения диалога и его тематическая структура обычно представляется в виде сценариев. Сценарии могут вводиться в систему изначально или порождаться ею в зависимости от конкретной задачи. Готовые сценарии используются в тех случаях, когда система ориентирована на узкую проблемную область и требуется значительное быстродействие. По большей части это общение с базами данных, а также задачи устранения коммуникативных неудач. Если готовый сценарий в системе отсутствует, в архитектуре программы предусматривается специальный блок планирования, который формирует сценарий для данной проблемной ситуации, данного диалога. Порождение сценариев предпочтительно для таких систем ИИ, когда полное исчисление типов ситуаций общения изначально предусмотреть невозможно. Такова, например, специфика общения с экспертными системами.
На уровне речевых действий в системах используются разработанные в лингвистике модели диалогового взаимодействия. Центральную роль здесь играет представление о коммуникативном шаге (ходе), вынуждаемом ситуацией или предшествующими коммуникативными ходами. Так, речевой акт вопроса (инициирующий шаг) иллокутивно вынуждает речевой акт ответа (реактивный шаг); речевой акт разрешения вынуждается речевым актом просьбы и т.д.23) Типичные последовательности иллокутивно связанных реплик фиксируются в диалоговом компоненте и используются системой в планировании коммуникативного поведения на уровне речевых действий.
Блок понимания.Понимание высказываний предполагает два основных этапа — анализ и интерпретация. На этапе анализа происходит морфологический анализ словоформ и синтаксический и семантический анализ предложений. Особенности построения систем поддержки диалога с ЭВМ таковы, что часто граница между синтаксическим и семантическим анализом почти отсутствует. Общая тенденция построения алгоритмов работы программ сводится к тому, чтобы как можно быстрее перейти от поверхностного уровня к уровню глубинной семантики и к уровню концептуальных структур, чтобы компенсировать возможные недостатки или ошибки работы грамматических парсеров (программ грамматического анализа). Достигается это за счет богатой модели мира (детального представления проблемной области в модели мира), позволяющей восстановлять опущенные или неопознанные связи.
23) О понятии иллокутивного вынуждения см. [Баранов, Крейдлин 1992 а; Баранов, Крейдлин 1992 6].
Блок порождения высказываний.Порождение высказываний в системах поддержки диалога с ЭВМ предполагает этап синтеза содержания в виде концептуального представления на специальном метаязыке и этап оформления содержания в высказывание. На первом этапе определяется объем информации, которую следует передать пользователю, уровень общности информации; предполагаемое членение информации на «порции», соответствующие предложению; определение последовательности «порций» смысла; выявление частей содержания, соответствующих предполагаемым границам слов; построение семантического представления отдельных предложений. На втором этапе происходит упаковка семантического представления высказывания в синтаксические структуры предложения. Здесь, среди прочих, играют существенную роль категории коммуникативной организации смысла высказывания — тема, рема, данное, новое и др.
Элементы типологии систем, обеспечивающих взаимодействие с ЭВМ на ЕЯ.Среди систем рассматриваемого типа обычно выделяются вопросно-ответные системы, диалоговые системы решения задач и системы обработки связных текстов24).
Изначально вопросно-ответные системыстали разрабатываться как реакция на плохое качество кодировки запросов при поиске информации в информационно-поисковых системах. Поскольку проблемная область таких систем была сильно ограничена, это несколько упрощало алгоритмы перевода запросов в представление на формальном языке и обратную процедуру преобразования формального представления в ЕЯ-высказывания. Из отечественных разработок к программам такого типа относится система ПОЭТ, созданная коллективом исследователей под руководством Э. В. Попова. Она обрабатывает запросы на русском языке (с небольшими ограничениями) и синтезирует ответ. Блок-схема программы предполагает прохождение всех этапов анализа — морфологический, синтаксический и семантический анализ и соответствующих этапов синтеза. Запросы преобразуются во внутреннее представление системы, которое сопоставляется с данными по проблемной области, после чего синтезируется ответ. Система ПОЭТ может отвечать на вопросы о перевозках грузов — количестве, времени, затратах и пр. В вопросно-ответных системах ЭВМ играет пассивную роль, интерпретируя каждую реплику пользователя как информационный запрос. Пользователь не может задавать вопросы о свойствах системы, о ее структуре. Имеются ограничения и на форму запроса — он должен выражаться только одним речевым актом.
Одна из наиболее сложных проблем разработки вопросно-ответных систем — способы организации данных. В некоторых системах для обработки и хранения данных используются «списочные» языки типа LISP. Они позволяют существенно упростить логику поиска и приблизить алгоритмы обработки запроса к алгоритмам обработки базы данных.
24)Классификация дается по [Преображенский 1990].
Фактически языки списков представляют собой готовую структуру для хранения информации. Например, в программе BASEBALL, предназначенной для ответа на вопросы об играх в американской бейсбольной лиге, формат структуры данных имеет следующий вид:
ГОД
МЕСЯЦ
МЕСТО
(номер игры, день (команда, счет) (команда, счет)) (номер игры, день (команда, счет) (команда, счет))
(номер игры, день (команда, счет) (команда, счет))
Работа программы BASEBALL основывается на двух важнейших понятиях — «путь данных» и «список спецификаций». Путь данных — это последовательность ветвей или терминальных узлов в дереве хранения информации, которую надо пройти, чтобы получить информацию о конкретной игре. Например, путь «ГОД = 1959, МЕСЯЦ = АПРЕЛЬ, МЕСТО = БОСТОН, ИГРА = 55» определяет некоторую конкретную игру со всей предусмотренной информацией. Список спецификаций порождается лингвистическим процессором при обработке запроса и представляет собой набор признаков или условий, которыми должен обладать путь данных, чтобы быть ответом на поставленный вопрос. Например, списком спецификаций запроса Где играла в июле команда «Редокс» ? будет следующее выражение:
МЕСТО =?
КОМАНДА = РЕДОКС
МЕСЯЦ = ИЮЛЬ25)
После формирования списка спецификаций программа порождает все пути данных, которые согласуются с этим списком [Хант 1978, с. 439-443].
Диалоговые системы решения задачв отличие от систем предшествующего типа играют в коммуникации активную роль, поскольку их задача заключается в том, чтобы получить решение проблемы на основе тех знаний, которые представлены в ней самой, и той информации, которую она может получить от пользователя. Система содержит структуры знаний, в которых фиксируются типичные последовательности действий для решения задач в данной проблемной области, а также сведения о необходимых ресурсах. Когда пользователь задает вопрос или ставит определенную задачу, активизируется соответствующий сценарий. Если какие-то компоненты сценария пропущены или отсутствуют какие-то
25)' Год в данном случае не нужен, поскольку разработанный вариант системы содержал информацию только об играх 1959 г.
ресурсы, система выступает инициатором коммуникации. Так, система SNUKA решает задачи планирования военных операций, ср. пример диалогового решения задачи этой системой:
П{ользователь} 1: я хочу направить 4 самолета из 707 истребительной эскадрильи для удара по Бостону между 11.40 и полуднем
С{истема}1: какие самолеты вы хотите послать?
П2: какие самолеты имеются в эскадрилье?
С2: в 707 истребительной эскадрилье F-4S
СЗ: вы хотели бы использовать F-4S?
ПЗ: нет, лучше F-16S из 606 истребительной эскадрильи
С4: в 606 истребительной эскадрилье нет F-16S
П4: где имеются F-16S?
С4: F-16S имеются на аэродромах Кеннеди и Лагардия
П5: в каких эскадрильях на Лагардии они имеются?
С6: F-16S имеются в 808 и 909 истребительных эскадрильях
П6: возьмите их из 808 истребительной эскадрильи на Лагардии
С7: какая система вооружения должна быть на F-16S?
П7: какие возможны?
С8: на F-16S могут быть системы Dl, D2 и D4
П8: ударьте по цели системой D4 и спланируйте остальное
С9: время достижения цели: 11.50 время вылета: 11.20 позывной: РЕАСЕ-726)
Из приведенного примера видно, что в ряде случаев программа берет на себя инициативу в диалоге. Уже второй ход инициируется ЭВМ. Это связано с тем, что один из пунктов сценария планирования нападения — тип самолета — пропущен. По той же причине система синтезирует вопрос на седьмом шаге.
Системы обработки связных текстовдовольно разнообразны по структуре. Их общей чертой можно считать широкое использование технологий представления знаний. Функции систем такого рода заключаются в понимании текста и ответах на вопросы о его содержании. Понимание рассматривается не как универсальная категория, а как процесс извлечения информации из текста, определяемый конкретной коммуникативной интенцией. Иными словами, текст «прочитывается» только с установкой на то, что будущий пользователь захочет узнать о нем. Тем самым и системы обработки связных текстов оказываются отнюдь не универсальными, а проблемно-ориентированными.
Типичными примерами систем обсуждаемого типа могут служить системы RESEARCHER [Lebowitz 1985] и TAILOR [Маккьюин 1986], образующие единый программный комплекс, позволяющий пользователю получить информацию из рефератов патентов, описывающих сложные физические объекты. Программа RESEARCHER обрабатывает рефераты
26)' Воспроизводится по [Преображенский 1990, с. 52].
патентов (на английском языке), вводит выявленную информацию в базу знаний и даже способна делать обобщенные выводы относительно объектов, описываемых в рефератах. Программа TAILOR образует вторую часть этого комплекса, обслуживая вопросно-ответные функции. Внутреннее представление в системе RESEARCHER основано на теории концептуальных зависимостей, сформулированной Р. Шенком. Внутреннее представление позволяет фиксировать информацию о иерархическом членении объекта на отдельные компоненты, о функциональных отношениях между объектами и о свойствах описываемых объектов. При поступлении рефератов патентов система не только выявляет содержащуюся в нем информацию, но и интегрирует ее в базу знаний, включая лишь то, что является новым.
Программа TAILOR для синтеза ответов использует комплекс дискурсивных стратегий, определяемых коммуникативным намерением и стандартной дискурсивной практикой обсуждения определенной темы. В каждой проблемной области допускаются (разрешены) свои способы объяснения или определения чего-либо. Дискурсивные стратегии состоят из риторических предикатов типа «аналогия», «состав» (описание компонентов), «атрибутив» (сообщение дополнительной информации о некоторой сущности). Так, дискурсивная стратегия ОПИСАНИЯ включает такие предикаты, как «отнесение объекта к обобщенному классу», «перечисление компонентов объекта и их специфических функций в рамках целого», «сообщение каких-то дополнительных сведений». Дискурсивная стратегия описания позволяет системе синтезировать следующий ответ на запрос пользователя о телефоне: «Телефон — это устройство. Телефон состоит из микрофона, корпуса, шнура и приемника; микрофон имеет двухрезонансную систему и диафрагму. Корпус — это своего рода кожух. Шнур — это провод. (...)». Идеология дискурсивных стратегий была использована К. Маккьюин также для разработки системы TEXT, синтезирующей ответы на вопросы к базе знаний некоторой проблемной области (корабли и вооружение военно-морского флота). Важно отметить, что дискурсивные стратегии позволяли базе данных отвечать пользователю не только на конкретные вопросы фактического характера, но и на вопросы об устройстве самой базы, о свойствах объектов, представленных в базе.
Основная литература
1.Городецкий Б. Ю. Компьютерная лингвистика: моделирование языкового общения // Новое в зарубежной лингвистике. Вып. XXIV. Компьютерная лингвистика. М., 1989. С. 5-31.
2.Маккьюин К. Дискурсивные стратегии для синтеза текста на естественном языке // Новое в зарубежной лингвистике. Вып. XXIV. Компьютерная лингвистика. М., 1989. С. 311-356.
3.Попов Э. В., Преображенский А. Б. Особенности реализации ЕЯ-систем // Искусственный интеллект. Кн. I. Системы общения и экспертные системы. М., 1990. С. 9-32.
4. Преображенский А. Б. Состояние развития современных ЕЯ-систем // Искусственный интеллект. Кн. 1. Системы общения и экспертные системы. М., 1990. С. 32-64.
Дополнительная литература
1.Кобозева И. М., Лауфер Н. И., Сабурова И. Г. Моделирование общения в человеко-машинных системах //Лингвистическое обеспечение информационных систем. М., 1987. С. 73-101.
2.Попов Э. В. Общение с ЭВМ на естественном языке. М., 1982.
3.Садур В. Г. Речевое общение с электронно-вычислительными машинами и проблемы их развития // Речевое общение: проблемы и перспективы. М., 1983. С. 78-113.