Откуда к нам пришла зима, не знаешь ты, никто не знает.
Умолкло всё. Она сама холодных губ не разжимает.
Она молчит. Внезапно, вдруг упорства ты её не сломишь.
Вот оттого-то каждый звук зимою ты так жадно ловишь.
Это отрывок из стихотворения Иосифа Бродского 1962 года. По этому тексту видно, как интересно поэт использует мотив холода – сразу бросается в глаза, что охлаждение у него это или аналог или даже причина и молчания и упорства.
Если внимательно почитать другие произведения Бродского, появится ощущение, что холод и мороз поэт использует не только как разовые, хотя и эффектные метафоры. Кажется, что эти явления природы нужны поэту для построения художественной системы, где царит распад чувств, меланхолия и потеря идентификации. Мороз или замораживание поэт делает похожим на время для и даже придает им функции времени.
Мне стало интересным использовать Python для проведения лексико-семантического анализа мотивов холода в поэзии Иосифа Бродского. Для сравнения и для чистоты эксперимента так же введу в анализ поиск мотивов воды. Определю, как часто эти мотивы встречаются, извлеку контексты. А так же проверю, как менялось использование этих мотивов в поэзии по времени и в связи с жизненными переменами у автора.
Использовал pymorphy3 — морфологический анализатор для русского языка для определения начальных форм слов. Natural Language Toolkit для токенизации текста. matplotlib и seaborn — для построения графиков. Так же мне потребовался Pandas и numpy для работы с табличными данными и числовыми операциями.
Пригодился модуль defaultdict чтобы безопасно считать частоты без проверок на существование ключа.
Для анализа я нашел корпус стихотворений Бродского, где представлены только его русскоязычные произведения. По утверждению издателя, в этом файле нет переводов – ни тех, что сделал сам Бродский, ни тех, где его переводили на русский язык.
В моем эксперименте интересным оказалась датировка стихотворений. Чтобы полноценно исследования изменения в использовании мотивов холода и воды по времени, нужно точно знать, в каком году написаны какие именно стихотворения. Это оказалось не самой простой задачей. Стихотворения в корпусе не разделены однозначно (иногда просто пустая строка, иногда пробел, иногда вообще нет разделителя). Годы написания указаны не в каждом стихотворении, часто до группы стихов или в заголовке раздела. Простое извлечение года из текста каждого стихотворения не сработает.
Значит, нужен код, который будет учитывать контекст (например, если год указан перед группой стихов, все они относятся к этому году), в отличие от простого разбиения по пустым строкам.
В качестве решения написал парсер, который помнит текущее состояние (например, последний найденный год) и применяет его к последующим стихотворениям, пока не встретит новый год. Парсер убирает пробелы, игнорирует строки вроде «1960-е», т.к. они неточны. Нормализует разные типы тире в одно для удобства. Использует регулярное выражение, чтобы найти год или диапазон лет или дату с месяцем.
def extract_year_from_line(line):
line = line.strip()
if not line:
return None
if re.search(r'19[5-9]0-е', line):
return None
line = re.sub(r'[—–\-]', '-', line)
matches = re.findall(r'(?:\b|<|\[|\(|\b(?:январь|февраль|март|апрель|май|июнь|июль|август|сентябрь|октябрь|ноябрь|декабрь)\s+)?(19[5-9]\d|20[0-2]\d)(?:\s*[-–—]\s*(19[5-9]\d|20[0-2]\d))?', line, re.IGNORECASE)
if not matches:
return None
y1 = int(matches[0][0])
y2_str = matches[0][1]
if y2_str:
y2 = int(y2_str)
if y1 <= y2 <= 2025:
return (y1, y2)
return y1
В результате я получил
Всего стихов: 6089
С годом: 6049
Без года: 40 (0.7%)
И теперь имею csv файл, в котором почти все стихотворения разбиты по годам написания.
Для выявления семантических полей «холод» и «вода» использовал рукописные лексиконы — наборы слов, релевантных каждому мотиву. Получил два множества нормализованных слов, это и будут «семантические поля».
Создал структуру данных и увидел, сколько сколько раз мотивы встречаются по годам.
Сохранил предложения, где найдены мотивы. И разделил на до/после эмиграции (1972).
Посчитал количество стихотворений, содержащих мотивы, в два периода.
И вот какой интересный результат здесь.
Средняя доля мотивов по периодам:
Период |
Доля холода |
Доля воды |
До 1972 |
0.101238 |
0.065330 |
После 1972 |
0.110407 |
0.077342 |
И «холода» и «воды» в эмиграции Бродский написал больше! Разница не огромная, не «в разы», конечно. Но разница есть.

Интерпретировать такие данные, наверное, будут профессиональные литературоведы. Со своей, читательской, позиции, могу только сказать, что в эмиграции поэту не очень нравилось. И хотя это были благополучные США, хотя Бродский имел профессорскую должность и соответствующую зарплату, свободу творчества, публикации, выступления, круг общения, славу. Но все же. Эмиграция его была вынужденной. Даже унизительной. Семьи его лишили и домой ему вернуться не позволили.
Цифры не могут соврать. Этот анализ показывает, как можно увидеть работу поэта с математической точность и даже проследить незаметные при чтении особенности творчества.
Подробные разборы других текстов можно посмотреть на видео https://dzen.ru/codslov
Комментарии (3)

HiTechSpoon
24.11.2025 06:06Вообще, выглядит так, будто данные имеют нормальное распределение, просто частота выборки слишком мала, чтобы судить о тренде.
Любопытно также, что глаз вроде бы хочет уловить взаимную корреляцию между водой и холодом, причем до иммиграции - положительную, а после - отрицательную.

ermouth
24.11.2025 06:06будут профессиональные литературоведы
Со своей, читательской, позиции, могу только сказать, что в эмиграции поэту не очень нравилось
У вас на графике резкий выброс «холода» в 1964. Как раз в 1964 его арестовали по надуманному обвинению в тунеядстве, потом отправили в дурку где будили ночью, заталкивали в ледяную ванну, а потом обматывали мокрой простынёй и сажали на привязи рядом с батареей.
Потом был суд с приговором к пяти годам рабского труда – и отправка в Архангельскую область, таскать камни. Жил он в Норенской в неотапливаемом срубе – покосившейся деревянной избе, которую нынешние власти с помпой превратили в музей лет десять назад.
Не знаю, что там не нравилось Бродскому в эмиграции, но что ему не нравилось на родине, предположить совсем не сложно. И откуда холод взялся, тоже догадаться легко, профессиональным литературоведом для этого быть не обязательно.
evgeny_space
Очень интересный нарратив