
OpenRefine est un logiciel de nettoyage et d’enrichissement des tableaux de données. Refine vient compléter et étendre les fonctionnalités de tableurs classiques tels que « LibreOffice Calc » ou « Excel« . Les utilisateurs principaux sont des spécialistes de la donnée qui travaillent dans une variété de domaines : journalisme, sciences, bibliothèques, marketing, etc. Ceux-ci souhaitent obtenir des données propres avant d’enregistrer les données sur d’autres logiciel, dans le but de créer des bases de connaissances plus ou moins structurées. Le programme tourne sous Java et peut être installé sur tous systèmes d’exploitation.
L’installation du logiciel est dans un premier temps exposée. Lorsque Refine est activé, un serveur local se lance et les tableaux de données deviennent accessibles et possibles à éditer depuis le navigateur, à l’URL « http://127.0.0.1:3333 ». Les traitements qui conduisent du fichier de départ au fichier final sont préservés, si bien qu’il est possible d’aisément revenir à une étape précédente de traitement des données. Un ensemble mémorisé de transformations peut être ainsi appliqué à un nouveau fichier. Des manipulations peuvent être faites sur une partie des données, en éditant les facettes de certaines colonnes.
L’enrichissement des données fait aussi intervenir la notion de « réconciliation« . Cette activité semi-automatique consiste à aligner la valeur d’une cellule d’un tableau (nom de personne, nom d’organisme, nom d’une espèce animale ou végétale, référence bibliographique, lieu géographique) avec la valeur dans une base du web, bien souvent Wikidata. Lorsqu’une entrée est réconciliée, l’ajout de données supplémentaires en provenance de la base externe devient possible. Les données peuvent ainsi être enrichies d’informations, comme par exemple une géolocalisation ou la ville de naissance d’une personnalité connue, la taxon dans le cas des espèces.

Autour de Refine, une sorte d’environnement de travail a été progressivement créé, dédié à l’import, l’enrichissement, la mémorisation des traitements et l’export des données nettoyées et enrichies. Les possibilités en matière de formats d’import et d’export se montrent multiples. Des extensions permettent l’ajout de fonctionnalités, non incluses dans le logiciel de base.

De manière plus anecdotique, l’activité de nettoyage, de transformation et d’enrichissement des données est parfois appelée en franglais data cleansing ou encore data wrangling. Mais pourquoi « wrangling » ? En fait un wrangler est un cowboy, donc ici, le data wrangler peut être vu comme le cowboy de la donnée. Il rassemble ses données éparpillées comme un vacher rassemble ou trie son bétail. Le terme, utilisé dans le langage courant aux États-Unis, sous-entend que l’activité est laborieuse, déplaisante, fatigante, mais que celle-ci doit être faite. Ramené aux données et à leur traitement, ces manipulations représentent 80% du temps passé. Le data wrangling se positionne donc en amont du chargement dans des gestionnaires de contenu et autres outils spécialisés, dédiés à l’exploration et à la visualisation, de manière locale ou sur le web.
Lors de cette première formation, Philippe Houdry présente l’outil et propose sympathiquement la diffusion de son cours en licence Creative Commons. Philippe est formateur à l’INIST, spécialiste des traitements sous OpenRefine, Python, outils et langages apparentés. La formation se déroule en 2h le matin et 2h l’après-midi. Des informations et tests supplémentaires concluent le suivi de sa formation.
- Formation OpenRefine
- Types de fichiers reconnus
- Services de réconciliation
1. Formation OpenRefine
Les formats ODS, XLSX ou CSV sont classiquement manipulés en entrée. Les exercices proposés sont basés sur deux fichiers CSV, à télécharger ici :
- une liste de 1000 références bibliographiques en provenance du DOAJ – répertoire des journaux en accès libre. Télécharger : donnees_DOAJ_1.csv
- les noms de deux auteurs (Émile Ajar / Romain Gary, Victor Hugo), à partir desquels des données sont récupérées sur le web. Télécharger : ReconciliationWikidata
Résumé et notes personnelles :
- Présentation d’OpenRefine : fonctionnalités principales, versions, licence, documentation
- Installation, lancement, mise à jour, désinstallation, interface en français : installation de la version avec java intégré sous windows, configuration de la langue de l’interface dans les paramètres, projets successifs sauvegardés sous un répertoire indépendant du répertoire d’installation, accessible par le bouton en bas « Parcourir le dossier de l’espace de travail ». La version courante d’OpenRefine peut être installée sous Windows dans “Bureau”, garder le nom de la version, créer un raccourci, épingler à la barre des tâches. Les projets OpenRefine sont préservés dans un espace particulier, distinct de celui des programmes, localisé sur « C:\Users[utilisateur]\AppData\Roaming\OpenRefine ». Les données de travail sont ainsi préservées en cas de changement de version.
- Import des données, gestion des projets : import du fichier « donnees_DOAJ_1.csv », prévisualisation après import, gérer l’ensemble des colonnes dans « Toutes » en haut à gauche
- Espace de travail, exploration et nettoyage des données : afficher facettes et filtres par action sur les intitulés des colonnes, trier, ajouter des marques sur les lignes. utiliser les facettes pour vérifier la qualité des données. Exos :
- regrouper des noms de revues dont les valeurs sont proches (variantes orthographiques présentes sur le nom du titre). (1) cliquez sur le triangle en haut de la colonne Publisher (2) puis sur Éditer la colonne, (3) Grouper et éditer, (4) deux méthodes sont proposées ‘collision de clé’ et ‘Voisin le plus proche’. essayer les deux.
- Scinder un champ répétitif en autant de colonnes que nécessaire. (1) créer une facette de la colonne Authors (2) Éditer la colonne (3) Diviser en plusieurs colonnes (4) renseigner le séparateur « | » (5) décocher « Supprimer cette colonne »
- Fusionner le contenu de plusieurs colonnes. (1) créer une facette de la colonne à fusionner (2) Éditer la colonne (3) Joindre des colonnes (4) préciser le séparateur et les colonnes à joindre
- Transformer une colonne numérique au format Date (1) sur colonne ‘Date’ (2) Éditer les cellules, (3) Transformations courantes (4) sélectionner ‘En date’. Une facette chronologique peut alors être consultée
- défaire une modification : en haut à gauche (1) onglet Défaire / Refaire (2) chaque modification est numérotée, cliquer sur l’étape précédente et revenir sur l’onglet Facette / Filtre.
- Transformation des données.
- remplacer la ponctuation présente dans la colonne Titre par un espace : pour commencer à enlever les ponctuations nous allons créer une nouvelle colonne, pour cela (1) colonne Title à modifier, (2) sur Éditer la colonne, (3) Ajouter une colonne en fonction de cette colonne, (4) nommer la nouvelle colonne « Titre sans ponctuation », (5) dans Expression, remplacer ‘value’ par la formule magique ‘replace(value,/[\,\;\:.\?\/!=+\”\’-()[]]/, » « )‘. Une expression régulière est utilisée (à revoir en formation avancée), dans laquelle on recherche successivement dans la variable value la présence de « , » (avec l’instruction ‘\,’), la présence de ‘;’ (avec ‘\;’), etc; il est demandé de remplacer ces motifs par un espace (avec l’instruction de remplacement ‘, » « ‘).
- Préservation des projets, export des données et des traitements.
- export des données : (1) sélectionner avec une facette les lignes à exporter. (2) en haut à droite, sélectionner Exporter (3) sélectionner Valeurs séparées par des tabulations. Une variété de formats d’export des données existe parmi lesquelles CSV (avec virgule ou tabulé), HTML, tableur EXCEL ou OpenDocument ODS, SQL, JSON, tableur sur Google Drive.
- export des traitements : (1) sélectionner l’onglet Défaire / Refaire en haut à gauche (2) appuyer sur Extraire. Le code d’une étape de traitement correspond à une suite d’instructions encodées en JSON
- Alignement de données avec un référentiel externe (Wikidata). créer un nouveau projet avec le fichier ci-joint « ReconciliationWikidata.csv »
- Réconcilier la colonne nom avec Wikidata (1) sélectionner la colonne nom (2) Réconcilier (3) Démarrer la conciliation (4) Entrer le service « https://wikidata.reconci.link/fr/api » (5) dans l’écran Réconcilier la colonne nom, sélectionner « être humain Q5 » (6) sélectionner parmi les choix possible ceux qui sont pertinent. (Voir la vidéo RBDD)
- Acquérir la date de naissance à partir de données réconciliées (1) dans la colonne nom réconciliée, sélectionner Éditer la colonne (2) puis Ajouter des colonnes à partir de valeur réconciliées (3) entrer manuellement « P569 » ou bien sélectionnez la propriété date de naissance : la colonne date de naissance des données réconciliées est créée.
- Faire la même chose avec lieu de naissance
- Récupérer l’identifiant BnF (Bibliothèque nationale de France) avec « P268 »
- Récupérer l’identifiant IdRef (ABES) avec la propriété « P269 » de Wikidata
- Supplémentaire ! Récupérer la description en français dans Wikidata de l’item réconcilié. Ajouter des colonnes à partir de valeur réconciliées entrer manuellement « Dfr ». Pour la description en anglais : « Den » : la lettre D est suivie du code linguistique sur deux lettres.
- Récupérer les noms alternatifs, en français : entrer Afr, en allemand Ade.
- Introduction à quelques fonctionnalités avancées : prochaine formation
Lien vers le diaporama et les fichiers utilisés pour la formation, Philippe Houdry, INIST CNRS, CC-BY-NC, 2022 :
2. Types de fichiers reconnus
- CSV / TSV : Champs délimités par un séparateur (virgule, tabulation)
- Line-based text files : Texte brut sans délimitation de champs
- Fixed-width field text files : Champs de longueur fixe
- PC-Axis : Format de fichier textuels pour l’échange de données statistiques
- JSON
- MARC : données bibliographiques au format MARC
- Formats de fichier du web sémantique
- JSON-LD
- RDF/N3
- RDF/N-Triples
- RDF/Turtle
- RDF/XML
- Wikitext : Tableaux structurés selon la syntaxe Wikipedia
- XML : Fichiers en EAD, en TEI
- Tableurs
- Open Document Format spreadsheets (.ods)
- Fichiers Excel
3. Services de réconciliation
Plusieurs services de réconciliation sont testés :
- Wikidata en français (Wikidata est une base sémantique participative qui référence notamment les données structurées issues des différentes versions linguistiques de Wikipédia) : https://wikidata.reconci.link/fr/api
- Wikidata:Outils/OpenRefine : Lien
- Wikimedia Commons (une base d’images en Creative Commons, docs) : https://commonsreconcile.toolforge.org/en/api
- WikiCite (docs) : https://wikicite-search.herokuapp.com/api_reconciliation.php
- refine.codefork.com
- VIAF (Virtual International Authority File (docs, code source) : https://refine.codefork.com/reconcile/viaf
- ORCID : https://refine.codefork.com/reconcile/orcid
- OpenLibrary : https://refine.codefork.com/reconcile/openlibrary
- Biblissima (base de donnée nationale des manuscrits de l’antiquité au XVIe siècle, docs) : https://data.biblissima.fr/reconcile/fr/api
- Getty art, artists, geography etc. Getty (histoire, art, architecture). Tutorial : docs
- Thesaurus of Geographic Names LOD Dataset : https://services.getty.edu/vocab/reconcile/
- Geonames (base de données géographiques sous licence Creative Commons) : https://fornpunkt.se/apis/reconciliation/geonames
- Répertoire International des Sources Musicales (docs) : https://rism.online/reconciliation/reconcile
- GND reconciliation for OpenRefine (Gemeinsame Normdatei / Integrated Authority File / Fichier d’autorité intégré) : https://lobid.org/gnd/reconcile
Récupérer l’URI de la base réconciliée. Réconcilier > Ajouter une colonne d’identifiants d’entité. On peut ensuite transformer la colonne en URL.
- Réconciliation avec les vocabulaires du Getty (histoire, art, architecture), avec LODRefine : Lien
- LODRefine : Lien
Conclusion
Refine n’a pas vocation à remplacer les tableurs traditionnels. Certaines fonctionnalités fondamentales, comme par exemple ajouter une nouvelle ligne, se montrent peu évidentes avec cet outil gratuit. Les applications principales concernent l’amélioration de la qualité des données tabulaires. L’apprentissage peut se faire en quelques heures.
L’application se montre fiable et les données ainsi traitées ne seront pas perdues. Elles resteront cependant, avec la version standard, liée à la machine sur laquelle le travail a été fait. A noter que PAWS, un service cloud du mouvement Wikimedia propose, moyennant inscription gratuite la possibilité de localiser un tableau sur le web, dans un espace réservé.
En provenance d’un tableur ou de Zotero par exemple, les données obtenues après traitement sous Refine se montrent prêtes à être exportées vers d’autres outils, comme par exemple Omeka, ou bien vers des plateformes spécialisées dans les visualisations, la cartographie, les études statistiques, etc. Elles peuvent aussi être archivées de manière pérenne et ouverte sur des plateformes dédiées. Une formation OpenRefine avancé est prévue. A suivre…
- Site officiel : https://openrefine.org/
- Documentation officielle (3.5) : https://docs.openrefine.org/
- Blog : https://openrefine.org/blog
- Wiki : https://github.com/OpenRefine/OpenRefine/wiki
- Liste de discussion : https://forum.openrefine.org/
- Aider à traduire les intitulés du logiciel : https://hosted.weblate.org/projects/openrefine/#languages
- Reconciliation service test bench : Lien
- OpenRefine, sur Wikibooks : https://fr.wikibooks.org/wiki/OpenRefine
- Formation de Mathieu Saby pour le consortium MASA (archéologie) Huma-Num, 2020 : https://msaby.gitlab.io/tutoriel-openrefine/index.html
- Reconcilable Data Sources, Wiki OpenRefine, Michael Mior, 2022 : Lien
- Entity Reconciliation Community Group, W3C (2019-2023), un groupe du W3C actif sur la normalisation du processus de réconciliation : Lien
- Le protocole en v0.1 : Reconciliation Service API v0.1, A protocol for data matching on the Web, 2022, W3C : https://reconciliation-api.github.io/specs/0.1/
- Utiliser la réconciliation pour enrichir ses données, Réseau Base De Données CNRS, Canal U TV, vidéo 9:02, 2023 : Lien
- OpenRefine tutoriel, Enseigner l’histoire par les données, Oricheta, 2017 : Lien
- #36 – OpenRefine, « Excel aux hormones » pour nettoyage de données. Patrimoine et Numérique, 2017 : Lien
- Tes premiers pas avec OpenRefine : Vidéo : 14 tutoriels vidéos de 5 à 7 minutes chacun, par Chloé Martin et Stefan Gaget, 2023 : Lien
- Intégration de la base de données Banadora sur ArkéoGIS, Consortium MASA, Mohammed Benkhalid, 37:17, 2022 : Lien
- OpenRefine, une série de vidéos pour débuter sur Canal U : Lien
- PAWS: A Web Shell (PAWS) est un déploiement Jupyter notebook hébergé par la Wikimedia Foundation
One Reply to “Atelier OpenRefine aux AHP-PReST, partie 1”