Где заканчивается слово и начинается образ?
Использую Python для поиска особенностей творчества писателя Паустовского.
Писателя Паустовского называют "мастером пейзажной прозы". Он действительно умел красиво и при этом сдержано описать богатство природы. Вот что сам Паустовский написал в своей статье "Наедине с осенью" про использование писателями эпитетов: "Обычно начинающие писатели грешат обилием образов и эпитетов. Это придает их прозе мертвую пышность, сусальную или трескучую красивость. Бывает, что к одному существительному прилагается несколько эпитетов. Эпитет должен запоминаться. А для этого он должен быть единственным. Из трех эпитетов, приложенных к существительному, один всегда будет наиболее точным, а остальные два безусловно будут ему уступать. Поэтому ясно, что этот единственный эпитет надо сохранить, а остальные безжалостно вычеркнуть. Образ, равно как и эпитет, должен быть точен, свеж и скуп".
Мне показалось интересным с помощью Python установить, а как сам Паустовский использует эпитеты в своей работе. В этой статье покажу, как исследовал авторские особенности Паустовского. Покажу, как вычислительные методы могут дополнять и обогащать традиционный литературный анализ.
Я решил установить, как часто Паустовский использует прилагательные, какие самые частотные эпитеты в его прозе и какие необычные, метафоричные сочетания он создаёт. Для исследования буду использовать корпус текстов писателя из 4 тома его собрания сочинений, где встречаются рассказы о природе.
Буду использовать pymystem3, морфологический анализатор и лемматизатор, razdel для токенизации, spaСy для определения зависимости между словами. Pandas потребуется для работы с данными. Мне потребуется так же ru_core_news_sm, предобученная модель spaCy для русского языка.
Текст часто требует очистки перед анализом, извлечения лемм и построения корпуса.
Так же для полноценного анализа мне потребуется разбить текст на леммы, то есть снизить слова к их корневым формам. Для лемматизаци удобно использовать закрытую разработку яндеса pymystem3. Эта библиотека работает быстро, но требует запускать консольное приложение.
Python не сможет сам найти эпитеты в тексте, пока для этого нет никаких специальных библиотек. Поэтому для поиска эпитетов буду искать их как прилагательные. А для того, чтобы установить, какое слово писатель пытался этим эпитетом описать или украсить, буду использовать удобную функцию библиотеки spaCy для построения дерева зависимостей.
Для поиска образности создам словарь ключевых слов.
Так как я хочу найти не просто эпитеты, а образные, метафоричные сочетания, то буду исходить из гипотезы, что если если прилагательное из poetic_adj стоит перед словом из nature_words — это потенциально поэтический образ. Mystem даст мне более точную морфологическую разметку и он особенно хорошо работает с формами прилагательных и глаголов.
Проведу поиск эпитетов и их зависимых существительных.
Этот код находит все прилагательные. Затем в коде срабатывет token.children — итератор, который возвращает все непосредственные дочерние элементы токена в синтаксическом дереве. Через синтаксические зависимости он находит, какое существительное описывает это прилагательное. Затем сохраняю эту пару и если сочетание образное - добавляет в список метафор.
И затем я захотел посчитать "плотность эпитетов" по отношению к общему числу слов в тексте.
Вот что получилось в результате:
Всего слов: 261737
Прилагательных (эпитетов): 18363
Плотность эпитетов: 7.02%
И посчитаю самые частотные прилагательные, самые частые образные сочетания прилагательное + существительное и возможные метафоры.
Вот что получилось в результате:
ТОП-10 ЭПИТЕТОВ:
черный — 269 раз
маленький — 210 раз
старый — 187 раз
белый — 182 раз
молодой — 153 раз
красный — 140 раз
большой — 134 раз
высокий — 133 раз
серый — 122 раз
хороший — 116 раз
НАИБОЛЕЕ ЧАСТЫЕ ОБРАЗНЫЕ СОЧЕТАНИЯ (эпитеты):
должный человек — 6 раз
слышный крик — 5 раз
слышный гул — 4 раз
хороший мир — 3 раз
слышный шум — 2 раз
должный жизнь — 2 раз
столетний липа — 2 раз
солнечный день — 2 раз
мокрый дождь — 2 раз
свежий голова — 2 раз
ВОЗМОЖНЫЕ МЕТАФОРЫ И ОБРАЗНЫЕ ВЫРАЖЕНИЯ: → «низких морю» → «пьющих воду» → «Вешние воды» → «шипучей воды» → «мокрой дождя» → «оранжевое небо» → «Милый сердце» → «хорошего свете» → «гнила вода» → «Велик земли» → «должна вода» → «обильнее дожди» → «загадочнее земля» → «дремучие леса» → «Ярче солнце»
Что можно сказать по результатам этого исследования.
У Паустовского плотность эпитетов в тексте 7.01%. Согласно известным исследованиям, да просто по читательскому впечатлению, в текстах Паустовского часто встречается богатая цветовая и описательная лексика. Мое цифровое исследование подтверждает это. Можно сказать, что Паустовский действительно пишет поэтической прозой, наполненной описаниями.
В топ-10 эпитетов преобладают цвета - чёрный, белый, красный, серый и размеры маленький, большой, высокий. Это говорит о визуальном восприятии писателем природы и человека. Среди образных сочетаний некоторые звучат странно ("должные человек"), но это может быть артефакт лемматизации или ошибка анализа. Но очевидно, что есть и красивые сочетания ("мокрый дождь").
Полученные данные позволяют существенно расширить представление о Паустовском как о мастере слова и открывают новую особенность творчества писателя – пейзажную лирику. По частоте эпитетов можно увидеть, какие описательные акценты делает автор. Высокая частота цветовых эпитетов подтверждает визуальный характер пейзажной лирики.
На примере этого исследования видно, как Python помогает обнаружить и квантифицировать авторские особенности, больше узнать об эмоциональной насыщенности и поэтичности языка писателя. Подробные разборы других текстов можно посмотреть на видео https://dzen.ru/codslov