Я взломал поэзию Маяковского с помощью Python
Взрывайте традиции: как стихотворение "Про это" стало первым киберпоэмой
Вы когда-нибудь читали стихотворение, которое впервые в истории использовало фотоколлаж, разбивку строк по принципу «лесенки» и типографские эксперименты, напоминающие современные веб-дизайн?
В 1923 году Владимир Маяковский опубликовал «Про это» — не просто любовную поэму, а революционный текст, который по сути стал первой поэтической инсталляцией XX века. Оформил её знаменитый художник-конструктивист Александр Родченко, создав книгу, где текст, шрифт и изображение работали как единый механизм.
Но самое интересное — Маяковский заложил в текст скрытую архитектуру: звуковую, ритмическую, семантическую.
И вот спустя 100 лет я решил: а что, если эту архитектуру можно прочитать как код?
Что такое "Про это"? Это не про любовь. Это про войну.
Да, формально — это письмо поэта Лиле Брик. Но на самом деле — это батальник чувств, метафизический монолог о боли, одиночестве и революции личного сознания.
Маяковский пишет:
"Это визжащее, / звенящее это / пальнуло в стены, / старалось взорвать их."
Он говорит о любви, но использует язык артиллерии, электричества, техники. Его образы — телефонные провода, кабели, мосты — всё это технологическая метафора внутреннего напряжения.
Именно здесь рождается паронимическая рифма — не просто приём, а оружие звуковой войны.
Что такое паронимическая рифма?
Пароним — это слово, фонетически похожее на другое, но имеют разное лексическое значение. Например:
- он и нов
- болят и говорят
- тюрьма, кутерьма, рождество
Рифма между такими словами у Маяковского не точная, а скорее, зловещая, как эхо. Она создаёт эффект нарастающего давления, будто слова сами выдавливают смысл.
У Маяковского:
"он" — это "нов" → игра саморефлексии: «Я — это другой Я»
"тюрьма" ↔ "кутерьма" → хаос, праздник и заключение сливаются
"болят" ↔ "говорят" → боль становится голосом
Это не случайность. Это алгоритм чувства.
Расстояние Левенштейна: как математика нашла скрытые структуры
Чтобы автоматически находить такие паронимы, я использовал расстояние Левенштейна — алгоритм, придуманный советским математиком Владимиром Левенштейном в 1965 году.
Что это такое?
Это минимальное количество операций, необходимых, чтобы превратить одну строку в другую:
- Вставка (он
→ сон
)
- Удаление (нов
→ но
)
- Замена (он
→ нов
)
Если расстояние = 1 или 2 — значит, слова звучат почти одинаково.
Почему это важно?
Потому что поэт мыслит звуком, а не только смыслом. И есть инструмент, чтобы увидеть то, что слышим подсознательно.
Вот код, который "прочитал" Маяковского
import re
from itertools import combinations
from textdistance import Levenshtein
Загружаем текст
text = """Немолод очень лад баллад,
но если слова болят
и слова говорят про то, что болят,
..."""
lines = [line.strip() for line in text.split('\n')]
def extract_last_word(line):
words = re.findall(r'\b\w+\b', line)
return words[-1].lower() if words else ''
end_words = [(i, extract_last_word(line)) for i, line in enumerate(lines) if extract_last_word(line)]
threshold = 2
lev = Levenshtein()
paronym_rhymes = []
for (i1, w1), (i2, w2) in combinations(end_words, 2):
if lev.distance(w1, w2) < threshold and abs(i1 - i2) > 1:
paronym_rhymes.append(((i1, lines[i1]), (i2, lines[i2]), w1, w2))
print("Паронимические рифмы:")
for ((i1, line1), (i2, line2), w1, w2) in paronym_rhymes:
print(f'"{line1}" ({w1}) ↔ "{line2}" ({w2})')
Что нашёл алгоритм?
"Не страшно нов я." (нов) ↔ "что «он» — это я," (он)
"Лубянский " ↔ "Водопьяный."
"Вид" (вид) ↔ "Вот" (вот)
"Вот" (вот) ↔ "фон" (фон)
- он
и нов
— расстояние = 2 → саморефлексия в звуке
- болят
и говорят
— расстояние = 3 → но алгоритм можно настроить
- тюрьма
, кутерьма
, рождество
— фонетическое трио хаоса
А что, если Маяковский был первым цифровым гуманитарием?
Подумайте:
- Он использовал визуальные эксперименты (лесенка, разрывы строк) — как HTML.
- Он играл со звуко-смысловыми соответствиями — как NLP-модель.
- Он создавал текстовые артефакты, которые требуют интерпретации на нескольких уровнях — как API с документацией.
Маяковский не просто предвосхитил цифровую культуру — он её запрограммировал.
Теперь представьте:
- Вы загружаете стих Пушкина — и алгоритм находит скрытые анаграммы.
- Вы даёте Некрасова — и модель обнаруживает ритмические циклы, повторяющиеся каждые 7 строф.
- Вы вводите Цветаеву — и она показывает, как ударения двигаются от сердца к голове.
Это не замена литературной критики. Это её расширение.
- Правда ли, что все великие поэты были скрытыми программистами?
- Можем ли мы анализировать искусство с помощью метрик, или это кощунство?
Поэзия — это тоже data science.
А вы пробовали анализировать Бродского через BERT?
Код целиком доступен в репозитории.