Где слово переходит в образ?
В этой работе я применяю Python для выявления стилистических приёмов, создающих живописные картины природы в прозе К.Г. Паустовского.
Паустовский — мастер пейзажной прозы
Костантин Георгиевич умело сочетал сдержанность и изящество, чтобы передать роскошь природы. В своём эссе «Наедине с осенью» он писал:
«Начинающие авторы часто насышают текст избыточными эпитетами и образами. Это придаёт их прозе надуманную пышность, вычурную декоративность. К одному существительному прикладывают несколько эпитетов, однако лишь один из них по-настоящему точен, остальные лишь ослабляют впечатление. Следует оставить единственный, самый ёмкий эпитет, а остальные безжалостно вычеркнуть. Образ и эпитет должны быть точными, свежими и лаконичными.»
Цели и инструменты анализа
Мне было интересно проследить, как сам Паустовский использует прилагательные в описании природы. Для исследования я взял тексты из четвёртого тома его собрания сочинений и применил:
- pymystem3 — морфологический разбор и лемматизация;
- razdel — токенизация и разбиение на предложения;
- spaCy (модель
ru_core_news_sm) — синтаксические зависимости; - Pandas — статистическая обработка.
Очистка и нормализация текста
import re
from razdel import sentenize, tokenize
from pymystem3 import Mystem
m = Mystem()
clean_text = re.sub(r'-\s\n\s', '', full_text)
clean_text = re.sub(r'[^а-яё\s\.]', ' ', clean_text, flags=re.IGNORECASE)
clean_text = re.sub(r'\s+', ' ', clean_text).strip()
Лемматизация и определение частей речи
for sent in doc.sents:
text = sent.text.strip()
if len(text) < 10:
continue
try:
analysis = m.analyze(text)
except Exception as e:
print(f"Ошибка Mystem: {e}")
continue
for item in analysis:
if 'text' in item and item.get('analysis'):
token = item['text'].lower()
info = item['analysis'][0]
lemma = info.get('lex', '').lower()
pos = info.get('gr', '').split('=')[0].split(',')[0]
word_info[token] = {'lemma': lemma, 'pos': pos}
Выделение эпитетов и синтаксические связи
for token in sent:
text = token.text.lower()
if text in word_info and word_info[text]['pos'] == 'A':
lemma = word_info[text]['lemma']
adjectives.append(lemma)
for child in token.children:
if child.pos_ == 'NOUN' and child.dep_ in ('nsubj', 'obj', 'nmod', 'appos'):
adj_noun_pairs.append((lemma, child.lemma_.lower()))
Поиск поэтических образов
Определил словари ключевых понятий:
nature_words = {'лес', 'река', 'небо', 'солнце', 'ветер', 'дождь', 'огонь',
'вода', 'море', 'горы', 'свет', 'тишина', 'душа', 'сердце'}
poetic_adj = {'тяжёлый', 'камфарный', 'медный', 'чёрный', 'сухой', 'острый'}
for adj, noun in adj_noun_pairs:
if adj in poetic_adj and noun in nature_words:
metaphors.append(f"{adj} {noun}")
Расчёт плотности эпитетов
total_words = len(all_tokens)
adj_count = len(adjectives)
density = round(adj_count / total_words * 100, 2)
print(f"Всего слов: {total_words}")
print(f"Эпитетов: {adj_count}")
print(f"Плотность эпитетов: {density}%")
Основные результаты
Всего слов: 261 737
Эпитетов: 18 363
Плотность: 7,02 %
ТОП-10 прилагательных
чёрный (269), маленький (210), старый (187), белый (182), молодой (153), красный (140), большой (134), высокий (133), серый (122), хороший (116)
Частые образные сочетания
должный человек (6), слышный крик (5), слышный гул (4), хороший мир (3), слышный шум (2), должная жизнь (2), столетний липа (2), солнечный день (2), мокрый дождь (2), свежая голова (2)
Возможные метафоры
- низких морю
- пьющих воду
- Вешние воды
- шипучая вода
- мокрый дождь
- оранжевое небо
- милое сердце
- хороший свет
- гнилая вода
- великая земля
- должная вода
- обильные дожди
- загадочная земля
- дремучие леса
- ярче солнце
Выводы
Анализ подтвердил, что в прозе Паустовского плотность эпитетов достигает примерно 7 %, а доминируют цветовые и размерные характеристики. Это подчёркивает визуально-образный характер его стиля — поэтическую лирику пейзажа.
Использование Python позволяет объективно измерить авторские приёмы, углубить литературный анализ и выявить новые грани мастерства писателя. Подробные разборы доступны по ссылке:



