L’interface graphique dans Rcmdr

Cet article présente les principales fonctionnalités du paquet RcmdrPlugin.temis, qui ajoute un menu d’analyse textuelle à l’interface graphique Rcmdr. Les utilisateurs plus avancés de R seront plutôt intéressés par le paquet R.temis, qui est utilisable directement dans des scripts, sans interface graphique.

Un tutoriel pas à pas rédigé par Bénédicte Garnier (Ined) dans le cadre de ses enseignements est aussi disponible. Les méthodes statistiques proposées par R.TeMiS sont notamment présentées dans l’ouvrage classique Statistique textuelle de Ludovic Lebart et André Salem (1994, disponible en ligne).

Les sorties logiciel et les graphiques sont tirés de l’analyse du corpus Assange qui comporte tous les articles de Libération, Le Figaro, L’Humanité, Le Parisien et l’Agence France Presse contenant le terme « Assange » en texte intégral (dans le titre pour les dépêches AFP), quelque soit la date de publication.

En cas de problème, contactez-nous directement plutôt que de laisser des commentaires sur le site.

0. Installer R

Si vous n’utilisez pas encore R

Windows

Les utilisateurs de Windows peuvent télécharger un programme d’installation qui prendra soin de tout ici : https://cloud.web.ined.fr/index.php/s/Ty5T3T3Dvt9ZAHg/download. À la fin de l’installation, une icône R.TeMiS sera créée sur le bureau. C’est prêt.

Mac OS X

Les utilisateurs de Mac OS X doivent installer R séparément en téléchargeant le fichier .pkg à cette adresse : http://cran.r-project.org/bin/macosx Vous devrez ensuite installer le paquet RcmdrPlugin.temis en suivant les instructions « Si vous utilisez déjà R » en bas de cette page.

R.TeMiS a besoin du système X11 pour fonctionner ; les versions récentes des Mac OS X vous proposeront de l’installer automatiquement au lancement de R.TeMiS. Si vous n’êtes pas sûr de l’avoir installé, vous pouvez lancer R.TeMiS et voir si cela fonctionne. Dans le cas contraire :

  • Cas le plus fréquent : pour les versions récentes (après 2009, c’est-à-dire version 10.6 Snow Leopard et après), installez XQuartz.app manuellement depuis cette page : http://xquartz.macosforge.org
  • Cas des ordinateurs plus anciens : pour les versions 10.5 (Leopard) et antérieures, installez X11.app à partir de votre disque d’installation Mac OS X

Pour plus de détails, consultez la page (en anglais) : http://socserv.mcmaster.ca/jfox/Misc/Rcmdr/installation-notes.html)

Linux

Enfin, les utilisateurs de Linux peuvent installer R à partir des paquets binaires prévus pour leur distribution, puis installer le paquet RcmdrPlugin.temis en suivant les instructions ci-dessous.

Si vous utilisez déjà R

Si vous êtes déjà utilisateur de R, vous pouvez le charger et le lancer depuis le gestionnaire de packages ou avec les instructions suivantes (connexion à Internet requise) :

install.packages("RcmdrPlugin.temis")
library(RcmdrPlugin.temis)

1. Lancement du programme

Si vous travaillez sous Windows et que avez installé R.TeMiS grâce à l’installateur tout-en-un, une icône R.TeMiS est disponible sur votre bureau, ainsi que dans le menu Démarrer.

Dans le cas contraire, lancez R et chargez le paquet RcmdrPlugin.temis depuis le gestionnaire de paquets de R (menu « Packages » sous Windows, « Packages et données » sous Mac OS X) ou avec l’instruction :

library(RcmdrPlugin.temis)

L’utilisateur obtient alors l’ouverture d’une fenêtre R Commander. Cette fenêtre contient un menu « Analyse textuelle » (à partir duquel l’analyse lexicale sera menée), une fenêtre de script qui permet de vérifier (et éventuellement modifier) la syntaxe soumise à R et une fenêtre de sortie qui permet de suivre la progression de l’analyse. L’utilisateur peut à tout moment intervenir directement dans la fenêtre de script et soumettre ses modifications à R par le bouton « Soumettre ».

Fig. 1 – La fenêtre R Commander avec le menu “Analyse Textuelle”

2. Importation du corpus

Trois types de corpus peuvent être importés dans R.TeMiS :

  • des fichiers de texte brut (au format .txt) ;
  • des fichiers tabulés tirés d’enquêtes par questionnaire (au format .csv, .xls ou .ods, où les lignes correspondent à des individus et les colonnes à des variables descriptives et une variable texte) ;
  • des fichiers en .html ou .xml structurés par la base d’articles de presse Factiva (voir la page « Exportation de corpus depuis Factiva »), LexisNexis ou Europresse.

L’utilisateur peut importer un fichier ou un ensemble de fichiers. Dans ce second cas, tous les fichiers sélectionnés sont fusionnés en un seul corpus dont les documents sont les fichiers .txt (dans le cas  de corpus texte) et les articles dans le cas de corpus Factiva. Les utilisateurs qui travaillent avec des fichiers texte doivent donc constituer autant de .txt qu’ils ont de documents. Chacun de ces fichiers sera caractérisé par la suite en fonction de la série de variables définie par l’utilisateur (à la différence d’autres logiciels, aucun codage n’est à réaliser dans le corps des fichiers texte).

Lors de l’importation l’utilisateur peut décider de découper son corpus en unités plus petites. L’unité choisie est le paragraphe. Si cette option est choisie chaque paragraphe sera considéré comme un document, ce qui peut permettre d’améliorer la qualité de l’analyse de données, notamment dans la perspective d’une classification ascendante hiérarchique. Le choix d’une segmentation en paragraphes vise à prendre en compte les formats d’écriture médiatique de façon moins arbitraire qu’avec un découpage en segments de longueur uniforme (Jenny, 1999). Par défaut les fichiers tabulés sont découpés en autant de documents qu’ils comportent de lignes.

Fig. 2 - La boîte de dialogue d'imporation de corpus
Fig. 2 – La boîte de dialogue d’importation de corpus

Lors de l’importation l’utilisateur définit le niveau de traitement lexical du corpus : passage des termes en minuscule, suppression de la ponctuation, suppression des  nombres, suppression des mots vides (stopwords) et lemmatisation. Celle-ci est réalisée par le paquet SnowballC (algorithme de Porter) : elle consiste à supprimer les racines des mots, qui deviennent ainsi dans notre terminologie des termes.

Il est aussi possible d’afficher le dictionnaire de lemmatisation et de le modifier avant de l’appliquer au corpus grâce à l’option « Éditer la lemmatisation manuellement ». Dans la fenêtre qui s’ouvre alors, on peut choisir de regrouper des mots en leur attribuant la même forme lemmatisée (« termes » dans le vocabulaire de R.TeMiS), ou au contraire de distinguer des mots en leur attribuant des termes différents; laisser un terme vide permet de l’éliminer du lexique.

Si l’importation de fichiers texte brut, tableur ou Alceste échoue (affichage d’une erreur, corpus vide ou incorrect, accents non respectés), essayez de préciser l’encodage du fichier. En effet, la détection automatique peut ne pas fonctionner à tous les coups. Si vous laissez le pointeur de la souris sur le champ « Encodage des fichiers », une info-bulle affichera les encodages les plus communs pour la langue sélectionnée. Pour le français par exemple, essayez successivement les valeurs suivantes : ISO-8859-1, Windows-1252, ISO-8859-15, UTF-8, UTF-16. Si cela ne fonctionne toujours pas, n’hésitez pas à nous contacter.

3. Gestion du corpus

3.1. Visualisation du corpus actif

Cette fonction permet à l’utilisateur de visualiser dans une fenêtre ad hoc le contenu du corpus actif, document par document.

Fig. 3 – Visualisation du corpus actif

3.2. Charger les variables du corpus

La façon de gérer les variables descriptives des documents du corpus dépend du type de celui-ci.

Fichiers texte brut

Dans le cas de corpus de fichiers texte brut l’utilisateur doit définir les variables lui-même pour caractériser chaque fichier .txt. Ces variables peuvent être importées depuis un fichier tableur à partir du menu Données -> Importer des données. Elles peuvent aussi être entrées directement dans R Commander, en ouvrant l’éditeur de variables (bouton « Éditer » au-dessus de la fenêtre de script) ; le jeu de variables est enregistré à la fermeture de l’éditeur. L’utilisateur peut le sauvegarder pour une utilisation ultérieure (Données -> Jeu de données actif -> Sauver le jeu de données actif) ou l’exporter dans un autre format (Données -> Jeu de données actif -> Exporter le jeu de données actif).

Attention, chaque ligne du jeu de variable est assignée à un document, dans l’ordre d’apparition. Puisque les fichiers textes sont importés dans l’ordre alphabétique, la manière la plus simple de respecter le même ordre pour les variables est de créer une colonne contenant les noms des documents correspondants, et de trier les lignes dans l’ordre alphabétique de cette colonne. N’oubliez pas de rajouter des zéros si nécessaire, de la forme « doc001.txt », « doct002.txt »… « doc010.txt »… « doc100.txt », car l’ordre ne serait pas correct sans eux (« doc10.txt » est classé avant « doc2.txt »).

Fichiers de type tableur

Dans le cas de fichiers de type tableur (Excel, CSV…), R.TeMiS utilise toutes les colonnes sauf la première comme des variables. La première ligne contient l’intitulé de la variable.

Fichiers Factiva

Dans le cas de fichiers .html générés par Factiva, les variables principales des documents sont importées automatiquement depuis le fichier(date, origine, auteur, section).

 

Lorsque l’on a édité les variables du corpus depuis R Commander, ou lorsqu’on les a importées depuis un fichier, il est nécessaire de charger ensuite ces données depuis le menu Analyse textuelle -> Gestion du corpus -> Charger les variables du corpus.

3.2 Sélectionner ou exclure des termes

L’utilisateur peut exclure de l’analyse des termes particuliers ou au contraire indiquer la liste des termes sur lesquels l’analyse doit porter. Cette fonction est particulièrement utile pour exclure des termes récurrents et non pertinents du corpus.

3.3. Restriction du corpus

A partir de ce menu l’utilisateur peut restreindre le corpus aux documents contenant un terme particulier ou au contraire exclure les documents contenant un (ou plusieurs) terme(s) particulier(s). Cette fonction est utile notamment lorsque l’on a segmenté le corpus pour sélectionner uniquement les paragraphes contenant un terme.

La restriction du corpus peut aussi être faite en fonction des modalités d’une variable (par exemple, il est possible de restreindre le corpus aux documents publiés à une certaine date ou dans certaines sources).

Une option permet d’enregistrer le corpus avant la restriction afin de revenir par la suite à la version non restreinte.

4. Analyse du corpus

On a regroupé dans cette partie du menu des opérations statistiques portant sur les documents et non sur les termes du corpus. Ces opérations permettent de caractériser le corpus en fonction des variables.

4.1. Tri à plat d’une variable

Donne le tri à plat des modalités d’une variable du corpus. Une représentation graphique est proposée sous forme de diagramme bâton ou circulaire.

Fig. 4 – Tri à plat de la variable “origine” dans le corpus Assange(fr)

4.2. Tableau à double entrée

Donne le tri croisé des modalités de deux variables du corpus. Une représentation graphique est aussi proposée.

4.3. Evolution temporelle

Cette fonction a été spécialement concue pour représenter la structure temporelle du corpus. Un tri à plat de la variable temporelle choisie est effectué et une courbe tracée. Le format de dates est paramétrable ; plusieurs courbes peuvent être superposées en fonction d’une variable (par exemple l’origine des documents) ; les valeurs retournées peuvent être remplacées par une moyenne flottante sur plusieurs unités temporelles.

Fig. 5 – Nombre de documents par origine (moyenne lissée sur 30 jours)

4.4. Mesure de la dissimilarité

La dissimilarité peut être calculée entre les documents du corpus (distance du Khi2 entre les lignes de la tdm) mais aussi entre modalités d’une variable (distance entre tous les documents correspondant à chaque modalité).

Sortie 2 - Dissimilarité entre modalités de la variable Origine dans le corpus Assange(FR)
                       AFP L'Humanité Le Figaro Le Parisien
L'Humanité             2.4                     
Le Figaro              1.2        2.4          
Le Parisien            1.9        2.8       1.9
Libération             1.1        2.3       1.2         1.9

5. Statistique lexicale

Cette partie du menu permet de réaliser des opérations simples de statistique lexicale sur les termes du corpus.

5.1. Bilan lexical

Il permet de caractériser de façon générale le corpus (par documents ou par variables). On a retenu le nombre de termes, de termes distincts, de hapax et la mesure des mots longs. Les calculs portant sur les termes tiennent compte de la lemmatisation si elle a été faite. Par contre, les calculs sut les mots sont sur texte brut (d’où les différences avec la sortie 1 et aussi un temps de calcul assez long).

Le ratio termes distincts / termes (pourcentage de termes distincts) permet de mesurer la variété du lexique. Le ratio hapax / termes (pourcentage de hapax) permet de mesurer la rareté du lexique employé. Enfin le ratio mots longs / mots (pourcentage de mots longs) donne une idée (approximative) de la complexité du lexique employé.

Le paramétrage permet d’obtenir ces données par document ou par variable. Il est aussi possible de calculer des effectifs par modalité ou des moyennes par document.

Sortie 3 - Bilan lexical du corpus Assange(fr) (valeurs absolues sur l’ensemble de la modalité)
Total par catégorie :                   AFP L'Humanité Le Figaro Le Parisien Libération     Corpus
  Nombre de termes                  61708.0     3957.0   19783.0      3561.0    32553.0   121562.0
  Nombre de termes distincts        44917.0     2957.0   14559.0      2848.0    23734.0    89015.0
  Pourcentage de termes distincts      72.8       74.7      73.6        80.0       72.9       73.2
  Nombre de hapax                   35041.0     2399.0   11567.0      2387.0    18913.0    70307.0
  Pourcentage de hapax                 56.8       60.6      58.5        67.0       58.1       57.8
  Nombre de mots                   107524.0     7068.0   34966.0      6227.0    59380.0   215165.0
  Nombre de mots longs              37565.0     2311.0   12311.0      2225.0    19183.0    73595.0
  Pourcentage de mots longs            34.9       32.7      35.2        35.7       32.3       34.2
  Nombre de mots très longs         10665.0      673.0    3868.0       707.0     5788.0    21701.0
  Pourcentage de mots très longs        9.9        9.5      11.1        11.4        9.7       10.1
  Longueur moyenne des mots             5.4        5.3       5.5         5.5        5.3        5.4
Sortie 4 - Bilan lexical du corpus Assange(fr) (valeurs moyennes par document)
Moyenne par document :                AFP L'Humanité Le Figaro Le Parisien Libération Corpus
  Nombre de termes                  192.8      232.8     210.5       137.0      252.3  205.1
  Nombre de termes distincts        140.4      173.9     154.9       109.5      184.0  151.9
  Pourcentage de termes distincts    72.8       74.7      73.6        80.0       72.9   77.0
  Nombre de hapax                   109.5      141.1     123.1        91.8      146.6  120.0
  Pourcentage de hapax               56.8       60.6      58.5        67.0       58.1   62.9
  Nombre de mots                    336.0      415.8     372.0       239.5      460.3  364.7
  Nombre de mots longs              117.4      135.9     131.0        85.6      148.7  125.6
  Pourcentage de mots longs          34.9       32.7      35.2        35.7       32.3   35.0
  Nombre de mots très longs          33.3       39.6      41.1        27.2       44.9   37.0
  Pourcentage de mots très longs      9.9        9.5      11.1        11.4        9.7   10.2
  Longueur moyenne des mots           5.4        5.4       5.5         5.5        5.4    5.4

5.2. Dictionnaire des termes

Renvoie le dictionnaire alphabétique des termes présents dans le corpus (utile pour vérifier la présence de termes après la réduction à la racine) ou la liste des n termes les plus fréquents selon une ventilation par variable (n étant choisi par l’utilisateur). Permet par exemple de comparer les termes les plus fréquents dans les articles de plusieurs auteurs ou tirés de différents journaux, etc.

5.3. Comparaison de fréquences

Renvoie un tableau donnant en ligne une liste de termes choisis par l’utilisateur et en colonne une variable (ou les documents). Les fréquences sont exprimées en pourcentages du nombre total de termes dans la catégorie.

Sortie 6 - Occurrences de 4 termes en fonction de l’Origine
                                     viol    guerr diplomat  journal
Agence France Presse                 0.64     0.16     0.44     0.28
L'Humanité                           0.13     0.56     0.28     0.66
Le Figaro                            0.28     0.33     0.37     0.33
Le Parisien-Aujourd'hui en France    0.28     0.20     0.73     0.34
Libération                           0.29     0.29     0.28     0.49

Une représentation graphique est proposée (diagramme bâtons).

Fig. 6 – Occurrences de termes en fonction de l’origine

5.5. Termes typiques

Liste de termes ayant le plus fort Khi2 par cellule dans la matrice document-termes ou dans une matrice modalités-termes. Ce khi 2 est affecté d’un signe négatif dans le cas des termes les plus significativement absents.

Sortie 7 - Termes typiques par modalités de Origine
$`Agence France Presse`
     assang     sued extradit     cour  britann     mard   mandat    arrêt  suédois    londr 
        177      141      110       94       80       76       76       72       67       62 
$`L'Humanité`
clearstream      den   robert    civil   coalit documentair  listing   mediapart  taliban    kieff 
        403      260      215      177      136         114       90          90       88       86 
$`Le Figaro`
       état     etat     neig     sued   assang   inform   sexuel     cour   patron aéroport 
        241      -84       46      -46      -45       41      -40      -40       39       39 
$`Le Parisien-Aujourd'hui en France`
     navigu   franc    gendarm   braqueur  delahouss    fukuyam   gouvieux humanitair     led     ois 
         96      87         83         64         64         64         64         64      64      64 
$Libération
     assang    sued   extradit    britann   londr       mard     julian australien    cour  fondateur 
       -111     -81        -71        -57     -54        -54        -46        -45     -45        -45

2.4.6. Cooccurrences de termes particuliers

Un terme et un coefficient de corrélation minimum sont indiqués par l’utilisateur. R.TeMiS retourne tous les termes ayant un coefficient de corrélation supérieur (la coprésence est mesurée à l’échelle du document). Ce résultat peut être ventilé en fonction d’une variable.

6. Classification Ascendante Hiérarchique

L’analyse est réalisée en deux temps. Une première étape permet de créer et d’afficher le dendrogramme ; une seconde de déterminer le nombre de classes choisi et de les interpréter.

6.1. Création du dendrogramme

L’utilisateur peut fixer le niveau de rareté (sparsity) des termes conservés dans l’analyse: les termes absents de plus d’un pourcentage donné des documents ne seront pas utilisés. Par défaut le pourcentage est choisi de manière à ce que les termes présents dans un seul document soient ignorés, puis arrondi vers le bas. Cette option permet d’éliminer des termes trop rares pour être significatifs, dont par exemple des fautes de frappe, et surtout de gagner en efficacité pour le traitement de gros corpus.

La distance du Khi2 est utilisée entre les documents et ceux-ci sont rapprochés par la méthode de Ward.

Fig. 7 – Dendrogramme du corpus Assange(fr) (corpus non lemmatisé)

6.2. Création et interprétation des classes

Une fois le dendrogramme affiché, l’utilisateur peut créer le nombre de classes qu’il souhaite et afficher pour chacune d’elle des documents et des termes les plus typiques. L’association des modalités des variables aux classes est aussi mesurée.

Fig. 8 – Aide à l’interprétation de la classification

7. Analyse des correspondances

Elle procède aussi en deux temps. L’analyse est d’abord réalisée et les données principales affichées dans la fenêtre sortie de R.TeMiS (inertie des axes, coordonnées et contribution des termes, des documents et des modalités de variables) ; elle peut ensuite être affichée.

7.1. Réalisation de l’analyse des correspondances

L’utilisateur peut fixer le niveau de rareté (sparsity) des termes conservés dans l’analyse. Cf.  le point 2.5.1. ci-dessus.

7.2. Affichage de l’analyse des correspondances

L’utilisateur détermine les axes à afficher, les éléments à afficher (variables, documents, termes), le nombre d’éléments à afficher et le choix de ces éléments (selon leur contribution à un axe ou aux deux). Enfin des symboles peuvent être dessinés ou pas pour les éléments affichés.

Fig. 9 – Analyse des correspondances sur le corpus Assange(fr) lemmatisé (le terme “pag” a été exclu)

8. Exportation des résultats

Ce menu permet d’exporter les derniers graphiques ou tableaux réalisés dans un fichier HTML. Pour plus de contrôle sur la qualité des graphiques, vous pouvez aussi utiliser le menu Graphes -> Enregistrer le graphe dans un fichier…