Охота на электроовец. Большая книга искусственного интеллекта - Марков Сергей Николаевич
Конечно, до создания языковых моделей, способных на основании анализа сотен гигабайт текста с достаточной точностью предсказывать распределение вероятностей появления следующего элемента текста (например, слова) в зависимости от предыдущих, было ещё очень далеко, но первый шаг в этом направлении был сделан.
Множество экспериментов по генерации текстов было проделано в эпоху 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;
[Приятен «Эппл», «Атари» же забавней]
Здесь человек снова подбирает рифму, на этот раз к слову big. Допустим, это wig (парик).
If wires be hairs, her circuits are a wig:
[Проводнички — как волос, схемы — как парик] [2516]
Ну и так далее.
Впрочем, первые попытки обуздания семантики и создания моделей, претендующих на генерацию чего-то большего, чем просто тонн рифмованной чепухи, были также осуществлены в эпоху GOFAI. Здесь стоит упомянуть автоматического «Скальда», созданного под руководством уже знакомого нам Раймунда Пиотровского — основателя группы «Статистика речи».
Скальдами называли древнескандинавских поэтов-певцов IX–XIV вв. Обычно скальды жили при дворах и дружинах князей (конунгов), а основными жанрами их поэзии были «драпа» (боевая песня, прославлявшая подвиги конунга, его дружины и выражавшая героические идеалы), «нид» (хулительная песнь) и «отдельная виса» (стих, построенный приблизительно по тем же канонам, что и драпа, но допускающий более свободный выбор темы: например, отдельная виса могла быть написана о сделке, краже, случайной встрече, свидании, сновидении и т. д.).
С фонетической точки зрения поэзия скальдов весьма затейлива — стихи содержат множество аллитераций (повторений одинаковых или однородных согласных в стихотворении, придающих ему особую звуковую выразительность) и внутренних рифм. Особенностью же содержательной стороны скальдической поэзии является использование довольно сложной системы образов. Например, корабль скальды могли именовать «конём моря», море — «домом угрей» или «полем корабля», ворона — «осою трупов», «чайкой ран», «лебедем крови», «соколом битвы», а битву — «вьюгой мечей». Такие образы называют «кеннингами».