Expressions régulières (et disponibilité des données)

J’ai déjà évoqué les “regex” au sujet du nettoyage de données : il s’agit d’une chaîne de caractères qui permet de sélectionner des extraits de n’importe quel texte en se basant sur une syntaxe régulière, et de les remplacer par autre chose. Savoir se servir des expressions régulières rend un nombre de services incalculable.

Il existe des variantes intéressantes de ce procédé. Voici une ligne de code pratique pour renommer des fichiers dans un terminal Unix ou Mac OS X, et qui utilise une expression régulière1 très basique :

ls Bild*.jpg | awk '{print("mv "$1" "$1)}' | sed 's/Bild/Photo/2' | /bin/sh

Mon téléphone portable est configuré en allemand (ne me demandez pas pourquoi), et les photos qu’il prend sont appelées “Bild0561.jpg”, “Bild0562.jpg” et ainsi de suite. Cette ligne de code remplace “Bild” par “Photo”.

Sous Stata, un procédé similaire est utilisé par la commande non-native renvars qui permet de renommer des groupes de variables en une seule ligne. Outre les noms de variables, les expressions régulières permettent d’effectuer certaines étapes de la préparation de données très rapidement.

Les applications ne manquent pas. Les premiers principes de manipulation s’apprennent très vite, et ils économisent des heures de travail manuel, à condition d’avoir un éditeur de texte – comme TextMate sur Mac OS X – qui permet d’utiliser les expressions régulières dans sa fonction find/replace.

Ce type d’outil devient très pratique dès lors que l’on cherche à travailler sur des données originales, assemblées par ses propres soins ou qui n’existent pas sous la forme de dataset dans l’un des formats courants en analyse quantitative. La faible visibilité des travaux de recherche souffre de ce travers supplémentaire que les données des auteurs sont rarement publiques.

Heureusement, même si la pratique qui consiste à publier ses données dans un format exploitable reste encore très faible, elle est au moins reconnue comme bonne pratique. Je cite souvent un texte de Jeremy Freese sur ce sujet, et je suis régulièrement le développement de Dataverse, la plateforme de publication de données promue par Gary King. La France n’a pas encore trouvé ses porte-étendards de l’open data access.

Un exemple récent : en lisant un compte-rendu d’ouvrage2 écrit par Nicolas Mariot, j’ai voulu récupérer les données du vote qui amène Adolf Hitler au pouvoir le 23 mars 1933. Par chance, Gary King a travaillé sur le sujet, et a publié ses données.

(Avez-vous remarqué que les trois chercheurs cités dans cette note disposent tous d’un site Internet ? Une autre forme de disponibilité publique.)

  1. Add. février 2013 : en réaction à ce billet, un ami m’a fait remarquer il y a fort longtemps que “*” n’était pas une “regex” mais un caractère “catch-all” (attrape-tout) que l’on appelle une “wildcard“. Désolé Alexandre de n’avoir corrigé ce billet que plusieurs années après cette juste remarque. []
  2. À noter : ce texte est en accès libre grâce à la revue Sociologie et à sa plateforme de diffusion, basée sur un partenariat entre Revues.org (gratuit) et Cairn (payant). Ce modèle de publication est le plus moderne à mes yeux. La prochaine étape sera l’open access intégral, mais c’est un autre débat. []

4 réponses sur « Expressions régulières (et disponibilité des données) »

    1. On peut effectivement recenser quelques exemples en France. Le meilleur d’entre tous reste, à mon sens, Frédéric Martel, qui a mis d’immenses pans de données de ses deux derniers ouvrages en ligne (il y a un an environ, lorsque c’était sa thèse qui était en ligne, il y avait plus de 1200 pages de documentation). (Disclaimer : je connais l’auteur, même si je suis certain qu’il ne lit pas ce blog.)

  1. Fr., tu essaies vraiment de nous faire croire que tu as appris les expressions régulières, tapé deux lignes de commande qui feraient pâlir un informaticien chevronné, et ouvert un terminal Unix plutôt que de faire “rechercher et remplacer”??? ;-)

    1. À ma connaissance, on ne peut pas faire “Chercher et Remplacer” sur des noms de fichiers. Si ça existe sur Windows, alors Mac a un train de retard…

Les commentaires sont fermés.

Rechercher dans OpenEdition Search

Vous allez être redirigé vers OpenEdition Search