Analyzing Cloud Imagery in Paustovsky's Prose with Python and NLP
The analysis of Paustovsky's lexical techniques began with the complete collected works from 1981. Files from 9 volumes were downloaded and merged into a single .txt file containing 8,867,522 characters. Volumes 8 and 9, containing plays and letters, were excluded to focus on his fictional prose.
The texts were split into sentences, filtering for length (>20 characters):
sentences = re.split(r'[.!?…]+', text)
sentences = [s.strip() for s in sentences if len(s.strip()) > 20]
This yielded 108,090 sentences. A search was then conducted for the lemmas 'cloud', 'sky', and 'storm cloud' using pymorphy3:
target_keywords = ['cloud', 'sky', 'storm cloud', 'small cloud', 'clouds', 'sky', 'storm clouds']
target_forms = set(target_keywords)
morph = pymorphy3.MorphAnalyzer()
for lemma in ['cloud', 'sky', 'storm cloud']:
parsed = morph.parse(lemma)[0]
for form in parsed.lexeme:
target_forms.add(form.word.lower())
2,282 sentences were found (2.1% of the total).
Classifying Cloud Descriptions
The keywords were classified by type:
- Meteorological terms (cloud types: cumulus, stratus, cirrus, etc.).
- Artistic metaphors (reamorphism: cities, ships, cotton; natmorphism: smoke, steam).
Distribution:
- metaphorical: 1,096 (48.0%)
- neutral: 963 (42.2%)
- mixed: 156 (6.8%)
- meteorological: 67 (2.9%)
Purely meteorological descriptions are minimal, indicating a figurative usage.
Intermediality: Connection to Painting
Co-occurrence with artists, paintings, terms ('brush', 'easel', 'landscape') and light/color verbs ('flare up', 'glow') was checked.
Statistics:
- Artist mentions: 2,017
- Paintings: 770
- Painting terms: 11,299
- Light verbs: 1,263
Of the 2,282 cloud sentences, 688 (30.1%) contain painting markers.
Visual element density (per 1,000 characters):
| Category | With Clouds | Without Clouds | Difference |
|--------------------|------------|-------------|---------|
| Light verbs | 0.43 | 0.14 | +0.29 |
| Color adjectives | 1.10 | 0.42 | +0.67 |
| Painting terms | 1.85 | 1.19 | +0.67 |
| Total density | 3.38 | 1.74 | +1.63 |
Top artists: Dalí (possibly an artifact of 'dali'), Manet, Levitan, Kiprensky. 10% of the corpus consists of sentences with painting terms.
Sentiment Analysis
Sentiment was analyzed using rubert-base-cased-sentiment and a lexicon (positive: happiness, peace; negative: anxiety, death):
sentiment_results = []
for sentence in target_sentences:
sentiment = analyze_sentiment_lexicon(sentence)
sentiment_results.append({
'sentence': sentence[:200],
'sentiment': sentiment
})
all_sentiments = [r['sentiment'] for r in sentiment_results]
Distribution:
- Positive: 124 (5.4%)
- Negative: 67 (2.9%)
- Neutral: 2,087 (91.5%)
- Mixed: 4 (0.2%)
Negativity is linked to wartime prose (TASS correspondent in 1941). Positivity outweighs negativity.
Key Findings
- Clouds in Paustovsky: 48% metaphors, 2.9% purely meteorological.
- 30.1% of cloud descriptions are intermedial (connected to painting).
- Neutral sentiment predominates (91.5%), positivity > negativity.
- Visual marker density is 1.9 times higher in paragraphs with clouds.
- Corpus analysis confirms his status as a 'painter in prose'.
Clouds serve not as background, but as carriers of mood, symbols, and references to visual art. Selective descriptions enhance expressiveness without being merely decorative.
— Editorial Team
No comments yet.