#1. Introduction

Ce projet a pour objectif d’analyser, à l’aide du langage R, la richesse lexicale et stylistique de l’œuvre de Marcel Proust, À la recherche du temps perdu.
Cette étude s’inscrit dans une approche de text mining permettant d’explorer : - la fréquence et la distribution des mots, - les thématiques dominantes, - la structure des phrases et du vocabulaire, - et la tonalité générale du texte.

#2. Préparation et importation des données

# Chargement des bibliothèques nécessaires
library(tidyverse)
## Warning: le package 'tidyverse' a été compilé avec la version R 4.4.3
## Warning: le package 'ggplot2' a été compilé avec la version R 4.4.2
## Warning: le package 'dplyr' a été compilé avec la version R 4.4.2
## Warning: le package 'lubridate' a été compilé avec la version R 4.4.2
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.1     ✔ tibble    3.2.1
## ✔ lubridate 1.9.4     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(tidytext)
## Warning: le package 'tidytext' a été compilé avec la version R 4.4.3
library(gutenbergr)
## Warning: le package 'gutenbergr' a été compilé avec la version R 4.4.3
library(stopwords)
## Warning: le package 'stopwords' a été compilé avec la version R 4.4.3
library(SnowballC)
library(ggplot2)

# Téléchargement du texte (ex. Du côté de chez Swann)
text <- gutenberg_download(7178, meta_fields = "title") %>%
  mutate(text = iconv(text, from = "", to = "UTF-8"))
## Determining mirror for Project Gutenberg from
## https://www.gutenberg.org/robot/harvest.
## Using mirror http://aleph.gutenberg.org.
head(text)
## # A tibble: 6 × 3
##   gutenberg_id text                                     title      
##          <int> <chr>                                    <chr>      
## 1         7178 "SWANN'S WAY"                            Swann's Way
## 2         7178 ""                                       Swann's Way
## 3         7178 "Remembrance Of Things Past, Volume One" Swann's Way
## 4         7178 ""                                       Swann's Way
## 5         7178 ""                                       Swann's Way
## 6         7178 "By Marcel Proust"                       Swann's Way

#3. Nettoyage du texte

#4. Analyse de fréquence

# Calcul des mots les plus fréquents
freq_words <- clean_words %>%
  count(word, sort = TRUE) %>%
  slice_max(n, n = 20)

# Visualisation
ggplot(freq_words, aes(x = reorder(word, n), y = n)) +
  geom_col(fill = "#d95f02") +
  coord_flip() +
  labs(
    title = "Les 20 mots les plus fréquents dans *Du côté de chez Swann*",
    x = "Mots",
    y = "Fréquence"
  ) +
  theme_minimal()

– Le graphique ci-dessus (Fréquence brute des mots) montre les mots les plus fréquents du texte (avant suppression complète des stopwords).

On observe des termes comme mme, grand, vie, Swann, qui reflètent :

la présence marquée des personnages féminins (Mme Verdurin, Mme de Guermantes, etc.) ;

les thèmes centraux de la vie et du temps ;

un vocabulaire descriptif typique du style proustien.

Interprétation analytique

Ce graphique illustre la structure lexicale dominante et met en évidence la répétition stylistique caractéristique de Proust.La forte fréquence de noms propres et d’adjectifs souligne l’importance des descriptions sociales et psychologiques.

#5. Analyse de sentiment (optionnelle)

# Exemple avec lexique français (si disponible)
# install.packages("syuzhet")  # au besoin
library(syuzhet)
## Warning: le package 'syuzhet' a été compilé avec la version R 4.4.3
sentences <- get_sentences(paste(text$text, collapse = " "))
sentiment <- get_nrc_sentiment(sentences, language = "french")

# Graphique des émotions
barplot(colSums(prop.table(sentiment[, 1:8])),
        col = rainbow(8),
        ylab = "Proportion",
        main = "Distribution des émotions dans le texte")

– Après retrait des stopwords français (plus, tout, être, faire, etc.), les mots les plus fréquents sont maintenant plus significatifs du contenu thématique. On y retrouve des termes liés à : la mémoire et le souvenir,la société aristocratique,le passage du temps.

–** Interprétation analytique**

Ce graphique met en lumière les thèmes narratifs et émotionnels propres à l’œuvre. Le lexique restant traduit la réflexion de Proust sur le temps, la vie et la mémoire. En conclusion partielle nous pouvons présenter le tableau ci-dessous:

Émotion Interprétation Lecture possible
Trust (confiance) La plus élevée Le texte contient beaucoup de mots exprimant la fiabilité, la bienveillance, ou des relations de confiance.
Disgust (dégoût) Élevée également Montre des passages exprimant rejet, lassitude, ou critique morale — fréquent dans la peinture des salons et hypocrisies sociales.
Sadness (tristesse) Assez présente Reflète la mélancolie de la mémoire, la perte du temps, ou les émotions liées à la nostalgie.
Joy (joie) Modérée Exprime des moments de plaisir, extase artistique, ou souvenirs heureux (comme la scène de la madeleine).
Fear (peur) Moyenne Peut représenter les angoisses existentielles ou sociales du narrateur.
Anger (colère) Faible à moyenne Indique peu de colère explicite : Proust écrit dans un style plus introspectif que vindicatif.

#6 Conclusion

L’analyse met en évidence la prédominance des mots liés au temps, à la vie, à la mémoire et à la société. Ces résultats traduisent bien les grands thèmes proustien : le passage du temps, la nostalgie et l’observation de la vie mondaine. L’usage d’un vocabulaire descriptif et récurrent renforce la cohérence stylistique de l’œuvre. Ce projet démontre l’intérêt de combiner analyse statistique et humanités numériques.
L’approche R/Tidyverse permet : - une exploration rigoureuse des textes littéraires, - une visualisation claire des structures linguistiques, - et une reproductibilité totale des résultats.

Ce type d’analyse peut être étendu à d’autres corpus (discours politiques, romans contemporains, presse, etc.) afin de détecter des tendances lexicales ou émotionnelles.