Analyse von Epitheta für 'Liebe' in Tsvetaevas Lyrik mit SpaCy
Marina Tsvetaeva charakterisiert 'Liebe' in ihrer Lyrik oft durch Metaphern und Substantive statt durch herkömmliche Adjektive. Eine Analyse ihres Gesamtwerks (707.487 Zeichen) in Python identifizierte 281 Epitheta-Komplexe rund um das Wort 'Liebe'. Die SpaCy-Bibliothek wurde verwendet, um Abhängigkeiten innerhalb eines Kontextfensters von ±4 Tokens zu extrahieren.
Extraktion von Epitheta
Die Funktion analyze_epithets verarbeitet Text durch ein SpaCy-Modell und konzentriert sich auf die Kind-Tokens von 'Liebe' (token.children). Funktionswörter werden herausgefiltert, während Substantive, vollständige und kurze Adjektive sowie Partizipien extrahiert werden. Das Kontextfenster schließt den Ziel-Token selbst aus.
def analyze_epithets(text):
doc = nlp(text)
results = {'adj_full': [], 'adj_short': [], 'noun': [],
'participle': [], 'other': []}
complexes = []
for token in doc:
if token.lemma_.lower() == 'love':
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 = []
Verteilung der Epitheta:
- Substantive: 179 (63,7 %) – Metaphern wie 'Liebe ist Fleisch und Blut' dominieren.
- Vollständige Adjektive: 81 (28,8 %).
- Partizipien: 10 (3,6 %).
- Kurze Adjektive: 8 (2,8 %).
Dies unterscheidet Tsvetaeva von typischer russischer Lyrik: Statt beschreibender Adjektive verwendet sie Substantive, um Konzepte gleichzusetzen.
Häufige Lemmata umfassen 'dritte' (7 Vorkommen), was das Motiv der Liebesdreiecke mit einem dritten Element (Zeit, Schicksal, Poesie) hervorhebt.
Positionsanalyse
Die Funktion analyze_position untersucht die relative Position von 'Liebe' innerhalb von Sätzen. Die Theorie der starken Positionen (Anfang/Ende) wird teilweise bestätigt.
def analyze_position(doc, target_word='love'):
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)
Ergebnisse aus 191 Sätzen:
- Durchschnittsposition: 0,473.
- Anfang (0,0–0,2): 50 (26,2 %).
- Mitte (0,2–0,8): 108 (56,5 %).
- Ende (0,8–1,0): 33 (17,3 %).
- Starke Positionen: 43,5 %.
Das Wort ist in das Gefüge des Verses integriert, statt deklarativ hervorgehoben zu werden.
Satzlängenanalyse
Sätze, die 'Liebe' enthalten, sind länger als der Durchschnitt:
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() == 'love' for t in sent)]
avg_len_love = sum(sentences_with_love) / len(sentences_with_love)
- Gesamtdurchschnittslänge: 15,3 Tokens.
- Mit 'Liebe': 21 Tokens.
Liebe erfordert einen erweiterten Kontext und lässt sich nicht auf Aphorismen reduzieren.
Wichtige Erkenntnisse
- Epitheta für 'Liebe' sind überwiegend Substantive (63,7 %), was die metaphorische Fülle erhöht.
- Das 'Dritte'-Motiv in 7 Fällen betont die Komplexität der Emotionen.
- Die Position des Wortes tendiert zur Satzmitte (56,5 %), wodurch es in die Erzählung integriert wird.
- Sätze mit 'Liebe' sind 37 % länger als der Durchschnitt und erfordern Erklärung.
- SpaCy eignet sich effektiv zur Extraktion von Abhängigkeiten für philologische NLP-Analysen.
Dieser Ansatz ist auf jeden Lyrik-Korpus anwendbar: Anpassungen des Fensters, Lemmatisierung und POS-Filter liefern quantifizierbare Einblicke in den Stil.
— Editorial Team
Noch keine Kommentare.