Analyse des épithètes de 'l'amour' dans la poésie de Tsvetaïeva avec SpaCy
Marina Tsvetaïeva caractérise souvent 'l'amour' par des métaphores et des noms plutôt que par des adjectifs standards dans sa poésie lyrique. Une analyse de ses œuvres complètes (707 487 caractères) en Python a identifié 281 complexes d'épithètes entourant le mot 'amour'. La bibliothèque SpaCy a été utilisée pour extraire les dépendances syntaxiques dans une fenêtre contextuelle de ±4 tokens.
Extraction des épithètes
La fonction analyze_epithets traite le texte via un modèle SpaCy, en se concentrant sur les tokens enfants de 'amour' (token.children). Les mots-outils sont filtrés, tandis que les noms, adjectifs pleins et courts, et participes sont extraits. La fenêtre contextuelle exclut le token cible lui-même.
def analyze_epithets(text):
doc = nlp(text)
results = {'adj_full': [], 'adj_short': [], 'noun': [],
'participle': [], 'other': []}
complexes = []
for token in doc:
if token.lemma_.lower() == 'amour':
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 = []
Distribution des épithètes :
- Noms : 179 (63,7 %) — les métaphores comme 'l'amour est chair et sang' dominent.
- Adjectifs pleins : 81 (28,8 %).
- Participes : 10 (3,6 %).
- Adjectifs courts : 8 (2,8 %).
Cela distingue Tsvetaïeva de la poésie russe typique : au lieu d'adjectifs descriptifs, elle utilise des noms pour équivaloir des concepts.
Les lemmes fréquents incluent 'troisième' (7 occurrences), soulignant le motif du triangle amoureux avec un troisième élément (temps, destin, poésie).
Analyse positionnelle
La fonction analyze_position examine la position relative de 'amour' dans les phrases. La théorie des positions fortes (début/fin) est partiellement confirmée.
def analyze_position(doc, target_word='amour'):
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)
Résultats sur 191 phrases :
- Position moyenne : 0,473.
- Début (0,0–0,2) : 50 (26,2 %).
- Milieu (0,2–0,8) : 108 (56,5 %).
- Fin (0,8–1,0) : 33 (17,3 %).
- Positions fortes : 43,5 %.
Le mot est intégré dans la trame du vers plutôt que mis en avant de manière déclarative.
Analyse de la longueur des phrases
Les phrases contenant 'amour' sont plus longues que la moyenne :
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() == 'amour' for t in sent)]
avg_len_love = sum(sentences_with_love) / len(sentences_with_love)
- Longueur moyenne globale : 15,3 tokens.
- Avec 'amour' : 21 tokens.
L'amour nécessite un contexte élargi et ne peut être réduit à des aphorismes.
Points clés à retenir
- Les épithètes de 'l'amour' sont majoritairement des noms (63,7 %), enrichissant la richesse métaphorique.
- Le motif du 'troisième' dans 7 occurrences souligne la complexité des émotions.
- La position du mot tend vers le milieu des phrases (56,5 %), l'intégrant dans le récit.
- Les phrases avec 'amour' sont 37 % plus longues que la moyenne, nécessitant une explication.
- SpaCy extrait efficacement les dépendances pour l'analyse philologique en TAL.
Cette approche est applicable à tout corpus poétique : ajuster la fenêtre, la lemmatisation et les filtres de catégories grammaticales fournit des insights quantifiables sur le style.
— Editorial Team
Aucun commentaire pour le moment.