Электронный скальд: о связи математики и поэзии

Статья написана Павлом Чайкой, главным редактором журнала «Познавайка». С 2013 года, с момента основания журнала Павел Чайка посвятил себя популяризации науки в Украине и мире. Основная цель, как журнала, так и этой статьи – объяснить сложные научные темы простым и доступным языком

поэзия

«Изучение потока речи без гипотез о механизме его порождения не только малопродуктивно, но и неинтересно»,— сказал как-то А. Й. Колмогоров, чьи работы по математическому анализу стиха стали классическими. Слова эти справедливы как для лингвистики, так и для литературоведения и поэтики. Число текстов, которые может произвести, написать, «породить», говоря языком кибернетики, любой человек, владеющий языком, практически бесконечно. Статистика позволяет улавливать общие закономерности, частоты употребления тех или иных слов, конструкций, фонем, морфем. Но главное — не сам механизм порождения речи, а порождения текстов. Вот почему «революцией в лингвистике» назвали работы американского лингвиста Ноама Хомского, посвященные так называемым «порождающим грамматикам». В математике есть особые порождающие системы — формальные исчисления, с помощью которых, исходя из набора определенных аксиом, правил построения формул и вывода одних формул из других, можно строить бесконечное число правильных высказываний.

Хомский провел смелую аналогию с языком, с его бесконечным числом правильных предложений, состоящих из конечного числа элементов — слов — и грамматических категорий. В результате появилась теория порождающих грамматик, одна из самых интересных и перспективных областей современной лингвистики.

Во многом под влиянием этих работ родилась идея использовать поэтические тексты, порождаемые компьютером, для проверки правильности модели поэтического творчества, исходя из которой построена программа, управляющая машиной. Для этого, конечно, надо хотя бы в самом общем виде представить себе, как человек пишет стихи, по какой программе, невероятно сложной, многомерной, ухитряется его мозг одновременно оперировать со смыслом и со звуком, перебирать слова, хранящиеся в памяти, по окончаниям — рифмовкам, началам — аллитерациям, смысловым признакам, ассоциациям и т. д.

Поэтическое творчество известно любому, самому отсталому в культурном отношении народу мира. Образцы его мы находим в древнейших памятниках письма. Видимо, «говорить стихами» человеку разумному так же свойственно, как петь, танцевать, рисовать. С помощью компьютера, получающего ту или иную программу порождения поэтического текста, мы можем строить различные модели поэтического творчества. Если модель неточна или груба, то и тексты, порожденные компьютером по этой модели, будут столь же низкого качества. Модель совершенствуется — совершенствуется и качество текстов, порождаемых компьютером по этой усовершенствованной модели.

поэт

Первые опыты

Еще в 1953 году во французском журнале «Электроника» появилась публикация текстов, автором которых была электронная вычислительная машина «Каллиопа». Тексты эти были маловразумительны. Например: «Мой горизонт состоит лишь из красной портьеры, откуда с перерывами исходит удушающая жара. Едва можно различить мистический силуэт женщины, гордой и ужасной; это знатная дама, должно быть одно из времен года…» Далее следовал подобный же вздор. Порождался он нехитрым путем: из словаря в несколько десятков тысяч слов, хранившегося в памяти компьютера, извлекались — по принципу «орла или решки» — слова и соединялись между собой опять-таки по принципу теории вероятностей.

Вслед за «Каллиопой» сочинительством занялись и другие ЭВМ (эти протокомпьютеры размером с комнату). Но принципы их «творчества» были практически теми же. Сначала исследовались статистические характеристики текста. Затем компьютер «выбирал» из последовательности случайных чисел слова и фразы, которые имели сходную статистическую характеристику. Ни о каком сюжете, смысле и т. п. и речи тут быть не могло. Такое «творчество» напоминало монолог человека, не знающего иностранного языка, однако пытающегося подражать чужой речи, произнося бессмысленные, но похожие по звучанию слова и фразы.

Лишь после того, как появилось и оформилось направление, называемое «искусственный интеллект» и в распоряжении кибернетиков оказались современные компьютеры с их быстродействием и обширной памятью, вопрос о моделировании поэтического творчества стал на серьезную основу. На смену схоластическим, «случайным» программам порождения текста пришли программы эвристические, творческие, поисковые. И текст этот был уже не набором «статистически близких» (но бессмысленных!) сочетаний слов, а связным — по смыслу, по конструкции фраз и т. д. При этом выяснилось, что легче всего запрограммировать формальную сторону поэзии — рифмы и аллитерации, ритмическую «сетку», в которую поэт укладывает свое повествование. Отсюда родилась идея составить поисковую программу для таких стихов, в которых требования к форме были бы очень велики, а содержание могло бы оставаться в традиционных рамках. Наиболее благодарным материалом в этом отношении оказалась поэзия скандинавских скальдов, которую создавали около тысячи лет назад отважные воины и мореходы — викинги.

«Самая сложная в мире поэзия»

Поэзию скальдов называют иногда самой сложной, самой «трудной» по форме поэзией в мире. Каждая строфа скальдического стиха буквально «прошита» различными созвучиями, внутренними рифмами, аллитерациями и т. д. Ведь стих, который просто рифмован, с точки зрения скальдов еще не стих, нужно украсить его, обогатить звучание еще и другими средствами. И не только звучание — поэты-скальды прибегали к очень сложной и вычурной системе образов. Корабль они называли «конем моря», море — «домом угрей» или «полем корабля». Кровь именовалась «морем меча», меч — «шипом ран». Ворон назывался «осою трупов», «соколом битвы», «лебедем крови» и т. п. Такие образы получили название «кеннинги».

Но и этого было мало скальдам. На основании простых кеннингов они создавали кеннинги сложные, «многоступенные». Если меч именуется «шипом ран», «пот меча» — это кеннинг крови, а «лебедь крови» — кеннинг ворона, то ворона можно назвать «лебедем пота шипа ран». Если битва имеет кеннинг «треск стрел», а меч — кеннинг «огонь битвы», то тот же меч может быть назван и более сложным кеннингом — «огонь треска стрел». Некоторые поэты-скальды ухитрялись составлять кеннинги, включающие до семи компонентов, семи «этажей». Например, воин именовался кеннингом «метатель огня вьюги ведьмы луны коня корабельных сараев». Вот его расшифровка: «конь корабельных сараев» — это корабль, «луна корабля» — это щит, «ведьма щита» — копье, «вьюга копий» — битва, «огонь битвы» — меч, а «метатель меча» — воин!

Скальд

Поэзия же скальдов, несмотря на всю свою сложность, не была делом избранных и предназначалась для всего общества. В эпоху викингов умение слагать стихи приравнивалось к умению стрелять из лука, играть в шашки, музицировать на арфе, ездить на коне. Авторами стихов были и простые дружинники и короли, в том числе и норвежский король Харольд Суровый, посвятивший любовные стихи своей невесте Елизавете, дочери киевского князя Ярослава Мудрого.

Как считает знаток поэзии скальдов профессор М. И. Стеблин-Каменский, творчество сознавалось скальдами только в области формы. Поэт не мог сочинить небылицу, приписать себе дела, им не совершенные, прибегнуть к поэтической фантазии. Он описывал события такими, какими они на самом деле были. Либо сочинял хвалебную песню, так называемую драпу, возвеличивая героя своих стихов. Либо писал нид, хулительный стих, «честивший» врага. Либо сообщал такого рода сведения: «Я продал застежку от плаща, которую мне прислали исландцы, и купил селедок; свои стрелы я тоже обменял на селедок по случаю урожая».

Таково содержание одного из скальдических стихотворений. Другие же еще бедней, вроде: «Я убил Торгрма, Лодина, Торкеля, Торда и Фальгейра». Но все эти хвалы, хулы и скудные сообщения облекались в пышную одежду кеннингов, созвучий, ритмов и рифм. Чем изобретательней был в этом деле скальд, тем выше ценилась его поэзия.

Но, таким образом, в голове у пишущего скальдические стихи, очевидно, существовали своеобразные алгоритмы, правила образования кеннингов, правила отбора слов, образующих рифму, а также другие созвучия с соседними словами, правила ритма, в «сетку» которого одно слово помещалось, а другое — нет… Нельзя ли эти правила сделать доступными компьютеру? Ведь творчество скальдов шло в определенных строго заданных темой и формой рамках… А качество стихов, порождаемых компьютером, будет говорить о том, насколько верно мы моделируем творчество скальдов.

Алгоритмы кеннингов

Изучая поэзию скальдов, ученые, далекие от кибернетики, заметили, что кеннинги, по сути дела, образуются по жесткой схеме.

Вот кеннинги ворона: «гусь битвы», «оса трупов», «кукушка трупов», «лебедь крови», «чайка ран», «гусь крови». Нетрудно заметить, что первая часть кеннингов ворона — это названия птиц и летающих насекомых (гусь, оса, кукушка, чайка, лебедь), а вторая часть кеннинга образована словами, связанными с битвой, кровью, трупами, ранами и т. п. Корабль именовался скальдами «конем моря». Но не только моря — второй частью кеннинга корабля могли быть такие слова, как влага, болото, вода, устье, канава, водопад, река, пучина, прибой,— словом, все понятия, связанные с водою. А первой частью кеннинга могло быть не только слово «конь», но и «лось», «тур», «лев», да и наименование любого другого крупного животного.

Сложные кеннинги образовывались по четкой и поддающейся математическому описанию схеме. В книге математика Ю. И. Манина «Доказуемое и недоказуемое» приведен алгоритм порождения таких кеннингов. Его нетрудно реализовать на компьютере. Или, наоборот, вести своего рода расшифровку кеннингов, созданных поэтами-скальдами, с помощью компьютера.

Правила порождения простых кеннингов также могут быть автоматизированы. Кеннинги образуются сочетанием двух существительных: первое из них стоит в именительном падеже, второе — в родительном. Однако далеко не всякое существительное в именительном падеже в сочетании с существительным в родительном порождает кеннинг. Кеннинги давались ограниченному числу понятий: воину, женщине, мечу, кораблю, ворону, щиту, скандинавским языческим божествам, вроде Одина или Тора. И каждое из них имело свой круг понятий, с ним связанных, свое «смысловое поле». Эти «смысловые поля» могут быть проиндексированы.

Если слово нейтрально, то есть не входит составным компонентом в первую или во вторую часть кеннинга ворона, воина и т. д., оно получает индекс 0. Если слово может быть первой частью кеннинга для того или иного понятия, оно получает индекс 1, если второй — индекс 2. В словаре, размеченном подобным образом, в графе «ворон» индекс 1 получает все названия птиц и летающих насекомых (жук, стриж, гриф, дрозд, оса, сыч, кукушка и другие); индекс 2 — слова, связанные с кровью, сражением, оружием и т. п. Все остальные слова получают индекс 0. Таким образом, любое сочетание слов с индексом 1 со словами, имеющими в той же графе индекс 2, автоматически порожда¬ет кеннинг ворона. «Жук битв», «жук трупов», «жук крови», «стриж крови», «стриж трупов», «стриж битв», «гриф крови» и т. д. Подобную же процедуру можно проделать и с другими понятиями, получавшими кеннинги в поэзии скальдов.

викинги

Естественно, составить полный словарь всех слов, к тому же стоящих не только в именительном, но и в родительном падеже, практически невозможно. Поэтому на первом этапе эксперимента было решено ограничиться лишь односложными словами-существительными. Но и таких слов набралось примерно три тысячи. Число возможных сочетаний, образующих кеннинги, достигает астрономических величин даже в том случае, если ограничиться только односложными словами. Какое же из них следует выбирать при порождении скальдических стихов? Как лучше назвать ворона: «сыч сеч» или «гусь битв»? Или, может быть, «жук ран»? «дрозд стрел»? Эти вопросы, видимо, стояли перед «естественным» интеллектом поэта-скальда, сочинявшего свои хвалебные драпы и хулительные ниды. Они должны решаться и программой для компьютера, моделирующей творчество скальдов.

Компьютер — скальд

Как шел отбор одного-единственного кеннинга из огромного множества всех возможных? Очевидно, на выбор скальда влияла форма стихотворения. Одно слово рифмовало, другое рифмы не образовывало. Рифмуя, одно слово давало еще и аллитерацию, другое — нет. То есть все возможные кеннинги словно «прочесывались» через жесткие требования формы. И выбиралось то сочетание слов, которое полностью отвечало им.

Программа такого отбора — по ритму, созвучиям, рифмам, аллитерациям и т. д.— была составлена и для компьютера. Скальды пользовались несколькими видами стихотворных размеров: дротткветтом, тоглагом, квидухаттом, рунхентом, отличавшимися друг от друга узором аллитераций, спаивающих строки строфы, системой рифмовки и т. д. Для каждого из этих размеров был составлен соответствующий алгоритм. Различны могут быть и сами рифмы: точные, в которых полностью совпадают ударный гласный и заударные согласные (например, «меч—сеч»), в которых совпадение этих заударных согласных необязательно (например, «гон— гонг»); консонансы, где согласные совпадают, а гласные рифмующих слов различаются (например, «кот— кит», «бронь—брань» и т. п.). Для поиска всех этих типов рифм также были составлены специальные алгоритмы.

Работа компьютера, моделирующего творчество поэта-скальда, строится поэтапно. Сначала «заказчику» предлагается выбрать тему стихотворения: будет ли оно посвящено воину, мечу, ворону, кораблю, богу Одину или Тору и т. д. Далее он выбирает, будет ли стихотворение драпой или нидом. (Кстати сказать, подобного рода социальный заказ и выполняли в большинстве случаев поэты-скальды. Некоторым из них удавалось благодаря мастерски сложенным стихам избежать смертной казни — одно из скальдических стихотворений так и называется: «Выкуп за голову».)

«Заказчику» предлагается определить объем стихотворения, из скольких строф оно будет, каким размером должно быть написано и какой системе рифмовки будет следовать. В итоге получается около ста тысяч возможных вариантов «заказа». Далее следует заполнение словами одного из этих выбранных ста тысяч вариантов. Компьютер перебирает слова, хранящиеся в его памяти, образуя кеннинги, которые должны при этом отвечать требованиям рифмовки, строфики и т. д.

Чтобы стихотворение, порождаемое по программе «Скальд», не было простым перечнем кеннингов, был внесен ряд добавлений. В текст стихотворения включались краткие прилагательные, размеченные определенным образом по их «смысловым полям» (ворон может быть «черн», но не «бел» и т. п.). А также глаголы в повелительном наклонении, получившие специальные индексы.

Что происходит в «черном ящике»!

Программа «Скальд» осуществляется в рамках группы «Статистика речи», руководимой профессором Р. Г. Пиотровским. Программа эта до конца не завершена. Скальдические драпы и ниды сюжета не имеют, и программа их порождения не так уж сложна. Скальды же сочиняли и «стихи на случай», хотя содержание этих стихов было весьма ограниченным и диктовалось тем или иным событием, отразить которое и должны были стихи. В наши дни одной из актуальнейших задач искусственного интеллекта является разработка сценариев и смысловых «рамок», так называемых фреймов, с помощью которых могут описываться ситуации реального мира. Это позволяет надеяться, что и «стихи на случай» могут быть промоделированы на компьютере. Сначала ситуация будет описываться на формализованном языке, а затем ее содержание переложится в скальдические строфы.

Количество вариантов, с помощью которых можно выразить то или иное содержание, в языке велико. Требования формы резко ограничивают их число: стих должен быть рифмован, подчиняться правилам ритма. Но есть ли вариант наилучший, оптимальный? Такой вариант, в котором бы заранее заданное содержание излагалось с максимальным богатством «звукозаписи» стиха? Поэзия скальдов, «самая трудная в мире» по форме, является прекрасным полигоном для работ в этом направлении.

Организация словаря в машинном переводе, компактное хранение и выдача информации в различных «банках данных», создание «автоматов параллельного действия» — а таким «автоматом» является мозг поэта, пишущего стихи, оперирующий одновременно со звуком и смыслом, передающий в одних и тех же строках и «фактическую», и волевую, и эмоциональную, и эстетическую информацию,— вот задачи, ждущие своего решения.

«Черным ящиком» в кибернетике называют систему, устройство которой неизвестно и судить о которой мы можем лишь по информации «на входе» и «на выходе». Самый сложный и удивительный «черный ящик», с которым приходилось, приходится и, видимо, придется иметь дело человеку,— это его собственный мозг. Порождая на компьютере стихотворные тексты, ученые отнюдь не стремятся помочь поэтам писать стихи. Они хотят проникнуть в глубины «черного, ящика» — нашего мозга, создающего с помощью чуда естественного языка «чудо в квадрате» — поэзию.

Автор: А. Кондратов.