Шрифт:
Интервал:
Закладка:
Как написать роман за месяц
Идея Лескюра о применении алгоритмов к уже существующим литературным произведениям используется многими программистами, участвующими в 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
Примеры, которые я приводил до сих пор, были по большей части основаны на нисходящей модели программирования: стихотворный шаблон, который заполняется случайным образом в соответствии с явно сформулированными правилами; код, который преобразует классические тексты в новые произведения; алгоритмы, запрограммированные на превращение набранных данных в истории. На самом деле эти программы не допускают особенной свободы. Машинное обучение изменяет эту ситуацию. Теперь алгоритм может взять весь корпус сочинений определенного автора и узнать нечто новое о том, как он пишет. Если он часто употребляет какое-то определенное слово, может существовать высокая вероятность того, что за этим словом будут следовать определенные другие слова. Построив вероятностную картину словоупотребления писателя, алгоритм может приступить к генерированию продолжения его текста. Так работает предиктивный ввод текста. Результаты применения этого принципа в литературе оказываются одновременно познавательными и забавными.
Применение машинного обучения для создания новых литературных произведений пропагандирует группа, называющаяся Botnik («Ботник»). Ее основали в 2016 году писатель Джейми Брю и бывший редактор отдела карикатур журнала New Yorker Боб Манкофф; сейчас она превратилась в открытое сообщество писателей, использующих технологические средства для создания комической литературы. Группа взяла сценарии телесериала «Сайнфелд» (Seinfeld) и создала новые эпизоды при помощи математического анализа уже существующих диалогов. Удалось даже уговорить актера Зака Браффа, игравшего в сериале «Клиника» (Scrubs), исполнить монолог, написанный алгоритмом на основе этой медицинской трагикомедии. В результате получается нечто сюрреалистическое. В эпизоде «Сайнфелда», который создал Botnik, Джерри уверенно заявляет: «Свидания – полная противоположность тунца, а лосось – полная противоположность всего остального. Я уверен, что вы понимаете, что я имею в виду».
Кроме того, Botnik взял рецепты блюд для празднования Дня благодарения и создал видеоролик для YouTube, подробно рассказывающий, какой ужин можно получить, если готовить его будет алгоритм:
Лучший способ приготовить что-нибудь особенное ко Дню благодарения – это сложить индейку пополам, а потом просто закинуть ее в кухню.
Возможно, самые успешные из появившихся до сих пор результатов были получены на основе обучения алгоритма на семи томах «Гарри Поттера». Botnik написал три страницы, звучащие в высшей степени правдоподобно.
Магия – Гарри Поттер думал, что это вещь очень хорошая. Кожаные полотнища дождя хлестали призрак Гарри, пока он шел через парк к замку.
А иногда в тексте попадаются проблески чистого гения, которые мог создать только алгоритм: