Содержание к диссертации
Введение
1. Основы построения систем ЕЯГ 13
1.1. Системы ЕЯГ и лингвистически мотивированный подход 13
1.2. Подходы к построению систем ЕЯГ 17
1.2.1. Входное представление для систем ЕЯГ 18
1.2.2. Системы МЯГ 20
1.2.3. Модульность и конвейерность схемы генерации систем ЕЯГ 21
1.3. Архитектура систем ЕЯГ 23
1.3.1. Вычислительные методы реализации этапов генерации 24
1.3.2. Промежуточные представления в процессе генерации 26
1.3.3. Этап макропланирования 29
1.3.3.1. Определение содержания 29
1.3.3.2. Структурирование содержания: Теория предикативных схем 31
1.3.3.3. Структурирование содержания: Теория риторических структур 34
1.3.4. Этап микроплапирования 36
1.3.4.1. Агрегация 36
1.3.4.2. Лексикализация 38
1.3.4.3. Вставка ссылочных конструкций 40
1.3.5. Этап языкового оформления 42
1.3.5.1. Грамматики SFG , 43
1.3.5.2. Грамматики TAG 45
1.3.5.3. Грамматики Смысл-Текст 45
1.3.5.4. Двунаправленные грамматики , 46
1.3.6. Этап физического представления 48
1.4. Нерешенные вопросы в построении систем ЕЯГ и выводы для данной работы 48
2. Грамматика русского языка в системе KPML 51
2.1. Системно-функциональная теория 52
2.2. Среда KPML 54
2.2.1. Системы 56
2.2.2. Входное представление SPL 62
2.2.3. Модуль выбора системы 64
2.2.4. Модуль Inquiry 66
2.2.5. Морфологический блок 68
2.3. Лексико-грамматический ресурс русского языка 68
2.3.1. Реализация в ресурсе русской грамматики согласования 70
2.4. Система AGILE 72
2.4.1. Входное представление дескриптивной логики. Т-Вох и Л-Вох 72
2.4.2. Жанры текстов инструкций системы AGILE 76
2.4.3. Реализация стадии языкового оформления 79
2.4.4. Выводы из опыта участия в проекте AGILE 82
3. Среда поддержки разработки и эксплуатации генераторов DEMLinG и генератор QGen 84
3.1. Назначение и состав предлагаемых инструментальных средств 84
3.1.1. Обрабатываемые данные 85
3.1.1.1. Понятие роли в обрабатываемых данных . 85
3.1.1.2. Свойства 86
3.1.1.3. Описание обрабатываемых данных на языке XML 86
3.1.2. Ресурсы 87
3.1.2.1. Ресурс сценария 88
3.1.2.2. Ресурс планирования 88
3.1.2.3. Ресурс грамматического оформления 89
3.1.2.4. Ресурс лексического выбора 89
3.1.3. Реализация инструментальных средств в системе DEMLinG 90
3.1.3.1. Модуль морфологического оформления, интегрируемый в систему DEMLinG 92
3.2. Архитектура генераторов в системе DEMLinG 93
3.2.1. Генератор QGen 96
3.2.2. Модель генерации в системе QGen . 98
3.2.2.1. Макропланирование 98
3.2.2.2. Микропланироваиие. Переход к грамматическому представлению 101
3.2.2.3. Языковое оформление 115
3.2.2.4. Этап морфологического оформления 117
3.2.3. Особенности предложенной схемы генерации 117
3.2.4. Технология создания генераторов QGen в среде DEMLinG 118
3.3. Оценка полученного результата 120
Заключение 122
Список Литературы , 123
- Вычислительные методы реализации этапов генерации
- Лексико-грамматический ресурс русского языка
- Обрабатываемые данные
- Архитектура генераторов в системе DEMLinG
Введение к работе
Язык лежит в основе человеческой деятельности. Языковую деятельность человека можно поделить на две составляющие: понимание языка и составление высказываний на языке, исходя из целей говорящего. Отсюда две важнейшие задачи, решаемые при компьютерной обработке текстов: анализ и синтез (генерация) текстов на Естественном Языке (ЕЯ).
Естественно-языковая Генерация (ЕЯГ) занимается проблемой автоматического порождения текстов на ЕЯ из внутреннего представления информации в компьютере, представленного в формальном виде. Цель исследований в области ЕЯГ - создание интеллектуальных компьютерных систем, которые бы могли производить понятные для человека тексты на различных ЕЯ. Входным представлением таких систем могут быть, например, таблицы БД, формальные спецификации программ, метеорологические карты. Создаваемые системами ЕЯГ тексты - это обычно типовые документы, такие как отчеты, разъяснения и справочная информация.
Данная работа посвящена проблеме создания эффективных методов и алгоритмов автоматической генерации текстов на естественном языке и реализации на их основе программно-информационного обеспечения, поддерживающего как собственно генерацию текстов, так и процесс разработки и сопровождения многоязыковых генераторов.
Тема работы актуальна. На современном этапе развития компьютерной индустрии роль естественно-языковых технологий выдвигается на первый план. Значительно возросла потребность пользователей программного обеспечения в представлении информации в текстовом виде. В связи с этим задача создания программных систем ЕЯГ приобретает особое значение. На сегодняшний момент системы ЕЯГ успешно применяются в таких задачах, как:
Генерация текстовых прогнозов погоды из графических представлений на погодных картах [Goldberg et al. 1994];
Отчеты по статистическим данным, полученным из БД или крупномасштабных таблиц [Iordanskaia et al. 1992J;
Интерпретация медицинской информации в понятной для пациентов форме [Buchman et al. 1995;Cawseyetal. 1995]
Описание цепочки принятых решений при работе экспертной системы [Swartout 1983];
Подготовка ответов на вопросы об объектной Базы Знаний (БЗ) [Reiter et al. 1995].
Представленный список задач ни в коей мере нельзя считать полным; в исследовательской литературе описывается также множество других приложений.
В условиях расширения международных связей все большое внимание уделяется сейчас исследованиям, связанным с мпогоязыковой генерацией (МЯГ) [Соколова, Шаров 1998], позволяющей создавать тексты на нескольких языках на основе представления информации, единого для всех этих языков. Первая коммерческая система МЯГ появилась только в начале 90'х годов XX века в Канаде. Она была предназначена для генерации морских сводок погоды на английском и французском языках. Наиболее типичными системами МЯГ являются:
Средства, помогающие представителям службы сервиса составлять письма своим клиентам [Springer et al. 1991; Coch 1996];
Средства, помогающие инженерам создавать описания к своим чертежам [McKeown etal. 1994]
" Средства, помогающие служащим отдела кадров составлять описания вакансий [Caldwell and Korelsky 1994];
Средства, помогающие техническим писателям составлять инструкции по
пользованию программным продуктом [Paris е( al. 1995] [ICruijff et al. 2000].
Естественный язык трудно поддается формализации. Для создания генератора, работающего даже в относительно узкой Предметной Области (ПО), требуется привлечение больших массивов знаний о языке, па котором синтезируется результирующий текст. Поэтому наиболее актуальным представляется решение следующих задач:
формализация предметных знаний о языке, создание массивов языковых ресурсов;
создание программных средств разработки и эксплуатации таких ресурсов. Поставленные проблемы решены не в полной мере. В настоящее время они
привлекают внимание многих исследователей. Решению этих проблем и посвящена данная диссертация.
Основной целью представленной диссертационной работы является создание программно-информационного обеспечения, состоящего из:
информационного компонента, представленного грамматиками, словарями и другими языковыми ресурсами;
программной составляющей — набора инструментальных средств, поддерживающих разработку и эксплуатацию систем ЕЯГ.
Традиционно процесс генерации разделяется на два этапа: этап планирования и этап языкового оформления. На этапе планирования выбирается последовательность изложения в создаваемом тексте и определяются структуры образующих его предложений. На этапе языкового оформления решаются задачи согласования и упорядочения слов в построенных планах предложений.
Теоретическая база для этапа языкового оформления, хорошо проработана лингвистами. К настоящему времени существует ряд лингвистических теорий, и реализующих их систем. Наиболее популярная и хорошо проработанная среди них -это теория системно-функциональной лингвистики и реализующая ее система KPML [Bateman 1996]. В рамках созданных систем разработаны грамматические ресурсы для отдельных языков. Для русского языка таких ресурсов разработано не было. Поэтому первый рассматриваемый в данной диссертации вопрос - это вопрос создания грамматического ресурса русского языка.
Грамматический ресурс русского языка был создан в рамках системы KPML. Ресурс в совокупности с системой KPML образует законченный модуль, полностью реализующий этап Языкового оформления текста. Па входе этот модуль получает описание предложения на языке SPL. План предложения, записанный на этом языке, определяет отдельные слова предложения и семантические (т.е. смысловые) связи между ними, На выходе из этого модуля создаются предложения на ЕЯ. Ресурс системы KPML состоит из двух частей: грамматического компонента (сети грамматики) и лексического компонента (словаря).
Ресурс русского языка создавался в рамках европейского проекта AGILE вместе с грамматиками чешского и болгарского языков корпусным методом в расчете на задачу описания текстов руководств по программному обеспечению для пользователей. Созданный в рамках данной работы фрагмент грамматики русского языка полностью реализует грамматические явления, обнаруженные в специально созданном для проекта AGILE корпусе текстов инструкций по использованию инструментальной компыотерной системой Автокад [Zirbel and Combs 1996]. При создании этого фрагмента были смоделированы такие языковые явления, как глагольные
характеристики переходности, вида, наклонения и модальности, а также согласование, порядок слов в предложении, конъюнкция, языковое оформление квантитативных конструкций, явления пропуска подлежащего в предложении, языковое оформление сложных предложений.
Этап планирования текста в существующих системах, разработанных другими авторами, проработан значительно слабее. Для этого этапа еще не было реализовано ни ресурсов генерации, ни инструментальных средств, поддерживающих разработку и эксплуатацию соответствующего модуля системы. В диссертации предлагается набор программных средств, поддерживающих создание обоих модулей системы генерации. Предлагаемые инструментальные средства состоят из интерпретаторов и отладчиков языков описания действий процесса генерации, средств координации взаимодействия различных модулей ЕЯГ. Модули генерации могут быть созданы в рамках предлагаемых инструментальных средств или же интегрированы с помощью СОМ-интерфейса. Для выделения языков, необходимых для описания процесса генерации, было проведено исследование архитектур существующих генераторов текстов на ЕЯ, в результате чего были выделены три основных вида деятельности и, соответственно, три языка описания процесса генерации:
Предлагаемые инструментальные средства реализованы в единой среде разработки и эксплуатации генераторов текстов на ЕЯ. Эта среда была названа DEMLinG {Development Environment for MultiLingual Generators).
Виртуальная машина системы DEMIinG включает в себя интерпретаторы и отладчики языков планирования, лексического выбора, грамматического оформления и сценария. Виртуальная машина предусматривает также возможное подключение к ней через СОМ-интерфейс модулей генерации, реализованных в других системах (например, модуля языкового оформления, реализованного в системе KPML, или модуля морфологического оформления, реализованного фирмой Dialing).
Кроме определения средств описания процесса генерации, очень важен вопрос архитектуры генераторов, создаваемых в системе DEMLinG. Архитектура системы ЕЯГ описывается схемой генерации, настроенной на особенности решения прикладных
задач. Она определяет, как создавать новый генератор в предлагаемых инструментальных средствах, какие задачи и в какой последовательности должны решаться в процессе генерации, и какие языки должны использоваться для описания действий, проводимых для решения поставленных задач. В диссертации предлагаются как модель организации генераторов с использованием системы KPML в качестве модуля языкового оформления для решения задач разработки сложных генераторов, так и модель без использования системы KPML для решения задач, где необходима высокая скорость работы генератора и не требуется полного описания ЕЯ. Использование предлагаемых схем генерации предоставляет пользователю системы DEMLinG эффективную технологию разработки систем ЕЯГ.
Поэтому в диссертации предлагаются как модель организации генераторов с использованием системы KPML в качестве модуля языкового оформления для решения задач разработки сложных генераторов, так и модель без использования системы KPML для решения задач, где необходима высокая скорость работы генератора и не требуется полного описания ЕЯ.
Практическая значимость. Разработка реальных приложений, созданных в рамках предложенных инструментальных средств является одним из критериев их возможностей и зрелости. Мощность предлагаемых компонентов инструментальной базы и возможность их использования в реальных задачах подтверждена экспериментально путем построения опытных генераторов в каждом из созданных средств.
Грамматический ресурс русского языка успешно использован при разработке системы AGILE [Kruijff et al. 2000] - генератора в помощь техническому писателю для создания руководств для программного обеспечения AutoCAD на болгарском, чешском и русском языках. Автор принимал активное участие в разработке планирующего ресурса и в адаптации используемого грамматического ресурса к создаваемому генератору. Проведенный эксперимент показал эффективность использования построенной грамматики русского языка в проектах по созданию сложных ЕЯ-генераторов.
Генератор QGen (Query Generator) решает задачу представления SQL запроса к БД на ЕЯ для ЕЯ-интерфейсов InBASE [Жигалов и Соколова 2001], которые позволяют обращаться к реляционным базам данных на ЕЯ.. Особенности решаемой задачи требуют от генератора небольших размеров и высокой скорости работы. Поэтому было
решено реализовывать отдельные генераторы для каждой конкретной БД, с которой работает система InBASE. К настоящему моменту система ЕЯГ QGen поддерживает два языка генерации (русский и английский) и две базы данных: опытную базу, описывающую кадры предприятия, созданную в качестве примера применения системы InBASE, и базу данных сети автомобильных магазинов, интерфейс для которой разрабатывается сейчас для одного из интернет-магазинов. Генератор строился но заказу РосІІИИ ИИ для его интеграции в систему InBASE [Жигалов и Соколова 2001].
Новизна данной диссертационной работы состоит в том, что:
На основе анализа современных систем генерации в работе сформулирован новый подход к созданию адаптивных многоязыковых систем генерации, работающих в ограниченных предметных областях. Стержнем этого подхода является предлагаемая модель генерации, подкрепленная тремя разработанными языками описания действий, проводимых системой ЕЯГ в рамках предложенной модели. Предлагаемые языки описывают три основных вида деятельности систем ЕЯГ: структурные преобразования данных, лексический выбор и языковое оформление (согласование и упорядочение слов в предложении). Процесс генерации может быть полностью описан па этих языках с помощью наборов продукционных правил в виде однонаправленного конвейера трансформаций входного представления данных. На основе предложенного подхода была реализована инструментальная среда DEMLinG, поддерживающая разработку и эксплуатацию генераторов текстов на ЕЯ.
Смоделирован и реализован представительный фрагмент формального грамматического описания русского языка, базирующийся на основных концепциях системно-функциональной теории. Созданный ресурс может быть использован в предлагаемой среде DEMLinG с помощью реализованных в ней средств интеграции, как готовый модуль языкового оформления для создаваемых в рамках этой системы генераторов.
Диссертация состоит из трех глав, заключения, списка литературы, включающего 134 названия, и девятнадцати приложений. В первой главе анализируется состояние дел в области построения систем ЕЯГ и приводится обзор наиболее значительных работ в этой области. В конце главы выделяются актуальные задачи, которые решались в данной работе, и определяются основные методики их решения,
Во второй главе рассматривается задача наполнения системы языкового оформления KPML знаниями по русскому языку. Здесь также приведен обзор системы KPML, и общее описание системы AGILE, в которой использовались созданные ресурсы. В конце главы приведены выводы по использовании системы KPML и разработанного грамматического ресурса.
Третья глава посвящена описанию созданных в рамках данной работы инструментальных средств поддержки разработки и эксплуатации систем ЕЯГ. В начале главы обсуждается состав и основные принципы организации предлагаемых инструментальных средств. Затем рассматривается способ их реализапии в среде DEMLinG. Далее рассматриваются две альтернативные схемы генерации, разработанные для реализации в генераторах, создаваемых в рамках этой среды. Подробно обсуждается одна из предложенных схем на примере разработанного в системе DEMLinG генератора QGen. В конце главы приведены выводы об особенностях предложенной схемы генерации и дастся оценка полученного результата.
В заключении кратко сформулированы основные теоретические и практические результаты работы. Приведены сведения об апробации и публикациях, в которых отражены основные результаты диссертации.
В приложениях приводятся:
Классификация свойств в системе DEMLinG и описание особенностей каждой группы
Описание синтаксиса ресурса сценария системы DEMLinG.
Описание языка задания ресурса планирования системы DEMLinG.
Описание операций образцов в ресурсе планирования системы DEMLinG
Описание языка описания ресурса грамматического оформления системы DEMLinG.
Описание операций образцов в ресурсе грамматического оформления системы DEMLinG
Описание языка задания словарного ресурса системы DEMLinG.
Описание операций образцов словарного ресурса системы DEMLinG
Описание способа подключения внешнего модуля морфологического оформления к системе DEMLinG.
Спецификация базового СОМ-иптерфейса для наследования интерфейсов морфологических модулей системы DEMLinG
Описание объектной модели виртуальной машины системы DEMLinG
Спецификация СОМ-интерфсйса виртуальной машины системы DEMLinG для ее интеграции в другие приложения.
Описание среды разработки ресурсов генерации DEMLinG Development Environment.
Описание предметных групп, используемых в генераторе QGcn. Примеры правил этапа оптимизации в генераторе QGen.
Описание лексического ресурса генератора QGen
Сеть применения каскадных шаблонов для построения грамматической структуры из предметного представления OQL для генератора QGen. Сети NP- и VP-грамматик.
Описание синтагм, реализованных в генераторе QGen
Примеры правилэтапа структурного форматирования в генераторе QGen.
В заключение выражаю глубокую благодарность научному руководителю проф. М.Г. Мальковскому за постановку задачи, постоянную помощь и полезные обсуждения результатов. Значительную помощь в работе над лингвистическими основами применяемого в системе DEMLinG подхода оказала к.ф.н. Е.Г. Соколова. Выражаю ей большую благодарность за полезные консультации в лингвистической стороне вопроса разработки генераторов AGILE и QGcn. Также большая благодарность за постановку практической задачи создания ЕЯ генератора QGen директору РосНИИ ИИ к.ф-м.н. А.С. Нариньяни, руководителю проекта InBASE к.тлі. В.А. Жигалову и руководителю российской части проекта AGILE к.ф-м.н. С.А. Шарову.
Вычислительные методы реализации этапов генерации
Для решения (реализации) задач каждого этапа существует четыре основных вычислительных метода: выдача готовой строки (canned method), метод шаблонов (templates), метод каскадных единиц (cascaded items) и метод свойств (features). Методы приведены в порядке возрастания их сложности и гибкости в учете нюансов вариаций входного представления. Каждый этап генерации может быть реализован своим вычислительным методом.
Простейшим вычислительным методом является выдача готовой строки. Текст задается в виде готового текста любой сложности (слово, предложение, фрагмент текста, текст) и выдается по указанию программы. Такой вид генерации используется в программах, выдающих сообщения пользователю, в частности, банковских и других
В английском языке этот этап обычно называется surface realization, В русскоязычных работах он часто переводится как этап поверхностной реализации или просто, реализации, Здесь, для обозначения этого этапа вводится новое название «.этапЯзыкового Оформления». Это сделано для того, чтобы различать смысл термина Реализация в контексте «поверхностная реализация» с его устоявшемся значением в работах по программированию. В этой работе вместо термина Реализация для обозначения реализации намеченного, спланированного действия используется термин Оформление. видах автоматов, например, в качестве приглашения ввести пароль может быть использована следующая готовая строка: [#1] - "Welcome. Please insert your card and enter your password". Изменения текста в таких системах исключены. Готовые тексты обычно имеют цифровой идентификатор и содержатся в системе в виде списка. В более сложных системах используются более изощренные способы управления выдачей сообщений, в частности, ATN — расширенные сети переходов. Этот метод пе является методом ЕЯГ, но может применяться в задаче генерации для упрощения ее процесса. Например, сложно структурированный текст может набираться из готовых высказываний на основе ЕЯГ механизмов планирования его структуры.
Обобщением готовой строки являются шаблоны, - предопределенные образцы, в которых имеются пропуски — слоты, заполняемые актуальной информацией. Подход может применяться для любого автоматически заполняемого бланка. Например, для бланка, в который автоматически вводится имя, адрес и т.п. пользователя: Dear [#1], Congratulations! You may have won $[#2] !!. Шаблоны могут также опираться на лингвистические знания, однако чаше всего они используются также как и метод выдачи готовой строки для упрощения некоторых этапов генерации.
Единицей представления в методе каскадных единиц является обобщенный шаблон. Выбирается начальный абстрактный шаблон, который затем последовательно уточняется более детальными и точными шаблонами, пока детализация не дойдет до определения конкретных слов предложения. Как побочный эффект генерации строится дерево примененных уточняющих шаблонов. Если метод каскадных единиц применяется для построения синтаксической структуры предложения, то естественным видом шаблонов являются синтаксические шаблоны. В результате применения таких шаблонов строится синтаксическая декомпозиция предложения, записанная в терминах непосредственных составляющих.
Метод свойств развивает идею каскадного метода заменой шаблонов как единиц представления на классы - типизированные сущности, обладающие набором свойств (пар тип-значение). Метод свойств предполагает, что любой параметр текста, обладающий способностью изменяться, объявляется свойством, а конкретные значения, определяющие изменения, называются значениями свойств. Свойства отображают такие параметры как варианты порядка слов, время, наклонение, тип предложения и т.д. Процесс генерации представляет собой последовательное накопление свойств в классах, пока генерируемая структура классов не сможет считаться сформированной (ограничение на «well-formedness» - в классах накоплены наборы свойств, которые полностью определяют текст). Затем, накопленные свойства переводятся в результирующий текст.
Каждый из этапов генерации может быть реализован любым из перечисленных вычислительных методов. В приведенной ниже таблице показано использование различными системами перечисленных методов генерации па различных этапах. Чтобы упростить таблицу, разбиение процесса генерации на этапы проведено здесь более грубо, чем на рис
Лексико-грамматический ресурс русского языка
Существует два подхода к созданию грамматических ресурсов: системно-ориентированный метод и корпусный подход. Системно ориентированный метод предписывает реализацию языковых явлений в грамматике с позиции их семантики в полной языковой системе. Использование корпусных технологий при разработке грамматического ресурса русского языка помогает на основе анализа набора специально подобранных текстов выделить для реализации только ту часть языковой системы, которая необходима для правильной генерации отобранных примеров. Основная сложность этого подхода - отбор текстов для корпуса, наиболее широко охватывающих лсксико-грамматические конструкции, встречающиеся в описываемом регистре.
В результате анализа результатов предыдущих работ лексического и синтаксического замыкания подъязыков (например, [Kittredge 1987]) было выявлено, что для создания языкового ресурса, обеспечивающего качественную генерацию текстов технических инструкций, необходим достаточно небольшой набор примеров. Детальное изучение корпусов определило примеры, охватывающие наиболее общие конструкции чешского, болгарского и русского языков, для которых в рамках проекта AGILE создавались лексико грамматические ресурсы, и выявило в них большое количество пересечений. Это позволило эффективно распределить разработку языковых ресурсов между тремя коллективами, участвующими и проекте. Реализацию русской грамматики можно условно разбить на два этапа. Этап / основан на адаптации английской грамматики. В результате анализа примеров определяется, какие системы должны покрыть грамматические конструкции, используемые в предметной области. Реализация ресурсов проходит «копированием» и «адаптацией» грамматических систем. Сначала разработчик грамматики должен определить, описываются ли явления нового языка существующими системами выбора. Во многих случаях они подойдут, и система может быть скопирована без изменений. Обычно меняются только атрибуты типов системы, то есть ограничения на структурную реализацию. Например, на предложную группу "minor process" английской грамматики накладывается ограничение на реализацию в виде лексикализации предлогом. А для русского и чешского языков надо еще добавить ограничение, что следующая именная группа появится в определенном морфологическом случае, указанном предлогом; для болгарского языка необходимо добавить ограничение, что следующая именная группа может иметь только краткий артикль. Меняются также реализационные утверждения — английский предлог заменяется на его русский эквивалент. Удаляются служебные элементы, например, "to" у формы инфинитива, "by" как маркер роли Actor a в пассивной конструкции и т.п.
Большая часть работ по построению новой грамматики восходит к этим двум операциям «копирования» и «адаптации», которые поддерживаются системой разработки KPML. Это значит, что новый созданный указанным методом ресурс может рассматриваться как грамматика нового языка, наследуемая от английского. Эффективность этой методики подтверждает гипотезу о том, что разнообразие лексико-грамматических средств выражения языков не исключает однотипности процессов, лежащих в основе функционирования грамматики. Операции «копирования» и «адаптации» повторяются, пока не будет покрыта область грамматических конструкций, используемых в рассматриваемой предметной области.
Этап 2. Второй этап в процессе разработки грамматики был организован вокруг новых языковых явлений, специфичных для русского языка и отсутствующих в английском языке. Ввиду того, что чешский и русский языки типологически близки друг к другу, они имеют общие лингвистические конструкции, отличные от английских. С ними проще работать, создавая их отдельно для славянских ресурсов, а, не копируя из английского. На этом этапе грамматики получают более адекватные описания как новые языки и прекращают свое наследование от английского. Явления, которые не были акцентированы в английской грамматике, по специфичны для славянских языков, становятся объектом повышенного внимания. В частности, синтаксическое согласование, довольно сложное в болгарском, чешском и русском языках, вопрос о порядке слов, особенно остро стоящий в русском и чешском языках.
Первый этап представляет собой больше механическую работу, которую необходимо проделать с новым ресурсом. Второй же этап требует дополнительного анализа. Тут уже часто приходится изобретать новые структуры, отсутствующие в английской грамматике. Остановимся более подробно на одной из задач второго этапа, которые были решены при построении ресурсов русского языка, а именно на задаче согласования
Обрабатываемые данные
Каждый объект структуры обрабатываемых данных именован и может иметь дополнительно заданные набор свойств и роль. Роль характеризует тип связи, направленную к описываемому объекту от вышестоящего объекта в иерархии данных. У объекта может быть задана только одна роль. Уникальность роли объекта означает уникальность такой входящей в объект связи и, следовательно, ограничивает структуру обрабатываемых данных древесной структурой.
Использование роли для описания членов структуры обрабатываемых данных расширяет язык задания структуры непосредственных составляющих, позволяя различать разные типы направленных связей между объектами. Введение ролей приближает язык описания обрабатываемых данных к формализму деревьев зависимостей, который в отличие от формализма структуры непосредственных составляющих различает типы связей между членами представления, что позволяет естественным образом отображать все грамматические связи между членами структуры. Однако между подходом к представлспию данных, используемым в предлагаемых инструментальных средствах, и подходом деревьев зависимостей, остается одно существенное различие: введенные роли только уточняют связи декомпозиции, они задают лишь подтипы одного сумертипа - декомпозиции. Таким образам, предложенный формализм описания обрабатываемых данных совмещает в себе идею последовательной декомпозиции структуры непосредственных составляющих и использование именованных связей деревьев зависимостей.
Свойства объекта структуры обрабатываемых данных - это пары тип-значение, уникальные по своему типу внутри каждого отдельного объекта. Далее будем называть свойство по имени его типа, или дополнительно уточнять тип значением, разделяя их двоеточием. Например: lex: v\ gender: masc, SF:quantitative_rel.
Свойство задает некоторую характеристику объекта структуры данных. Поскольку процесс генерации производит лингвистическое отображение входной информации в текст на ЕЯ, любая характеристика обрабатываемых данных интерпретируется генератором с лингвистической точки зрения. Традиционно выделяются следующие уровни лингвистического описания: лексика, морфология, синтаксис, семантика, риторика и прагматика. Приведенные уровни могут быть использованы для классификации свойств представления обрабатываемых данных. Свойство каждого уровня имеет свои особенности интерпретации генератором. Особенности интерпретации генератором морфологических и лексических свойств поддерживаются обрабатывающим компонентом автоматически. Подробное описание свойств каждого типа можно найти в приложении 1.
Для обеспечения гибкости подхода, входные и обрабатываемые данные должны описываться в едином формализме. В качестве такого формализма был выбран язык структурированного описания данных XML. На сегодняшний момент XML является стандартом обмена информацией между различными приложениями. Этот формализм реализует идеи подхода непосредственных составляющих. Язык XML активно используется современными программными приложениями для обмена структурированной информацией. Четкость синтаксиса и его удобство для описания структур данных, наглядность описаний и высокая популярность этого формализма делают его наиболее подходящим средством для задания входных и обрабатываемых данных генератора
Язык грамматического оформления описывает грамматические группы, состоящие из групповой вершины и объектов структуры данных, находящихся в прямой зависимости от групповой вершины. Эти объекты называются членами группы, их идентификация происходит через роли. Имя группы задается именем группового узла-узла применения правила грамматического оформления. Механизм образцов здесь гораздо слабее, чем в планирующих ресурсах: правила, а следовательно, и образцы работают здесь только с групповой вершиной и членами группы. Правила грамматического оформления описывают членов группы - их порядок и морфологические свойства.
Язык ресурса грамматического оформления разрабатывался для задания деталей оформления грамматических структур (грамматических групп), выделенных на предыдущих этапах генерации. Поэтому в языке присутствуют конструкции, позволяющие описать такие лингвистические явления, как согласование, управление и структурная реализация некоторых морфологических свойств. Базовый набор операций расширен операциями, характерными для стадии грамматического оформления. Это внешнее и внутреннее согласование, операция назначения главного члена группы и операция наследования морфологических свойств групповой вершины членом группы. Концепция главного члена правила используется ресурсом грамматического оформления для поддержки согласования между нетерминальными членами грамматических групп.
Языком ресурса грамматического оформления поддерживается механизм грамматической реализации морфологических свойств. Для этого вводится операция передачи основных свойств группового узла главному члену. К основным свойствам группового узла относятся его лексическое и морфологические свойства. Подробное изложение особенностей языка задания ресурса грамматического оформления можно найти в приложениях 5 и 6.
Ресурс лексического выбора описывает продукционные правила, сопоставляющие лексически значимому объекту модели предметігои области генератора слово или словосочетание на ЕЯ. Например, для генератора описания SQL-запроса к БД на ЕЯ, объект модели предметной области может быть выражен, таблицей БД, атрибутом таблицы, характерным значением атрибута или же операцией сравнения.
Применимость каждого конкретного правила к узлу структуры данных определяется сопоставлением свойства заданного типа со значением, записанным в правиле как образец применения, и проверкой контекста окружения. Проверка контекста окружения осуществляется вычислением дополнительного условия применимости правила. В проверке могут участвовать узлы или отдельные свойства, расположенные выше в иерархи обрабатываемых данных. Дополнительная проверка контекста окружения используется на практике для введения синонимии при построении текста - в зависимости от контекста использования выбирается та или иная словарная статья.
Отображение связывает (или переводит) свойство, выражающее определенный концепт предметной области, со словарной статьей, состоящей из отдельной лексемы или словосочетания, и из ограничений на их реализацию, записанных как модификация свойств узла применения и вышестоящих узлов. Словосочетание задается как готовая к языковому оформлению грамматическая структура, описанная на языке XML. Возможность такого описания обеспечивается поддержкой взаимно однозначной интерпретации структуры данных в структуру XML.
Выбор словарного соответствия влияет на создаваемую грамматическую конструкцию. Поэтому, сопоставляемому слову или словосочетанию могут быть добавлены ограничения на грамматическую реализацию. Эти ограничения записываются в виде свойств, имеющих четкую семантическую интерпретацию. Количество этих свойств фиксировано. Оно может быть расширено при расширении грамматического ресурса языка.
Словарный ресурс состоит из правил, сгруппированных по типу проверяемого свойства. Подробное изложение особенностей языка задания словарного ресурса можно найти в приложениях 7 и 8
Архитектура генераторов в системе DEMLinG
Кроме определения средств описания процесса генерации, очень важен вопрос архитектуры генераторов, создаваемых в системе DEMLinG. Архитектура системы ЕЯГ описывается схемой генерации, настроенной на особенности решения прикладных задач, Она определяет, как создавать новый генератор в предлагаемых инструментальных средствах, какие задачи и в какой последовательности должны решаться в процессе генерации, и какие языки должны использоваться для описания действий, проводимых для решения поставленных задач.
В рамках инструментальной среды DEMLinG были разработаны две схемы, по которым могут строиться системы ЕЯГ: модель организации генераторов с использованием системы KPML в качестве модуля языкового оформления для решения задач разработки сложных генераторов модель без использования системы KPML для решения задач, где необходима высокая скорость работы генератора и не требуется полного описания ЕЯ.
С помощью ресурсов системы DEMLinG подготавливается последовательность SPL-представлений, которые передаются на вход системе KPML. Система KPML обрабатывает полученные планы предложений SPL и выдает на выходе составленные предложения на ЕЯ.
Использование системы KPML как готового модуля языкового оформления значительно упрощает разработку сложных генераторов. Однако, вследствие подробности и сложности описания грамматики русского языка в этом ресурсе, использующий его генератор занимает большие объемы ресурсов компьютера. Это затрудняет использование приведенной схемы для задач, где необходима высокая скорость работы генератора и не требуется полное описание ЕЯ.
Примером такой задачи является задача создания генератора естественно-языкового представления SQL запросов к БД. Такая система очень полезна для совместного использования с естественно-языковыми интерфейсами к базам данных. Такие интерфейсы позволяют пользователю обращаться к БД на своем родном языке. В связи с неоднозначностью языка, такие системы не всегда правильно интерпретирует ЕЯ запрос пользователя на язык запросов SQL. Одно из решений этой проблемы -предоставить пользователю средство контроля правильности «понимания» его запроса системой. Таким средством является генератор ЕЯ представления составленного системой SQL запроса.
Система ЕЯГ является для ЕЯ-интерфейса лишь вспомогательным средством, улучшающим качество взаимодействия этого интерфейса с пользователем. Поэтому от такой системы требуется высокая скорость работы, небольшие размеры и легкость разработки. В то же время синтезируемые системой генерации ЕЯ-интерпретации SQL-запросов к базам данных используют ограниченное количество грамматических конструкций ЕЯ, то есть не требуется полноты описания ЕЯ.
В подобных задачах можно использовать свои легко обрабатываемые модулем языкового оформления фрагменты описания языка. Для решения таких задач предлагается модифицированная схема генерации, представленная на рис. 3.3.
Важное отличие этой схемы от представленной на рис. 3.2 состоит в том, что модуль языкового оформления получает на входе не семантическое представление SPL, а грамматическое представление синтагм, специально разработанное для этой схемы. Использование грамматического представления для описания структуры предложения значительно упрощает модуль языкового оформления, так как это представление очень хорошо подходит для решения задач согласования и упорядочения слов в предложении.
Сравнивая схемы генерации, представленные на рисунках 3.2 и 3.3, можно заметить, что для них содержание модулей макро и микропланирования практически совпадает. Единственное отличие состоит в том, что этап построения представлений SPL в модифицированной схеме заменен этапом грамматического выбора. Это отражает тот факт, что две предложенные схемы порождают после выполнения этапа макропланирования па основе одинаково подготовленной информации соответственно, семантическое и поверхностно грамматическое представление создаваемого текста.
Несмотря па то, что модуль грамматического выбора и модуль построения представления SPL производят преобразования разного характера (в результате обработки преобразуемых данных модулем грамматического выбора получается представление грамматических зависимостей, а в результате работы модуля построения представления SPL получается семантическое представление плана предложения), способ их реализации один и тог же: преобразования описываются в них методом каскадных единиц и правила этих модулей в значительной степени ориентированны на регулярности входного представления генератора. Поэтому без потери целостности изложения достаточно описать способ построения любого одного из этих модулей.
Применение системы KPML па этапе языкового оформления в системах ЕЯГ, и работа, проводимая этой системой для порождения текста предложений па ЕЯ, подробно описаны в главе 2. Организация модуля языкового оформления, отраженная на рисунке 3.3, представляет собой другой способ решения задачи языкового оформления текста, еще не описанный ранее в тексте диссертации. Поэтому дальнейшее изложение посвящено описанию схемы, приведенной на рисунке 3.3. Описание проводится па примере разработанного в системе DEMLinG генератора QGen, решающего для ЕЯ-интерфейса In BASE задачу контроля правильности «понимания» системой запроса пользователя. Поэтому, предварим описание схемы генерации постановкой задачи для генератора QGen