Des outils

Package tm de R

Le package tm, a été publié en 2008 par Feinerer, Hornik, Meyer Wirtschaftsuniversity de Wien, in Journal of Statistical Software (Mars 2008)

Ce package est à la base d’autres package de statistique textuelle comme R.temis que nous utilisons pour cette formation. Il construit les tableaux lexicaux (Document Term Matrix), compte les mots, rapporte les mots à leurs radicaux, supprime les mots outils…

Package R.temis de R

R.temis facilite les étapes essentielles de statistique textuelle (importation, traitement et analyses) en s’appuyant au maximum sur des packages existants (tm, FactoMineR, explor, igraph…) :

  • importation de corpus au format .csv, .txt, Alceste…,
  • suppression des mots vides (mots-outils),
  • lemmatisation automatique et modifiable,
  • bilan lexical, spécificités, concordances,
  • détection de cooccurrences,
  • construction de sous-corpus à partir de termes,
  • découpage des textes en paragraphes,
  • analyse des correspondances sur tableau lexical entier ou agrégé,
  • classification,
  • nuage de mots, graphes de mots

Par son approche très orientée analyse factorielle et exploration multivariée des textes, suit la tradition de la statistique textuelle à la française, héritée des travaux de Benzécri et Lebart.

Les fonctions de R.temis

Nom Pour
import_corpus Importer les données
set_corpus_variables Ajouter des métadonnées au corpus
split_documents Découper les textes longs
build_dtm Créer un tableau lexical
dictionary Afficher le lexique
combine_terms Regrouper des termes
frequent_terms Afficher les fréquences des mots
term_freq Afficher la fréquence d’un ou plusieurs mots
word_cloud Générer un nuage de mots
concordances Afficher des concordances d’un ou plusieurs mots
terms_graph Afficher un graphe de mots
cooc_terms Afficher des termes cooccurrents
corpus_ca Exécuter une analyse factorielle des correspondances (sur TLE ou TLA)
contributive_docs Afficher les documents les plus contributifs aux axes
extreme_docs Afficher les documents aux extrémités des axes factoriels
corpus_clustering Exécuter une classification (sur les TLE ou sur les axes factoriels)
lexical_summary Faire un bilan lexical (par métadonnée)
specific_terms Afficher les termes spécifiques (par métadonnée)
characteristic_docs Afficher les documents caractéristiques
subset_corpus Créer un sous corpus incluant ou excluant un terme ou par métadonnée

Package Rainette

Rainette implémente la méthode Reinert de classification de textes utilisée dans Alceste / IRaMuTeQ. Il découpe un corpus en classes en regroupant les segments de texte qui partagent le même vocabulaire, via deux algorithmes :

Classification simple (rainette()) : une seule classification hiérarchique descendante Classification double (rainette2()) : deux classifications croisées, plus robuste

Description ici

https://cran.rproject.org/web/packages/rainette/vignettes/introduction_usage.html

et https://juba.github.io/rainette/articles/introduction_usage.html#classification-simple

Son interface graphique rainette_explor() permet d’explorer les classes facilement. Le package permet d’identifier les mots caractéristiques de chaque classe (via le chi²). Ce package s’appuie sur quanteda pour la préparation des données

Package udpipe

Udpipe réalise en une seule étape plusieurs traitements NLP (Natural Language Processing). :

  • Tokenisation : découpe le texte en mots/phrases
  • Lemmatisation : ramène chaque mot à son lemme
  • POS tagging : identifie la nature grammaticale de chaque mot (nom, verbe, adjectif…)

On peut l’utiliser en complément de R.temis pour filtrer les mots a analyser selon leur catégorie grammaticale (par exemple, ne retenir que les noms et adjectifs).

Son avantage est que le modèle est téléchargé localement et que le résultat est un data.frame qu’on intègre dans les traitements R. Il supporte plus de 65 langues. Par contre, il n’est pas optimum pour catégoriser les mots en français.

Autres packages

  • quanteda est l’un des packages de référence pour le text mining en R, aux côtés de tidytext. Très utilisé en sciences politiques, linguistique computationnelle et sciences sociales. Il est plus difficile à apprendre que R.temis. Il est rapide et efficace sur de grands corpus (implémentation en C++). Il a des extension associées : quanteda.textstats, quanteda.textmodels, quanteda.textplots sont des extensions.

  • tidytext permet d’analyser du texte en suivant les principes du tidyverse, c’est-à-dire en représentant les données textuelles sous forme de tableaux “tidy” (une ligne = un token), ce qui le rend facilement compatible avec dplyr, ggplot2 et la galaxie tidyverse. Il assez facile à apprendre mais moins performant que quanteda. Par rapport aux autres packages, il permet de faire de l’analyse de sentiment en appliquant des lexiques intégrés (AFINN, Bing, NRC) ou de la modélisation thématique avec son interface avec LDA via le package topicmodels.

  • Xplortext, développé par Ludovic Lebart et ses collaborateurs, se distingue de quanteda et tidytext par son approche Analyse géométrique des données, comme R.temis. Il gère très bien la langue française.

Comme R.temis, il est ancré dans la tradition de la statistique textuelle à la française tandis que quanteda et tidytext sont plus proches des approches anglo-saxonnes du NLP.

Autres outils

  • IRaMuTeQ pour Interface de R pour les Analyses Multidimensionnelles de Textes et de Questionnaires est un logiciel libre développé avec les langages R et Python permet d’appliquer un grand nombre de méthodes de la statistique textuelle au moyen d’interfaces graphiques donc sans avoir à coder. Ses fonctionnalités sont assez similaires à celles de R.temis.
    Voir le pas à pas

  • La plateforme TXM combine des techniques puissantes et originales pour l’analyse de corpus de textes structurés et annotés au moyen de composants modulaires et open-source (Heiden, 2010; Heiden et al., 2010; Pincemin et al., 2010). Elle a été initiée par le projet ANR Textométrie.

  • Hyperbase est une plateforme universitaire d’exploration documentaire et statistique de textes diffusée par le CNRS et l’Université Nice Côte d’azur et conçu et développé au sein de l’[UMR 7320 Bases, Corpus, Langage](http://bcl.cnrs.fr/.