Разработка диалоговой системы с применением корпуса
Маре Койт
Тартуский университет
- Введение
В первые годы автоматической обработки естественного языка диалог рассматривался, в основном, в рамках двух задач – машинный перевод и вопросно-ответные системы для общения человека с базами данных. Однако, попытки создать естественно-языковый интерфейс к базам данных во многом остались только исследовательской целью и не нашли выхода на практику.
Теперь снова поднялся интерес к моделированию кооперативных диалогов, практическими применениями чего могут являться, например, интерактивные услуги по телефону или через Интернет. В 1998 году под эгидой Ассоциации вычислительной лингвистики (ACL) была создана специальная группа интереса SIGdial (http://www.sigdial.org), соединяющая людей, занимающихся исследованием дискурса и диалога. SIGdial распространяет лингвистические ресурсы и проводит международные семинары, посвященные общению с компьютером на естественном языке (в 2000 году сателлит-семинар конференции LREC в Афинах, семинар SIGdial в Хонг Конге).
В данной статье рассматриваются некоторые проблемы построения естественно-языковой диалоговой системы. Такая система выступает в качестве интеллектуального агента, способного участвовать в естественном диалоге, т.е. общении, происходящем на естественном языке и по правилам общения между людьми.
- Речевые диалоговые системы
Диалоговый компонент в процессе общения человека с компьютером необходим по нескольким причинам. Часто пользователь не выражает свое обращение к системе в виде одного предложения, т.к. это было бы непрактично. Наоборот, он ожидает участия от системы. Кроме этого, диалоговая система должна суметь распознавать речь и исправлять ошибки.
Исследование человеко-машинного общения исторически проходила по двум направлениям – анализ дискурса и конверзационный анализ (Giachin 1996). Анализ дискурса исходит из изучения речевых актов и рассматривает диалог как рациональную кооперацию, предполагая, что высказывания говорящего – правильно построенные предложения. Конверзационный анализ изучает общение как социальную интеракцию, принимая в учет и такие явления, как прерывание связности и резкое переключение фокуса.
Ядром речевой системы общения является управляющий диалогом, который функционирует согласно модели диалога. При этом, применяемая им стратегия может находиться между двумя крайностями – полная свобода пользователя, или диалог, полностью определяемый системой. В первом случае диалог естествен, но имеется опасность неправильно понимать ползователя. Во втором случае анализ реплик пользователя осуществляется проще, но диалоги могут оказаться длинными и недружескими.
В процессе разработки и тестирования диалоговой системы большое значение имеет аннотированный диалоговый корпус, состоящий из диалогов – записей конверзаций между людьми. При этом следует учитывать, что письменные диалоги отличаются от устных, так что, зависимо от целей, нужно собирать либо письменный, либо устный материал, соответственно, из печатных источников (прежде всего, из художественной литературы) или звуковых записей. Корпус дает эмпирический материал и для развития теории диалога.
- Разные модели диалога
При моделировании диалога целью исследователя является создание теории диалога и разработка алгоритмов, действуя по которым, компьютер (диалоговая система) смог бы участвовать в процессе общения с человеком. Имеется три подхода к моделированию диалога (Cohen 1996): 1) диалоговые грамматики, 2) методы, основывающиеся на планах, 3) теории совместного действия.
Диалоговые грамматики исходят из предположения, что в диалоге имеется ряд последовательных регулярностей. Например, вопросу, как правило, следует ответ, предложению – его принятие или отклонение. Диалоговая грамматика обычно представляется в виде порождающей грамматики или автомата состояний. Терминальными элементами грамматики являются названия иллокуционарных речевых актов (вопрос, ответ и т.п.). Нетерминалы описывают разные стадии диалога - открытие, реакцию, закрытие. С помощью диалоговой грамматики, однако, можно выражать только простейшие закономерности диалогового поведения, исходящие из предположения, что высказывания однофункциональны. В действительности же, высказывание может носить несколько функций, например отказ одновременно может оказаться и утверждением.
Модели, основывающиеся на планах, исходят из предположения, что каждое высказывание представляет собой реализацию некоторых коммуникативных действий – речевых актов. В общении люди имеют определенные цели, и они планируют свои коммуникативные действия, чтобы достичь этих целей. Одной целью может являться добивание изменений в ментальном состоянии партнера. Слабостью этого подхода является недостаточная теоретическая база. Например, трудно определить такие понятия, как план, цель, намерение, и точно описывать ментальное состояние участника общения.
Теории совместных действий рассматривают диалог, как процесс, реализуемый общими напряжениями его участников, каждый из которых несет ответственность за его продолжение. Участник общения обязан понять своих партнеров. В общении между людьми это выражается, например, через уточняющие вопросы, обьяснения, утверждения.
- Теория рациональных агентов
Прагматика дискурса и диалога исходит из предположения, что как говорящий, так и слушающий являются рациональными агентами. Теория рациональных агентов рассматривает дискурс и диалог, как поведение, определяемое мнениями, желаниями и намерениями агентов, и ограниченное ресурсами, которые они имеют при себе (Webber 2000). Планирование, т.е. процесс, в котором намерениям говорящего ставятся в соответствие действия, и распознавание плана, т.е. процесс, в котором слушающий понимает намерения говорящего, оба могут рассматриваться как процессы поиска, где делаются выводы в условиях ограниченных ресурсов.
Основной подход к планированию, имеющий свое начало в искусственном интеллекте (Newell, Simon 1963), исходит из предположения, что цель (намерение) вызывает составление плана для ее реализации. Широко известен алгоритм STRIPS (Fikes, Nilsson 1971), выражающий такие признаки намерений и действий, как, например, наличие предусловий и последствий, и обстоятельство, что если мнения агента изменяются, то он может выдвигать новую цель. В настоящее время рассматриваются и более сложные модели, учитывающие, например, следующие обстоятельства (Webber 2000).
1) Мнения планирующего/говорящего могут отличаться от мнений слушающего и оказаться неправильными.
2) В ходе диалога не только проводится действие, но могут обсуждаться и разные возможности его проведения.
3) Диалог предполагает кооперативность участников.
4) Планирующие агенты имеют свои предпочтения, так что способы достижения целей и реализации планов действий могут различаться.
5) Говорящий посредством своего речевого акта может не достигать цели, таким образом, он должен получить обратную связь от слушающего, чтобы давать обьяснения, если это необходимо.
6) В процессе общения происходит передача информации, с целью реализовать определенные намерения.
- Структура диалога
Как уже было отмечено (п. 2), для разработки диалоговой системы желательно иметь диалоговый корпус, в котором были бы аннотированы феномены, интересующие разработчика. Рассматриваем, для примера, корпус MapTask (http://www.cogsci.ed.ac.uk/~jeanc/maptask-coding-html/), состоящий из диалогов, где оба участника имеют чуть разные версии одной и той же географической карты, и один из участников к концу общения должен на своей карте суметь отметить тот же самый маршрут, который вначале был отмечен на карте партнера. Общение происходит между людьми, но посредством компьютера. Здесь применяется трехуровневая система аннотирования. На самом высоком уровне диалог разделяется на трансакции - это поддиалоги, возникающие при решении одной подзадачи. Типичной трансакцией считается поддиалог, в результате которого участник разгадал один участок маршрута. Трансакции, в свою очередь, состоят из диалоговых игр, или смен. Смена – последовательность высказываний, начинающаяся с инициации и заканчивающаяся с достижением цели (или отказом от нее). Типичная смена – вопрос, которому следует ответ, или предложение, которому следует его принятие или отклонение. Смена состоит, как минимум, из двух обращений (реплик) разных участников. Каждое обращение может состоять из одного или нескольких коммуникативных шагов (речевых актов). В корпусе MapTask шаги делятся на инициирующие (предложение, вопрос, обьяснение) и реагирующие (отклонение, ответ).
В проекте МАТЕ (http://mate.nis.sdu.dk), в котором с участием выдающихся исследовательских центров Европы было проанализировано около 60 систем аннотирования диалогов, система, применяемая в MapTask, оценивается, как одна из самых удачных.
В результате проекта MATE был разработан пакет программ, применяемый для аннотирования речевых диалогов на разных уровнях (прозодия, морфосинтаксис, кореференция, диалоговые акты, коммуникативные проблемы, проблемы между разными уровнями). С помощью этого пакета пользователь может либо развивать свою собственную систему аннотирования, либо применять одну из тех, которые включены в пакет. Для аннотирования диалоговых актов в пакет включены (уже упомянутая) система MapTask, система VERBMOBIL (http://verbmobil.dfki.de/verbmobil/), а в качестве возможного будущего стандарта – система DAMSL (http://www.cs.rochester.edu/research/ cisd/resources/damsl/).
- Система аннотирования корпуса диалогов
В Тартуском университете уже в течение нескольких лет происходят исследования в области моделирования диалога. В ряде наших статей представлена модель конверзационного агента, функционирование которого нами до сих пор рассматривалось в рамках одной определенной задачи (Койт 1996, 1999, 2000; Koit 1996; Oim 1996; Koit, Oim 2000a,b). Участники общения – А и Б, и коммуникативной целью А является добиться от партнера решения о выполнении некоторого действия Д. В состав нашей модели входят модель партнера Б – его предполагаемые оценки к разным аспектам действия Д – и модель рассуждения, обе применяемые участником А для прогнозирования решения Б, чтобы А смог выбрать подходящую тактику для достижения своей цели – соблазнение, убеждение или угрожение партнера.
Теперь мы решили расширить нашу модель, чтобы рассматривать информационно-справочные диалоги. Для развития модели диалога с целью построения диалоговой системы нам нужен эмпирический материал в виде диалогового корпуса. У нас уже имеется некоторое количество записанных и литерированных телефонных разговоров, теперь их следует аннотировать. Прежде всего нас интересует структура диалога на уровне речевых актов. Пока мы исходим из следующего представления о структуре диалога.
Диалог состоит из трансакций. Каждая трансакция состоит из одного или нескольких смен, связанных с одной темой. Каждая смена состоит из речевых актов. Смены разделяются на конверзационные и организационные. Конверзационные смены определяют содержание общения, развитие темы. Типичными конверзационными сменами в информационно-справочных диалогах являются пары вопрос – ответ. Организационные смены связывают друг с другом (или разрывают) конверзационные смены. Сменами такого вида являются, например, ритуалы, типично применяемые в начале или конце общения, или исправления, применяемые либо автором, либо адресатом исправляемого речевого акта.
Приведем в качестве примера часть нашей схемы аннотирования в виде порождающей грамматики. (Ф обозначает пустой речевой акт.)
диалог::= трансакция | диалог трансакция
трансакция::= смена | трансакция смена
смена::= организационная-смена | конверзационная-смена
организационная-смена ::= ритуал | исправление
ритуал::= привет обратный-привет | прощание обратное-прощание
исправление::= исправление-от-слушателя | самоисправление
исправление-от-слушателя::= инициирование-исправления проведение-исправления
самоисправление::= переформулирование Ф
конверзационная-смена::= директивная-смена | вопросно-ответная-смена | информирующая-смена
директивная-смена ::= д-первый-член д-второй-член
д-первый-член::= команда | просьба | предложение
д-второй-член::= соглашение | исполнение | отказ
вопросно-ответная-смена::= в-первый-член в-второй-член
в-первый-член::= общий-вопрос | специальный-вопрос
в-второй-член::= да | нет | передача-информации
информирующая-смена::= и-первый-член и-второй-член
и-первый-член::= передача-информации
и-второй-член::= сигнал-о-принятии-информации | Ф
Речевые акты, выступающие в качестве терминальных элементов грамматики, мы собираемся представить в виде фреймов. Каждый речевой акт содержит две части – статическую и динамическую. Статическая (декларативная) часть состоит из 1) предусловий, 2) цели, 3) содержания и 4) последствий речевого акта. Динамическая (процедурная) часть содержит два вида процедур - 1) процедуры, применяемые автором речевого акта для порождения коммуникативного шага, в состав которого будет входить данный акт, и 2) процедуры, применяемые адресатом для интерпретирования этого акта и порождения ответа к нему. Приведем в качестве примера определение речевого акта Предложение (Koit, Oim 2000a).
ПРЕДЛОЖЕНИЕ (выполнить действие Д; автор речевого акта - А, адресат - Б)
- Статическая часть
Предусловия
- А имеет цель Ц
- А считает, что Б тоже имеет цель Ц
- А считает, что для достижения Ц сперва нужно достичь инструментальную цель Ци
- А считает, что Б тоже считает, что для достижения Ц сперва нужно достичь инструментальную цель Ци
- А считает, что необходимое условие для достижения Ци – чтобы Б сделал Д
- А считает, что Б имеет ресурсы для выполнения Д
- А считает, что Б принимает решение выполнить Д
Цель
Б принимает решение делать Д
Содержание
А скажет Б, чтобы тот сделал Д
Последствия
- Б знает Предусловия, Цель и Содержание
- А знает, что Б знает Предусловия, Цель и Содержание
II. Динамическая часть
Процедуры порождения (возможности А строить обращение, содержащее предложение)
Если А не уверен в Предусловии 2, то добавить сообщение цели Ц
Если А не уверен в Предусловии 4, то добавить аргумент (передача информации) в пользу Ци
Если А не уверен в Предусловии 6, то добавить вопрос
Если А не уверен в Предусловии 7, то добавить аргумент в пользу положительного решения
Процедуры интерпретации-порождения (возможные реакции Б)
Если Б считает, что не выполнены предусловия 2,4,5: вопрос (спрашивать дополнительную информацию)
Если Б считает, что не имеет ресурсы (не выполнено Предусловие 6): отказ (+ аргумент)
Если решение Б отрицательно (не выполнено Предусловие 7): отказ (+аргумент)
- Заключение
У нас уже имеется некоторая программа – диалоговая система (авторами которой являются студентки специальности информатики Тартуского университета М. Кулласаар и Э. Нурмсалу), способная общаться с пользователем на естественном языке и выполнять, по выбору, либо роль А, либо Б в вышеописанной простой коммуникативной ситуации, при этом общение происходит посредством текстов. Как компьтер, так и пользователь выбирают реплики из заданных списков предложений, через меню, т.е. морфологический и синтаксический анализ и синтез не выполняются, а семантический анализ и синтез предельно упрощены с заданием классификации предложений. Таким образом, в нашей диалоговой системе не осуществлены лингвистический процессор и база лингвистических знаний, а интерпретатор и генератор реплик реализованы в самой простой форме. Если до сих пор мы ограничились моделированием процесса аргументации, то в дальнейшем мы собираемся расширить нашу модель, чтобы применить ее в области информационно-справочных диалогов. Наша ближайшая задача - составление диалогового корпуса, для аннотирования которого мы предполагаем применить программное орудие проекта MATE и вышеописанную грамматику речевых актов.
Благодарность
Работа выполнена при частичной финансовой поддержке Эстонского научного фонда (грант 4555).
Литература
(Cohen 1996) Cohen, Philip. Discourse and Dialogue: Dialogue Modelling. In: Survey on the State of Art in Human Language Technology. Ed. P. Cohen. Oregon Graduate Institute.
(Fikes, Nilsson 1971) Fikes, Richard, Nilsson, Nils. STRIPS: a new approach to the application of theorem proving to problem solving. In: AI Journal 2, 189-208.
(Giachin 1996) Giachin, Egidio. Spoken Language Dialogue. In: Survey on the State of Art in Human Language Technology. Ed. P. Cohen. Oregon Graduate Institute.
(Heeman, Hirst 1995) Heeman, Peter, Hirst, Graeme. Collaborating on referring expressions. In: Computational Linguistics, Vol. 21, No. 3, 351-382.
(Koit 1996) Koit, Mare. Implementing a dialogue model on the computer. In: Estonian in the changing world. Ed. H. Õim. Tartu. 99-114.
(Koit, Oim 2000 a) Koit, Mare, Oim, Haldur. Developing a model of natural dialogue. In: From spoken dialogue to full natural interactive dialogue-theory, Empirical analysis and evaluation. LREC2000 Workshop proceedings, Ed. L. Dybkjær. Athen, 18-21.
(Koit, Oim 2000 b) Koit, Mare, Oim, Haldur. Dialogue management in the agreementnegotiation process: a model that involves natural reasoning . In: Proc. Of the 1stSIGdial Workshop on Discourse and Dialogue”, Ed. L. Dybkjær, D. Traum. Hong Kong, 102-111.
(Newell, Simon 1963) Newell, Allen, Simon, Herbert. GPS, A Program that Simulates Human Thought. In: Computers and Thought. Ed. E. Feigenbaum, J. Feldman. McGraw-Hill. 279-293.
(Oim 1996) Oim, Haldur. Naļve theories and communicative competense: reasoning in communication. In: Estonian in the changing world. Ed. H. Õim. Tartu. 211-231.
(Webber 2000) Webber, Bonnie. Computational Perspectives on Discourse and Dialogue. In: The Handbook of Discourse Analysis. Ed. D. Schiffrin, D. Tannen, H. Hamilton. Blackwell Publishers Ltd.
(Койт 2000). Койт, Маре. Тренировка общения с помощью компьютера: об одном применении модели диалога. Тр. Международного семинара Диалог'2000 по компьютерной лингвистике и ее приложениям. Протвино. Т.2, с. 182-188.
(Койт 1999) Койт, Маре. Управление процессом общения в диалоговой системе. - Тр. Международного семинара Диалог'1999 по компьютерной лингвистике и ее приложениям. Таруса. Т.2, с. 124-129.
(Койт 1996) Койт, Маре. Моделирование воздействия на партнера в человеко-машинном диалоге. – Новости искусственного интеллекта. Москвa. Т.2, с. 79-86.