Охлаждение после эмиграции. Грустные выводы исследования поэзии Бродского на Python.
Откуда к нам пришла зима, не знаешь ты, никто не знает. Умолкло всё. Она сама холодных губ не разжимает. Она молчит. Внезапно, вдруг упорства ты её не сломишь. Вот оттого-то каждый звук зимою ты так жадно ловишь.
Это отрывок из стихотворения Иосифа Бродского 1962 года. По этому тексту видно, как интересно поэт использует мотив холода – сразу бросается в глаза, что охлаждение у него это или аналог или даже причина и молчания и упорства. Если внимательно почитать другие произведения Бродского, появится ощущение, что холод и мороз поэт использует не только как разовые, хотя и эффектные метафоры. Кажется, что эти явления природы нужны поэту для построения художественной системы, где царит распад чувств, меланхолия и потеря идентификации. Мороз или замораживание поэт делает похожим на время для и даже придает им функции времени. Мне стало интересным использовать Python для проведения лексико-семантического анализа мотивов холода в поэзии Иосифа Бродского. Для сравнения и для чистоты эксперимента так же введу в анализ поиск мотивов воды. Определю, как часто эти мотивы встречаются извлеку контексты. А так же проверю, как менялось использование этих мотивов в поэзии по времени и в связи с жизненными переменами у автора.
Буду использовать pymorphy3 — морфологический анализатор для русского языка для определения начальных форм слов. Natural Language Toolkit для токенизации текста. matplotlib и seaborn — для построения графиков. Так же мне потребуются Pandas и numpy для работы с табличными данными и числовыми операциями.
Загружу модуль defaultdict чтобы безопасно считать частоты без проверок на существование ключа.
Для анализа я нашел корпус стихотворений Бродского, где представлены только его русскоязычные произведения. По утверждению издателя, в этом файле нет переводов – ни тех, что сделал сам Бродский, ни тех, где его переводили на русский язык.
В моем эксперименте интересным оказалось датировка стихотворений. Чтобы полноценно исследования изменения в использовании мотивов холода и воды, нужно точно знать, в каком году написаны какие именно стихотворения. Это оказалось не самой простой задачей. Стихотворения в корпусе не разделены однозначно (иногда просто пустая строка, иногда ` `, иногда вообще нет разделителя). Годы написания указаны не в каждом стихотворении, часто до группы стихов или в заголовке раздела. Простое извлечение года из текста каждого стихотворения не сработает.
Значит, нужен код, который будет учитывать контекст (например, если год указан перед группой стихов, все они относятся к этому году), в отличие от простого разбиения по пустым строкам.
В качестве решения написал парсер, который парсер, который "помнит" текущее состояние (например, последний найденный год) и применяет его к последующим стихотворениям, пока не встретит новый год. Парсер убирает пробелы, игнорирует строки вроде «1960-е», т.к. они неточны. Нормализует разные типы тире (–, —, -) в одно (`-`) для удобства. Использует регулярное выражение (`re.findall`), чтобы найти: год (например, `1961`) или диапазон (например, `1961 – 1963`) или дату с месяцем (`февраль 1964`).
В результате я получил
Всего стихов: 6089
С годом: 6049
Без года: 40 (0.7%)
И теперь имею csv файл, в котором почти все стихотворения разбиты по годам написания.
Теперь для выявления семантических полей «холод» и «вода» буду использовать рукописные лексиконы — наборы слов, релевантных каждому мотиву. Получаю два множества нормализованных слов, это и будут «семантические поля».
Теперь создам структуру данных и посмотрю, сколько сколько раз мотивы встречаются по годам.
Сохраню предложения, где найдены мотивы. И разделю на до/после эмиграции (1972).
Подсчитываю количество стихотворений, содержащих мотивы, в два периода.
И вот какой интересный результат здесь.
Средняя доля мотивов по периодам:
И «холода» и «воды» в эмиграции Бродский написал больше! Разница не огромная, не «в разы», конечно. Но разница есть.
Интерпретировать такие данные, наверное, буду профессиональные литературоведы. Со своей, читательской, позиции, могу только сказать, что в эмиграции поэту не очень нравилось. И хотя это были благополучные США, хотя Бродский имел профессорскую должность и соответствующую зарплату, свободу творчества, публикации, выступления, круг общения, славу. Но все же. Эмиграция его была вынужденной. Даже унизительной. Семьи лишили и домой ему вернуться не позволили.
Цифры не могут соврать. Этот анализ показывает, как можно увидеть работу поэта с математической точность и даже проследить незаметные при чтении особенности творчества.
Подробные разборы других текстов можно посмотреть на видео https://dzen.ru/codslov