Шрифт:
Интервал:
Закладка:
Оттуда он вышел только через три часа, держа в руках большой, разграфлённый, как ведомость, лист бумаги.
— Пишете? — вяло спросил Ухудшанский.
— Специально для вас, — ответил великий комбинатор. — Вы, я замечаю, всё время терзаетесь муками творчества. Писать, конечно, очень трудно. Я, как старый передовик и ваш собрат по перу, могу это засвидетельствовать. Но я изобрёл такую штуку, которая избавляет от необходимости ждать, покуда вас окатит потный вал вдохновения. Вот. Извольте посмотреть.
И Остап протянул Ухудшанскому лист, на котором было написано:
ТОРЖЕСТВЕННЫЙ КОМПЛЕКТ
НЕЗАМЕНИМОЕ ПОСОБИЕ ДЛЯ СОЧИНЕНИЯ ЮБИЛЕЙНЫХ СТАТЕЙ, ТАБЕЛЬНЫХ ФЕЛЬЕТОНОВ, А ТАКЖЕ ПАРАДНЫХ СТИХОТВОРЕНИЙ, ОД И ТРОПАРЕЙ[2508].
Конечно, проданный Ухудшанскому за 25 рублей комплект не позволял полностью автоматизировать процесс сочинения и был лишь сатирической фигурой для осмеяния официозных литературных произведений, но в каждой шутке, как известно, есть некоторая доля шутки.
Пока литераторы развлекали себя подобными экспериментами, анализом проблемы занимались и математики. 23 января 1913 г. на заседании Физико-математического отделения Императорской Академии наук уже знакомый нам Андрей Андреевич Марков (старший) представил работу под названием «Пример статистического исследования над текстом „Евгения Онегина“, иллюстрирующий связь испытаний в цепь», в которой исследовал статистические закономерности, обнаруживающиеся в 20 000 символах поэмы (первая глава и 16 строф второй главы)[2509].
Конечно, до создания языковых моделей, способных на основании анализа сотен гигабайт текста с достаточной точностью предсказывать распределение вероятностей появления следующего элемента текста (например, слова) в зависимости от предыдущих, было ещё очень далеко, но первый шаг в этом направлении был сделан.
Множество экспериментов по генерации текстов было проделано в эпоху GOFAI. Их основой обычно были модели, созданные на базе анализа структуры текстов, а также специализированных словарей, содержащих наборы используемых словоформ и синтаксическую информацию о каждой из них (часть речи, род, число и т. д.).
Систем, использующих этот подход, было создано немало, поэтому ограничимся рассмотрением лишь нескольких примеров.
С августа 1953 г. по май 1954 г. на доске объявлений компьютерного факультета Манчестерского университета появлялись странные любовные письма:
Голубушка любимая,
Вы — моя нежная мечта. Моя тоскующая страсть пылко взывает к вашему желанию. Моё необузданное влечение тоскует по вашей преданности. Вы — моя острая привязанность, моя страстная любовь.
Ваш неравнодушный
M. U. C.
[Duck darling
You are my fond desire. My wistful infatuation ardently attracts your appetite. My longing yearns for your devotion. You are my keen affection: my passionate love.
Yours curiously
M. U. C.]
Сокращение M. U. C. расшифровывалось как Компьютер Манчестерского университета [Manchester University Computer]. Уже знакомый нам создатель первой шашечной программы Кристофер Стрейчи использовал встроенный генератор псевдослучайных чисел Ferranti Mark I и несколько списков слов для создания эмоциональных текстов. Благодаря усилиям программистов-реконструкторов воспользоваться детищем Стрейчи можно и сегодня[2510], [2511].
Немало усилий было направлено на то, чтобы научить машины сочинять стихи. Вот, например, как описывает работу своей программы POETRY GENERATOR (позже — AUTOMATIC POETRY GENERATOR) её создательница Розмари Уэст: «Мой подход… основан на использовании богатого словаря слов и фраз, которые выбираются случайным образом, и из них формируются словосочетания согласно набору грамматических правил. Рассмотрим, например, следующее четверостишие: „Дерево погружает голые пальцы / в чёрное озеро льда, / словно три серых гуся / сползают по снежному склону“. Каждую строку стихотворения можно разбить на несколько частей… Дерево — подлежащее; опускает — сказуемое; голые пальцы — дополнение. Определив части, я могу вместо них подставлять другие слова из многочисленного (от 100 до 400 [штук]) набора для каждой части. Эти подстановки выбираются компьютером случайным образом. Например, воспользовавшись той же стихотворной структурой, я могла бы получить другое четверостишие: „Женщина прячет пять серых котят / под старым ржавым рыдваном, / и тут же печальные клоуны / входят в ваш музей страданий“».
Вот пример белого стиха, написанного POETRY GENERATOR:
Любовница супруга моего
Любовница супруга моего как будто торжествует.
Но, глядя, как работаю я в храме,
В пещерах зла повсюду меня ищет
И помнит обо мне, в постели засыпая.
Хотя живу я в царстве безразличья,
Не чувствует себя уверенно она.
И никогда в мечтах о власти винить меня она не перестанет.
Каталог стихотворных структур в программе Уэст составлен на основе анализа стихотворений, написанных людьми[2512], [2513], [2514]. Если мы используем привычную нам силлабо-тоническую систему стихосложения (от греч. συλλαβή — слог и τόνος — ударение; в её основе лежит выравненность числа слогов, количества и места распределения ударений в стихотворных строках), то при подстановке слов необходимо сохранять соответствие по количеству слогов и позициям ударений. Если в стихотворении есть рифмы, то необходимо учитывать и их. Но при наличии соответствующих словарей с фонетическими транскрипциями слов всё это становится чисто механическими задачами. Примерно таким образом работает, например, современный «Яндекс.Автопоэт», составляющий стихи из запросов пользователей к поисковой системе «Яндекс»:
как позвонить в сбербанк россии
возьму в аренду самосвал
лечение гипертонии
стендап пузатый генерал
измерить скорость интернета
литературная газета
фильм достучаться до небес
код магнитолы мерседес
вакансии в североморске
что значит слово реапод
несчастный случай снег идёт
цена на шубы в пятигорске
лес пахнет дубом и сосной
я просто должен быть с тобой[2515]
В общем, как говорила Герцогиня из «Алисы в Стране чудес» Кэрролла: «Позаботься о смысле, а звуки позаботятся о себе сами» [Take care of the sense, and the sounds will take care of themselves]. Впрочем, со смыслами в эпоху GOFAI всё было как раз не очень хорошо, поэтому для создания полноценной поэзии программы тех лет обычно нуждались в помощи человека. К числу таких систем можно отнести THUNDER THOUGHT Томаса Истона и ORPHEUS Майкла Ньюмана. Автор последней, например, создал следующую нетленку на основе 130-го сонета Шекспира:
My Apple’s screen is nothing like the sun;
The Cray is faster far on problems big:
[Экран у «Эппла» не похож на солнце;
«Крэй» побыстрее на больших задачах:]
Так как первая строка заканчивается словом sun (солнце), программа заглядывает в словарь рифм и показывает несколько слов, рифмующихся со словом sun: bun, done, fun, gun и так далее. Из этого списка человек выбирает подходящий вариант, например fun (забава). С каким компьютером работать забавнее, чем с компьютером «Эппл» (Apple)? В те годы своими играми славился компьютер «Атари» (Atari). Таким образом, возникает третья строка:
If Apple pleasant be, th’ Atari is more fun;
[Приятен «Эппл», «Атари» же забавней]
Здесь