поддержка
проекта:
разместите на своей странице нашу кнопку!И мы
разместим на нашей странице Вашу кнопку или ссылку. Заявку прислать на
e-mail
код нашей кнопки:
Синтез текстов
Машинный синтез осмысленных текстов и использование ЭВМ для их
сочинения преследуют две важные цели. Во-первых, нужно наладить удобный
для человека диалог с машиной. Ведь общение с ЭВМ идет по большей части
с помощью специальных языков, сильно отличающихся от естественных, и
люди, не владеющие такими специальными языками (изучение которых требует
времени и значительных усилий), не могут работать с ЭВМ. Возникает
естественная задача: научить ЭВМ воспринимать и "понимать" тексты,
указания, команды, сформулированные на естественном языке, а также
выдавать результирующую информацию, отвечать на вопросы также на
естественном языке. Работы в этом направлении привели к возникновению
так называемых диалоговых или вопросо-ответных систем. В подобных
системах машине задаются вопросы в пределах некоторой предметной
области, информация о которой введена в ЭВМ. Диалог человека с машиной
ведется на естественном языке. Для того чтобы диалоговая система могла
успешно функционировать, необходимо решить три основные задачи:
1) проанализировать заданный вопрос, выявить его грамматическую
структуру, формализовать ее, приведя к типовой форме, доступной
восприятию машины;
2) найти в хранящейся в машине информации объекты, указанные в вопросе,
и отношения между ними;
3) преобразовать найденные данные в текст (синтезировать ответ) на
естественном языке, согласованный с заданным вопросом.
Первая задача решается с помощью специальных программ, осуществляющих
лингвистический анализ входного текста (вопроса) и выделяющих объекты и
отношения между ними, которые позволяют установить, какую информацию
следует искать в памяти машины. Комплекс таких программ обычно
называется лингвистическим процессором. От сложности лингвистических
процессоров и глубины лингвистического анализа зависят широта и степень
разнообразия входных текстов (вопросов), которые могут воспринимать
машины.
Вторая задача зависит от формы представления информации о
рассматриваемой предметной области в машине. В простейшем случае вся
информация представляется явно и поиск ответа заключается лишь в
сравнении наименований объектов, указанных в вопросе, с теми, которые
хранятся в машине. В более сложном случае на основании хранящейся
информации формируется модель предметной области, которая используется
для получения ответа. Поясним сказанное простейшим примером. Пусть
информация, хранящаяся в машине, состоит из следующих трех предложений:
"Петя пошел в лес. В лесу было озеро. Петя сделал плот и перебрался на
другой берег". В простейшем случае (без формирования модели предметной
области) система в состоянии ответить лишь на прямые вопросы вида: кто
пошел в лес? Куда пошел Петя? Что было в лесу? Что построил Петя? При
наличии модельного описания предметной области, содержащей отношения
между объектами, о которых идет речь, система может ответить на ряд
дополнительных вопросов, которые в первом случае остаются без ответа. К
таким вопросам, например, относятся: дошел ли Петя до леса? Подошел ли
Петя к озеру? Что сделал Петя, подойдя к лесу? Из нашего (крайне
простого) примера видно, что от формы представления информации, знаний о
предметной области существенно зависит богатство диалога с машиной. В
действующих вопросо-ответных системах структура вопросов оказывается
более сложной, содержит ряд условий и ограничений и требует более
глубокого лингвистического анализа. Структура знаний, хранящихся в
машине, также оказывается более сложной, но всегда (в реальных системах)
ограничивается заранее выбранной ограниченной предметной областью.
Третья задача - собственно синтез текста ответа. Программа,
осуществляющая такой синтез, должна на основе анализа вопроса выбрать
грамматически правильную структуру ответа, оценить морфологические
особенности входящих в ответ слов, их тип, род, число, время и т. п. и
на основании этого преобразовать их так, чтобы они составили
грамматически правильный, согласованный текст.
А может ли машина помогать человеку сочинять сказки, стихотворения,
анекдоты, басни? Как синтезируется осмысленный текст?
Во-первых, нужно сформировать исходный массив знаний о возможных
событиях или их типах, которые могут встречаться в создаваемом тексте, о
возможном поведении (поступках) действующих лиц. Во-вторых, сформировать
знания о структуре и особенностях выбранного жанра (сказке, хроникальной
газетной заметке, басне, анекдоте и т. п.). И наконец, сформировать
знания о некоторых ограничениях, связывающих события и поступки между
собой. Так, например, ссора почти всегда должна предшествовать драке,
дарение какого-нибудь волшебного средства должно предшествовать
препятствию, которое преодолевается с помощью этого волшебного средства.
Сформированная база знаний не может изменяться в ходе сочинения текста.
В противном случае могли бы возникнуть противоречия.
В-третьих, необходимо выстроить цепочку событий, которые образуют
структуру будущего текста. Выбор очередного события в синтезируемом
тексте определяется тем, какие события произошли до этого. При этом
учитываются также и знания об особенностях выбранного жанра.
Составляемая последовательно цепочка событий хранится в памяти и
образует динамическую (изменяющуюся) базу знаний, свою для каждого
текста.
В процессе собственно генерации текста, т. е. при последовательном
описании событий, корректируются выбранные фрагменты текстов, слова
согласуются между собой на основе лингвистического (грамматического)
анализа, приводятся в соответствие времена, числа, окончания падежей и
т. п.
Для примера рассмотрим, как этот процесс реализуется при машинном
сочинении русских волшебных сказок, так как структура и особенности
построения волшебных сказок наиболее полно и детально изучены. Русский
филолог В. Я. Пропп и его ученики показали, что сказки имеют в своей
основе достаточно жесткую структуру, число разновидностей которой не
очень велико. В сказках встречается много типовых повторяющихся
выражений (клише) типа: "в некотором царстве, некотором государстве",
"жил-был", "летит - земля дрожит", "я там был, мед-пиво пил, по усам
текло, а в рот не попало" и др. Множество действующих лиц сказки
составляет несколько групп, у представителей которых строго определенная
роль. Герой всегда выполняет просьбы, преодолевает препятствия и успешно
достигает цели; Антигерой, который противодействует Герою, похищает
нечто, что ищет Герой; Помощник или Даритель, которые обращаются с
некоторой просьбой к Герою и за выполнение этой просьбы либо дарят Герою
некоторое волшебное средство, либо обещают и оказывают Герою помощь в
трудных ситуациях; Вредитель, который противодействует Герою при
достижении поставленной им цели, и т. п.
Общая структура сказок упрощенно может быть представлена следующим
образом.
Сказка часто начинается с завязки, в которой указывается владелец
предмета, происходит похищение этого предмета и определяется Гёрой,
которому поручается найти похищенное. Могут существовать и другие
структуры завязки, но практически в любом случае в ней появляется Герой,
которому дается поручение.
Во второй части сказки Герой переходит в некоторый "иной мир" и Герой
последовательно встречается с другими действующими лицами. При этом он
преодолевает препятствия и находит (отвоевывает) потерю. И наконец,
заключительная часть сказки, когда Герой возвращается с потерей и
получает награду. Сказка завершается одной из типовых фраз.
Статическая база знаний представляется в этом случае в виде перечня
возможных конкретных реализаций для каждой группы (типа) действующих лиц
(список Героев, Антигероев, Дарителей и т. п.) с указанием их
характерных особенностей. Каждая возможная встреча определенных типов
действующих лиц характеризуется несколькими фиксированными глаголами,
определяющими вид встречи и ее результат.