<?xml version="1.0" encoding="UTF-8" ?>
<!-- RSS generated by PHPBoost on Sun, 17 May 2026 05:20:34 +0200 -->

<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Documentation]]></title>
		<atom:link href="https://www.sthda.com/french/syndication/rss/wiki/36" rel="self" type="application/rss+xml"/>
		<link>https://www.sthda.com</link>
		<description><![CDATA[Derniers articles de la catégorie Text mining]]></description>
		<copyright>(C) 2005-2026 PHPBoost</copyright>
		<language>fr</language>
		<generator>PHPBoost</generator>
		
		
		<item>
			<title><![CDATA[Text mining et nuage de mots avec le logiciel R : 5 étapes simples à savoir]]></title>
			<link>https://www.sthda.com/french/wiki/text-mining-et-nuage-de-mots-avec-le-logiciel-r-5-etapes-simples-a-savoir</link>
			<guid>https://www.sthda.com/french/wiki/text-mining-et-nuage-de-mots-avec-le-logiciel-r-5-etapes-simples-a-savoir</guid>
			<description><![CDATA[<br />
<br />
<!-- START HTML -->

  <!--====================== start from here when you copy to sthda================-->  
  <div id="rdoc">

<div id="TOC">
<ul>
<li><a href="#raisons-pour-lesquelles-vous-devriez-utiliser-des-nuages-de-mots-pour-presenter-vos-textes">3 raisons pour lesquelles vous devriez utiliser des nuages de mots pour pr?senter vos textes</a></li>
<li><a href="#qui-utilise-les-nuages-de-mots">Qui utilise les nuages de mots?</a></li>
<li><a href="#les-cinq-principales-etapes-de-la-creation-dun-nuage-de-mots-avec-le-logiciel-r">Les cinq principales ?tapes de la cr?ation d?un nuage de mots avec le logiciel R</a><ul>
<li><a href="#etape-1-creez-un-fichier-texte">Etape 1: Cr?ez un fichier texte</a></li>
</ul></li>
<li><a href="#etape-2-installer-et-charger-les-packages-necessaires">Etape 2: Installer et charger les packages n?cessaires</a><ul>
<li><a href="#etape-3-exploration-de-textes">Etape 3 : Exploration de textes</a><ul>
<li><a href="#charger-le-texte">Charger le texte</a></li>
<li><a href="#la-transformation-du-texte">La transformation du texte</a></li>
<li><a href="#nettoyage-du-texte">Nettoyage du texte</a></li>
</ul></li>
<li><a href="#etape-4-construire-la-matrice-des-mots">Etape 4: Construire la matrice des mots</a></li>
<li><a href="#etape-5-generer-le-nuage-de-mots">Etape 5: G?n?rer le nuage de mots</a></li>
</ul></li>
<li><a href="#allez-plus-loin">Allez plus loin</a><ul>
<li><a href="#explorer-les-mots-frequents-ainsi-que-leurs-associations">Explorer les mots fr?quents ainsi que leurs associations</a></li>
<li><a href="#table-de-la-frequence-des-mots">Table de la fr?quence des mots</a></li>
<li><a href="#dessiner-la-frequence-des-mots">Dessiner la fr?quence des mots</a></li>
</ul></li>
<li><a href="#infos">Infos</a></li>
</ul>
</div>

<p><br/></p>
<p>Le principe du <strong>nuage de mots</strong> est bas? sur une m?thode d?analyse de textes qui nous permet de mettre en ?vidence les mots-cl?s les plus fr?quemment utilis?s dans un paragraphe de textes. Le nuage de mots est ?galement appel? <strong>word cloud</strong> ou <strong>tag cloud</strong> en anglais. La proc?dure de cr?ation d?un nuage de mots est tr?s simple avec le <strong>logiciel R</strong> si vous connaissez les diff?rentes ?tapes ? ex?cuter. Le package <strong>tm</strong> (pour text mining) et le package <strong>wordcloud</strong> (pour g?n?rer le nuage de mots cl?s) sont disponibles dans R pour nous aider ? analyser des textes et de visualiser rapidement les mots-cl?s en nuage de mots.</p>
<p><span class="success">L?objectif de ce tutoriel est d?expliquer les diff?rentes ?tapes pour g?n?rer un nuage de mots ? partir du logiciel R.</span></p>
<p><img src="https://www.sthda.com/french/french/sthda/RDoc/images/word-cloud.png" alt="Nuage de mots, word cloud et text mining, I have a dream speech de Martin luther king" /></p>
<div id="raisons-pour-lesquelles-vous-devriez-utiliser-des-nuages-de-mots-pour-presenter-vos-textes" class="section level1">
<h1>3 raisons pour lesquelles vous devriez utiliser des nuages de mots pour pr?senter vos textes</h1>
<ol style="list-style-type: decimal">
<li>Le <strong>nuage de mots</strong> est une m?thode puissante pour l?analyse de textes. Il ajoute de la simplicit? et de la clart?. Les mots-cl?s les plus utilis?s ressortent mieux dans un nuage de mots.</li>
<li>Le nuage de mots est un outil de communication puissant. Il est facile ? comprendre, ? partager et est percutant</li>
<li>Le nuage de mots est visuellement plus agr?able qu?une table de donn?es remplie de textes</li>
</ol>
</div>
<div id="qui-utilise-les-nuages-de-mots" class="section level1">
<h1>Qui utilise les nuages de mots?</h1>
<ul>
<li>Les chercheurs: pour la pr?sentation des donn?es qualitatives</li>
<li>Les Marketers: pour mettre en ?vidence les besoins et les points d?insatisfaction des clients</li>
<li>Les enseignants: pour soutenir des sujets essentiels</li>
<li>Les politiciens et les journalistes</li>
<li>Les r?seaux sociaux: pour collecter, analyser et partager les sentiments des utilisateurs</li>
</ul>
</div>
<div id="les-cinq-principales-etapes-de-la-creation-dun-nuage-de-mots-avec-le-logiciel-r" class="section level1">
<h1>Les cinq principales ?tapes de la cr?ation d?un nuage de mots avec le logiciel R</h1>
<div id="etape-1-creez-un-fichier-texte" class="section level2">
<h2>Etape 1: Cr?ez un fichier texte</h2>
<p>Dans les exemples suivants, je vais analyser le discours de <strong>Martin Luther King</strong> (?<strong>I have a dream</strong>?), mais vous pouvez utiliser n?importe quel autre texte :</p>
<ul>
<li>Copiez et collez le texte dans un fichier texte (par exemple: ml.txt)</li>
<li>Enregistrez le fichier</li>
</ul>
<p><span class="warning">Notez que, le texte doit ?tre enregistr? dans un fichier au format texte simple (.txt) en utilisant votre ?diteur de texte favori.</span></p>
</div>
</div>
<div id="etape-2-installer-et-charger-les-packages-necessaires" class="section level1">
<h1>Etape 2: Installer et charger les packages n?cessaires</h1>
<p>Les packages <strong>text mining</strong> (tm) et <strong>wordcloud</strong> sont n?cessaires.</p>
<p>Ils peuvent ?tre install?s et charg?s en utilisant le code de R ci-dessous:</p>
<pre class="r"><code># Installer
install.packages("tm")  # pour le text mining
install.packages("SnowballC") # pour le text stemming
install.packages("wordcloud") # g?n?rateur de word-cloud 
install.packages("RColorBrewer") # Palettes de couleurs


# Charger
library("tm")
library("SnowballC")
library("wordcloud")
library("RColorBrewer")</code></pre>
<div id="etape-3-exploration-de-textes" class="section level2">
<h2>Etape 3 : Exploration de textes</h2>
<div id="charger-le-texte" class="section level3">
<h3>Charger le texte</h3>
<p>Le texte peut ?tre charg? en utilisant la fonction <strong>Corpus()</strong> du package <strong>tm</strong>. Corpus est une liste de documents (dans notre cas, nous avons juste un seul fichier).</p>
<p>Dans l?exemple ci-dessous, j?ai charg? un fichier .txt disponible sur le site web STHDA. Vous pouvez utiliser n?importe quel fichier de votre ordinateur.</p>
<pre class="r"><code># Lire le fichier texte
filePath <- "https://www.sthda.com/sthda/RDoc/example-files/martin-luther-king-i-have-a-dream-speech.txt"
text <- readLines(filePath)

# Charger les donn?es comme un corpus
docs <- Corpus(VectorSource(text))</code></pre>
<p><span class="warning">La fonction VectorSource() se charge de la cr?ation du corpus de textes (ensemble de vecteurs de textes)</span></p>
<p>Le contenu du document peut ?tre consult? comme suit:</p>
<pre class="r"><code>inspect(docs)</code></pre>
</div>
<div id="la-transformation-du-texte" class="section level3">
<h3>La transformation du texte</h3>
<p>La transformation du texte est effectu?e en utilisant la fonction <strong>tm_map()</strong> pour remplacer, par exemple, des caract?res sp?ciaux non utiles.</p>
<p>Remplacer ?/?, ?@? et ?|? avec un espace</p>
<pre class="r"><code>toSpace <- content_transformer(function (x , pattern ) gsub(pattern, " ", x))
docs <- tm_map(docs, toSpace, "/")
docs <- tm_map(docs, toSpace, "@")
docs <- tm_map(docs, toSpace, "\\|")</code></pre>
</div>
<div id="nettoyage-du-texte" class="section level3">
<h3>Nettoyage du texte</h3>
<p>La fonction <strong>tm_map()</strong> est utilis?e pour supprimer les espaces inutiles, pour convertir le texte en minuscules, supprimer les ?mots vides? (<strong>stopwords</strong> en anglais). Il s?agit des mots tr?s courants dans une langue comme ?le?, ?la?, ?nous?, ?et?, etc.</p>
<p>La valeur de l?information de ces ?mots vides? est proche de z?ro en raison du fait qu?ils sont si communs dans une langue. La suppression de ce genre de mots est utile avant de poursuivre une analyse plus approfondie.</p>
<p>Pour la suppression de ces mots vides, les langues support?es sont: danish, dutch, english, finnish, french, german, hungarian, italian, norwegian, portuguese, russian, spanish et swedish. Le nom des langues est sensible ? la casse.</p>
<p><span class="success">Je vais aussi vous montrer comment faire pour supprimer votre propre liste de mots du texte.</span></p>
<p>Vous pouvez ?galement supprimer des chiffres et ponctuations avec les arguments <strong>removeNumbers</strong> et <strong>removePunctuation</strong>.</p>
<p>Une autre ?tape importante de pr?paration du texte est de faire du <strong>texte stemming</strong>. Ce processus consiste ? r?duire les mots ? leurs racines. En d?autres termes, ce processus supprime les suffixes des mots pour les rendre simples et pour obtenir l?origine commune. Par exemple, le text stemming va r?duire les mots ?partir?, ?partant?, ?partons? ? la racine ?partir?.</p>
<p><span class="warning">Notez que le text stemming n?cessite le package ?SnowballC?. </span></p>
<p>Le code R ci-dessous peut ?tre utilis? pour nettoyer le texte :</p>
<pre class="r"><code># Convertir le texte en minuscule
docs <- tm_map(docs, content_transformer(tolower))

# Supprimer les nombres
docs <- tm_map(docs, removeNumbers)

# Supprimer les mots vides anglais
docs <- tm_map(docs, removeWords, stopwords("english"))

# Supprimer votre propre liste de mots non d?sir?s
docs <- tm_map(docs, removeWords, c("blabla1", "blabla2")) 

# Supprimer les ponctuations
docs <- tm_map(docs, removePunctuation)

# Supprimer les espaces vides suppl?mentaires
docs <- tm_map(docs, stripWhitespace)

# Text stemming
# docs <- tm_map(docs, stemDocument)</code></pre>
</div>
</div>
<div id="etape-4-construire-la-matrice-des-mots" class="section level2">
<h2>Etape 4: Construire la matrice des mots</h2>
<p>La matrice des mots (term-documents matrix) est une table contenant la fr?quence des mots. La fonction <em>TermDocumentMatrix()</em> du package <strong>text mining</strong> peut ?tre utilis?e comme suit :</p>
<pre class="r"><code>dtm <- TermDocumentMatrix(docs)
m <- as.matrix(dtm)
v <- sort(rowSums(m),decreasing=TRUE)
d <- data.frame(word = names(v),freq=v)
head(d, 10)</code></pre>
<pre><code>             word freq
will         will   17
freedom   freedom   13
ring         ring   12
day           day   11
dream       dream   11
let           let   11
every       every    9
able         able    8
one           one    8
together together    7</code></pre>
</div>
<div id="etape-5-generer-le-nuage-de-mots" class="section level2">
<h2>Etape 5: G?n?rer le nuage de mots</h2>
<p>L?importance des mots peut ?tre illustr?e par un <strong>nuage de mots</strong> comme suit:</p>
<pre class="r"><code>set.seed(1234)
wordcloud(words = d$word, freq = d$freq, min.freq = 1,
          max.words=200, random.order=FALSE, rot.per=0.35, 
          colors=brewer.pal(8, "Dark2"))</code></pre>
<p><img src="https://www.sthda.com/french/french/sthda/RDoc/figure/text-mining/word-cloud-martin-luther-king-i-have-a-dream-speech.png" title="nuage de mots, word cloud ettext mining, I have a dream speech from Martin Luther King" alt="nuage de mots, word cloud ettext mining, I have a dream speech from Martin Luther King" width="480" style="margin-bottom:10px;" /></p>
<p>Le nuage de mots ci-dessus montre clairement que les mots ?Will?, ?freedom?, ?dream?, ?day? et ?together? sont les cinq mots les plus importants dans le texte ?<strong>I have a dream</strong>? de <strong>Martin Luther King</strong>.</p>
<p>Les arguments de la fonction <strong>wordcloud</strong> sont :</p>
<br/>
<div class="block">
<ul>
<li>words : les mots ? dessiner</li>
<li>freq : la fr?quence des mots</li>
<li>min.freq : les mots avec une fr?quence en dessous de min.freq ne seront pas illustr?s</li>
<li>max.words : nombre maximum de mots ? dessiner</li>
<li>random.order : dessine les mots dans un ordre al?atoire. Si false, ils seront dessin?s par ordre d?croissant de la fr?quence</li>
<li>rot.per : la proportion de mots verticaux sur le graphe</li>
<li>colors : couleurs des mots du moins au plus fr?quent. Utiliser par exemple, colors =?black? pour une couleur unique.</li>
</ul>
</div>
<p><br/></p>
</div>
</div>
<div id="allez-plus-loin" class="section level1">
<h1>Allez plus loin</h1>
<div id="explorer-les-mots-frequents-ainsi-que-leurs-associations" class="section level2">
<h2>Explorer les mots fr?quents ainsi que leurs associations</h2>
<p>Vous pouvez voir les mots les plus fr?quents comme suit. L?exemple, ci-dessous, montre les mots qui sont fr?quents au moins 4 fois dans le texte :</p>
<pre class="r"><code>findFreqTerms(dtm, lowfreq = 4)</code></pre>
<pre><code> [1] "able"     "day"      "dream"    "every"    "faith"    "free"     "freedom"  "let"      "mountain" "nation"  
[11] "one"      "ring"     "shall"    "together" "will"    </code></pre>
<p>Vous pouvez analyser l?association entre les mots (leur corr?lation) en utilisant la fonction findAssocs(). Le code R ci-dessous identifie les mots qui sont le plus fr?quemment associ?s ? ?freedom? dans le texte <strong>I have a dream</strong> :</p>
<pre class="r"><code>findAssocs(dtm, terms = "freedom", corlimit = 0.3)</code></pre>
<pre><code>             freedom
let             0.89
ring            0.86
mississippi     0.34
mountainside    0.34
stone           0.34
every           0.32
mountain        0.32
state           0.32</code></pre>
</div>
<div id="table-de-la-frequence-des-mots" class="section level2">
<h2>Table de la fr?quence des mots</h2>
<pre class="r"><code>head(d, 10)</code></pre>
<pre><code>             word freq
will         will   17
freedom   freedom   13
ring         ring   12
day           day   11
dream       dream   11
let           let   11
every       every    9
able         able    8
one           one    8
together together    7</code></pre>
</div>
<div id="dessiner-la-frequence-des-mots" class="section level2">
<h2>Dessiner la fr?quence des mots</h2>
<p>La fr?quence des 10 premiers mots est montr? ci-dessous :</p>
<pre class="r"><code>barplot(d[1:10,]$freq, las = 2, names.arg = d[1:10,]$word,
        col ="lightblue", main ="Most frequent words",
        ylab = "Word frequencies")</code></pre>
<p><img src="https://www.sthda.com/french/french/sthda/RDoc/figure/text-mining/word-cloud-frequency-plot.png" title="word cloud and text mining" alt="word cloud and text mining" width="384" style="margin-bottom:10px;" /></p>
</div>
</div>
<div id="infos" class="section level1">
<h1>Infos</h1>
<p><span class="warning"> Cette analyse a ?t? r?alis?e avec le logiciel R (ver. 3.1.0). </span></p>
</div>

<script>jQuery(document).ready(function () {
    jQuery('h1').addClass('wiki_paragraph1');
    jQuery('h2').addClass('wiki_paragraph2');
    jQuery('h3').addClass('wiki_paragraph3');
    jQuery('h4').addClass('wiki_paragraph4');
    });//add phpboost class to header</script>
<style>.content{padding:0px;}</style>
</div><!--end rdoc-->
<!--====================== stop here when you copy to sthda================-->


<!-- END HTML -->]]></description>
			<pubDate>Sat, 25 Jun 2016 08:39:36 +0200</pubDate>
			
		</item>
		
		<item>
			<title><![CDATA[Text mining]]></title>
			<link>https://www.sthda.com/french/wiki/text-mining</link>
			<guid>https://www.sthda.com/french/wiki/text-mining</guid>
			<description><![CDATA[Cette cat?gorie contient des articles ? propos du <strong>text mining</strong> et du <strong>nuage de mots</strong> (word cloud en anglais). Voir plus bas pour les articles.]]></description>
			<pubDate>Wed, 21 Jan 2015 19:13:04 +0100</pubDate>
			
		</item>
		
	</channel>
</rss>
