Основания процедуры синтеза
Синтез осуществляется путем обработки элементов „потока составляющих" („phrase stream") (McGuire, 1980), то есть списка единиц (компонентов предложения), подлежащих выражению.
Генератор работает в циклическом режиме, обрабатывая эти элементы до тех пор, пока не будет исчерпан имеющийся фразовый поток. Элементы потока составляющих содержат команды для генератора и обеспечивают доступ к другим командам (хранящимся в виде данных), которые в конечном итоге приводят к синтезу слов. Как эти элементы вырабатываются и используются, будет объяснено ниже, а сейчас важно уяснить, что они должны обеспечивать доступ к памяти. Существенной стороной генератора системы BORIS является способ организации лексической памяти. Эта организация основывается на иерархии лексических прототипов, разработанной в системе GEN МакГира; для применения в системе BORIS эта иерархия была несколько модифицирована и расширена.6.1.1. Иерархия прототипов.
Иерархия прототипов — это система, служащая для классификации информации, необходимой для синтеза, в соответствии с иерархией лексических „прототипов", с помощью которой генератор выбирает способ языкового выражения того или иного понятия. Иерархия имеет древесную структуру: элемент высшего уровня может иметь много подчиненных элементов.
В системе BORIS информация, необходимая для синтеза, приписана в иерархии прототипов «шаблонам, инициирующим актуализацию конкретных знаний. Поскольку для выражения концептуальной единицы генератор должен располагать лексической информацией, он должен для получения этой информации обращаться к иерархии прототипов. Шаблоны системы BORIS (для КОП, Целей, Переживаний и т. п.) нередко уже содержат часть информации,
необходимой для синтеза, однако обычно генератор должен осуществлять поиск некоторой части информации и в вышележащих узлах дерева.
Иерархия прототипов предназначена для сведения информации о сходных формах выражения в одну единицу памяти.
Если некоторое представление (типа Концептуальных Зависимостей) содержит характеристику, которая отвечает задаче синтеза, то база данных, используемая генератором, должна лишь накапливать такую информацию в одном и том же месте. Таким образом, более общая информация хранится в стволе иерархического дерева, а более специфическая — в его ветвях.Большинство понятий имеет лексические прототипы, и процесс просмотра различных уровней иерархии снизу вверх в конечном счете приводит к лексической сущности Ц—С (соответствующей „цели/состоянию" в системе GEN). Ц—С является „сиротой" в том смысле, что она не имеет узла-прототипа (родителя).
В этом множестве прототипов хранится информация о способах выражения понятий. Эта информация может быть весьма простой и сводиться к указанию конкретного слова или глагольной информации, отсылающей к таблице форм конкретного глагола. Используются и более сложные данные, например указания о порядке выражения тех или иных понятий, о путях обхода дерева для проверки нужности выражения понятия и об альтернативных способах выражения понятия в случае неудачного поиска на том или ином пути.
Генератор обследует иерархию прототипов таким образом: для обнаружения какой-либо единицы информации, необходимой для синтеза, он проверяет, содержит ли эту информацию входная концептуальная структура. Если да, то никакого дальнейшего поиска не требуется. В противном случае ищется лексический прототип. Если нет лексического прототипа, то предполагается, что текущая единица подлежит выражению в ее исходном виде. Если есть лексический прототип, но он не содержит подходящей информации, то проверяется следующий прототип (прототип прототипа), и т.д.
6.1.2 Процесс синтеза.
Основным динамическим компонентом генератора является „фразовый поток составляющих" (McGuire, 1980), который организует процесс выражения различных частей текущей концептуальной единицы и следит за тем, когда именно должны выполняться те или иные действия. Эти действия представляют собой указатели к ЛИСП-коду, которые в конечном счете синтезируют «лексические единицы», или слова.
Функционирование генератора состоит из последовательных операций развертывания выражений, расположенных слева в потоке составляющих. Это развертывание обычно требует обследования иерархии прототипов. Если некоторый элемент потока составляющих не может быть развернут, то он считается словом, удаляется из потока составляющих и помещается во временное запоминающее устройство. Данный цикл затем повторяется для нового состояния потока составляющих. Синтез заканчивается, когда выполнены все развертывания и поток составляющих пуст. Последняя задача генератора — печать слов.
Структура потока составляющих обычно обусловливает такой режим синтеза, который сходен с обходом синтаксического дерева, направленным слева направо и в глубину. Однако синтаксические конструкции определяются исключительно на основе концептуального содержания, а выбор слов и синтаксических групп (phrases) контролируется также диалоговым контекстом.
Именно иерархия прототипов определяет реальный порядок расположения подлежащего, сказуемого, дополнения и других членов предложения. Сначала поток составляющих содержит только один элемент, помещенный туда в начале прогона генератора; этот элемент развертывается в правильную цепочку выражений в соответствии со структурой концептуальной единицы, подлежащей выражению на естественном языке. Исходный элемент потока составляющих служит сигналом для поиска в дереве прототипов того способа выражения, который удовлетворителен с контекстуальной, концептуальной и лексической точек зрения. Этот исходный элемент развертывается в серию элементов, организующих искомое выражение. На каждой стадии развертывания могут учитываться контекстуальные и семантические факторы.
Иерархию прототипов можно рассматривать как различительную сеть для выражения разных концептуальных единиц. Весь процесс выражения контролируется системой лексических прототипов, а поток составляющих полностью подчинен этой базе данных. Начальный элемент потока составляющих служит указателем (pointer) к тому разделу ЛИСП-кода, который находит структуру составляющих для понятия, подлежащего выражению.
Это осуществляется путем отыскания наиболее конкретного лексического прототипа, содержащего информацию о структуре составляющих (то есть путем обследования дерева прототипов до обнаружения такого прототипа).Многие концептуальные единицы требуют одной и той же структуры составляющих. Для таких понятий нужная информация хранится в общем лексическом прототипе. Для случаев, когда к работе генератора предъявляются особые требования, в нижних ярусах дерева прототипов хранится соответствующий особый код.
На рис. 7 приводится пример использования потока^ составляющих и иерархии прототипов для синтеза английского выражения из концептуальной единицы PTRANS. На этом рисунке СОБ-ПЕ-
РЕДАЧА относится к событию, состоящему в передаче письма почтальоном адресату. Эта информация представляется посредством концептуальных зависимостей следующим образом:
(PTRANS АГЕНТ почтальон ОБЪЕКТ письмо ОТКУДА почтальон КУДА читатель)
СОБ-ПЕРЕДАЧА 0 — это узел в памяти BORIS, построенный для представления конкретного события, состоящего в получении письма от Поля в абзаце 1 рассказа о разводе. Когда генератор BORIS начинает строить выражение для СОБ-ПЕРЕДАЧА, он не находит в актуализированном узле никакой информации, необходи-
узел верхнего уровня:
прототипические узлы: Ц-С
ДЕЙСТВИЕ СОСТОЯНИЕ ПЕРЕЖИВАНИЕ. . .
■т
лексический узел PTRANS ... ГЛОТАНИЕ PTRANS:
•т
шаблон PTRANS СОБ-ПЕРЕДАЧА в К-ПИСЬМО в BORIS:
актуализация: СОБ-ПЕРЕДАЧА О
Рис. 7. Пример иерархической структуры и маршрут поиска информации для синтеза.
мой для синтеза, и поэтому осуществляет переход по связи, ведущей к прототипу — шаблону СОБ-ПЕРЕДАЧА,— который в свою очередь является узлом в КОП „письмо". Узел с этим шаблоном содержит две единицы информации: (1) указание об использовании глагола to get и (2) указание о том, что подлежащее будущего предложения будет найдено в слоте КУДА соответствующего концептуального представления. Далее, лексическим прототипом для СОБ-ПЕРЕДАЧА является акт PTRANS, который снабжен особой информацией о выражении дополнения. Наконец, к PTRANS идет прототипная связь, приводящая в конечном счете к узлу Ц—С; информация этого последнего подавляется информацией в подчиненных узлах. Ц—С также организует структуру предложения некоторым стандартным образом. На основе информации о ролевом заполнении ролей, содержащейся в актуализированном узле, исходная концептуальная единица в результате выражается так:
RICHARD GOT A LETTER FROM PAUL.
‘Ричард получил письмо от Поля’.
6.2.