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.
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.
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.
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.
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).
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.
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.
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.
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…