А вот стихотворение, в котором сплавляются Шелли и Элиот:
Lady of Autumn’s being,
Thou, from the day, having to care
Teach us now thoroughly small and create,
And then presume?
And this, and me,
And place of the unspoken word, the unread vision in Baiae’s bay,
And the posterity of Michelangelo[116].
Такое вот сочетание «Оды западному ветру» и «Любовной песни Дж. Альфреда Пруфрока».
В тестах Тьюринга, которые проводил Курцвейл, кибернетическому поэту в большинстве случаев удалось обмануть людей, судивших его произведения. Отчасти это связано с тем, что современной поэзии присущи афористические фразы, интерпретация которых требует от читателя немалого труда. Загадочный текст, который выдает алгоритм, вполне может сойти за стихи, написанные человеком. Результаты тестов и стихи, которые использовал Курцвейл, можно найти на его сайте: http://www.kurzweilcyberart.com.
Если вы хотите попробовать отличить человеческую поэзию от творений нескольких разных алгоритмов, к вашим услугам непростой поэтический тест Тьюринга, который разработали Бенджамин Лэрд и Оскар Шварц в рамках проекта, названного ими bot or not («бот или не бот»): http://botpoet.com.
Даже если кибернетическому поэту удается генерировать вполне правдоподобные стихи, создание кибернетического романиста – задача гораздо более трудная.
Идея Лескюра о применении алгоритмов к уже существующим литературным произведениям используется многими программистами, участвующими в NaNoGenMo – Национальном месячнике генерирования романов (National Novel Generation Month). Он возник в ответ на Национальный месячник сочинения романов (National Novel Writing Month), в рамках которого начинающие писатели должны написать произведение из 50 000 слов в течение ноября. Программист и художник Дариус Каземи решил, что ему не хочется строчить каждый день по 1667 слов: лучше он потратит месяц на разработку программы, которая сможет сочинить роман длиной 50 000 слов. По завершении работы он собирался опубликовать и роман, и код программы. Его твит об этой идее, появившийся в 2013 году, и положил начало ежегодному литературному состязанию разработчиков программ.
Многие из программистов, участвующих в NaNoGenMo, занимаются переписыванием уже существующих текстов: «Гордость и предубеждение» пропускается через фильтр твиттера, «Моби Дик» интерпретируется алгоритмом для сочинения научной фантастики, «Толкование 10 000 снов» Густавуса Хиндмана Миллера перетолковывается и перестраивается программой. Но особое внимание привлекло более честолюбивое произведение под названием «Искатель» (The Seeker). В этом романе описывается, как алгоритм пытается понять, как функционируют люди, читая разные статьи на сайте wiki-How. У алгоритма есть метапрограмма, проходящая через этапы «Работы», «Сканирования» и «Воображения», после чего все повторяется заново. Автор кода, скрывающийся под псевдонимом thricedotted[117], объясняет нам, что это значит:
В режиме «Работы» он собирает концепции, касающиеся человеческой деятельности.
В режиме «Сканирования» он ищет «воспоминания» в простом текстовом формате, по начальной концепции, найденной на этапе «Работы». Затем он использует концепции, не распознанные в режиме «Сканирования» (исключенные из его записей) для «Воображения» «невидимого» вокруг начальной концепции.
В романе «Искатель» описывается путь открытий алгоритма, исследующего базу данных wikiHow и постепенно продвигающегося от невежества к кажущемуся пониманию. Первая страница, к которой он обращается, называется «Как добиться, чтобы девушка пригласила на свидание». В начальную концепцию попадает из ее сканирования слово «обидеть»: на странице идет речь о том, как не обидеть девушку. В режиме «Воображения» алгоритм создает сюрреалистическую импровизацию на основе слова «обидеть».
«Искатель» почти достигает цели – в отличие от многих других алгоритмических романов, – потому что, по мере того как алгоритм пытается разобраться в людях, читатель начинает чувствовать, что понимает, что думает алгоритм. Тот факт, что текст читается как странный компьютерный код, составленный из слов, вполне согласуется с представлением о возможном внутреннем голосе алгоритма. Может быть, в этом и состоит конечная цель любой алгоритмически созданной литературы – дать нам возможность понять зарождающееся сознание (если оно вообще зарождается) и его отличия от нашего собственного.
Но пока что мир книготорговли вполне устроили бы алгоритмы, способные штамповать эскапистские любовные романы или очередные триллеры Дэна Брауна. Многие из этих бестселлеров пишутся по четко определенной формуле. Нельзя ли просто автоматизировать эту формулу? Если алгоритмы не могут создавать великих литературных произведений, может быть, они смогли бы выпекать коммерчески успешные книжки для повседневного чтения вроде романов Кена Фоллетта или даже алгоритмических «50 оттенков серого». Книжный редактор Джоди Арчер и специалист по анализу данных Мэтью Джокерс написали алгоритм, который по меньшей мере претендует на умение определять, какова вероятность, что та или иная книга станет бестселлером[118]. Этот алгоритм установил, что читатели бестселлеров предпочитают короткие предложения, повествования, в языке которых ощущается личность героя, и менее сложный словарь, чем читатели серьезной художественной литературы. Жаль, что я не узнал это до того, как начал писать эту книгу!
Примеры, которые я приводил до сих пор, были по большей части основаны на нисходящей модели программирования: стихотворный шаблон, который заполняется случайным образом в соответствии с явно сформулированными правилами; код, который преобразует классические тексты в новые произведения; алгоритмы, запрограммированные на превращение набранных данных в истории. На самом деле эти программы не допускают особенной свободы. Машинное обучение изменяет эту ситуацию. Теперь алгоритм может взять весь корпус сочинений определенного автора и узнать нечто новое о том, как он пишет. Если он часто употребляет какое-то определенное слово, может существовать высокая вероятность того, что за этим словом будут следовать определенные другие слова. Построив вероятностную картину словоупотребления писателя, алгоритм может приступить к генерированию продолжения его текста. Так работает предиктивный ввод текста. Результаты применения этого принципа в литературе оказываются одновременно познавательными и забавными.
Применение машинного обучения для создания новых литературных произведений пропагандирует группа, называющаяся Botnik («Ботник»). Ее основали в 2016 году писатель Джейми Брю и бывший редактор отдела карикатур журнала New Yorker Боб Манкофф; сейчас она превратилась в открытое сообщество писателей, использующих технологические средства для создания комической литературы. Группа взяла сценарии телесериала «Сайнфелд» (Seinfeld) и создала новые эпизоды при помощи математического анализа уже существующих диалогов. Удалось даже уговорить актера Зака Браффа, игравшего в сериале «Клиника» (Scrubs), исполнить монолог, написанный алгоритмом на основе этой медицинской трагикомедии. В результате получается нечто сюрреалистическое. В эпизоде «Сайнфелда», который создал Botnik, Джерри уверенно заявляет: «Свидания – полная противоположность тунца, а лосось – полная противоположность всего остального. Я уверен, что вы понимаете, что я имею в виду».
Кроме того, Botnik взял рецепты блюд для празднования Дня благодарения и создал видеоролик для YouTube, подробно рассказывающий, какой ужин можно получить, если готовить его будет алгоритм:
Лучший способ приготовить что-нибудь особенное ко Дню благодарения – это сложить индейку пополам, а потом просто закинуть ее в кухню.
Возможно, самые успешные из появившихся до сих пор результатов были получены на основе обучения алгоритма на семи томах «Гарри Поттера». Botnik написал три страницы, звучащие в высшей степени правдоподобно.
Магия – Гарри Поттер думал, что это вещь очень хорошая. Кожаные полотнища дождя хлестали призрак Гарри, пока он шел через парк к замку.
А иногда в тексте попадаются проблески чистого гения, которые мог создать только алгоритм:
Рон стоял там, отбивая своего рода остервенелую чечетку. Он увидел Гарри и немедленно принялся есть родственников Гермионы. Роновская рубашка Рона была ничуть не лучше самого Рона.
Надо думать, для фанатов, готовых на все, лишь бы узнать еще хоть что-нибудь о мире волшебников, это, может быть, и лучше, чем ничего, но в этом сочинении практически отсутствует сюжет, и маловероятно, чтобы оно могло оставаться захватывающим дольше трех страниц.
Я решил проверить, не получу ли я новых идей, которых не заметил раньше, если скормлю этому алгоритму данные своей первой книги «Музыка простых чисел» (The Music of the Primes, 2003). В ответ я получил следующий странный улов:
Простые числа – это драгоценности, сверкающие посреди огромных пространств нашей бесконечной вселенной чисел. Считая все дальше и дальше, Гаусс внезапно увидел, как начинает проявляться закономерность. Его страсть к этой задаче еще более разгорелась, когда отец предложил купить ему «феррари». Прежние схемы образования были настроены на создание каждого списка простых чисел 2, 3, 5, 7, 11 и 13 лет соответственно. Каждый год, кроме последнего, они остаются в земле, питаясь смолой корней.
Причудливый, но узнаваемый винегрет из моей первой книги. Один из важных уроков, которые я извлек из применения этого алгоритма, состоит в том, что создание текстов по-прежнему требует значительного участия человека. Алгоритм дает вам 18 слов, которые с высокой вероятностью могут следовать после того, что уже написано. Но это дает мне очень широкие возможности повести текст в любом направлении, в котором мне заблагорассудится. Человеческий компонент художественных произведений, созданных алгоритмами, часто маскируют. Заголовок «Искусственный интеллект написал нового “Гарри Поттера”!» привлекает гораздо больше внимания, чем «Очередной литературовед выпустил новый роман».