logo
ЛОИ New

Синтез текстов на естественном языке

Задача синтеза может рассматриваться как обратная по отношению к анализу. Если заданы некоторая тема и цель будущего текста, то можно считать заданной прагматическую структуру текста. Ее надо декомпозировать в прагматические структуры отдельных предложений и для каждого предложения пройти все этапы анализа в обратном направлении.

На сегодняшний день здесь еще масса нерешенных проблем. Неизвестно, как генерировать прагматическую структуру текста из тех целей, которые стимулируют создание текста. Непонятно, как эту структуру разбить на прагматические структуры предложений и как от этих частных прагматических структур перейти к глубинным семантическим структурам.

Более известны методы дальнейшего движения по пути генерации текста. Один из возможных путей состоит в использовании актантов действий. С каждым действием связан некоторый набор сопутствующих ему объектов и характеристик. Они, как правило, совпадают с глубинными падежами Филмора. Если, например, мы имеем дело с действием "идти", то с ним тесно связаны субъект, совершающий это действие, пункты начала и конца движения, цель движения и т. п. Это позволяет связать с глаголом "идти" некоторую структуру с набором пустых пока мест:

ДЕЙСТВИЕ

Идти

СУБЪЕКТ

______

КУДА

______

ОТКУДА

. . .

Заглавными буквами в этой структуре обозначены некоторые имена. Первое имя конкретизируется глаголом "идти", а остальные имена пока остаются незаполненными. Эти остальные имена и определяют актанты глагола "идти". Примером заполнения может служить структура:

ДЕЙСТВИЕ

Идти

СУБЪЕКТ

Петр

ЦЕЛЬ

ЗА МОЛОТКОМ

Ей соответствует фраза: "Петр идет за молоком".

Наличие актантных структур действий позволяет представить процесс синтеза текстов в виде ряда следующих друг за другом шагов.

На первом шаге генерируется нужная последовательность глаголов-действий.

На следующем шаге заполняются их актантные структуры, что приводит к появлению глубинной семантической структуры отдельных предложений.

Затем эти структуры связываются с учётом общих действующих субъектов и используемых объектов, а также иных связывающих параметров в единый текст.

Последний шаг - образование синтаксически правильных конструкций в предложениях - в настоящее время не представляет труда, так как теоретически изучен почти досконально.

Таким образом работает, например, автоматическая система создания текстов волшебных сказок, носящая название TALE (сказка), созданная в нашей стране в 70-х годах. На первом шаге она выдает тексты примерно такого вида:

"Жил-был X. Не было у Х желаемого Y. Стал просить Х Бога. Бог обещал.

Появился Y. Вырос Y. Ушел, раз Х и не велел Y делать Z. Но Y сделал Z.

Вернулся X. Y нет. Понял X, что Y сделал Z. Пошел Х искать Y ..."

В памяти системы TALE хранятся данные для заполнения актантов, а одинаковые переменные показывают, что на эти места всюду надо поставить одни и те же заполнители. Так возникает текст: "Жил-был царь. И не было у царя желаемого наследника. Стал царь просить Бога. Бог обещал. Появился наследник. Вырос наследник..."

Мы рассмотрели лишь один из возможных путей построения текстов, да и то не с самого начала. Например, никак не объяснили, как генерируется последовательность глаголов в использованном для примера тексте. Для случая текстов типа волшебных сказок используются формальные специальные грамматики, созданные впервые советским ученым В. Проппом еще в конце 20-х гг. Эти грамматики позволяют строить последовательности действий, не нарушающие логического порядка повествования (например, глагол "ушел X" относительно глагола "X отсутствует" возникнет раньше). В компьютерной лингвистике проблемы синтеза текстов сейчас находятся в центре внимания исследователей, и нет сомнений, что в ближайшее время будут найдены эффективные средства для создания текстов на заданную тему.