Accueil > Utiliser les modèles textuels avec TidySupervise

Utiliser les modèles textuels avec TidySupervise

Les modèles de classification textuels hébergés sur la générothèque ont été conçus pour être réutilisés avec une application créée par le projet Numapresse, Tidysupervise. Tidysupervise nécessite d'utiliser un langage de programmation mais a été volontairement conçu pour un usage simplifié : il suffit de quelques commandes pour utiliser un modèle existant ou entraîner un nouveau modèle

Prérequis

Tidysupervise est une extension du langage d'analyse de données R. Cette section rappelle rapidement le protocole d'installation pour R : vous pouvez passer directement à la section suivante si ce n'est pas nécessaire.

L'installation s'effectue en deux temps : il faut d'abord installer R (par ici) puis il est fortement conseillé d'installer également R Studio (par là). En principe l'installation est assez simple pour la plupart des systèmes d'exploitation récent (Mac, Windows ou Linux) : il suffit de charger les fichiers et de suivre les programmes d'installation. R est aujourd'hui très utilisé dans le milieu universitaire (en particulier en biologie ou en économie) : si vous êtes étudiants ou chercheurs vous devrez facilement pouvoir de l'aide en cas de blocage

Si tout se passe bien vous devez avoir accès à ce type d'interface :

Vous devez maintenant installer deux extensions nécessaires : le tidyverse (en réalité une famille d'extensions pour faciliter l'analyse de données) et tidytext (une extension pour faire du text mining). Cette fois-ci la démarche d'installation est plus inhabituelle : il faut taper une commande d'installation dans R Studio et appuyer sur [entrée]

install.packages("tidyverse")

Vous allez voir plein de messages s'afficher en rouge qui peuvent paraître un peu inquiétant mais en réalité tout est parfaitement normal. À la fin du processus d'installation (qui devrait prendre 2-3 minutes) vous pouvez vérifier que le tidyverse est bien disponible en tapant la formule :

library("tidyverse")

La même procédure doit être répétée pour tidytext:

install.packages("tidytext")

Classer un corpus avec un modèle

Le corpus à classer doit être préalablement déposé dans un tableur comme excel ou Google Spreadsheet avec au moins une colonne contenant le texte complet de chaque document et des colonnes additionnelles pour les métadonnées. L'intégration du corpus dans un "tableau" unique avec un document par ligne est aujourd'hui privilégiée pour de nombreuses applications de text mining (notamment tidytext). Pour structurer le jeu de données vous pouvez vous inspirer des corpus d'entraînement mis à disposition dans la Générothèque.

La notion de "document" est ici très extensible et dépend de vos objectifs. Si vous travaillez sur des textes longs il est généralement préférable de les segmenter plutôt que de les classer en une seule fois. Vous pouvez ainsi opter pour une segmentation à l'échelle de la page ou du chapitre selon vos objectifs (ou le temps que vous êtes prêt à consacrer à la segmentation).

L'intégration du corpus dans le tableur peut se faire manuellement s'il est de petite taille. Si il y a beaucoup de documents il est possible d'automatiser la conversion du corpus avec R : un tutoriel spécifique sur le sujet sera publié prochainement sur le site de la générothèque.

Une fois traité le corpus se charge dans R de la manière suivante, en remplaçant "training_corpus.csv" par le nom de votre fichier de corpus :

training_corpus = read_csv("training_corpus.csv")

Pour le modèle la syntaxe est différente : vous devez utiliser load, de nouveau en remplaçant le "model.rda" par le nom du modèle effectivement utilisé

load("model.rda")

Si tout se passe bien le modèle et le corpus vont maintenant s'afficher dans la petite fenêtre en haut à droite de R studio. Vous êtes prêt à classer un corpus

La classification s'effectue à partir des trois commandes suivantes :

classification = training_corpus %>%
unnest_tokens(token, text) %>%
tds_process(max_word_set = 0) %>%
tds_apply(model = corpus_model)

Elle procède en trois étapes. unnest_tokens transforme votre corpus contenu dans la colonne text en liste de mots  (ou "tokens" dans le jargon anglophone de la textométrie). tds_process pondère le vocabulaire pour minorer notamment la part des mots trop fréquents dans le corpus (en particulier tous les "mots-outils" ou "stopwords" qui n'ont qu'une fonction syntaxique). Enfin tds_apply applique le modèle chargé.

À la fin du processus de classification vous obtenez un jeu de données contenant les probabilités de chaque forme ou genre identifié par le modèle pour chaque document. En général, les probabilités deviennent signifiantes à partir de 20%.