Компьютерную программу научили писать рэп

Коллектив ученых из Финляндии создал алгоритм DeepBeat, пишущий текст для рэп-композиций. Авторы используют выборку из 10 980 реальных текстов англоязычных MC, комбинируя строчки из разных «старых» песен для написания одной «новой». При этом можно задавать тематику композиции, тогда программа будет стараться подбирать строчки соответствующего содержания. Основой работы стало использования нескольких алгоритмов машинного обучения для определения «подходящей» строки на основании рифмы и заданной тематики. Препринт работы опубликован на сайте arxiv.org.

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

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

Авторы использовали несколько типов рифм, от самых простых — «идеальных рифм» — вроде «палка-галка», до популярных в рэп-музыке «ассонансных рифм», в которых есть только совпадение гласных звуков, но согласные могут полностью отличаться. Кроме того, ассонансная рифма может «растягиваться» на несколько слов, например:

«This is a job — I get paid to [sling some raps],
What you made last year was less than my [income tax]»

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

Одним из «побочных», но любопытных результатов работы стало определение степени «зарифмованности» текста. Авторы даже построили список известных рэп-исполнителей, ранжированный по этому показателю. Первое место в нем занял Inspektah Deck с показателем «плотности рифм» 1.187. Nicki Minaj, например, оказалась на 31 месте, 2Pac — на 33, Eminem — на 39, Jay-Z — на 50. В работе этот показатель использовался в качестве сравнительной характеристики работы нового алгоритма.

Основным итогом работы стали написанные (вернее — скомпилированные) тексты рэп-композиций. Часть из них можно прочитать на сайте лаборатории. Авторы ограничились «простой» схемой рифмования aabb, но при этом использовали ассонансные рифмы длиной до 8 слогов, например:

«But hey [maybe I’ll never win]
Stressing me — [stressing me, my memories]»

В заключении работы авторы замечают, что представленный ими алгоритм является примером «computational creativity» («вычислительного творчества»). Эта область обычно представляет собой серьезную проблему для ученых, однако использование рэпа в качестве объекта позволило несколько упростить задачу благодаря ритмике как жанровой особенности. В планах ученых стоит усложнение алгоритма и «написание» текстов не по строкам, а по словам.