Analýza epitet k slovu „láska“ v lyrické tvorbě Cvětajevové pomocí SpaCy
Marina Cvětajevová ve své lyrice často charakterizuje „lásku“ prostřednictvím metafor a podstatných jmen, nikoli standardních přídavných jmen. Analýza úplného souboru děl (707 487 znaků) v Pythonu odhalila 281 epitetních komplexů kolem slova „láska“. Byla použita knihovna SpaCy pro extrakci závislostí v kontextovém okně ±4 tokenů.
Extrakce epitet
Funkce analyze_epithets zpracovává text prostřednictvím modelu SpaCy, zaměřuje se na děti tokenu „láska“ (token.children). Filtrují se služební slovní druhy, vyčleňují se podstatná jména, plná a krátká přídavná jména, příčestí. Kontextové okno vylučuje samotný cílový token.
def analyze_epithets(text):
doc = nlp(text)
results = {'adj_full': [], 'adj_short': [], 'noun': [],
'participle': [], 'other': []}
complexes = []
for token in doc:
if token.lemma_.lower() == 'láska':
children = list(token.children)
window_start = max(0, token.i - 4)
window_end = min(len(doc), token.i + 5)
window_tokens = [doc[i] for i in range(window_start, window_end)
if i != token.i]
potential_epithets = []
Rozložení epitet:
- Podstatná jména: 179 (63,7 %) – dominují metafory typu „láska – tělo a krev“.
- Plná přídavná jména: 81 (28,8 %).
- Příčestí: 10 (3,6 %).
- Krátká přídavná jména: 8 (2,8 %).
To odlišuje Cvětajevovou od typické ruské poezie: místo popisných přídavných jmen – ztotožnění pojmů prostřednictvím podstatných jmen.
Frekvenční lemmata zahrnují „třetí“ (7 případů), což zdůrazňuje motiv milostného trojúhelníku s třetím prvkem (čas, osud, poezie).
Pozice v textu
Funkce analyze_position kontroluje relativní pozici „lásky“ ve větách. Teorie silných pozic (začátek/konec) je částečně potvrzena.
def analyze_position(doc, target_word='láska'):
position_data = []
for sent in doc.sents:
love_tokens = [t for t in sent if t.lemma_.lower() == target_word]
if love_tokens:
sent_len = len(sent)
for token in love_tokens:
token_idx = token.i - sent.start
rel_pos = token_idx / sent_len if sent_len > 0 else 0
position_data.append({
'sentence_len': sent_len,
'relative_position': rel_pos
})
return pd.DataFrame(position_data)
Výsledky pro 191 vět:
- Průměrná pozice: 0,473.
- Začátek (0,0–0,2): 50 (26,2 %).
- Střed (0,2–0,8): 108 (56,5 %).
- Konec (0,8–1,0): 33 (17,3 %).
- Silné pozice: 43,5 %.
Slovo je integrováno do tkaniva verše, nikoli deklarativně vyčleněno.
Analýza délky vět
Věty s „láskou“ jsou delší než obecné:
all_sent_lengths = [len(sent) for sent in doc.sents]
avg_len_all = sum(all_sent_lengths) / len(all_sent_lengths)
sentences_with_love = [len(sent) for sent in doc.sents
if any(t.lemma_.lower() == 'láska' for t in sent)]
avg_len_love = sum(sentences_with_love) / len(sentences_with_love)
- Celková průměrná délka: 15,3 tokenů.
- S „láskou“: 21 tokenů.
Láska vyžaduje rozvinutý kontext, nelze ji redukovat na aforismy.
Co je důležité
- Epiteta k „lásce“ jsou převážně podstatná jména (63,7 %), což posiluje metaforičnost.
- Motiv „třetího“ v 7 případech zdůrazňuje složitost pocitů.
- Pozice slova je blíže středu vět (56,5 %), integruje se do vyprávění.
- Věty s „láskou“ jsou o 37 % delší než průměrné, vyžadují vysvětlení.
- SpaCy efektivně extrahuje závislosti pro filologickou NLP analýzu.
Takový přístup je použitelný pro korpusy jakékoli poezie: nastavení okna, lemmatizace a POS filtry poskytují kvantifikovatelné vhledy do stylu.
— Editorial Team
Zatím žádné komentáře.