Актуальные вопросы компьютерной лингвистики Часть 2. Генерация текстов на ЕЯ Введение История Обзор существующих систем с разным типом входных данных: поток данных Информация об объектах и явлениях Формальные спецификации Семантическое представление Цель исследований по генерации текстов на ЕЯ: создание интеллектуальных компьютерных систем, которые бы могли производить понятные для человека тексты на различных ЕЯ На входе: например, таблицы баз данных (БД), формальные спецификации программ, метеорологические карты. На выходе: типовые документы, такие как отчеты, разъяснения и справочная информация. История Самой популярной теорией генерации становится системно-функциональная грамматика (Systemic Functional grammar - SFG) M.A.K. Хэллидэя (лингвистическая основа первой системы искусственного интеллекта с развитым лингвистическим компонентом - робот Т. Винограда) в конце 80ых – генератор английского языка PENMAN в конце 90ых годов - универсальная среда KPML (http://purl.org/net/kpml) К середине 90ых годов новое направление – многоязыковая генерация (МЯГ), (Канада, Великобритания, Германия) сплав двух направлений – МП на основе языкапосредника и генерации ЕЯ система FoG (Канада в начале 90ых годов) предназначена для генерации морских сводок погоды на французском и английском языках на основе метеорологических данных. Special Interest Group on GENeration (SIGGEN) http://www.cs.columbia.edu/~acl/. каталог выполненных проектов по созданию систем ГЕЯ (“The John Bateman and Michael Zock's list of Natural Language Generation Systems”, http://purl.org/net/nlg-list) Отечественная традиция Во второй половине 70ых годов проводятся пионерские исследования Ю.С.Мартемьянова по созданию действующего генератора Э.В.Попова « Общение с ЭВМ на естественном языке» (Москва, 1987 г.) основная проблематика синтеза – теория дискурса, фокус внимания, референция Отечественные разработки 80-90х А.Б.Сосинский - штамповая грамматика в предметной области (ПО) математических статей система синтеза описания трехмерной сцены (уличные сцены с 30 объектами), работы по генерации формулы изобретения С.Шаров, Е.Г.Соколова - многоязыковой генератор AGILE (русская часть) Болдасов, Е.Г.Соколова – генерация запросов к БД Принципы организации систем 1. Шаблонные системы система хранит уже готовую строку, шаблон, возможно с несколькими пропусками, которые заполняются при выдаче сообщения значениями, соответствующими характеру ошибки. Например, система, выдающая сообщение о невозможности найти тот или иной файл, может использовать строку «Не могу найти » « файл(ы)!». Более сложные шаблонные системы дополнительно проводят ограниченную лингвистическую обработку генерируемого текста Пример 1. система Employee Appraiser (производитель – фирма Austin-Haynes) система, помогающая менеджерам составлять деловые характеристики на сотрудников. - набор оценочных тем, таких как, Общение, - более специфичные подтемы, например, Устный обмен идеями - Множество готовых абзацев или предложений, соответствующих этим темам и подтемам - Параметры, уточняемые пользователем, например, пол сотрудника, лицо (Например, текст во втором лице (вы) адресован самому сотруднику, текст в третьем лице (он / она) – администрации) Performance Now (производитель – фирма KnowledgePoint) поддерживает генерацию только в третьем лице, зато осуществляет простейшее планирование текста и предложений Bert does not display the verbal communication skills required, and his written communications fall short of the quality needed. Additionally, he does not exhibit the listening and comprehension skills necessary for satisfactory performance of his job. Текст составлен из 3-х фраз, полученных из библиотеки, вставлены подчеркнутые слова. В тексте характеристике фразы упорядочиваются по степени их «негативности» Пример генерации текста в 09 Шаблоны: Как___ Х? У нас два Z: X и У. Вы хотите узнать номер телефона Х (или У)? Х находится на У и т.п. Состояние, вызывающее обращение к определенному шаблону: Фрейм запроса: Цель запроса Тип объекта Адрес Ok булочная ? Результат: На какой улице находится булочная? Генерация реплик в диалоговых системах диалоговая система ELIZA (1966 г.). Типы реплик: штамп, - продолжение диалога, например, “Продолжайте”, штамп - реакцией на семантику слова из реплики пользователя, например, “Расскажите мне о своей семье” (как реакция на слово “мать”), моделируется из опознанного системой лексикосинтаксического шаблона реплики пользователя (замена в нем некоторых элементов: например, шаблон “X he Y me” (“Because he hates me.”) две синтаксических реакции: “Why do you think he hates you?”; “Supose he did hate you?” ) «Идеальный» генератор Основные компоненты системы: Система знаний Коммуникативная цель Модель адресата Контекст повествования (история дискурса) Лингвистические уровни преобразоваия: концептуальный уровень, семантический уровень, риторический уровень, синтаксический уровень текстовый уровень (quote) Межъязыковые явления Межъязыковые явления Основные этапы Планирование содержания текста или Макропланирование. План текста (ср. дерево сообщений, например, A-box в системе AGILE; Планирование предложений или Микропланирование. уточняется структура отдельных предложений текста, строятся семантические планы предложений, например, представления SPL в системе AGILE; Языковое оформление Построенные грамматические струткуры с накопленными в них морфологическими признаками преобразуются в ЕЯ предложения, а затем в текст Ср. исследования Чейфа «Память и вербализация прошлого опыта». Новое в зарубежной лингвистике вып. XII. Действующие прикладные системы В всегда четко задан тип входных данных и тип текстов, которые он умеет порождать. Во входных данных определяющую роль играет система знаний. Часто другие составляющие жестко зашиты в системе Например, в системе TEXT выбирается тип текста (коммуникативная цель), в системе AGILE выбирается стиль текста, учитывающий как компетенцию адресата, так и его социальный статус (модель адресата). Типы входных данных для систем генерации ЕЯ Поток данных, Информация об объектах и явлениях, Формальные спецификации; Семантическое представление. Генерация из входных данных типа «поток данных» «поток данных» - физические измерения или статистические данные мониторинга свойств объектов или явлений, проводимых через определенные отрезки времени. например, метеорологические (погода), социологические (занятость населения), финансовые (биржевые сводки) и др. констатируется наличие определенных отношений, значений атрибутов. объектов, Эта информация не организована для передачи адресату в ходе ЕЯ коммуникации. поток данных синтез текстов отчетов, описывающих состояние объектов или состояние дел. Генерация из входных данных типа «поток данных». Примеры систем FoG (1989-2000) – (Bateman, J. A. Anabling technology for multilingual natural language generation: the KPML environment. In: Natural Language Engineering, 1997, 1(1). Goldberg, E., Driedgar, N., and Kittredge, R. Using natural-language processing to produce weather forecasts. IEEE Expert, 1994, 9(2): 45-53.) Система синтезирует метеорологические сводки о состоянии погоды для кораблей на основании таблицы замеров погодных параметров (направление и сила ветра, температура и др.) на английском и французском языках В настоящее время система FoG успешно применяется в службе Гидрометцентра Канады и позволяет экономить этой службе значительные затраты на составление описаний сводок погоды на двух государственных языках – английском и французском Генерация из входных данных типа «поток данных». Примеры систем ANA (1983) – синтезирует на английском языке отчеты о состоянии биржи (объем продаж, состояние на момент закрытия биржи, изменение индекса Доу Джонса и т.д.) на основании таблицы данных фондовой биржи за день. Генерация из входных данных типа «поток данных». Примеры систем PostGraphe (1996) – синтезирует текстовые отчеты и графики динамики прибыли компаний по статистической табличной информации о прибыли De 1987 à 1989 les profits de la compagnie A ont augmenté de 30$ á 40$. Jusqu’en 1990 ils ont diminué de 40$ á 35$. De 1987 à 1988 les profits de B ont augmenté de 160$ á 165$. Pendant 1 année ils ont diminué de 25$. Jusqu’en 1990 ils ont augmenté de 140$ á 155$. Генерация из входных данных типа «поток данных». Примеры систем Gossip (1988) – синтезирует на английском языке отчеты об использовании машинного времени пользователями на основании таблицы данных Пример текста, порожденного системой Gossip: The system was used for 7 hours 32 minutes 12 seconds. The users of the system ran compilers and editors during this time. The compilers were run six times, for 47% of the cpu time. The editors were run twelve times, for 53% of the cpu time. Two users, Jessie and Martin, logged on to the system. Jessie used the system for 63% of the time in use. Martin used the system for 40% of the time in use. Генерация из входных данных типа «информация об объектах и явлениях» Как и в потоке данных, во входных данных типа «Информация об объектах и явлениях» констатируется только наличие определенных объектов, отношений, значений атрибутов. Эта информация также не организована для передачи адресату в ходе ЕЯ коммуникации. Однако, она имеет более структурированный вид. Данные этого типа обычно представляется реляционными отношениями БД или объектными структурами. Генерация из входных данных типа «информация об объектах и явлениях». Примеры систем TEXT [30] (1980-1985) (McKeown [K Маккьюин К. (1989) Дискурсивные стратегии для синтеза текста на естественном языке // НЗЛ. Вып. XXIV. M, 1989. C. 311-356. ]) синтезирует ответы на вопросы пользователей о структуре базы данных по морским транспортным средствам и средствам разрушения. В качестве ответа системой выдается небольшой текст на английском языке. В зависимости от типа вопроса пользователя системой генерируются тексты типа определение, описание или сравнение. Структура БЗ системы Text Генерация из входных данных типа «информация об объектах и явлениях». Примеры систем Caption Generation System (1998) – порождает графики и их ЕЯ описания на английском языке. Пример описания графика: These charts show information about house sales from data set PGH-23. In the two charts, the X-axis shows the selling prices. The top chart emphasizes the relationship between the number of rooms and the selling price. The bottom chart emphasizes the relationship between the lot size and the selling price. Генерация из входных данных типа «информация об объектах и явлениях». Примеры систем M-PIRO (2001-2003) – многоязыковая система генерации, синтезирующая описание музейных экспонатов на английском, греческом, итальянском и испанском языках. Artequakt (2002) – система генерации биографий художников на основе табличных данных их биографии. Тексты биографий генерируются на английском языке. Demosthenes (2002) - система генерации описаний товаров, как в рекламных целях, так и для справки. Эта система синтезирует на немецком языке описания винных сортов винограда и получаемых из них вин. Эти системы предназначены для обслуживания посетителей, поэтому они включают генератор звучащей речи. Генерация из входных данных типа «информация об объектах и явлениях». Примеры систем система генерации на корейском языке XEplainer (2001), обслуживающую web-магазины На основе информации о товарах, размещенной на сайтах, эта система строит следующие типы описаний: определение, сравнение, противопоставление. Пользователь выбирает пункты описания товара, информацию по которым он хочет получить. Для базы данных сотовых телефонов такими пунктами могут быть, например, характеристики его веса, мощности аккумулятора и цены. Затем пользователь задает коммуникативную цель текста, например, указав модели телефонов и нажав на кнопку «Сравнить». В качестве результата пользователь получит сравнение указанных моделей, указанным позициям. Генерация из входных данных типа «формальная спецификация» Integrated Software and On-Line Documentation Environment (ISOLDE) (1992-2002) – среда, позволяющая объединить и ускорить процессы разработки программного продукта и его документации. (http://www.cmis.csiro.au/iit/Projects/Isolde/index.htm). ModelExplainer (1997) – генерирует текстовые описания диаграмм объектно-ориентированного моделирования данных, полученных из программных средств RationalRose и Visio (http://www.cogentex.com/research/modex/index.shtml). Система умеет строить иерехические HTML-справочники, отдельные страницы которых связаны контекстными ссылками. Proverb (1996-2000) – строит на английском языке тексты доказательств математических утверждений, автоматически построенных системой OMEGA (интерактивная среда построения доказательств). Генерация из входных данных типа «семантическое представление AGILE [26] (2000) – макет, генерация софтверных руководств одновременно на нескольких языках. (реализованы болгарский, чешский и русский языки) Создание полилинии из прямых и дуг Запустите команду PLINE. Windows Выберите пункт Poliline в палитре Poliline на панели инструментов Draw. DOS/Unix Выберите пункт Poliline в меню Draw. 1. Нарисуйте отрезок. Укажите начальную точку отрезка и укажите конечную точку отрезка. 2. Нарисуйте дугу. Перейдите в режим Arc. Введите команду a. На экране появится диалоговое окно Arc mode confirmation. Нажмите кнопку ОК в диалоговом окне Arc mode confirmation. Диалоговое окно Arc mode confirmation исчезнет с экрана. SUREGEN-2 (2002) – генерирует на немецком языке медицинскую документацию, такую как заключения, отчеты о ходе операций и направления. В специальной графической форме система собирают у пользователя необходимые ей данные и генерирует тексты согласно зашитому в ней плану. MDA (Multilingual Document Authoring) (2000) Организация лингвистически мотивированных систем генерации Общая схема процесса генерации ([Bateman & Zock 2001]) Архитектура системы генерации Конвейер генерации традиционно разделяют на три этапа: Макропланирование – построение структуры текста, Микропланирование – построение планов предложений и Языковое оформление – реализация построенных планов предложений соответствующими грамматическими структурами. В прикладных системах генерации к этим трем этапам часто добавляется четвертый этап, Физическое представление, на котором производится форматирование текста согласно выбранному формату (PDF, HTML и т.д.) или подключается генератор устной речи. Архитектура системы генерации Входами генератора могут быть как рассыпанные представления типа баз данных (БД), так и семантические представления целого текста. Тем не менее, в обоих случаях определение содержания происходит на первом этапе. В случае БД выбираются объекты и атрибуты БД, которые войдут в содержание текста. Во втором случае все объекты уже выбраны и даже выражены в виде семантических сущностей и структурированы, т.е. задача структурирования содержания уже решена. Но задача выбора содержания связана, в частности, с ориентацией на адресата и остается возможность опущения определенных фрагментов плана текста. Промежуточные представления данных: Объектная структура содержания текста - концептуальная структура содержания текста, построенная в соответствии со структурами предметной области (ПО) из объектов и отношений ПО. Структура текста – структура дискурсивных отношений, организующая сообщения в текст (в частности, риторическая структура); Сообщения - элементарные предикативные фреймы с объектами и отношениями ПО, Семантические представления предложений текста (в частности, SPL); Лексикализованные грамматические конструкции предложений текста Макропланирование Основная цель этапа макропланирования – сформировать план текста. Составляющие: 1. Входные данные. Содержание процессов макропланирования зависит от типа входных данных. Если они представлены в виде сырых данных, БД или БЗ или иного вида организованных знаний, например, онтология, то они являются материалом для создания плана текста, из которого строятся объекты и значения свойств, о которых будет идти речь в тексте. Макропланирование 2. коммуникативная цель текста и запрос автора – эти составляющие определяют содержание и назначение текста. Коммуникативная цель (сравнить, описать, определить, объяснить, и др…) определяет тип текста – описание (в том числе в форме сравнения), определение, объяснение, и др., а запрос автора фиксирует объект или группу объектов, которые становятся темой текста. В системах ГЕЯ тема и тип текста (в том случае, если система может порождать несколько типов текстов) задаются пользователем. Макропланирование 3. Модель предметной области (МПО) определяет типы объектов ПО, а также те предметные отношения и структуры, в которые они вступают друг с другом. С т.зрения систем ГЕЯ она связана со способами выражения отношений между объектами в данном языке, поэтому может объединяться с семантической онтологией, представляющей собой семантические типы и способы выражения отношений семантическими средствами конкретного ЕЯ Макропланирование 4. дискурсивная стратегия – элемент культуры говорящего сообщества. Она определяет конкретную структуру конкретного текста на основе заданных коммуникативной цели и выбранного фрагмента входных данных в соответствии с культурными традициями выражения подобного вида информации в данном сообществе. Макропланирование Многие приложения для определения содержания генерируемого текста используют также модель читателя, а именно, уровень подготовленности читателя, поставленную им задачу, которую он надеется разрешить, читая этот текст, а также предыдущие взаимодействия между ним и системой Определение содержания сообщения как элементы плана текста На этом этапе создаются сообщения. Они создаются выделением фреймов из концептуального представления излагаемой в тексте информации. Процесс создания сообщений состоит в фильтрации и резюмировании (обобщении, выделении главной мысли) входных данных. Наиболее распространенная методика реализации задачи определения содержания – это использование предметно зависимых правил, получаемых от экспертов ПО. 1) Входные данные время Напр. ветра Скорость ветра 2) Понятия ПО Скорость ветра 3) Сообщение - Напр. ветра 7 a.m. 235 17 15-20 southwest 9 a.m. 231 21 15-20 southwest … … … … … 9 p.m. 280 12 light (west) 10p.m. 307 11 light (northwest) 11p.m. 182 8 light (south) 12p.m. 246 10 light (southwest) wind 15-20 southwest diminish to wind light southwest процесс обобщения сырых данных, приведения их к понятиям ПО и к форме сообщения в системе FoG Рис.3. Сообщение, записанное в виде матрицы «атрибут-значение», как элемент плана-текста, например, такого: Поезд Экспресс-Каледония отправляется из Абердин в 10 часов утра. В сообщении на рис.3 использовано отношение Время отправления поезда, связывающее концепты Поезд Экспресс-Каледония, Абердин и 10 часов утра. Концептуальное представление состоит из объектов и отношений ПО. Оно строится двумя способами: 1) заполнением объектной МПО данными из входного представления; 2) организацией входных данных в структуру объектов Риторическое представление Принципы риторического моделирования структуры текста сформулированы в Теории риторических структур RST (Rhetorical Text Structure) [Mann and Thompson, 1988]. Риторическое представление - это дерево составляющих текста, терминальные вершины которого сообщения. Терминальные вершины соединяются во все более крупные фрагменты до получения структуры всего текста. Внутренние вершины риторического представления описывают, как сообщения сгруппированы вместе и связаны друг с другом риторическими отношениями, например, причина, цель, последовательность, уточнение, побуждение, разрешение и т.д. Всего в классическом варианте ТРС определено 45 отношений. Каждая внутренняя вершина разделяет свое содержимое как минимум на две части: главную (nucleus) и второстепенную (satellite) Группирование текстовых фрагментов риторическими отношениями накладывает ограничения на будущее разделение порождаемого текста на абзацы и на предложения. План текста: планирующие операторы, [Hovy 1993] и [Paris 1993] предикативные схемы Теория планирующих операторов [Sacerdoti 1977]: Планировщик получает на входе цель (проблема, которая должна быть решена), и обрабатывает ее методом планирования (алгоритмом), применяя к ней библиотеку планов (набор операторов планирования, каждый из которых направлен на достижение определенной цели). В процессе работы планировщика строится концептуальная структура, соответствующая тексту, описывающему последовательность действий по достижению этой цели. Предикативные схемы Каждая схема – это шаблон, который определяет, как должен быть организован план текста, используя для этого более мелкие схемы или сообщения, и дискурсные отношения между ними Исходное предположение: каждой своей отдельно взятой коммуникативной цели люди пытаются сопоставить все время один и тот же вид информации в одном и том же порядке В качестве базового набора берутся риторические предикаты Граймса и Уильямса (такие, как атрибутив, аналогия, состав, сравнение, тема, вывод, идентификация, переименование и др.) К. Маккьюин система TEXT [McKeown 1985]. входные данные в системе TEXT: база знаний Управления научных исследований военно-морского флота (Office of Naval Research (ONR)) по военным кораблям и снарядам, основанная на модели сущностей и отношений Ченя [Chen, 1976] ЕЯ запрос пользователя, который определял одну из трех коммуникативных целей: Определить, Описать или Сравнить, фрагмент релевантных знаний БЗ, необходимый для составления ответа. схемами представлены пять различных предикативных моделей: идентификации, состава, атрибутивности, сравнения и противопоставления (реализованы с использованием формализма, основанного на расширенной сети переходов (ATN) [Woods 1970]) упрощенный пример описания, построенного по схеме “состав” (Макьюин, 1989) “Паровые и электрические торпеды. [состав: ] Современные торпеды бывают двух основных типов. [глубинная идентификация (глубинный атрибутив): ] Модели с паровым двигателем развивают скорость от 27 до 45 узлов и имеют радиус действия от 4000 до 25 000 ярдов. [сравнение: ] Модели с электрическим двигателем обладают близкими характеристиками, [глубинная идентификация (глубинный атрибутив): ] но не оставляют кильватерного следа, создаваемого выбросом паровой турбины.” Тема-рематическая организация сообщений правила установления фокуса внимания на определнном объекте. Фокус внимания может рассматриваться относительно разных фрагментов повествования: текста целиком, параграфа, абзаца и отдельного высказывания. На уровне высказывания фокус внимания соответствует главному объекту этого высказывания. В процессе развертывания дискурса объект повествования (фокус) перемещается между различными объектами концептуального представления. в системе TEXT использовались адаптированные правила Синдера [Sinder 1979] Правила Синдера, упорядоченные по предпочтительности их использования для управления перемещением фокуса: Переместить фокус на объект, упомянутый в предшествующем высказывании Сохранить фокус Вернуться к теме предшествующего обсуждения Выбрать высказывание, имеющее наибольшее число имплицитных связей с предшествующим высказыванием. Микропланирование Семантическое представление Семантическое представление плана предложения язык SPL (Sentence Plan Language) [Kasper 1989] Представление SPL: - семантические элементы, каждый из которых сопоставляется с одним или несколькими семантическими типами - каждый семантический элемент имеет набор атрибутов или ролей (например, :actee, :spatial-locating, и т.д.) - каждая роль из этого набора сопоставляется с другим семантическим элементом или набором элементов (s0 / study :actor (Anni-Albers / female) :accompaniment (Martin-Brandenburg / male) :actee (x1 / art) :temporal-locating (x2 / three-d-time :year 1916-1919)) Рис. 1: Пример представления SPL. Представление в примере определяет фразу “В 1916-1919 Анни Алберс изучала искусство у Мартина Бранденбурга” Задачи микропланирования агрегация сообщений до структур, соответствующих отдельным предложениям создаваемого текста лексикализация концептов сообщения, то есть выбор подходящих слов для выражения выбранного в них содержания. грамматикализация – построение грамматической структуры предложений текста вставка ссылочных конструкций – для обеспечения лучшей слитности текста при многократном упоминании объектов в высказываниях для их идентификации нужно выбирать различные слова или словосочетания (интродукции, местоимения и дефинитные описания) Большую помощь в выборе лексико-грамматических соответствий понятиям предметной области (концептам и отношениям в сообщениях) оказывает использование источника знаний Upper Model Upper Model (UM) – это иерархия классов концептов МПО и типичных отношений между ними с учетом их возможной лингвистической реализации. Сегодня источник знаний Upper Model используется в основном в системах генерации, построенных на платформе KPML. Самая большая иерархия Upper Model, включает в себя около 150 понятий. Классификация понятий МПО в терминах Upper Model позволяет объектам предметной области наследовать возможности своей лингвистической реализации. Объекты Upper Model OBJECT THING QUALITY PERSON PROCESS DIRECTEDPROCESS MOTION-PROCESS Объекты концептуального представления ALBERS STUDY Рис. 3 Связывание информации приложения с информацией Upper Model для наследования методов лингвистического выражения. Этап языкового оформления три теоретические базы: системно-функциональной грамматика (SFG: [Halliday 1994], реализована в системе KPML [Bateman 1996]), tree-adjoining grammars (TAG: [Danlos 2000], реализована в системе TagGen) Модель СМЫСЛ-ТЕКСТ (MTM: [Mel’cuk 1988], реализована в системе RealPro [Lavoie and Rambow 1997]).