SlideShare uma empresa Scribd logo
1 de 166
Nettoyer et transformer ses
données avec Openrefine
Des premiers pas aux usages avancés
Partie 1
BU Université de Nice Sophia-Antipolis
Formation URFIST Paris
25/05/2018
Mathieu Saby
mathieu.saby@unice.fr
1/
Version 1.1 revue au 31/5/2018
Déroulement
Première partie (matin) : présentation, prise en main, opérations
de nettoyage et de transformation simples
Deuxième partie (après-midi) : opérations complexes,
enrichissement de données, utilisation de formules
2/
Quelles sont vos attentes?
3/
Première partie
1. Présentation d’OpenRefine
2. Installation et paramétrage
3. Prise en main et import de données
4. Tris, filtres et facettes
5. Regrouper des valeurs proches
6. Transformer les données
7. Croiser des données
8. Restructurer des données
9. Exporter les données et les traitements
10. Exercice
4/
Présentation d’Openrefine
1. Présentation d’Openrefine
2. Installation et paramétrage
3. Prise en main et import de données
4. Tris, filtres et facettes
5. Regrouper des valeurs proches
6. Transformer les données
7. Croiser des données
8. Restructurer des données
9. Exporter les données et les traitements
10. Exercice
5/
Fonctionnalités principales
Explorer un jeu de données : tris, facettes, regroupement de
valeurs proches
Corriger et harmoniser des données
Modifier l’organisation des données
Enrichir des données (croisement, web services, scraping,
réconciliation)
Documenter les modifications et les enrichissements pour
pouvoir les rejouer à volonté
Le tout dans une interface graphique : résultat des opérations
immédiatement visible.
Pas ou peu de connaissances en programmation pour les
opérations simples.
6/
Fonctionnalités principales
Ce n’est pas un tableur contrairement aux apparences:
 modification globale d’un fichier colonne par colonne, même
s’il est possible d’éditer une cellule séparément
 pas fait pour saisir des données, réaliser des calculs ou des
graphiques
 données séparées des traitements : les formules ne sont pas
contenues dans les cellules
 pagination des données
7/
Positionnement
Tableurs
Scripts
Outils dédiés à la préparation de données
Outils intégrant la préparation et d’autres fonctions
8/
Etc.
Tableau Prep
Positionnement
Avantages
 Fonctions absentes des tableurs
traditionnels
 Interface graphique (vs. scripts)
 Totalement libre et gratuit (vs.
Dataiku DSS, Talend ou Trifacta)
 Installation PC, Linux, Mac
 Enregistrement des traitements
réalisés
 Maîtrise des données (vs outils en
cloud)
 Large communauté d’utilisateurs
Inconvénients
 Performance limitée (100 000 lignes
maxi environ si nombreuses colonnes)
 Ne traite pas de données en flux
 Gourmand en mémoire
 Pas de fonction collaborative
 Formats d’imports limités
 Pas de connexion avec des outils « big
data »
 Langage spécifique
9/
Historique
2009 : logiciel Gridworks développé par Metaweb, comme outil
pour faciliter l’alimentation de leur base de connaissance
sémantique Freebase
2010: rachat de Metaweb par Google. Nouveau nom: Google
Refine
2012 : libération du code par Google. Nouveau nom:
OpenRefine
10/
Modèle économique et de développement
Logiciel opensource, gratuit
Maintenu par une (petite) communauté de développeurs
Développement redynamisé depuis l’an dernier
Possibilité d’installer des extensions pour ajouter de nouvelles
fonctionalités
11/
Commits de janvier 2010 à mai 2018
Evolutions récentes
Versions
 2.5 (2013). Dernière version compatible avec certaines extensions
 2.7 (06/2017)
 2.8 (11/2017) À installer de préférence
 3 (attendue en juin 2018)
12/
Evolutions récentes
 Nouveautés 2.7
 Service de réconciliation Wikidata par défaut (remplace Freebase)
 Export possible des clusters
 Support d’opérateurs AND et OR multiples
 Menu « Transformer » dans la colonne « Tous » pour appliquer une opération à
plusieurs colonnes
 Nouveautés 2.8
 Description enrichie de chaque projet
 Amélioration de la réconciliation Wikidata
 Eclatement de cellules multi-valuées par expressions régulières et caractères
spéciaux
 Filtre par exclusion
 Indication de la quantité de mémoire disponible
 Amélioration de l’interface
13/
Evolutions récentes
 Nouveautés de la prochaine version (3)
 Export au format datapackage
 Export facilité vers Wikidata
 Import/export dans Google Drive
 Description améliorée des différents projets
 Meilleure gestion des valeurs vides et nulles
 Prise en compte des limites des enregistremements pour les opération de
remplissage / effaçage
 Nouvelle fonction (find) pour faciliter la détection de motifs
 Nouvelle fonction (colalesce) pour manipuler les valeurs nulles
14/
Où s’informer
En priorité :
Site : http://openrefine.org/
Documentation : https://github.com/OpenRefine/OpenRefine/wiki
Stackoverflow https://stackoverflow.com/search?q=openrefine
Nombreux blogs
Et également :
Code source : https://github.com/OpenRefine/OpenRefine
Google group : https://groups.google.com/forum/#!forum/openrefine
Google group dev:
https://groups.google.com/forum/#!forum/openrefine-dev
15/
Quelques exemples d’utilisation
 Bibliothèques, archives, musées
 Liste d’exemples recensés dans Bibliopedia (récupération d’infos à partir des
webservices de l’ABES, infos sur des articles à partir de Crossref, vérification
de la présence d’une liste d’articles dans HAL…)
 Identifier des versions numériques d’ouvrages physiques (2018)
 Corriger et modifier des données au format MARC (2015)
 Créer un tableau à partir de références bibliographiques structurées (2013)
 Extraire des cotes archivistiques à partir d’inventaires en EAD (2017)
 Exploiter des listes de revues au format KBART : 1,2,3,4, 5 (2016/7)
 Comparer deux listes de revues (2012)
 Supprimer des doublons dans une liste de revues au format KBART et vérifier
leur appartenance à un package en interrogeant un webservice (2017)
 Nettoyer une liste de cessionnaires de brevets (2013)
 Exploiter un corpus récupéré par OAI-PMH (2016)
 Alignement de Wikidata avec le catalogue de la BNF (2017)
16/
Quelques exemples d’utilisation
 Producteurs et réutilisateurs de données ouvertes,
journalistes
 Normalisation, clustering et transposition colonnes-lignes de
données publiques
 Récupération de résultats électoraux sur une page web et
nettoyage
 Histoire
 Normalisation et nettoyage de données issues d’un site de musée
 Récupération de données sur le web
 Science de la vie
 Normalisation de données sur les abeiles
 Nettoyage de données sur les oiseaux
17/
Installation et paramétrage
1. Présentation d’Openrefine
2. Installation et paramétrage
3. Prise en main et import de données
4. Tris, filtres et facettes
5. Regrouper des valeurs proches
6. Transformer les données
7. Croiser des données
8. Restructurer des données
9. Exporter les données et les traitements
10. Exercice
18/
Aspects techniques
 Installation mono-poste, sous PC, Mac et Linux
 Interface accessible via un navigateur internet (adresse
http://127.0.0.1:3333/ )
 Les données et le logiciel restent sur le PC (pas besoin de
connexion Internet)
 Extension possible avec des plug-ins développés par la
communauté (pas tous compatibles avec la version 2.8)
 Accès possible par API (permet une automatisation des
traitements)
 Peut être containerisé avec Docker
19/
Installation
http://openrefine.org/download.html
20/
Contraintes liées à Java
 OpenRefine est écrit en langage Java
 Cela peut compliquer l’installation sous Mac : en cas de
problème
 Vérifier que Java 8 est installé (ce n’est pas le cas par défaut)
 Vérifier que la variable d’environnement $JAVA_PATH
contient bien le chemin de cette version
 Pour utiliser plus de 4 Go de mémoire (limite théorique), il
faut utiliser la version 64 bits de Java
21/
Paramétrage facultatif : ajouter de la
mémoire
Par défaut OpenRefine utilise 1 Go de mémoire vive au
maximum. Il peut être utile de modifier la configuration pour
allouer plus de mémoire :
Sous Windows : dans le fichier refine.ini, modifier la ligne
REFINE_MEMORY
Pour que refine.ini soit pris en compte il faudra lancer OpenRefine avec
refine.bat et non openrefine.exe
22/
Paramétrage facultatif : ajouter de la
mémoireSous Mac : ouvrir le fichier ‘/Applications/OpenRefine.app/Contents/info.plist’
et modifier la valeur `<string>-Xmx1024</string>` (par ex: `<string>-
Xmx2048</string>` pour doubler la mémoire maximale)
23/
Fermeture
24/
 Puisque le logiciel tourne en tâche de fond, fermer le
navigateur ne suffit pas fermer proprement Openrefine.
Pour cela il faut…
 Sous Windows : fermer la console
 Sous Mac : utiliser le menu Quitter
Installation d’extensions
25/25/
Des extensions peuvent être installées pour ajouter de nouvelles
commandes dans l’interface graphique ou de nouvelles
fonctions GREL.
Sur le fonctionnement et l’écriture des extensions, cf. O.
Stephens, Writing an extension to add new GREL functions to
OpenRefine, 08/05/2017 et Write an extension dans le wiki
officiel
Installation d’extensions
26/26/
Extensions utiles :
- Outils du GOKb : https://github.com/ostephens/refine-gokbutils
- Comparaison de textes : VIB-BITS diff (fichier :
http://data.bits.vib.be/hidden/g7dt6RjuUTU421dY2CwrGePGX/vib-bits-diff.zip ;
manuel :
https://data.bits.vib.be/hidden/g7dt6RjuUTU421dY2CwrGePGX/OpenRefine%20
VIB-BITS%20diff%20plugin.pdf )
- Sauvegarde des facettes: VIB-BITS save facets (fichier:
http://data.bits.vib.be/hidden/g7dt6RjuUTU421dY2CwrGePGX/vib-bits-save-
facets.zip )
- Reconnaissance d’entités nommées * : OpenRefine Named-Entity
Recognition http://freeyourmetadata.org/named-entity-extraction/
- Export en RDF* : https://github.com/fadmaa/grefine-rdf-extension
* : Ne fonctionne plus avec les version 2.6 et suivantes
Installation d’extensions
27/27/
Une des extensions les plus utiles : VIB-Bits
Permet notamment de combiner facilement les données de
deux projets (au lieu d’utiliser la fonction cross en GREL).
Fichier : https://data.bits.vib.be/hidden/g7dt6RjuUTU421dY2CwrGePGX/vib-bits.zip
Manuel :
https://data.bits.vib.be/hidden/g7dt6RjuUTU421dY2CwrGePGX/OpenRefine%20VIB-
BITS%20plugin.pdf
Activité : Télécharger le fichier et décompressez le.
Installation d’extensions
28/28/
Pour installer une extension
- Télécharger et décompresser une extension
- Trouver et ouvrir le dossier contenant les projets sur l’ordinateur
Attention, dossier distinct du dossier d’installation d’Openrefine!
dans Openrefine cliquer sur « Ouvrir un projet » puis sur le lien « Parcourir le
dossier de l’espace de travail » en bas de l’écran listant tous les projets
- S’il n’existe pas, créer un dossier « extensions » dans ce dossier
- Fermer Openrefine
- Déplacer l’extension téléchargée dans le dossier « extensions » créé
- Relancer Openrefine
Installation d’extensions
29/29/
Après installation de VIB-Bits, Openrefine signale que
l’extension est installé (en haut à droite)
De nouvelles commandes enrichissent les menus. Ex : Editer la
colonne > Add column(s) from other projects
Prise en main et import de données
1. Présentation d’Openrefine
2. Installation et paramétrage
3. Prise en main et import de données
4. Tris, filtres et facettes
5. Regrouper des valeurs proches
6. Transformer les données
7. Restructurer des données
8. Croiser des données
9. Exporter les données et les traitements
10. Exercice
30/
Les fichiers d’exercices
Télécharger sur votre bureau deux mini
jeux de données fictives
 Exo 1 : https://osf.io/4kfme/
 Exo 2: https://osf.io/4m9e2/
31/
Lancer OpenRefine
Ouvrir un navigateur (Chrome ou Firefox)
Windows : lancer de préférence refine.bat (prise en compte de
la configuration). Possibilité de faire un lien dans le menu
démarrer.
Mac : chercher OpenRefine dans les applications
Si OpenRefine ne s’ouvre pas, saisir http://localhost:3333 dans
le navigateur
32/
Gestion des projets
Projet = un fichier de données + un ensemble de traitements
Un projet peut être réouvert, ou importé depuis une autre
installation d’OpenRefine
Ouvrir un projet existant
Par défaut, aucun projet.
Depuis la v2.8, possibilité de décrire les projets
33/
Supprimer Ouvrir
Langue
Choisir la langue (français)
Attention: petit bug dans la version 2.8 en français (chaînes
invisibles qui empêchent de modifier la description d’un projet)
34/
Gestion des projets
Possibilité de décrire les projets : bouton « About » (bug:
absent dans la version française)
35/
Formats reconnus
Données tabulées (lignes/colonnes)
De préférence utiliser le format csv ou autre format brut (tsv…)
Import de fichiers Excel, LibreOffice ou Google possible mais
peut consommer beaucoup de ressources.
Données XML et JSON
Ne fonctionne bien qu’avec des fichiers à la structure simple
(processus de conversion très gourmand en ressources).
Au besoin, utiliser un convertisseur externe comme
www.convertcsv.com et injecter le csv dans OpenRefine.
36/
Gestion des projets
37/
Depuis plusieurs emplacements
Plusieurs formats de fichiers possibles
Créer un projet
Importer des données
Créer un nouveau projet à partir du fichier exo1.csv
38/
Importer des données
Charger le fichier dans OpenRefine le fichier précédemment
enregistré sur le Bureau
39/
Importer des données
Ecran d’import en 2 parties : aperçu des données + paramètres
40/
Importer des données
Format des données : détection par défaut mais possibilité
d’outrepasser
41/
[Nouveauté v2.8] Tableaux
structurés selon la syntaxe
Wikipedia
Texte brut non délimité
Champs délimités par des séparateurs (virgule, point-virgule…)
Champs de longueur fixe
Importer des données
Principaux paramètres d’import
42/
Encodage des caractères
(en général UTF-8 ou ISO
8859-1)
Séparateur de colonnes
(en général virgule mais
parfois point-virgule si le
fichier a été créé avec une
version française d’Excel
Modifier si entêtes multilignes
Détection des nombres et des
dates (dans le doute, à éviter)
En général à décocher
Importer des données
Pour lire et écrire en français… choisir l’encodage
correspondant à celui du fichier
43/
1 av. St Barthélemy
1 av. St Barthélemy
Importer des données
Prudence avec la détection automatique des nombres et des
dates ! Dans le doute, désactiver l’option.
(remarque également valable pour Excel ou LibreOffice…)
 Une série de chiffres n’est pas forcément un nombre.
 Ex: Numéros de téléphone : le 0 initial doit être préservé!
 Formats de nombres et formats monétaires différents
 Ex : 1,14 en France = 1.14 aux USA
 Ex : 10 € mais $ 10
 Formats de dates différents selon les pays.
 Ex : 02-03-1979 = 2 mars 1979 en Europe
3 février 1979 aux USA
44/
Importer des données
Une fois les paramètres d’imports choisis, lancer l’import
45/
[Optionnel]
Changer le nom du projet
Créer un projet
Importer des données
Il est également possible d’importer plusieurs fichiers dans le
même projet.
Ils doivent être structurés de manière identique (nombres et
noms des colonnes).
46/
Importer des données
Il est également possible d’importer plusieurs fichiers dans le
même projet.
La 1re colonne (File) du projet indiquera le nom du fichier
d’origine pour chaque ligne.
47/
L’espace de travail
48/
Lien vers le projet
ExportNouveau
projetContenu du fichierFacettes
et filtres
Historique
L’espace de travail
49/
Colonnes de donnéesNb lignes affichées
Voir les lignes
précédentes ou suivantesNb lignes du fichier
Étoiles et marques:
pour isoler certaines
lignes
Numéro de ligne
(automatique)
Principes d’ergonomie
Modification d’une cellule : bouton edit visible au survol
 Ponctuelle
 Pour toutes cellules ayant la même valeur (dans la même
colonne ; ne s’applique pas aux cellules vides)
Actions globales : menu visible en cliquant sur le bouton en
haut de chaque colonne
 Affichage sélectif (tris, filtres, facettes…)
 Modifications (remplacements, nouvelles colonnes…)
50/
Réordonner, supprimer, renommer des
colonnes
1re solution : menu Editer la colonne
51/
Réordonner, supprimer, renommer des
colonnes
2e solution : 1re colonne Toutes, menu Retrier/supprimer les
colonnes
52/
Tris, filtres et facettes
1. Présentation d’Openrefine
2. Installation et paramétrage
3. Prise en main et import de données
4. Tris, filtres et facettes
5. Regrouper des valeurs proches
6. Transformer les données
7. Restructurer des données
8. Croiser des données
9. Exporter les données et les traitements
10. Exercice
53/
Trier les données
Activité : trier les données en fonction des valeurs de la
colonne code_personne (ordre alphabétique, sans tenir compte
des majuscules)
54/
Trier les données
Trier les données en fonction des valeurs de la colonne
code_personne
55/
Plusieurs options,
mais le paramétrage
de base correspont à
notre besoin (a-z,
insensible à la casse)
Trier les données
Trier les données en fonction des valeurs de la colonne
code_personne
56/
Pour l’ordre d’origine est préservé et le tri ne concerne que l’affichage
Trier les données
Retrier de façon permanente
57/
Menu visible après le tri
Filtrer les données
Activité : filtrer le fichier pour afficher les lignes dont la
colonne code_personne contient le mot « P005 » ET la colonne
animal_prefere le mot « chien »
58/
Filtrer les données
Filtrer le fichier pour afficher les lignes dont la
colonne code_personne contient le mot « P005 » ET la colonne
animal_prefere le mot « chien »
59/
Filtrer les données
Toutes les opérations (export, nouveaux filtres, facettes,
modifications groupées) s’opèreront uniquement sur les
données filtrées.
Ex: modification groupée la colonne animal_prefere :
uniquement 1 lignes modifiée
60/
Filtrer les données
Deux options pour les filtres (peuvent s’additionner)
61/
Prendre ou compte ou non la casse (« nice » = « NICE » ?)
Traiter ou non l’expression comme une expression
rationnelle (ou expression régulière)
Une expression régulière est une chaîne de caractères
décrivant au moyen d’une syntaxe spéciale plusieurs
chaînes de caractères possibles.
Ex:
a[bc] -> ab ou ac
a.{2,4}c -> a, une suite de 2 à 4 caractères, c
Ni(ce|ssa) -> Nice ou Nissa
Plus de détails
cet après-midi
Filtrer les données
Pour annuler un filtre, cliquez sur la croix dans le coin supérieur
gauche du filtre
Nous allons annuler tous les filtres
Pour cela, cliquez sur Tout supprimer au dessus des filtres
62/
Filtrer les données
Pour réinitialiser un filtre ou l’inverser, cliquez sur les liens en
haut à droite [nouveauté v. 2.8]
63/
Toutes les personnes SAUF P005
Utiliser les facettes
Les facettes sont utiles pour avoir un aperçu synthétique des
données, repérer des anomalies, isoler des valeurs à modifier,
modifier globalement un codage…
Une facette permet de lister toutes les valeurs distinctes
contenues dans une colonne, et de sélectionner les lignes
contenant une valeur donnée dans cette colonne.
La combinaison de facettes portant sur une même colonne ou
plusieurs colonnes permet de préciser la sélection.
64/
Utiliser les facettes
Par défaut, seules les 2000 premières choix sont affichées.
S’il y en a plus, Openrefine propose d’augmenter cette limite,
ou de n’afficher que les choix les plus fréquents (« facette par
nombre de choix »). Le choix reste mémorisé lors des
utilisations ultérieures.
65/
Utiliser les facettes
Premier type de facette : facettes « textuelles » portant sur
le contenu textuel brut des cellules.
Activité : afficher les facettes textuelles correspondant au
contenu de la colonne ville.
Repérer et corriger les anomalies.
66/
Utiliser les facettes
Étape 1: Afficher les facettes textuelles correspondant au
contenu de la colonne ville.
67/
(blank) : valeur vide
Utiliser les facettes
Les options d’une facette
68/
Récupérer la liste Tri alphabétique (défaut) ou par nombre d’occurrences
valeurs vides (blank) toujours à la fin
Modifier la facette (opération complexe)
Regrouper les valeurs semblables
Utiliser les facettes
Étape 2: dans la facette ville, trier les valeurs par nombre
d’occurrences.
69/
Utiliser les facettes
Étape 2: dans la facette ville, trier les valeurs par nombre
d’occurrences.
70/
Utiliser les facettes
Étape 2: dans la facette ville, afficher les valeurs par « nombre
de choix », et ne conserver à l’affichage que celles présentes 2
fois.
71/
Utiliser les facettes
Étape 3: dans la facette ville, afficher les valeurs par « nombre
de choix », et ne conserver que celles présentes 2 fois.
72/
1 seule valeur, présente 2 fois
histogramme
Utiliser les facettes
Anomalies dans les données?
73/
Utiliser les facettes
Anomalies dans les données?
Deux entrées pour Nice : Nice vs. NICE
Deux entrées pour Caen: Caen vs. CAEN
Deux entrées pour Le Havre : LE HAVRE vs. Havre (Le)
Deux entrées pour Lyon (inexplicable au 1er abord)
Une valeur vide
74/
Utiliser les facettes
Étape 4 : dans la facette ville, remplacer la valeur « Havre (Le) »
par LE HAVRE
Quel effet sur les données?
75/
Utiliser les facettes
Dans la facette ville, remplacer la valeur « Havre (Le) » par LE
HAVRE
Effet : modification des données (2 cellules).
76/
Utiliser les facettes
Pourquoi deux formes pour Lyon?
Une des deux comprend un espace superflu (invisible dans les
facettes)
On pourrait la corriger immédiatement, mais on ne le fera
qu’après avoir fini l’exploration des facettes…
77/
Cliquer
Utiliser les facettes
Étape 5 : utiliser la facette ville pour afficher les lignes dont la
ville est Lyon
Utiliser les facettes
Sélectionner la 1re forme
Cliquer
facette en orange : facette active
Utiliser les facettes
Ajout de la 2e forme
Survoler
Cliquer
Utiliser les facettes
Afficher les lignes dont la ville n’est pas Lyon
81/
Cliquer
facette en noir barré : facette inversée
Utiliser les facettes
Corriger la forme comportant un espace superflu
Utiliser les facettes: pour aller plus loin
Facettes numériques, chronologiques, en nuage de point :
suppose d’avoir des données reconnues par OpenRefine
comme des dates ou des nombres (pas le cas dans notre
exemple)
83/
Utiliser les facettes: pour aller plus loin
Facettes personnalisées : suppose une utilisation du langage
GREL (voir plus loin)
84/
Utiliser les facettes: pour aller plus loin
Facettes courantes : plusieurs options souvent utiles: par mot,
par doublons, par longueur de texte, par blanc (valeur
vide ou non)
85/
Utiliser les facettes: pour aller plus loin
Activité : A partir de la colonne animal_prefere, appliquer une
facette textuelle ordinaire, puis une facette « par mots ».
Quelle différence avec une facette textuelle ?
86/
Utiliser les facettes: pour aller plus loin
Les valeurs sont découpées en « mots » (suite de caractères
séparés par des espaces). Un nettoyage supplémentaire peut
être nécessaire (supprimer la ponctuation).
Utile pour les cellules multi-valuées.
87/
Facette textuelle Facette par mot
Les facettes par étoile et marque
La 1re colonne « Toutes » permet de construire des facettes à
partir des lignes au préalable signalées manuellement par une
étoile ou un drapeau.
88/
Les facettes par étoile et marque
Les étoiles et drapeaux peuvent être attribuées manuellement
ligne à ligne en cliquant sur les symboles, ou via les menus de la
colonne « Toutes » :
Editer les lignes -> Etoiler/Détoiler les lignes
Editer les lignes -> Marquer/Démarquer les lignes
89/
Supprimer des lignes
La suppression de ligne est possible via le menu de la colonne
« Toutes »:
Editer les lignes -> Supprimer les lignes correspondantes
Seules les lignes affichées au moment de l’opération (en tenant
compte des facettes et des filtres en cours) seront supprimées
90/
Regrouper des valeurs proches
1. Présentation d’Openrefine
2. Installation et paramétrage
3. Prise en main et import de données
4. Tris, filtres et facettes
5. Regrouper des valeurs proches
6. Transformer les données
7. Croiser des données
8. Restructurer des données
9. Exporter les données et les traitements
10. Exercice
91/
Regrouper des valeurs proches
Activité : Créer des facettes textuelles pour la colonne ville,
puis grouper les résultats pour repérer des variantes
d’orthographe ou de présentation.
Regrouper des valeurs proches
Créer des facettes textuelles pour la colonne ville, puis grouper
les résultats
93/
Regrouper des valeurs proches
Créer des facettes textuelles pour la colonne ville, puis grouper
les résultats
94/
Cliquer sur une
forme pour changer
la forme retenue
Sélectionner les
groupes à fusionner
Ou bien…
Tout sélectionner
Regrouper des valeurs proches
Plusieurs algorithmes
95/
Méthodes rapides mais basiques
Regroupe les expressions dont
les « clés » sont identiques
Regroupe les expressions ne différant que par la casse,
l’accentuation, la ponctuation, le nombre d’espaces, l’ordre
ou la répétition des mots
- Ex : école = école; = éc-ole = éçOLE = ecôle,
- Ex : Liberté, égalité = Liberté EGALITE Egalité libêrte
Regroupe les expressions utilisant les mêmes caractères
(paramètre 1) ou bigrammes (paramètre 2).
- Ex (param 1) : paris = sirap = sirapa = pparaisiapa
- Ex (param 2) : paris-plage = paris plage
Regroupe les expressions ayant la même prononciation (en
anglais)
Regroupe les expressions ayant la même prononciation (en
allemand)
[Prise en compte des diacritiques
amélioré dans la v. 2.8]
Regrouper des valeurs proches
Plusieurs algorithmes
96/
Plus élaborées mais plus lentes
Regroupe les expressions en fonction du nombre d’étapes
élémentaires (suppression, ajout, modification de caractère)
nécessaires pour passer de l’une à l’autre.
Les variantes de caractères (accentués, majuscules,
minuscules) sont traités comme des caractères différents.
Augmenter le paramètre « rayon » (distance) diminue la
sensibilité de l’algorithme :
- Ex : paris = « distance de 1 » de Paris
- Ex : paris = « distance de 2 » de Pars
- Ex : paris = « distance de 5 » de dépaysé
Regroupe les expressions par complexité aglorithmique
(utilisé en génétique)
Baisser le paramètre « taille de
bloc » pour améliorer la détection
(attention risque de
ralentissement !
Regrouper des valeurs proches
Attention! Dans certains cas ces algorithmes peuvent faire des
rapprochements non pertinents (ex: deux numéros de
téléphones peuvent légitimement être très semblables…)
Résultat : après plusieurs étapes on passe de 9 villes à 4 villes
97/
Transformer les données
1. Présentation d’Openrefine
2. Installation et paramétrage
3. Prise en main et import de données
4. Tris, filtres et facettes
5. Regrouper des valeurs proches
6. Transformer les données
7. Restructurer des données
8. Exporter les données et les traitements
9. Exercice
98/
Transformer les données
Plusieurs familles d’opérations
 Modification du contenu d’une colonne
 Création de colonnes
 Suppression de lignes
 Transposition de lignes en colonnes et de colonnes en lignes
 Réconciliation (alignement sur un vocabulaire contrôlé)
99/99/
Transformer les données
Plusieurs familles d’opérations
 Modification du contenu d’une colonne
menu Editer les cellules
100/100/
Transformer les données
Plusieurs familles d’opérations
 Création de colonnes
menu Editer la colonne
101/101/
Par éclatement d’une colonne existante
À partir de formules GREL
À partir de données web
Transformer les données
Plusieurs familles d’opérations
 Transposition de lignes en colonnes et de colonnes en lignes
menu Transposer
102/102/
Transformer les données
Plusieurs familles d’opérations
 Suppression de lignes
Se fait en combinant plusieurs opérations
103/103/
Transformer les données
Plusieurs familles d’opérations
 Réconciliation
menu Transposer
104/104/
Sera vu cet après-midi
Transformer les données
Rappel:
Si un filtre ou une facette sont actifs, les transformations ne
s’appliquent qu’aux lignes sélectionnées.
105/105/
Transformer le contenu d’une colonne
Très nombreuses transformations possibles!
On ne montrera que quelques exemples:
 Passer tous les mots en majuscule
 Supprimer les espaces superflus
 Transformer des textes en nombres ou dates
 Supprimer tout le contenu d’une colonne
 Supprimer les valeurs répétées sur plusieurs lignes
 Recopier une valeur sur plusieurs lignes
 Supprimer les doublons
106/106/
Passer tous les mots en majuscule
Activité: Transformer les valeurs de la colonne ville pour
obtenir passer tous les noms en majuscules
107/107/
Passer tous les mots en majuscule
Editer les cellules > Transformations courantes > En majuscules
108/108/
Supprimer les espaces superflus
Activité: Ajouter manuellement plusieurs espaces au début et
à l’intérieur d’une cellule, puis supprimer ces espaces en
utilisant le menu.
109/109/
Supprimer les espaces superflus
1/ ajout des espaces
(les espaces ne seront pas visibles dans l’affichage général des
données, mais ils ont bien été ajoutés)
110/110/
Supprimer les espaces superflus
2/ suppression
Deux opérations
Editer les cellules > Transformations courantes > Supprimer les
espaces de début et de fin
Editer les cellules > Transformations courantes > Rassembler les
espaces consécutifs
111/111/
Transformer du texte en nombres ou dates
Malgré les apparence, ces nombres et ces dates sont
considérés comme de simple chaînes de caractères.
L’hétérogénéité des données peut rendre leur
« reconnaissance » délicate.
112/112/
JJ-MM-2017
JJ/MM/2017
JJ:MM:2017
JJ/ MM (2017)
Unité en k€
Unité en €
Séparateur
décimal ,
Séparateur
décimal .
Transformer du texte en nombres ou dates
Sur la colonne date:
Editer les cellules > Transformations courantes > En date
Sur les colonnes habillement, loisirs, logement:
Editer les cellules > Transformations courantes > En nombre
113/113/
Transformer du texte en nombres ou dates
Cette approche ne suffit pas à résoudre les cas complexes
(structure atypique, variation d’unités, séparateur décimal , )
 besoin d’utiliser le langage GREL
114/114/
Les valeurs de
type non
textuel (dates,
nombre,
booléens) sont
en vert, et
alignés à
droite
Supprimer le contenu des cellules
Editer les cellules > Transformations courantes > Vider les cellules
115/115/
Supprimer les valeurs répétées sur plusieurs
lignes
Supprimer les valeurs répétées sur plusieurs lignes
Editer les cellules > Vider les valeurs répétées…
116/116/
Supprimer les valeurs répétées sur plusieurs
lignes
Remarque : le mot « vider » a ici une signification différente
que dans l’opération « vider les cellules », qui supprime tout le
contenu des cellules.
117/117/
Recopier une valeur dans des cellules vides
Opération inverse : recopier une valeur dans une série de
cellules vides situées en dessous
Editer les cellules > Recopier les valeurs…
118/118/
Supprimer des doublons
La suppression des valeurs répétées peut être nécessaire
pour d’autres opérations :
- Supprimer des doublons
- Créer des « entrées » regroupant plusieurs lignes
119/119/
Supprimer des doublons
Activité : Simplifier le fichier en ne gardant qu’une seule ligne
par personne (dans notre cas cela entraînera une perte
d’information, mais c’est pour la démonstration…)
120/
Supprimer des doublons
Simplifier le fichier en ne gardant qu’une seule ligne par
personne
- Tri du fichier en fonction de la colonne code_personne et
enregistrement du tri
- Suppression des valeurs répétées pour la colonne
code_personne (Éditer les cellules -> Vider)
- Facette par blanc sur la colonne code_personne (Facette
courante -> Facette par blanc)
- Sélection de la facette « true » dans le panneau de gauche
- Suppression des lignes concernées (colonne Toutes > éditer
les lignes > supprimer les lignes)
121/
Lignes et entrées
Des lignes peuvent être regroupées en « entrées » (records) si
elles se rapportent à un même objet.
Travailler avec des entrées permet des traitements avancés.
Pour créer des entrées :
1/ trier les données en fonction de la colonne servant de clé de regroupement
2/ déplacer cette colonne en 1re position du tableau
3/ supprimer les valeurs répétées dans cette colonne
122/122/
Restructurer des données
1. Présentation d’Openrefine
2. Installation et paramétrage
3. Prise en main et import de données
4. Tris, filtres et facettes
5. Regrouper des valeurs proches
6. Transformer les données
7. Croiser des données
8. Restructurer des données
9. Exporter les données et les traitements
10. Exercice
123/
Croiser des données
Utilisation du plugin VIB-Bits
Démo en vidéo :
https://www.youtube.com/watch?v=ZJ4wk05ZojM
Télécharger le fichier donnees_villes.csv
https://osf.io/rx568/
Créer un nouveau projet dans Openrefine à partir de ce fichier
124/124/
Croiser des données
Dans le projet exercice 1, à partir de la colonne ville:
Editer la colonne > Add column(s) from other project…
125/125/
Croiser des données
Sélectionner le projet donnees_villes ; la colonne servant de
pivot (« ville ») ; les colonnes à récupérer.
126/126/
Croiser des données
Valider
127/127/
Restructurer des données
1. Présentation d’Openrefine
2. Installation et paramétrage
3. Prise en main et import de données
4. Tris, filtres et facettes
5. Regrouper des valeurs proches
6. Transformer les données
7. Croiser des données
8. Restructurer des données
9. Exporter les données et les traitements
10. Exercice
128/
Restructurer les données
Cas fréquent : passer de plusieurs valeurs / cellule à une seule
Axe horizontal (créer de nouvelles colonnes)
Axe vertical (créer de nouvelles lignes)
129/129/
Nom Ville
Dupont Nice|Tours
Durand Bourges
Martin Nice|Paris
Nom Ville 1 Ville 2
Dupont Nice Tours
Durand Bourges
Martin Nice Paris
Nom Ville
Dupont Nice|Tours
Durand Bourges
Martin Nice|Paris
Nom Ville
Dupont Nice
Dupont Tours
Durand Bourges
Martin Nice
Martin ParisRisque : croire qu’il y a 2 Martin…
Nouveau jeu de données
Créer un nouveau projet à partir du fichier exo2.csv
130/130/
Éclater sur plusieurs lignes
Éclater sur plusieurs lignes les cellules comprenant des valeurs
multiples
Passer de ceci
À celà
131/131/
Éclater sur plusieurs lignes
Éclater sur plusieurs lignes les cellules comprenant des valeurs
multiples
1. Editer les cellules > Diviser les cellules multivaluées
2. Choisir le mode de séparation : séparateur (ponctuation, mot,
une valeur spéciale ("n"…), expression régulière) ou nombre de
caractères par champ
132/132/
Éclater sur plusieurs lignes
Remplir automatiquement les nouvelles cellules créées
(procédure vu plus haut)
1. Colonne espece: Editer les cellules > Recopier les valeurs
2. Colonne nombre: Editer les cellules > Recopier les valeurs
133/133/
Nettoyage
Etape de nettoyage: Harmoniser les villes et les espèces en
utilisant uniquement les facettes et le clustering
134/134/
Regrouper en une seule ligne
Regrouper sur une seule ligne des valeurs multiples
Passer de ceci
À ceci
135/135/
Regrouper en une seule ligne
Regrouper sur une seule ligne des valeurs multiples
1. Les données doivent être organisées en « entrées » (vu plus
haut : tri sur 1re colonne puis Vider les cellules répétées)
136/136/
La ville sera utilisée pour définir les entrées
Regrouper en une seule ligne
Regrouper sur une seule ligne des valeurs multiples
1. Editer les cellules > Joindre les cellules multivaluées
2. Choisir un séparateur
137/137/
Répéter pour les 2 colonnes
7 entrées 7 lignes
Transposer
Revenir à cette étape
Transposer
Transposer plusieurs colonnes en une seule
Passer de à
Transposer
Transposer plusieurs colonnes en une seule
Transposer > Transposer les cellules au travers des colonnes en
lignes
Options :
- résultat dans une seule colonne (« espece_nombre »)
- préfixer le nom de la colonne d’origine à chaque cellule
Transposer
Transposer des lignes en colonnes
Passer de à
Transposer
Transposer plusieurs colonnes en une seule
Colonne espece_nombre > Transposer > Transposer les lignes en
colonnes
Options :
- Transposer le contenu d’une ligne sur deux dans une nouvelle
colonne
Transposer
Passer du format « empilé » au format « désempilé »
Transposer > Convertir en liste les colonnes de clé/valeur
143/143/
Stacked ; Long Unstacked ; Wide
Attention, cette opération suppose qu’il n’y ait qu’une seule ligne
(donc une seule valeur nombre) pour chaque couple (ville/arbre)
Dans le cas contraire les informations des lignes supplémentaires
sont perdues (l’opération n’additionnera pas les valeurs nombre
correspondant à un même couple ville/arbre)
c
Transposer
Passer du format « désempilé » au format « empilé »
Transposer > Transposer les cellules de plusieurs colonnes
en ligne
144/144/
c
Restructurer les données
Regrouper les paires clés/valeurs dans les mêmes cellules
Transposer > Transposer les cellules de plusieurs colonnes
en ligne
145/145/
c
Eclater en plusieurs colonnes
146/146/
Eclater une colonne contenant plusieurs valeurs en plusieurs
colonnes
Passer de à
Eclater en plusieurs colonnes
Eclater une colonne contenant plusieurs valeurs en plusieurs
colonnes
Colonne espece_nombre 1 > Diviser en plusieurs colonnes
Options :
- Séparateur « : »
125/
Eclater en plusieurs colonnes
Eclater une colonne contenant plusieurs valeurs en plusieurs
colonnes
Même opération pour la colonne espece_nombre 2
126/
Eclater en plusieurs colonnes
Eclater une colonne contenant plusieurs valeurs en plusieurs
colonnes
Supprimer les colonnes inutiles et renommer les colonnes restantes
126/
Eclater en plusieurs colonnes
150/150/
Eclater une colonne contenant plusieurs valeurs en plusieurs
colonnes
2e option : définir la longueur de chaque champ
Eclater en plusieurs colonnes
151/151/
Eclater une colonne contenant plusieurs valeurs en plusieurs
colonnes
2e option : définir la longueur de chaque champrésultat
Restructurer les données
Application
Rouvrir le projet exo1
152/152/
Restructurer les données
Eclater toutes les valeurs de la colonne animal_prefere dans
des lignes distinctes
153/153/
Restructurer les données
Créer une facette sur la colonne animal_prefere et regrouper
les valeurs proches
154/154/
Trouver un paramétrage détectant le plus de doublons
Restructurer les données
Joindre à nouveau les valeurs de la colonne dans une seule
ligne par entrée mais avec un séparateur |
155/155/
Exporter les données et les traitements
1. Présentation d’OpenRefine
2. Installation et paramétrage
3. Prise en main et import de données
4. Tris, filtres et facettes
5. Regrouper des valeurs proches
6. Transformer les données
7. Croiser des données
8. Restructurer des données
9. Exporter les données et les traitements
10. Exercice
156/
Exporter les données transformées
Plusieurs formats d’export.
Par défaut seules les lignes affichées sont exportées (aller dans
Personnaliser l’export tabulaire pour changer ce choix).
157/157/
Exporter les données transformées
Export personnalisé : Modélisation
Permet de générer du JSON (en standard), du YAML, de préparer
un import dans une base SQL…
158/158/
Annuler ou rejouer un traitement
Historique permettant d’annuler (« défaire ») ou rejouer
(« refaire) les traitement sans limites
159/159/
Annuler ou rejouer un traitement
Limite :
- n’enregistre pas les modifications manuelles des cellules
- n’enregistre pas les facettes ni les tris
- en cas de retour en arrière jusqu’à une opération N et d’ajout
de nouvelles opérations, perte de l’historique des opérations
qui suivaient l’opération N
160/160/
Exporter les traitements
Les traitements peuvent être exportés et réappliqués au jeu de
données ou à un autre jeu présentant la même structure.
Extraire l’historique pour enregistrer les traitements :
161/161/
Copier dans le presse-papier
(Ctrl+C / Cmd+C)
Créer un fichier texte sur l’ordinateur
Ouvrir avec un éditeur de texte
Coller le contenu du presse papier
(Ctrl+V / Cmd+V)
Enregistrer le fichier
Réappliquer les traitements
À partir d’un jeu de données fraîchement téléchargé
162/162/
Ouvrir le fichier texte dans lequel les
traitements ont été enregistrés
Sélectionner tout le contenu et copier
dans le presse-papier
(Ctrl+C / Cmd+C)
Coller dans OpenRefine
(Ctrl+V/ Cmd+V)
Valider
Espace de travail
1. Présentation d’OpenRefine
2. Installation et paramétrage
3. Prise en main et import de données
4. Espace de travail
5. Tris, filtres et facettes
6. Regrouper des valeurs proches
7. Croiser des données
8. Transformer les données
9. Restructurer des données
10. Exporter les données et les traitements
11. Exercice
163/
Exercice d’application
164/
 Télécharger un 3e fichier d’exercice (données sur des articles
publiés en open access, avec des erreurs rajoutées
manuellement):
https://osf.io/qakwb/
 Chargez le dans un nouveau projet Openrefine
Exercice d’application
165/
 Contenu
http://bit.ly/2xGbscc
Exercice d’application
166/
 Repérez des anomalies dans la colonne Language à l’aide des facettes et
corrigez les.
 Quel est le mot le plus fréquemment utilisé dans la colonne Title ?
 Certains articles portent-ils le même DOI (numéro censé être unique)?
 Les codes ISSN attribués aux revues font 9 caractères (XXXX-XXXX).
Certaines valeurs de la colonne ISSNs ont-elles une longueur supérieure?
Pourquoi?
 Repérez et regroupez les variantes dans la colonne Publisher
 Éclatez la colonne Citation en 4 colonnes comportant des informations
homogènes
 Créer une liste de tous les auteurs, repérez les variantes d’orthographe
et regroupez les valeurs proches
 Idem pour tous les sujets

Mais conteúdo relacionado

Mais procurados

Mini projet power bi
Mini projet power bi Mini projet power bi
Mini projet power bi AfnouchAhmed
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduceAmal Abid
 
Systèmes d'Exploitation - chp5-gestion fichiers
Systèmes d'Exploitation - chp5-gestion fichiersSystèmes d'Exploitation - chp5-gestion fichiers
Systèmes d'Exploitation - chp5-gestion fichiersLilia Sfaxi
 
Guide tests fonctionnels
Guide tests fonctionnelsGuide tests fonctionnels
Guide tests fonctionnelscvcby
 
Chp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique DécisionnelleChp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique DécisionnelleLilia Sfaxi
 
Base de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvreBase de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvreMICHRAFY MUSTAFA
 
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...Abdelouahed Abdou
 
Ingénierie des exigences - L'outil GenSpec (gratuit)
Ingénierie des exigences - L'outil GenSpec (gratuit)Ingénierie des exigences - L'outil GenSpec (gratuit)
Ingénierie des exigences - L'outil GenSpec (gratuit)Pierre
 
Chp1 - Introduction à l'AGL
Chp1 - Introduction à l'AGLChp1 - Introduction à l'AGL
Chp1 - Introduction à l'AGLLilia Sfaxi
 
Chp2 - Cahier des Charges
Chp2 - Cahier des ChargesChp2 - Cahier des Charges
Chp2 - Cahier des ChargesLilia Sfaxi
 
Logiciels d'archives open source - Introduction
Logiciels d'archives open source - IntroductionLogiciels d'archives open source - Introduction
Logiciels d'archives open source - Introductioninfoclio.ch
 
Chp2 - Les Entrepôts de Données
Chp2 - Les Entrepôts de DonnéesChp2 - Les Entrepôts de Données
Chp2 - Les Entrepôts de DonnéesLilia Sfaxi
 
La gestion des archives avec Alfresco
La gestion des archives avec AlfrescoLa gestion des archives avec Alfresco
La gestion des archives avec AlfrescoSavoir-faire Linux
 
Modélisation de données pour MongoDB
Modélisation de données pour MongoDBModélisation de données pour MongoDB
Modélisation de données pour MongoDBMongoDB
 

Mais procurados (20)

Chapitre 2 hadoop
Chapitre 2 hadoopChapitre 2 hadoop
Chapitre 2 hadoop
 
Le processus ETL (Extraction, Transformation, Chargement)
Le processus ETL (Extraction, Transformation, Chargement)Le processus ETL (Extraction, Transformation, Chargement)
Le processus ETL (Extraction, Transformation, Chargement)
 
Mini projet power bi
Mini projet power bi Mini projet power bi
Mini projet power bi
 
Big data
Big dataBig data
Big data
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduce
 
Qu'est-ce qu'un ETL ?
Qu'est-ce qu'un ETL ?Qu'est-ce qu'un ETL ?
Qu'est-ce qu'un ETL ?
 
Systèmes d'Exploitation - chp5-gestion fichiers
Systèmes d'Exploitation - chp5-gestion fichiersSystèmes d'Exploitation - chp5-gestion fichiers
Systèmes d'Exploitation - chp5-gestion fichiers
 
Guide tests fonctionnels
Guide tests fonctionnelsGuide tests fonctionnels
Guide tests fonctionnels
 
Introduction au BIG DATA
Introduction au BIG DATAIntroduction au BIG DATA
Introduction au BIG DATA
 
Chp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique DécisionnelleChp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique Décisionnelle
 
Base de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvreBase de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvre
 
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
 
Analyse et cahier des charges
Analyse et cahier des chargesAnalyse et cahier des charges
Analyse et cahier des charges
 
Ingénierie des exigences - L'outil GenSpec (gratuit)
Ingénierie des exigences - L'outil GenSpec (gratuit)Ingénierie des exigences - L'outil GenSpec (gratuit)
Ingénierie des exigences - L'outil GenSpec (gratuit)
 
Chp1 - Introduction à l'AGL
Chp1 - Introduction à l'AGLChp1 - Introduction à l'AGL
Chp1 - Introduction à l'AGL
 
Chp2 - Cahier des Charges
Chp2 - Cahier des ChargesChp2 - Cahier des Charges
Chp2 - Cahier des Charges
 
Logiciels d'archives open source - Introduction
Logiciels d'archives open source - IntroductionLogiciels d'archives open source - Introduction
Logiciels d'archives open source - Introduction
 
Chp2 - Les Entrepôts de Données
Chp2 - Les Entrepôts de DonnéesChp2 - Les Entrepôts de Données
Chp2 - Les Entrepôts de Données
 
La gestion des archives avec Alfresco
La gestion des archives avec AlfrescoLa gestion des archives avec Alfresco
La gestion des archives avec Alfresco
 
Modélisation de données pour MongoDB
Modélisation de données pour MongoDBModélisation de données pour MongoDB
Modélisation de données pour MongoDB
 

Semelhante a Nettoyer et transformer ses données avec Openrefine : partie 1

Intégration continue
Intégration continueIntégration continue
Intégration continueJohan Moreau
 
Formation Informatique base et généralités
Formation Informatique base et généralitésFormation Informatique base et généralités
Formation Informatique base et généralitésSinovatia
 
Statistique de TYPO3 dans le monde
Statistique de TYPO3 dans le mondeStatistique de TYPO3 dans le monde
Statistique de TYPO3 dans le mondeYannick Pavard
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threadsSana Aroussi
 
NetApp PartnersTour 2011 à Lille, mon point de vue
NetApp PartnersTour 2011 à Lille, mon point de vueNetApp PartnersTour 2011 à Lille, mon point de vue
NetApp PartnersTour 2011 à Lille, mon point de vueOlivier (DaffyDuke) Duquesne
 
FAIRisation d’analyses bioinformatiques.pdf
FAIRisation d’analyses bioinformatiques.pdfFAIRisation d’analyses bioinformatiques.pdf
FAIRisation d’analyses bioinformatiques.pdfThomas DENECKER
 
20160216 - From BigData to BigProcessing
20160216 - From BigData to BigProcessing20160216 - From BigData to BigProcessing
20160216 - From BigData to BigProcessingPierre-Marie Brunet
 
IODS : Retour d’expériences au sein du Center for Data Science
IODS : Retour d’expériences au sein du Center for Data ScienceIODS : Retour d’expériences au sein du Center for Data Science
IODS : Retour d’expériences au sein du Center for Data ScienceBorderCloud
 
Synchroniser ses applications (plus) simplement
Synchroniser ses applications (plus) simplementSynchroniser ses applications (plus) simplement
Synchroniser ses applications (plus) simplementgplanchat
 
Nouveautés de DataDrill EXPRESS 4.1, 4.2, 4.3 et 4.4
Nouveautés de DataDrill EXPRESS 4.1, 4.2, 4.3 et 4.4Nouveautés de DataDrill EXPRESS 4.1, 4.2, 4.3 et 4.4
Nouveautés de DataDrill EXPRESS 4.1, 4.2, 4.3 et 4.4Olivier Pinette
 
Audit openERP 7.0: Mise en place &Optimisation de Performances
Audit openERP 7.0: Mise en place &Optimisation de Performances Audit openERP 7.0: Mise en place &Optimisation de Performances
Audit openERP 7.0: Mise en place &Optimisation de Performances Firas Kouẞàa
 
Réplication de base de données oracle avec Golden Gate
Réplication de base de données oracle avec Golden GateRéplication de base de données oracle avec Golden Gate
Réplication de base de données oracle avec Golden GateMor THIAM
 
Nouveautés de DataDrill EXPRESS 3.8 & 4.0
Nouveautés de DataDrill EXPRESS 3.8 & 4.0Nouveautés de DataDrill EXPRESS 3.8 & 4.0
Nouveautés de DataDrill EXPRESS 3.8 & 4.0Olivier Pinette
 
Social Network Analysis Utilizing Big Data Technology
Social Network Analysis Utilizing Big Data TechnologySocial Network Analysis Utilizing Big Data Technology
Social Network Analysis Utilizing Big Data TechnologyImad ALILAT
 
Croisière sur le data lake
Croisière sur le data lakeCroisière sur le data lake
Croisière sur le data lakeDavid Morel
 
GIT training - basic for software projects
GIT training - basic for software projectsGIT training - basic for software projects
GIT training - basic for software projectsThierry Gayet
 
PhPotes: Drupal
PhPotes: DrupalPhPotes: Drupal
PhPotes: DrupalAnDaolVras
 
Plugin PMB/SPIP Risom Pour Abf Auvergne 24 Avril 2009
Plugin PMB/SPIP Risom Pour Abf Auvergne 24 Avril 2009Plugin PMB/SPIP Risom Pour Abf Auvergne 24 Avril 2009
Plugin PMB/SPIP Risom Pour Abf Auvergne 24 Avril 2009Renaud AIOUTZ
 
Florence Labord Moodle
Florence Labord  MoodleFlorence Labord  Moodle
Florence Labord MoodleWalibi
 
Procédure alfresco word
Procédure alfresco wordProcédure alfresco word
Procédure alfresco wordLaetitia HOREL
 

Semelhante a Nettoyer et transformer ses données avec Openrefine : partie 1 (20)

Intégration continue
Intégration continueIntégration continue
Intégration continue
 
Formation Informatique base et généralités
Formation Informatique base et généralitésFormation Informatique base et généralités
Formation Informatique base et généralités
 
Statistique de TYPO3 dans le monde
Statistique de TYPO3 dans le mondeStatistique de TYPO3 dans le monde
Statistique de TYPO3 dans le monde
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threads
 
NetApp PartnersTour 2011 à Lille, mon point de vue
NetApp PartnersTour 2011 à Lille, mon point de vueNetApp PartnersTour 2011 à Lille, mon point de vue
NetApp PartnersTour 2011 à Lille, mon point de vue
 
FAIRisation d’analyses bioinformatiques.pdf
FAIRisation d’analyses bioinformatiques.pdfFAIRisation d’analyses bioinformatiques.pdf
FAIRisation d’analyses bioinformatiques.pdf
 
20160216 - From BigData to BigProcessing
20160216 - From BigData to BigProcessing20160216 - From BigData to BigProcessing
20160216 - From BigData to BigProcessing
 
IODS : Retour d’expériences au sein du Center for Data Science
IODS : Retour d’expériences au sein du Center for Data ScienceIODS : Retour d’expériences au sein du Center for Data Science
IODS : Retour d’expériences au sein du Center for Data Science
 
Synchroniser ses applications (plus) simplement
Synchroniser ses applications (plus) simplementSynchroniser ses applications (plus) simplement
Synchroniser ses applications (plus) simplement
 
Nouveautés de DataDrill EXPRESS 4.1, 4.2, 4.3 et 4.4
Nouveautés de DataDrill EXPRESS 4.1, 4.2, 4.3 et 4.4Nouveautés de DataDrill EXPRESS 4.1, 4.2, 4.3 et 4.4
Nouveautés de DataDrill EXPRESS 4.1, 4.2, 4.3 et 4.4
 
Audit openERP 7.0: Mise en place &Optimisation de Performances
Audit openERP 7.0: Mise en place &Optimisation de Performances Audit openERP 7.0: Mise en place &Optimisation de Performances
Audit openERP 7.0: Mise en place &Optimisation de Performances
 
Réplication de base de données oracle avec Golden Gate
Réplication de base de données oracle avec Golden GateRéplication de base de données oracle avec Golden Gate
Réplication de base de données oracle avec Golden Gate
 
Nouveautés de DataDrill EXPRESS 3.8 & 4.0
Nouveautés de DataDrill EXPRESS 3.8 & 4.0Nouveautés de DataDrill EXPRESS 3.8 & 4.0
Nouveautés de DataDrill EXPRESS 3.8 & 4.0
 
Social Network Analysis Utilizing Big Data Technology
Social Network Analysis Utilizing Big Data TechnologySocial Network Analysis Utilizing Big Data Technology
Social Network Analysis Utilizing Big Data Technology
 
Croisière sur le data lake
Croisière sur le data lakeCroisière sur le data lake
Croisière sur le data lake
 
GIT training - basic for software projects
GIT training - basic for software projectsGIT training - basic for software projects
GIT training - basic for software projects
 
PhPotes: Drupal
PhPotes: DrupalPhPotes: Drupal
PhPotes: Drupal
 
Plugin PMB/SPIP Risom Pour Abf Auvergne 24 Avril 2009
Plugin PMB/SPIP Risom Pour Abf Auvergne 24 Avril 2009Plugin PMB/SPIP Risom Pour Abf Auvergne 24 Avril 2009
Plugin PMB/SPIP Risom Pour Abf Auvergne 24 Avril 2009
 
Florence Labord Moodle
Florence Labord  MoodleFlorence Labord  Moodle
Florence Labord Moodle
 
Procédure alfresco word
Procédure alfresco wordProcédure alfresco word
Procédure alfresco word
 

Mais de Mathieu Saby

Science ouverte et appels à projets
Science ouverte et appels à projetsScience ouverte et appels à projets
Science ouverte et appels à projetsMathieu Saby
 
Usage des expressions régulières dans Openrefine
Usage des expressions régulières dans OpenrefineUsage des expressions régulières dans Openrefine
Usage des expressions régulières dans OpenrefineMathieu Saby
 
Analyse de données JSON dans Openrefine
Analyse de données JSON dans OpenrefineAnalyse de données JSON dans Openrefine
Analyse de données JSON dans OpenrefineMathieu Saby
 
Aide mémoire Openrefine 3.3 béta
Aide mémoire Openrefine 3.3 béta Aide mémoire Openrefine 3.3 béta
Aide mémoire Openrefine 3.3 béta Mathieu Saby
 
Gérer et diffuser ses données: principes et bonnes pratiques
Gérer et diffuser ses données: principes et bonnes pratiquesGérer et diffuser ses données: principes et bonnes pratiques
Gérer et diffuser ses données: principes et bonnes pratiquesMathieu Saby
 
Le projet du SCD de Nice: une approche globale des données de la recherche
Le projet du SCD de Nice: une approche globale des données de la rechercheLe projet du SCD de Nice: une approche globale des données de la recherche
Le projet du SCD de Nice: une approche globale des données de la rechercheMathieu Saby
 

Mais de Mathieu Saby (6)

Science ouverte et appels à projets
Science ouverte et appels à projetsScience ouverte et appels à projets
Science ouverte et appels à projets
 
Usage des expressions régulières dans Openrefine
Usage des expressions régulières dans OpenrefineUsage des expressions régulières dans Openrefine
Usage des expressions régulières dans Openrefine
 
Analyse de données JSON dans Openrefine
Analyse de données JSON dans OpenrefineAnalyse de données JSON dans Openrefine
Analyse de données JSON dans Openrefine
 
Aide mémoire Openrefine 3.3 béta
Aide mémoire Openrefine 3.3 béta Aide mémoire Openrefine 3.3 béta
Aide mémoire Openrefine 3.3 béta
 
Gérer et diffuser ses données: principes et bonnes pratiques
Gérer et diffuser ses données: principes et bonnes pratiquesGérer et diffuser ses données: principes et bonnes pratiques
Gérer et diffuser ses données: principes et bonnes pratiques
 
Le projet du SCD de Nice: une approche globale des données de la recherche
Le projet du SCD de Nice: une approche globale des données de la rechercheLe projet du SCD de Nice: une approche globale des données de la recherche
Le projet du SCD de Nice: une approche globale des données de la recherche
 

Último

SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSKennel
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSKennel
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxmmatar2
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxrababouerdighi
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSKennel
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSKennel
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 37
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre françaisTxaruka
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsRajiAbdelghani
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 37
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSKennel
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Gilles Le Page
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeXL Groupe
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Alain Marois
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxAsmaa105193
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 

Último (20)

SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptx
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptx
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre français
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 temps
 
DO PALÁCIO À ASSEMBLEIA .
DO PALÁCIO À ASSEMBLEIA                 .DO PALÁCIO À ASSEMBLEIA                 .
DO PALÁCIO À ASSEMBLEIA .
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directe
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. Marocpptx
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 

Nettoyer et transformer ses données avec Openrefine : partie 1

  • 1. Nettoyer et transformer ses données avec Openrefine Des premiers pas aux usages avancés Partie 1 BU Université de Nice Sophia-Antipolis Formation URFIST Paris 25/05/2018 Mathieu Saby mathieu.saby@unice.fr 1/ Version 1.1 revue au 31/5/2018
  • 2. Déroulement Première partie (matin) : présentation, prise en main, opérations de nettoyage et de transformation simples Deuxième partie (après-midi) : opérations complexes, enrichissement de données, utilisation de formules 2/
  • 3. Quelles sont vos attentes? 3/
  • 4. Première partie 1. Présentation d’OpenRefine 2. Installation et paramétrage 3. Prise en main et import de données 4. Tris, filtres et facettes 5. Regrouper des valeurs proches 6. Transformer les données 7. Croiser des données 8. Restructurer des données 9. Exporter les données et les traitements 10. Exercice 4/
  • 5. Présentation d’Openrefine 1. Présentation d’Openrefine 2. Installation et paramétrage 3. Prise en main et import de données 4. Tris, filtres et facettes 5. Regrouper des valeurs proches 6. Transformer les données 7. Croiser des données 8. Restructurer des données 9. Exporter les données et les traitements 10. Exercice 5/
  • 6. Fonctionnalités principales Explorer un jeu de données : tris, facettes, regroupement de valeurs proches Corriger et harmoniser des données Modifier l’organisation des données Enrichir des données (croisement, web services, scraping, réconciliation) Documenter les modifications et les enrichissements pour pouvoir les rejouer à volonté Le tout dans une interface graphique : résultat des opérations immédiatement visible. Pas ou peu de connaissances en programmation pour les opérations simples. 6/
  • 7. Fonctionnalités principales Ce n’est pas un tableur contrairement aux apparences:  modification globale d’un fichier colonne par colonne, même s’il est possible d’éditer une cellule séparément  pas fait pour saisir des données, réaliser des calculs ou des graphiques  données séparées des traitements : les formules ne sont pas contenues dans les cellules  pagination des données 7/
  • 8. Positionnement Tableurs Scripts Outils dédiés à la préparation de données Outils intégrant la préparation et d’autres fonctions 8/ Etc. Tableau Prep
  • 9. Positionnement Avantages  Fonctions absentes des tableurs traditionnels  Interface graphique (vs. scripts)  Totalement libre et gratuit (vs. Dataiku DSS, Talend ou Trifacta)  Installation PC, Linux, Mac  Enregistrement des traitements réalisés  Maîtrise des données (vs outils en cloud)  Large communauté d’utilisateurs Inconvénients  Performance limitée (100 000 lignes maxi environ si nombreuses colonnes)  Ne traite pas de données en flux  Gourmand en mémoire  Pas de fonction collaborative  Formats d’imports limités  Pas de connexion avec des outils « big data »  Langage spécifique 9/
  • 10. Historique 2009 : logiciel Gridworks développé par Metaweb, comme outil pour faciliter l’alimentation de leur base de connaissance sémantique Freebase 2010: rachat de Metaweb par Google. Nouveau nom: Google Refine 2012 : libération du code par Google. Nouveau nom: OpenRefine 10/
  • 11. Modèle économique et de développement Logiciel opensource, gratuit Maintenu par une (petite) communauté de développeurs Développement redynamisé depuis l’an dernier Possibilité d’installer des extensions pour ajouter de nouvelles fonctionalités 11/ Commits de janvier 2010 à mai 2018
  • 12. Evolutions récentes Versions  2.5 (2013). Dernière version compatible avec certaines extensions  2.7 (06/2017)  2.8 (11/2017) À installer de préférence  3 (attendue en juin 2018) 12/
  • 13. Evolutions récentes  Nouveautés 2.7  Service de réconciliation Wikidata par défaut (remplace Freebase)  Export possible des clusters  Support d’opérateurs AND et OR multiples  Menu « Transformer » dans la colonne « Tous » pour appliquer une opération à plusieurs colonnes  Nouveautés 2.8  Description enrichie de chaque projet  Amélioration de la réconciliation Wikidata  Eclatement de cellules multi-valuées par expressions régulières et caractères spéciaux  Filtre par exclusion  Indication de la quantité de mémoire disponible  Amélioration de l’interface 13/
  • 14. Evolutions récentes  Nouveautés de la prochaine version (3)  Export au format datapackage  Export facilité vers Wikidata  Import/export dans Google Drive  Description améliorée des différents projets  Meilleure gestion des valeurs vides et nulles  Prise en compte des limites des enregistremements pour les opération de remplissage / effaçage  Nouvelle fonction (find) pour faciliter la détection de motifs  Nouvelle fonction (colalesce) pour manipuler les valeurs nulles 14/
  • 15. Où s’informer En priorité : Site : http://openrefine.org/ Documentation : https://github.com/OpenRefine/OpenRefine/wiki Stackoverflow https://stackoverflow.com/search?q=openrefine Nombreux blogs Et également : Code source : https://github.com/OpenRefine/OpenRefine Google group : https://groups.google.com/forum/#!forum/openrefine Google group dev: https://groups.google.com/forum/#!forum/openrefine-dev 15/
  • 16. Quelques exemples d’utilisation  Bibliothèques, archives, musées  Liste d’exemples recensés dans Bibliopedia (récupération d’infos à partir des webservices de l’ABES, infos sur des articles à partir de Crossref, vérification de la présence d’une liste d’articles dans HAL…)  Identifier des versions numériques d’ouvrages physiques (2018)  Corriger et modifier des données au format MARC (2015)  Créer un tableau à partir de références bibliographiques structurées (2013)  Extraire des cotes archivistiques à partir d’inventaires en EAD (2017)  Exploiter des listes de revues au format KBART : 1,2,3,4, 5 (2016/7)  Comparer deux listes de revues (2012)  Supprimer des doublons dans une liste de revues au format KBART et vérifier leur appartenance à un package en interrogeant un webservice (2017)  Nettoyer une liste de cessionnaires de brevets (2013)  Exploiter un corpus récupéré par OAI-PMH (2016)  Alignement de Wikidata avec le catalogue de la BNF (2017) 16/
  • 17. Quelques exemples d’utilisation  Producteurs et réutilisateurs de données ouvertes, journalistes  Normalisation, clustering et transposition colonnes-lignes de données publiques  Récupération de résultats électoraux sur une page web et nettoyage  Histoire  Normalisation et nettoyage de données issues d’un site de musée  Récupération de données sur le web  Science de la vie  Normalisation de données sur les abeiles  Nettoyage de données sur les oiseaux 17/
  • 18. Installation et paramétrage 1. Présentation d’Openrefine 2. Installation et paramétrage 3. Prise en main et import de données 4. Tris, filtres et facettes 5. Regrouper des valeurs proches 6. Transformer les données 7. Croiser des données 8. Restructurer des données 9. Exporter les données et les traitements 10. Exercice 18/
  • 19. Aspects techniques  Installation mono-poste, sous PC, Mac et Linux  Interface accessible via un navigateur internet (adresse http://127.0.0.1:3333/ )  Les données et le logiciel restent sur le PC (pas besoin de connexion Internet)  Extension possible avec des plug-ins développés par la communauté (pas tous compatibles avec la version 2.8)  Accès possible par API (permet une automatisation des traitements)  Peut être containerisé avec Docker 19/
  • 21. Contraintes liées à Java  OpenRefine est écrit en langage Java  Cela peut compliquer l’installation sous Mac : en cas de problème  Vérifier que Java 8 est installé (ce n’est pas le cas par défaut)  Vérifier que la variable d’environnement $JAVA_PATH contient bien le chemin de cette version  Pour utiliser plus de 4 Go de mémoire (limite théorique), il faut utiliser la version 64 bits de Java 21/
  • 22. Paramétrage facultatif : ajouter de la mémoire Par défaut OpenRefine utilise 1 Go de mémoire vive au maximum. Il peut être utile de modifier la configuration pour allouer plus de mémoire : Sous Windows : dans le fichier refine.ini, modifier la ligne REFINE_MEMORY Pour que refine.ini soit pris en compte il faudra lancer OpenRefine avec refine.bat et non openrefine.exe 22/
  • 23. Paramétrage facultatif : ajouter de la mémoireSous Mac : ouvrir le fichier ‘/Applications/OpenRefine.app/Contents/info.plist’ et modifier la valeur `<string>-Xmx1024</string>` (par ex: `<string>- Xmx2048</string>` pour doubler la mémoire maximale) 23/
  • 24. Fermeture 24/  Puisque le logiciel tourne en tâche de fond, fermer le navigateur ne suffit pas fermer proprement Openrefine. Pour cela il faut…  Sous Windows : fermer la console  Sous Mac : utiliser le menu Quitter
  • 25. Installation d’extensions 25/25/ Des extensions peuvent être installées pour ajouter de nouvelles commandes dans l’interface graphique ou de nouvelles fonctions GREL. Sur le fonctionnement et l’écriture des extensions, cf. O. Stephens, Writing an extension to add new GREL functions to OpenRefine, 08/05/2017 et Write an extension dans le wiki officiel
  • 26. Installation d’extensions 26/26/ Extensions utiles : - Outils du GOKb : https://github.com/ostephens/refine-gokbutils - Comparaison de textes : VIB-BITS diff (fichier : http://data.bits.vib.be/hidden/g7dt6RjuUTU421dY2CwrGePGX/vib-bits-diff.zip ; manuel : https://data.bits.vib.be/hidden/g7dt6RjuUTU421dY2CwrGePGX/OpenRefine%20 VIB-BITS%20diff%20plugin.pdf ) - Sauvegarde des facettes: VIB-BITS save facets (fichier: http://data.bits.vib.be/hidden/g7dt6RjuUTU421dY2CwrGePGX/vib-bits-save- facets.zip ) - Reconnaissance d’entités nommées * : OpenRefine Named-Entity Recognition http://freeyourmetadata.org/named-entity-extraction/ - Export en RDF* : https://github.com/fadmaa/grefine-rdf-extension * : Ne fonctionne plus avec les version 2.6 et suivantes
  • 27. Installation d’extensions 27/27/ Une des extensions les plus utiles : VIB-Bits Permet notamment de combiner facilement les données de deux projets (au lieu d’utiliser la fonction cross en GREL). Fichier : https://data.bits.vib.be/hidden/g7dt6RjuUTU421dY2CwrGePGX/vib-bits.zip Manuel : https://data.bits.vib.be/hidden/g7dt6RjuUTU421dY2CwrGePGX/OpenRefine%20VIB- BITS%20plugin.pdf Activité : Télécharger le fichier et décompressez le.
  • 28. Installation d’extensions 28/28/ Pour installer une extension - Télécharger et décompresser une extension - Trouver et ouvrir le dossier contenant les projets sur l’ordinateur Attention, dossier distinct du dossier d’installation d’Openrefine! dans Openrefine cliquer sur « Ouvrir un projet » puis sur le lien « Parcourir le dossier de l’espace de travail » en bas de l’écran listant tous les projets - S’il n’existe pas, créer un dossier « extensions » dans ce dossier - Fermer Openrefine - Déplacer l’extension téléchargée dans le dossier « extensions » créé - Relancer Openrefine
  • 29. Installation d’extensions 29/29/ Après installation de VIB-Bits, Openrefine signale que l’extension est installé (en haut à droite) De nouvelles commandes enrichissent les menus. Ex : Editer la colonne > Add column(s) from other projects
  • 30. Prise en main et import de données 1. Présentation d’Openrefine 2. Installation et paramétrage 3. Prise en main et import de données 4. Tris, filtres et facettes 5. Regrouper des valeurs proches 6. Transformer les données 7. Restructurer des données 8. Croiser des données 9. Exporter les données et les traitements 10. Exercice 30/
  • 31. Les fichiers d’exercices Télécharger sur votre bureau deux mini jeux de données fictives  Exo 1 : https://osf.io/4kfme/  Exo 2: https://osf.io/4m9e2/ 31/
  • 32. Lancer OpenRefine Ouvrir un navigateur (Chrome ou Firefox) Windows : lancer de préférence refine.bat (prise en compte de la configuration). Possibilité de faire un lien dans le menu démarrer. Mac : chercher OpenRefine dans les applications Si OpenRefine ne s’ouvre pas, saisir http://localhost:3333 dans le navigateur 32/
  • 33. Gestion des projets Projet = un fichier de données + un ensemble de traitements Un projet peut être réouvert, ou importé depuis une autre installation d’OpenRefine Ouvrir un projet existant Par défaut, aucun projet. Depuis la v2.8, possibilité de décrire les projets 33/ Supprimer Ouvrir
  • 34. Langue Choisir la langue (français) Attention: petit bug dans la version 2.8 en français (chaînes invisibles qui empêchent de modifier la description d’un projet) 34/
  • 35. Gestion des projets Possibilité de décrire les projets : bouton « About » (bug: absent dans la version française) 35/
  • 36. Formats reconnus Données tabulées (lignes/colonnes) De préférence utiliser le format csv ou autre format brut (tsv…) Import de fichiers Excel, LibreOffice ou Google possible mais peut consommer beaucoup de ressources. Données XML et JSON Ne fonctionne bien qu’avec des fichiers à la structure simple (processus de conversion très gourmand en ressources). Au besoin, utiliser un convertisseur externe comme www.convertcsv.com et injecter le csv dans OpenRefine. 36/
  • 37. Gestion des projets 37/ Depuis plusieurs emplacements Plusieurs formats de fichiers possibles Créer un projet
  • 38. Importer des données Créer un nouveau projet à partir du fichier exo1.csv 38/
  • 39. Importer des données Charger le fichier dans OpenRefine le fichier précédemment enregistré sur le Bureau 39/
  • 40. Importer des données Ecran d’import en 2 parties : aperçu des données + paramètres 40/
  • 41. Importer des données Format des données : détection par défaut mais possibilité d’outrepasser 41/ [Nouveauté v2.8] Tableaux structurés selon la syntaxe Wikipedia Texte brut non délimité Champs délimités par des séparateurs (virgule, point-virgule…) Champs de longueur fixe
  • 42. Importer des données Principaux paramètres d’import 42/ Encodage des caractères (en général UTF-8 ou ISO 8859-1) Séparateur de colonnes (en général virgule mais parfois point-virgule si le fichier a été créé avec une version française d’Excel Modifier si entêtes multilignes Détection des nombres et des dates (dans le doute, à éviter) En général à décocher
  • 43. Importer des données Pour lire et écrire en français… choisir l’encodage correspondant à celui du fichier 43/ 1 av. St Barthélemy 1 av. St Barthélemy
  • 44. Importer des données Prudence avec la détection automatique des nombres et des dates ! Dans le doute, désactiver l’option. (remarque également valable pour Excel ou LibreOffice…)  Une série de chiffres n’est pas forcément un nombre.  Ex: Numéros de téléphone : le 0 initial doit être préservé!  Formats de nombres et formats monétaires différents  Ex : 1,14 en France = 1.14 aux USA  Ex : 10 € mais $ 10  Formats de dates différents selon les pays.  Ex : 02-03-1979 = 2 mars 1979 en Europe 3 février 1979 aux USA 44/
  • 45. Importer des données Une fois les paramètres d’imports choisis, lancer l’import 45/ [Optionnel] Changer le nom du projet Créer un projet
  • 46. Importer des données Il est également possible d’importer plusieurs fichiers dans le même projet. Ils doivent être structurés de manière identique (nombres et noms des colonnes). 46/
  • 47. Importer des données Il est également possible d’importer plusieurs fichiers dans le même projet. La 1re colonne (File) du projet indiquera le nom du fichier d’origine pour chaque ligne. 47/
  • 48. L’espace de travail 48/ Lien vers le projet ExportNouveau projetContenu du fichierFacettes et filtres Historique
  • 49. L’espace de travail 49/ Colonnes de donnéesNb lignes affichées Voir les lignes précédentes ou suivantesNb lignes du fichier Étoiles et marques: pour isoler certaines lignes Numéro de ligne (automatique)
  • 50. Principes d’ergonomie Modification d’une cellule : bouton edit visible au survol  Ponctuelle  Pour toutes cellules ayant la même valeur (dans la même colonne ; ne s’applique pas aux cellules vides) Actions globales : menu visible en cliquant sur le bouton en haut de chaque colonne  Affichage sélectif (tris, filtres, facettes…)  Modifications (remplacements, nouvelles colonnes…) 50/
  • 51. Réordonner, supprimer, renommer des colonnes 1re solution : menu Editer la colonne 51/
  • 52. Réordonner, supprimer, renommer des colonnes 2e solution : 1re colonne Toutes, menu Retrier/supprimer les colonnes 52/
  • 53. Tris, filtres et facettes 1. Présentation d’Openrefine 2. Installation et paramétrage 3. Prise en main et import de données 4. Tris, filtres et facettes 5. Regrouper des valeurs proches 6. Transformer les données 7. Restructurer des données 8. Croiser des données 9. Exporter les données et les traitements 10. Exercice 53/
  • 54. Trier les données Activité : trier les données en fonction des valeurs de la colonne code_personne (ordre alphabétique, sans tenir compte des majuscules) 54/
  • 55. Trier les données Trier les données en fonction des valeurs de la colonne code_personne 55/ Plusieurs options, mais le paramétrage de base correspont à notre besoin (a-z, insensible à la casse)
  • 56. Trier les données Trier les données en fonction des valeurs de la colonne code_personne 56/ Pour l’ordre d’origine est préservé et le tri ne concerne que l’affichage
  • 57. Trier les données Retrier de façon permanente 57/ Menu visible après le tri
  • 58. Filtrer les données Activité : filtrer le fichier pour afficher les lignes dont la colonne code_personne contient le mot « P005 » ET la colonne animal_prefere le mot « chien » 58/
  • 59. Filtrer les données Filtrer le fichier pour afficher les lignes dont la colonne code_personne contient le mot « P005 » ET la colonne animal_prefere le mot « chien » 59/
  • 60. Filtrer les données Toutes les opérations (export, nouveaux filtres, facettes, modifications groupées) s’opèreront uniquement sur les données filtrées. Ex: modification groupée la colonne animal_prefere : uniquement 1 lignes modifiée 60/
  • 61. Filtrer les données Deux options pour les filtres (peuvent s’additionner) 61/ Prendre ou compte ou non la casse (« nice » = « NICE » ?) Traiter ou non l’expression comme une expression rationnelle (ou expression régulière) Une expression régulière est une chaîne de caractères décrivant au moyen d’une syntaxe spéciale plusieurs chaînes de caractères possibles. Ex: a[bc] -> ab ou ac a.{2,4}c -> a, une suite de 2 à 4 caractères, c Ni(ce|ssa) -> Nice ou Nissa Plus de détails cet après-midi
  • 62. Filtrer les données Pour annuler un filtre, cliquez sur la croix dans le coin supérieur gauche du filtre Nous allons annuler tous les filtres Pour cela, cliquez sur Tout supprimer au dessus des filtres 62/
  • 63. Filtrer les données Pour réinitialiser un filtre ou l’inverser, cliquez sur les liens en haut à droite [nouveauté v. 2.8] 63/ Toutes les personnes SAUF P005
  • 64. Utiliser les facettes Les facettes sont utiles pour avoir un aperçu synthétique des données, repérer des anomalies, isoler des valeurs à modifier, modifier globalement un codage… Une facette permet de lister toutes les valeurs distinctes contenues dans une colonne, et de sélectionner les lignes contenant une valeur donnée dans cette colonne. La combinaison de facettes portant sur une même colonne ou plusieurs colonnes permet de préciser la sélection. 64/
  • 65. Utiliser les facettes Par défaut, seules les 2000 premières choix sont affichées. S’il y en a plus, Openrefine propose d’augmenter cette limite, ou de n’afficher que les choix les plus fréquents (« facette par nombre de choix »). Le choix reste mémorisé lors des utilisations ultérieures. 65/
  • 66. Utiliser les facettes Premier type de facette : facettes « textuelles » portant sur le contenu textuel brut des cellules. Activité : afficher les facettes textuelles correspondant au contenu de la colonne ville. Repérer et corriger les anomalies. 66/
  • 67. Utiliser les facettes Étape 1: Afficher les facettes textuelles correspondant au contenu de la colonne ville. 67/ (blank) : valeur vide
  • 68. Utiliser les facettes Les options d’une facette 68/ Récupérer la liste Tri alphabétique (défaut) ou par nombre d’occurrences valeurs vides (blank) toujours à la fin Modifier la facette (opération complexe) Regrouper les valeurs semblables
  • 69. Utiliser les facettes Étape 2: dans la facette ville, trier les valeurs par nombre d’occurrences. 69/
  • 70. Utiliser les facettes Étape 2: dans la facette ville, trier les valeurs par nombre d’occurrences. 70/
  • 71. Utiliser les facettes Étape 2: dans la facette ville, afficher les valeurs par « nombre de choix », et ne conserver à l’affichage que celles présentes 2 fois. 71/
  • 72. Utiliser les facettes Étape 3: dans la facette ville, afficher les valeurs par « nombre de choix », et ne conserver que celles présentes 2 fois. 72/ 1 seule valeur, présente 2 fois histogramme
  • 73. Utiliser les facettes Anomalies dans les données? 73/
  • 74. Utiliser les facettes Anomalies dans les données? Deux entrées pour Nice : Nice vs. NICE Deux entrées pour Caen: Caen vs. CAEN Deux entrées pour Le Havre : LE HAVRE vs. Havre (Le) Deux entrées pour Lyon (inexplicable au 1er abord) Une valeur vide 74/
  • 75. Utiliser les facettes Étape 4 : dans la facette ville, remplacer la valeur « Havre (Le) » par LE HAVRE Quel effet sur les données? 75/
  • 76. Utiliser les facettes Dans la facette ville, remplacer la valeur « Havre (Le) » par LE HAVRE Effet : modification des données (2 cellules). 76/
  • 77. Utiliser les facettes Pourquoi deux formes pour Lyon? Une des deux comprend un espace superflu (invisible dans les facettes) On pourrait la corriger immédiatement, mais on ne le fera qu’après avoir fini l’exploration des facettes… 77/ Cliquer
  • 78. Utiliser les facettes Étape 5 : utiliser la facette ville pour afficher les lignes dont la ville est Lyon
  • 79. Utiliser les facettes Sélectionner la 1re forme Cliquer facette en orange : facette active
  • 80. Utiliser les facettes Ajout de la 2e forme Survoler Cliquer
  • 81. Utiliser les facettes Afficher les lignes dont la ville n’est pas Lyon 81/ Cliquer facette en noir barré : facette inversée
  • 82. Utiliser les facettes Corriger la forme comportant un espace superflu
  • 83. Utiliser les facettes: pour aller plus loin Facettes numériques, chronologiques, en nuage de point : suppose d’avoir des données reconnues par OpenRefine comme des dates ou des nombres (pas le cas dans notre exemple) 83/
  • 84. Utiliser les facettes: pour aller plus loin Facettes personnalisées : suppose une utilisation du langage GREL (voir plus loin) 84/
  • 85. Utiliser les facettes: pour aller plus loin Facettes courantes : plusieurs options souvent utiles: par mot, par doublons, par longueur de texte, par blanc (valeur vide ou non) 85/
  • 86. Utiliser les facettes: pour aller plus loin Activité : A partir de la colonne animal_prefere, appliquer une facette textuelle ordinaire, puis une facette « par mots ». Quelle différence avec une facette textuelle ? 86/
  • 87. Utiliser les facettes: pour aller plus loin Les valeurs sont découpées en « mots » (suite de caractères séparés par des espaces). Un nettoyage supplémentaire peut être nécessaire (supprimer la ponctuation). Utile pour les cellules multi-valuées. 87/ Facette textuelle Facette par mot
  • 88. Les facettes par étoile et marque La 1re colonne « Toutes » permet de construire des facettes à partir des lignes au préalable signalées manuellement par une étoile ou un drapeau. 88/
  • 89. Les facettes par étoile et marque Les étoiles et drapeaux peuvent être attribuées manuellement ligne à ligne en cliquant sur les symboles, ou via les menus de la colonne « Toutes » : Editer les lignes -> Etoiler/Détoiler les lignes Editer les lignes -> Marquer/Démarquer les lignes 89/
  • 90. Supprimer des lignes La suppression de ligne est possible via le menu de la colonne « Toutes »: Editer les lignes -> Supprimer les lignes correspondantes Seules les lignes affichées au moment de l’opération (en tenant compte des facettes et des filtres en cours) seront supprimées 90/
  • 91. Regrouper des valeurs proches 1. Présentation d’Openrefine 2. Installation et paramétrage 3. Prise en main et import de données 4. Tris, filtres et facettes 5. Regrouper des valeurs proches 6. Transformer les données 7. Croiser des données 8. Restructurer des données 9. Exporter les données et les traitements 10. Exercice 91/
  • 92. Regrouper des valeurs proches Activité : Créer des facettes textuelles pour la colonne ville, puis grouper les résultats pour repérer des variantes d’orthographe ou de présentation.
  • 93. Regrouper des valeurs proches Créer des facettes textuelles pour la colonne ville, puis grouper les résultats 93/
  • 94. Regrouper des valeurs proches Créer des facettes textuelles pour la colonne ville, puis grouper les résultats 94/ Cliquer sur une forme pour changer la forme retenue Sélectionner les groupes à fusionner Ou bien… Tout sélectionner
  • 95. Regrouper des valeurs proches Plusieurs algorithmes 95/ Méthodes rapides mais basiques Regroupe les expressions dont les « clés » sont identiques Regroupe les expressions ne différant que par la casse, l’accentuation, la ponctuation, le nombre d’espaces, l’ordre ou la répétition des mots - Ex : école = école; = éc-ole = éçOLE = ecôle, - Ex : Liberté, égalité = Liberté EGALITE Egalité libêrte Regroupe les expressions utilisant les mêmes caractères (paramètre 1) ou bigrammes (paramètre 2). - Ex (param 1) : paris = sirap = sirapa = pparaisiapa - Ex (param 2) : paris-plage = paris plage Regroupe les expressions ayant la même prononciation (en anglais) Regroupe les expressions ayant la même prononciation (en allemand) [Prise en compte des diacritiques amélioré dans la v. 2.8]
  • 96. Regrouper des valeurs proches Plusieurs algorithmes 96/ Plus élaborées mais plus lentes Regroupe les expressions en fonction du nombre d’étapes élémentaires (suppression, ajout, modification de caractère) nécessaires pour passer de l’une à l’autre. Les variantes de caractères (accentués, majuscules, minuscules) sont traités comme des caractères différents. Augmenter le paramètre « rayon » (distance) diminue la sensibilité de l’algorithme : - Ex : paris = « distance de 1 » de Paris - Ex : paris = « distance de 2 » de Pars - Ex : paris = « distance de 5 » de dépaysé Regroupe les expressions par complexité aglorithmique (utilisé en génétique) Baisser le paramètre « taille de bloc » pour améliorer la détection (attention risque de ralentissement !
  • 97. Regrouper des valeurs proches Attention! Dans certains cas ces algorithmes peuvent faire des rapprochements non pertinents (ex: deux numéros de téléphones peuvent légitimement être très semblables…) Résultat : après plusieurs étapes on passe de 9 villes à 4 villes 97/
  • 98. Transformer les données 1. Présentation d’Openrefine 2. Installation et paramétrage 3. Prise en main et import de données 4. Tris, filtres et facettes 5. Regrouper des valeurs proches 6. Transformer les données 7. Restructurer des données 8. Exporter les données et les traitements 9. Exercice 98/
  • 99. Transformer les données Plusieurs familles d’opérations  Modification du contenu d’une colonne  Création de colonnes  Suppression de lignes  Transposition de lignes en colonnes et de colonnes en lignes  Réconciliation (alignement sur un vocabulaire contrôlé) 99/99/
  • 100. Transformer les données Plusieurs familles d’opérations  Modification du contenu d’une colonne menu Editer les cellules 100/100/
  • 101. Transformer les données Plusieurs familles d’opérations  Création de colonnes menu Editer la colonne 101/101/ Par éclatement d’une colonne existante À partir de formules GREL À partir de données web
  • 102. Transformer les données Plusieurs familles d’opérations  Transposition de lignes en colonnes et de colonnes en lignes menu Transposer 102/102/
  • 103. Transformer les données Plusieurs familles d’opérations  Suppression de lignes Se fait en combinant plusieurs opérations 103/103/
  • 104. Transformer les données Plusieurs familles d’opérations  Réconciliation menu Transposer 104/104/ Sera vu cet après-midi
  • 105. Transformer les données Rappel: Si un filtre ou une facette sont actifs, les transformations ne s’appliquent qu’aux lignes sélectionnées. 105/105/
  • 106. Transformer le contenu d’une colonne Très nombreuses transformations possibles! On ne montrera que quelques exemples:  Passer tous les mots en majuscule  Supprimer les espaces superflus  Transformer des textes en nombres ou dates  Supprimer tout le contenu d’une colonne  Supprimer les valeurs répétées sur plusieurs lignes  Recopier une valeur sur plusieurs lignes  Supprimer les doublons 106/106/
  • 107. Passer tous les mots en majuscule Activité: Transformer les valeurs de la colonne ville pour obtenir passer tous les noms en majuscules 107/107/
  • 108. Passer tous les mots en majuscule Editer les cellules > Transformations courantes > En majuscules 108/108/
  • 109. Supprimer les espaces superflus Activité: Ajouter manuellement plusieurs espaces au début et à l’intérieur d’une cellule, puis supprimer ces espaces en utilisant le menu. 109/109/
  • 110. Supprimer les espaces superflus 1/ ajout des espaces (les espaces ne seront pas visibles dans l’affichage général des données, mais ils ont bien été ajoutés) 110/110/
  • 111. Supprimer les espaces superflus 2/ suppression Deux opérations Editer les cellules > Transformations courantes > Supprimer les espaces de début et de fin Editer les cellules > Transformations courantes > Rassembler les espaces consécutifs 111/111/
  • 112. Transformer du texte en nombres ou dates Malgré les apparence, ces nombres et ces dates sont considérés comme de simple chaînes de caractères. L’hétérogénéité des données peut rendre leur « reconnaissance » délicate. 112/112/ JJ-MM-2017 JJ/MM/2017 JJ:MM:2017 JJ/ MM (2017) Unité en k€ Unité en € Séparateur décimal , Séparateur décimal .
  • 113. Transformer du texte en nombres ou dates Sur la colonne date: Editer les cellules > Transformations courantes > En date Sur les colonnes habillement, loisirs, logement: Editer les cellules > Transformations courantes > En nombre 113/113/
  • 114. Transformer du texte en nombres ou dates Cette approche ne suffit pas à résoudre les cas complexes (structure atypique, variation d’unités, séparateur décimal , )  besoin d’utiliser le langage GREL 114/114/ Les valeurs de type non textuel (dates, nombre, booléens) sont en vert, et alignés à droite
  • 115. Supprimer le contenu des cellules Editer les cellules > Transformations courantes > Vider les cellules 115/115/
  • 116. Supprimer les valeurs répétées sur plusieurs lignes Supprimer les valeurs répétées sur plusieurs lignes Editer les cellules > Vider les valeurs répétées… 116/116/
  • 117. Supprimer les valeurs répétées sur plusieurs lignes Remarque : le mot « vider » a ici une signification différente que dans l’opération « vider les cellules », qui supprime tout le contenu des cellules. 117/117/
  • 118. Recopier une valeur dans des cellules vides Opération inverse : recopier une valeur dans une série de cellules vides situées en dessous Editer les cellules > Recopier les valeurs… 118/118/
  • 119. Supprimer des doublons La suppression des valeurs répétées peut être nécessaire pour d’autres opérations : - Supprimer des doublons - Créer des « entrées » regroupant plusieurs lignes 119/119/
  • 120. Supprimer des doublons Activité : Simplifier le fichier en ne gardant qu’une seule ligne par personne (dans notre cas cela entraînera une perte d’information, mais c’est pour la démonstration…) 120/
  • 121. Supprimer des doublons Simplifier le fichier en ne gardant qu’une seule ligne par personne - Tri du fichier en fonction de la colonne code_personne et enregistrement du tri - Suppression des valeurs répétées pour la colonne code_personne (Éditer les cellules -> Vider) - Facette par blanc sur la colonne code_personne (Facette courante -> Facette par blanc) - Sélection de la facette « true » dans le panneau de gauche - Suppression des lignes concernées (colonne Toutes > éditer les lignes > supprimer les lignes) 121/
  • 122. Lignes et entrées Des lignes peuvent être regroupées en « entrées » (records) si elles se rapportent à un même objet. Travailler avec des entrées permet des traitements avancés. Pour créer des entrées : 1/ trier les données en fonction de la colonne servant de clé de regroupement 2/ déplacer cette colonne en 1re position du tableau 3/ supprimer les valeurs répétées dans cette colonne 122/122/
  • 123. Restructurer des données 1. Présentation d’Openrefine 2. Installation et paramétrage 3. Prise en main et import de données 4. Tris, filtres et facettes 5. Regrouper des valeurs proches 6. Transformer les données 7. Croiser des données 8. Restructurer des données 9. Exporter les données et les traitements 10. Exercice 123/
  • 124. Croiser des données Utilisation du plugin VIB-Bits Démo en vidéo : https://www.youtube.com/watch?v=ZJ4wk05ZojM Télécharger le fichier donnees_villes.csv https://osf.io/rx568/ Créer un nouveau projet dans Openrefine à partir de ce fichier 124/124/
  • 125. Croiser des données Dans le projet exercice 1, à partir de la colonne ville: Editer la colonne > Add column(s) from other project… 125/125/
  • 126. Croiser des données Sélectionner le projet donnees_villes ; la colonne servant de pivot (« ville ») ; les colonnes à récupérer. 126/126/
  • 128. Restructurer des données 1. Présentation d’Openrefine 2. Installation et paramétrage 3. Prise en main et import de données 4. Tris, filtres et facettes 5. Regrouper des valeurs proches 6. Transformer les données 7. Croiser des données 8. Restructurer des données 9. Exporter les données et les traitements 10. Exercice 128/
  • 129. Restructurer les données Cas fréquent : passer de plusieurs valeurs / cellule à une seule Axe horizontal (créer de nouvelles colonnes) Axe vertical (créer de nouvelles lignes) 129/129/ Nom Ville Dupont Nice|Tours Durand Bourges Martin Nice|Paris Nom Ville 1 Ville 2 Dupont Nice Tours Durand Bourges Martin Nice Paris Nom Ville Dupont Nice|Tours Durand Bourges Martin Nice|Paris Nom Ville Dupont Nice Dupont Tours Durand Bourges Martin Nice Martin ParisRisque : croire qu’il y a 2 Martin…
  • 130. Nouveau jeu de données Créer un nouveau projet à partir du fichier exo2.csv 130/130/
  • 131. Éclater sur plusieurs lignes Éclater sur plusieurs lignes les cellules comprenant des valeurs multiples Passer de ceci À celà 131/131/
  • 132. Éclater sur plusieurs lignes Éclater sur plusieurs lignes les cellules comprenant des valeurs multiples 1. Editer les cellules > Diviser les cellules multivaluées 2. Choisir le mode de séparation : séparateur (ponctuation, mot, une valeur spéciale ("n"…), expression régulière) ou nombre de caractères par champ 132/132/
  • 133. Éclater sur plusieurs lignes Remplir automatiquement les nouvelles cellules créées (procédure vu plus haut) 1. Colonne espece: Editer les cellules > Recopier les valeurs 2. Colonne nombre: Editer les cellules > Recopier les valeurs 133/133/
  • 134. Nettoyage Etape de nettoyage: Harmoniser les villes et les espèces en utilisant uniquement les facettes et le clustering 134/134/
  • 135. Regrouper en une seule ligne Regrouper sur une seule ligne des valeurs multiples Passer de ceci À ceci 135/135/
  • 136. Regrouper en une seule ligne Regrouper sur une seule ligne des valeurs multiples 1. Les données doivent être organisées en « entrées » (vu plus haut : tri sur 1re colonne puis Vider les cellules répétées) 136/136/ La ville sera utilisée pour définir les entrées
  • 137. Regrouper en une seule ligne Regrouper sur une seule ligne des valeurs multiples 1. Editer les cellules > Joindre les cellules multivaluées 2. Choisir un séparateur 137/137/ Répéter pour les 2 colonnes 7 entrées 7 lignes
  • 139. Transposer Transposer plusieurs colonnes en une seule Passer de à
  • 140. Transposer Transposer plusieurs colonnes en une seule Transposer > Transposer les cellules au travers des colonnes en lignes Options : - résultat dans une seule colonne (« espece_nombre ») - préfixer le nom de la colonne d’origine à chaque cellule
  • 141. Transposer Transposer des lignes en colonnes Passer de à
  • 142. Transposer Transposer plusieurs colonnes en une seule Colonne espece_nombre > Transposer > Transposer les lignes en colonnes Options : - Transposer le contenu d’une ligne sur deux dans une nouvelle colonne
  • 143. Transposer Passer du format « empilé » au format « désempilé » Transposer > Convertir en liste les colonnes de clé/valeur 143/143/ Stacked ; Long Unstacked ; Wide Attention, cette opération suppose qu’il n’y ait qu’une seule ligne (donc une seule valeur nombre) pour chaque couple (ville/arbre) Dans le cas contraire les informations des lignes supplémentaires sont perdues (l’opération n’additionnera pas les valeurs nombre correspondant à un même couple ville/arbre) c
  • 144. Transposer Passer du format « désempilé » au format « empilé » Transposer > Transposer les cellules de plusieurs colonnes en ligne 144/144/ c
  • 145. Restructurer les données Regrouper les paires clés/valeurs dans les mêmes cellules Transposer > Transposer les cellules de plusieurs colonnes en ligne 145/145/ c
  • 146. Eclater en plusieurs colonnes 146/146/ Eclater une colonne contenant plusieurs valeurs en plusieurs colonnes Passer de à
  • 147. Eclater en plusieurs colonnes Eclater une colonne contenant plusieurs valeurs en plusieurs colonnes Colonne espece_nombre 1 > Diviser en plusieurs colonnes Options : - Séparateur « : » 125/
  • 148. Eclater en plusieurs colonnes Eclater une colonne contenant plusieurs valeurs en plusieurs colonnes Même opération pour la colonne espece_nombre 2 126/
  • 149. Eclater en plusieurs colonnes Eclater une colonne contenant plusieurs valeurs en plusieurs colonnes Supprimer les colonnes inutiles et renommer les colonnes restantes 126/
  • 150. Eclater en plusieurs colonnes 150/150/ Eclater une colonne contenant plusieurs valeurs en plusieurs colonnes 2e option : définir la longueur de chaque champ
  • 151. Eclater en plusieurs colonnes 151/151/ Eclater une colonne contenant plusieurs valeurs en plusieurs colonnes 2e option : définir la longueur de chaque champrésultat
  • 153. Restructurer les données Eclater toutes les valeurs de la colonne animal_prefere dans des lignes distinctes 153/153/
  • 154. Restructurer les données Créer une facette sur la colonne animal_prefere et regrouper les valeurs proches 154/154/ Trouver un paramétrage détectant le plus de doublons
  • 155. Restructurer les données Joindre à nouveau les valeurs de la colonne dans une seule ligne par entrée mais avec un séparateur | 155/155/
  • 156. Exporter les données et les traitements 1. Présentation d’OpenRefine 2. Installation et paramétrage 3. Prise en main et import de données 4. Tris, filtres et facettes 5. Regrouper des valeurs proches 6. Transformer les données 7. Croiser des données 8. Restructurer des données 9. Exporter les données et les traitements 10. Exercice 156/
  • 157. Exporter les données transformées Plusieurs formats d’export. Par défaut seules les lignes affichées sont exportées (aller dans Personnaliser l’export tabulaire pour changer ce choix). 157/157/
  • 158. Exporter les données transformées Export personnalisé : Modélisation Permet de générer du JSON (en standard), du YAML, de préparer un import dans une base SQL… 158/158/
  • 159. Annuler ou rejouer un traitement Historique permettant d’annuler (« défaire ») ou rejouer (« refaire) les traitement sans limites 159/159/
  • 160. Annuler ou rejouer un traitement Limite : - n’enregistre pas les modifications manuelles des cellules - n’enregistre pas les facettes ni les tris - en cas de retour en arrière jusqu’à une opération N et d’ajout de nouvelles opérations, perte de l’historique des opérations qui suivaient l’opération N 160/160/
  • 161. Exporter les traitements Les traitements peuvent être exportés et réappliqués au jeu de données ou à un autre jeu présentant la même structure. Extraire l’historique pour enregistrer les traitements : 161/161/ Copier dans le presse-papier (Ctrl+C / Cmd+C) Créer un fichier texte sur l’ordinateur Ouvrir avec un éditeur de texte Coller le contenu du presse papier (Ctrl+V / Cmd+V) Enregistrer le fichier
  • 162. Réappliquer les traitements À partir d’un jeu de données fraîchement téléchargé 162/162/ Ouvrir le fichier texte dans lequel les traitements ont été enregistrés Sélectionner tout le contenu et copier dans le presse-papier (Ctrl+C / Cmd+C) Coller dans OpenRefine (Ctrl+V/ Cmd+V) Valider
  • 163. Espace de travail 1. Présentation d’OpenRefine 2. Installation et paramétrage 3. Prise en main et import de données 4. Espace de travail 5. Tris, filtres et facettes 6. Regrouper des valeurs proches 7. Croiser des données 8. Transformer les données 9. Restructurer des données 10. Exporter les données et les traitements 11. Exercice 163/
  • 164. Exercice d’application 164/  Télécharger un 3e fichier d’exercice (données sur des articles publiés en open access, avec des erreurs rajoutées manuellement): https://osf.io/qakwb/  Chargez le dans un nouveau projet Openrefine
  • 166. Exercice d’application 166/  Repérez des anomalies dans la colonne Language à l’aide des facettes et corrigez les.  Quel est le mot le plus fréquemment utilisé dans la colonne Title ?  Certains articles portent-ils le même DOI (numéro censé être unique)?  Les codes ISSN attribués aux revues font 9 caractères (XXXX-XXXX). Certaines valeurs de la colonne ISSNs ont-elles une longueur supérieure? Pourquoi?  Repérez et regroupez les variantes dans la colonne Publisher  Éclatez la colonne Citation en 4 colonnes comportant des informations homogènes  Créer une liste de tous les auteurs, repérez les variantes d’orthographe et regroupez les valeurs proches  Idem pour tous les sujets

Notas do Editor

  1. Initiation à OpenRefine
  2. Dataiku et Talend ne font pas que du nettoyage de données mais aussi des manipulations plus avancées
  3. Talend, Trifacta : versions gratuites mais limitées à des petits jeux de données Dataiku : payant mais version gratuite disponible pour étudiants ; ne fonctionne pas directement sous Windows
  4. Possibilité de faire un lien dans le menu démarrer.
  5. Si $JAVA_PATH ne contient pas le chemin de Java, cela peut entrainer des difficultés pour récupérer des données sur des sites utilisant le protocole sécurisé https
  6. Possibilité de faire un lien dans le menu démarrer.
  7. Possibilité de faire un lien dans le menu démarrer.
  8. Possibilité de faire un lien dans le menu démarrer.