Wordcloud avec R

Un wordcloud (ou nuage de mots-clés / nuage de tags) est une répresentation visuelle de mots dont la taille est proportionelle à la fréquence de ce mot dans un texte donné.

Exemple :

exemple_wordcloud

Avec R, il est assez facile de réaliser des wordcloud plutôt chouettes (je vous l’ai déjà dit, R c’est bien ;) ), je vais donc vous montrer comment, avec un petit exemple en relation avec l’actualité.

 

- Charger les données -

> Il s’agit du texte complet de l’hommage aux victimes des attentats du 13 novembre 2015, fait par le président François Hollande le 27 novembre (disponible sur internet).

 
- Charger les packages -

 
- Travail sur les données -

> Explications :

– La 1ère instruction permet de transformer le texte « brut » en un élément de classe « corpus » (classe du package « tm »), sur lequel un ensemble de fonctions de traitement de texte pourront être directement appliquées.
– La 2nde instruction permet de transformer toutes les lettres majuscules en lettres minuscules (afin par exemple que « Hommes » et « hommes » soient traités pareil).
– La 3ème instruction permet de supprimer automatiquement tous les caractères de ponctuations.
– La dernière instruction permet de supprimer automatiquement une grande partie des mots « de base » d’une langue donnée (ici le français avec l’instruction : kind = « fr », par défaut il s’agit de l’anglais), tels que par exemple : le, la, les, de, des, à, où, …

 
- Wordcloud -

wordcloud1

Remarque : On voit ici qu’il reste encore certains mots qui ne sont pas particulièrement utiles pour ce wordcloud visant à mettre en valeurs les « grands thèmes » de ce discours d’hommage. On va donc tenter d’en supprimer quelques-uns pour voir si on obtient quelque chose de mieux.

 
- Wordcloud : version 2 -

wordcloud2

> Ce wordcloud pourrait encore être retravaillé mais il est assez intéressant, notamment si on se concentre sur les mots apparaissant en bleu : hommes, femmes, tous, comme, meme, nation, retranscrivant bien le message général d’unité et d’égalité de ce discours.

 
- Enregistrer son wordcloud dans un fichier externe -

> Fonctionne aussi en remplaçant « png » par « jpeg », « pdf », …

 
- Pour aller plus loin : personnalisation du wordcloud -

La fonction « wordcloud » du package éponyme possède un certain nombre de paramètres permettant de personnaliser ses wordcloud :

  • Tailles maxi et mini des mots affichés :
  • Fréquence à partir de laquelle un mot sera retenu :
  • Nombre maximum de mots à afficher :
  • Affichage des mots dans un ordre aléatoire :
  • Choix de couleur de mot aléatoire :
  • Proportion de mots tournés à 90 degrés :
  • Couleur des mots (du moins au plus fréquent) :
  • Autres paramètres pour le style des mots : type de police, taille des caractères, …

Exemple :

wordcloud3

Remarque : Pour le choix des couleurs, il est possible d’obtenir facilement des dégradés (ou palettes) « tout prêts » grâce au package « RColorBrewer » (installé avec le package « wordcloud ») et à la fonction « brewer.pal » utilisée ici dans les exemples.
Ci-dessous les différentes palettes de couleurs disponibles :
RColorBrewer
Et vous, avez-vous des exemples de wordcloud particulièrement réussis à partager ?

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">