Une alternative à Word : écrire en RMarkdown

Billet écrit avec Florent Bédécarrats

Ce texte vise à présenter l’écriture en RMarkdown, une alternative à Word qui possède de nombreux avantages, dans un contexte actuel complexe pour l’édition scientifique. RMarkdown est une syntaxe, avec laquelle on peut écrire des textes structurés et les transformer ensuite en différents formats (PDF, .docx, HTML) à l’aide d’un logiciel, ici RStudio. Cette philosophie, qui dissocie le contenu du texte et sa mise en forme, est proche de celle de LaTeX, dont RMarkdown reprend les avantages et en évacue la plupart des défauts. De plus, écrire en RMarkdown permet d’intégrer des traitements effectués avec R, tout en favorisant la reproductibilité des calculs. En fin de compte, c’est une solution qui s’approche de la facilité d’utilisation de Word, tout en offrant des avantages nombreux.

Une première partie discute pourquoi l’utiliser, une seconde s’attache au comment. Alors qu’il existe de nombreux articles sur internet présentant la syntaxe RMarkdown, on entre ici dans le détail des coûts de transition en provenance de Word, et de la manière concrète de réaliser l’ensemble des opérations courantes d’écriture.

Pourquoi écrire en RMarkdown ?

L’édition scientifique fait aujourd’hui face à plusieurs transformations : réduction des budgets et des «personnels de renfort» éditoriaux, transition des supports vers le numérique, et crise de la reproductibilité des résultats. Chacune conduit à des évolutions des besoins des éditeurs, donc aussi par contrecoup des auteurs. Alors que Word est l’outil et le format standard pour les textes de sciences sociales depuis les années 1990, RMarkdown apparait mieux adapté à la situation contemporaine.

Quelques problèmes (techniques) de l’édition scientifique aujourd’hui

Depuis les années 1990, les outils de composition des textes se divisent en deux camps, dont les grandes figures sont Word et LaTeX. Le premier se caractérise par la composition directement visuelle du texte : on écrit et on voit, en le faisant, le résultat qui sera imprimé. Le second s’appuie au contraire sur l’idée d’une dissociation du fond et de la forme : en LaTeX, l’écriture s’effectue dans un fichier où on indique le texte et les instructions de mise en forme, et que l’on transforme ensuite en d’autres formats, souvent PDF, par un programme qui se charge de la mise en page. Le modèle Word s’est imposé dans les sciences sociales, le modèle LaTeX dans d’autres disciplines. Aujourd’hui un ensemble de problèmes amènent à remettre en cause cette partition et, nous concernant, l’hégémonie du modèle Word.

Réduction de la division du travail dans l’édition scientifique

Halbwachs noircissait des feuilles volantes, Pasteur des feuillets colorés, Proust collait ses paperolles, Wittgenstein écrivait à voix haute, Pasolini chérissait son Olivetti. Et des secrétaires, correcteurs, typographes, iconographes, éditeurs et imprimeurs en faisaient des livres.

L’édition d’avant les années 1990 apparaît aujourd’hui comme revelant d’un autre monde. Dans le domaine scientifique, une majorité de chercheurs écrivaient à la main, traçaient leurs graphiques sur papier millimétré, avant de transmettre leurs manuscrits à des secrétaires qui le dactylographiaient, transféraient les graphiques sur papier calque et devaient changer les touches de leur machine à écrire pour intégrer les formules mathématiques. Le tout étant copié en plusieurs exemplaires grâce à du papier carbone.

L’informatisation dans les sciences sociales, combinée au resserrement des budgets, a conduit à la fin de cette division du travail. Comme chaque auteur possède un ordinateur capable de réaliser toutes ces opérations, on attend de plus en plus qu’il réalise les tâches auparavant déléguées à ces personnels.

À ces problèmes d’organisation du travail, s’ajoutent ceux relatifs aux supports de publication. On se trouve au milieu d’une transition vers le web, sans que le papier soit nécessairement amené à disparaître. On doit donc gérer la coexistence de ces deux supports, qui sont structurés par des technologies de rendu différentes. Les revues de sciences sociales fonctionnent encore largement avec Word, et le formatage des articles, en particulier pour le web, leur demande, ainsi qu’aux auteurs, un travail de mise en forme effectué «manuellement» ou avec un convertisseur ad hoc. À l’inverse, le modèle LaTeX, qui sépare fond et forme, minimise le travail technique d’édition : comme le texte est séparé de sa mise en forme, et contient les indications de sa structure, il est aisé de le transformer en différents formats grâce à des programmes existants. Les revues fonctionnent avec des budgets toujours plus restreints pourraient donc être amenées à s’orienter vers des modèles plus économes en travail d’édition et de mise en page.

Crise de la reproductibilité et évolution des demandes des revues

Des débats plus épistémologiques, qui se sont cristallisés autour de la question de la reproductibilité, poussent également à des modifications des formats d’écriture demandés aux auteurs.

Ces dernières années, s’est développé un ensemble de critiques du processus de production des résultats scientifiques. La révision par les pairs, qui en est une institution centrale, a vu depuis le début des années 2010 sa fiabilité sérieusement remise en cause, d’abord en médecine, puis en psychologie, en économie et en sociologie. Si auparavant des résultats publiés ont pu être décriés comme frauduleux, et leurs auteurs pointés du doigt, la critique se porte désormais plus sur le processus de véridiction lui-même. Des enquêtes ont montré que la majorité des résultats publiés dans les revues de référence de ces disciplines ne pouvaient pas être reproduits. Ce problème est constitué en problème public, et fait l’objet de débats dans les grandes revues scientifiques ainsi que de rapports publics.

On distingue la reproductibilité empirique, l’obtention de mêmes données si on répète une expérience, de la reproductibilité analytique, obtenir des mêmes résultats si on fait les mêmes calculs. Une partie des réponses apportées jusqu’à maintenant consistent à modifier les pratiques éditoriales afin d’améliorer la reproductibilité analytique. Les revues d’économie, ou l’American Journal of Political Science, demandent désormais, lors de la soumission d’articles, à ce que l’auteur communique en même temps les données et les calculs effectués, pour que la revue puisse tenter de reproduire elle-même les résultats revendiqués.

S’il n’est pas certain qu’une couche supplémentaire de positivisme soit la solution ultime aux problèmes de ce monde, et si ces évolutions posent par ailleurs de nombreuses questions), ces demandes appellent néanmoins à ce que les fichiers transmis aux revues contiennent les calculs produisant les résultats revendiqués. Ceci est assez facile avec une écriture qui dissocie le fond et la forme, mais pas en Word.

Dissocier le fond et la forme – sans avoir à «programmer son texte»

Dans ce contexte, le modèle Word apparait de moins en moins bien adapté. La dissociation de la forme et du fond gagne au contraire en pertinence. Le modèle LaTeX est lourd, mais RMarkdown en possède les avantages sans la plupart des inconvénients.

Est-on si bien avec Word / LibreOffice ?

Le modèle Word a pour avantage l’apparence de la simplicité et de la facilité d’accès : on écrit, le résultat est immédiat. Cependant, pour les documents complexes comme les travaux scientifiques, cet attrait initial masque des difficultés que l’on doit bien souvent résoudre à la fin de l’écriture, rarement le moment idéal. Parmi les coûts cachés du modèle Word, on peut citer :

  • La mise aux normes typographiques : les doubles espaces, espaces insécables demi-espaces insécables avant les signes de ponctuation, etc., sont à vérifier soi-même
  • La table des matières : à re-valider à chaque modification du plan, et bien sûr besoin de structurer le texte
  • Les références à des figures, tableaux ou chapitres/sections, sont souvent écrites «à la main», et lourdes à modifier
  • Certains écrivent leur bibliographie à la main, parfois à la demande des revues
  • Sur certains systèmes, le logiciel est lent, et a du mal à traiter de gros fichiers

Le modèle LaTeX possède des avantages et inconvénients très différents.

Pourquoi ne pas écrire en LaTeX alors ?

Utiliser LaTeX permet de résoudre l’ensemble de ces problèmes. Les détails typographiques, comme la table des matières, les références croisées ou la bibliographie, sont pris en charge et générés automatiquement. La fin de l’écriture est beaucoup plus tranquille, et la mise en page est calculée pour se conformer à un ensemble de normes d’esthétique, ce qui rend les textes agréables à lire. Enfin, les fichiers de travail présentent l’avantage d’être en texte, donc très légers, universellement portables et robustes.

Les coûts d’utilisation de ce modèle se paient plutôt au début, à l’apprentissage. De plus, LaTeX présente les difficultés suivantes :

  • Ce n’est pas un logiciel mais un langage ; on doit utiliser deux logiciels, l’un pour écrire le texte, l’autre pour le mettre en page
  • On ne voit pas le résultat directement pendant l’écriture
  • Il faut écrire son texte comme un programme informatique, avec des balises un peu lourdes pour signaler les instructions de mise en forme
  • Les relectures et travail collaboratif passent par des PDF ou des versions papier, difficilement par le «suivi des modifications» type Word
  • Pour utiliser une nouvelle fonctionnalité, il faut chercher de l’aide dans les manuels ou sur internet

On comprend ainsi que ce modèle ne se soit pas imposé dans les sciences sociales françaises, en particulier dans la période d’informatisation des années 1990, où la tendance dominante était le retour de l’ethnographie, au terrain et aux «vrais gens», plutôt qu’un rapprochement avec les méthodes statistiques, la programmation et autres «truc de geek», devenus à la mode ces dernières années.

Notons au passage que dans les années 2000 a émergé un outil, LyX, qui se situe à mi-chemin entre LaTeX et RMarkdown. Il simplifie l’écriture d’un fichier LaTeX tout en proposant une interface avec des menus et une présentation du texte qui s’approche de la version finale. Il possède un ensemble d’extensions permettant de répondre à des besoins disciplinaires spécifiques (en linguistique par exemple). S’il est parfaitement utilisable en sciences sociales, il reste orienté vers l’impression papier, et garde certaines limitations comme l’écriture collaborative, la faible lisibilité brute des fichiers contenant le texte et les instructions de mise en page, et la publication sur le web.

RMarkdown : le meilleur des (deux) mondes ?

Écrire en RMarkdown offre, en revanche, un ensemble d’avantages de ces deux familles, tout en minimisant leurs inconvénients.

Tout d’abord cela demande moins de soin qu’en Word. Il faut seulement indiquer la structure du document, à savoir les titres, sous-titres, etc. Mais la typographie est prise en charge automatiquement : impossible de trouver dans le document final de double espace, de signe de ponctuation en début de ligne ; pas besoin non plus de se soucier de la table des matières, des renvois entre sections ou des références à des figures et tableaux. La prise en charge de ces aspects de mise en page permet de se concentrer sur l’écriture elle-même.

Ensuite, les fichiers de travail sont de simples fichiers texte. Ils ont l’avantage d’être aussi légers que possible, et robustes. Ils sont nettement mieux adaptés à ce qui s’appelle le suivi des versions (voir plus bas). Enfin, travailler avec de tels fichiers amène à utiliser des logiciels que l’on appelle des éditeurs de texte (et pas des traitements de texte comme Word). Utilisés par les informaticiens, ils peuvent être simples d’accès tout en permettant d’effectuer des opérations complexes sur le texte (comme du rechercher-remplacer avec des expressions régulières, plus puissantes que les fonctions équivalentes de Word) : tout est texte, donc il est facile de chercher des éléments de texte formaté, comme des mots en gras, les notes de bas de page, etc. Également, ils gèrent sans problème des fichiers lourds, tout en consommant peu de ressources matérielles (processeur, batterie, etc.).

En revanche Word est plus performant pour la correction automatique de l’orthographe et de la syntaxe, et plus intuitif pour le suivi des modifications en écriture collaborative. Cependant rien n’empêche de l’utiliser en combinaison avec un éditeur de texte, seulement pour ces fonctions où il est le plus efficace.

Comment réaliser les opérations habituelles en pratique

Bon, comment faire en pratique ? On présente ici comment écrire en RMarkdown, et produire des fichiers (PDF, Word ou HTML) avec RStudio, en pensant particulièrement à ceux qui ont l’habitude de Word + Zotero.

Bases de l’utilisation de RMarkdown avec RStudio

RMarkdown est une syntaxe, qui appartient à la famille des Markdown. La syntaxe de base, celle du Markdown original, a été conçue dans un double objectif : écrire des fichiers texte avec un formattage lisible, et qui soit facilement convertibles pour la publication web. Elle contient des éléments simples : des niveaux de titres, du gras et de l’italique, des liens hypertexte, des listes. Un ensemble de variantes de cette syntaxe ont été créées pour ajouter des fonctionnalités, tout en gardant le même esprit de lisibilité. Parmi elles, le Pandoc Markdown est très riche, et constitue la base de RMarkdown (Pandoc est un utilitaire qui convertit des fichiers textuels entre différents formats).

La production d’un texte mis en page requiert deux étapes : la saisie, et la mise en page (compilation). On peut utiliser deux logiciels différents pour ces deux opérations. Cependant on peut aussi, pour commencer, travailler uniquement avec RStudio, qui permet de faire les deux. On vous conseille donc d’en installer la dernière version. Le grand avantage de RStudio est que l’étape de compilation peut demander plusieurs logiciels, qu’il est un peu difficile d’installer et d’utiliser (Pandoc, LaTeX), mais RStudio s’occupe de tout cela et masque la complexité à l’utilisateur, qui n’a pas à s’en soucier.

Produire le document : appuyer sur un bouton dans RStudio

Pour donner une idée de ce processus, commençons par un premier test, avec du texte sans formatage.

Dans RStudio, créez un nouveau fichier RMarkdown (à choisir dans le menu Fichier). Des éléments de démonstration sont présents. Dans les premières lignes, entre deux lignes de tirets, on trouve les métadonnées du document (titre, auteur, date) et des options de mise en page. Ces éléments seront automatiquement intégrés dans le document final. Pour ce billet, ces lignes sont :

---
title:  "RMarkdown : pour en finir avec Word"
author: "Florent Bédécarrats & Alexandre Hobeika"
date:   "25 février 2017"
output: html_document
---

Ensuite, vous pouvez écrire le texte que vous voulez, puis cliquez sur «Knit to PDF/Word/HTML» («tricoter» dans le format que vous voulez) et vous obtenez le résultat. En cas de problème à cette étape, n’hésitez pas à réinstaller la dernière version de RStudio.

Une syntaxe minimaliste

Pour produire un document plus riche, il faut indiquer là où vous voulez des titres et de la mise en forme du texte. La syntaxe de base du RMarkdown est celle de Markdown.

On écrit :

# Un titre de niveau 1
## Un titre de niveau 2
…
###### Un titre de niveau 6

Cela s’affichera comme des titres, et sera intégré comme tel dans la table des matières.

Pour le texte, un astérisque (*) encadre des caractères *en italique*, deux donnent des caractères **en gras**.

On peut également créer des listes, à un ou plusieurs niveaux, qui peuvent être numérotées ou non :

1. prune
2. poire
3. fruits rouges
    - fraise
    - cerise griotte
4. mirabelle

On peut enfin intégrer du texte cité, qui sera mis en page différemment du corps du texte, en le faisant commencer par un signe > :

> Lorsque, à seize ans, le jeune Karl Rossmann,
que ses pauvres parents envoyaient en exil

Des lignes consécutives sont considérées comme un même paragraphe. La séparation entre deux paragraphe est créée par une ligne vide. On peut également forcer un retour à la ligne en finissant une ligne par deux espaces (ou plus).

Voilà pour les bases. L’écriture scientifique requiert également des fonctions plus complexes : notes de bas de page, tableaux, figures, citations bibliographiques, références croisées… Il est bien sûr possible de les gérer en RMarkdown.

Des objets plus complexes : notes de bas de page, images, tableaux, encadrés

Il existe deux manières d’écrire une note de bas de page. La première est d’exprimer directement son contenu, entre crochets et avec un signe ^, comme ceci : [^Texte de la note.]. La seconde, plus adaptée pour les notes longues, définit un appel de notes avec [^…], et plus loin un paragraphe qui en spécifie le contenu avec le même crochet suivi de deux points, [^…]:, où ici doit être remplacé par un identifiant de votre choix. Par exemple, ces deux morceaux de code sont équivalents :

Du texte[^Contenu d'une note.].

Du texte[^n1].

[^n1]: Contenu d'une note.

On peut également insérer des images et des liens HTML :

Lien HTML: ["Texte du lien"](fichier.html)
Image: ![](image.jpg "Description de l'image")

Les tableaux seront produits par R, dans l’idéal, soit comme produits d’un calcul, soit comme résultats de l’importation en R d’un fichier de tableur (.xls ou .csv). Pour la mise en forme, en l’absence d’option spécifique, le résultat sera une sortie brute avec une police «informatique» (à largeur fixe). Pour obtenir des tableaux plus doux à l’œil, le plus simple est d’utiliser la fonction kable() du package knitr, par exemple :

knitr::kable( summary( cars ) )

Si on veut écrire des tableaux directement en RMarkdown, il existe la syntaxe suivante. Noter que la ligne entre les en-têtes et le contenu indique l’alignement dans la colonne.

| Auteur         | Package   | Année |
| :------------- | :-------: | ----: |
| Yixui Xie      | knitr     | 2012  |
| Hadley Wickham | ggplot2   | 2005  | 
Auteur Package Année
Yixui Xie knitr 2012
Hadley Wickham ggplot2 2005

On peut s’aider d’un utilitaire comme TableFlip sous macOS, ou d’un plug-in pour éditeur de texte, comme TableEditor pour SublimeText.

Quant aux encadrés, ils peuvent être générés de plusieurs manières. La solution de facilité est d’utiliser le mode citation (lignes qui commencent par >) et de tracer des barres horizontales en haut et en bas de la zone d’encadré. Cette technique ne dessine pas de barres latérales, mais ça peut faire l’affaire. Une barre horizontale s’écrit avec trois tirets (ou plus) sur une ligne isolée :

> ---

> **Le statut des bouilleurs de cru**

> Distinct de la profession de distillateur, le statut de bouilleur de cru,
soit le droit de produire soi-même de l'eau-de-vie, est accordé
aux propriétaires récoltants, et de manière résiduelle aux bouilleurs
ambulants (porteurs d'un quota de droit à distiller, non-transmissible
depuis 1959).

> ---

Le statut des bouilleurs de cru

Distinct de la profession de distillateur, le statut de bouilleur de cru, soit le droit de produire soi-même de l’eau-de-vie, est accordé aux propriétaires récoltants, et de manière résiduelle aux bouilleurs ambulants (porteurs d’un quota de droit à distiller, non-transmissible depuis 1959).


Pour de véritables encadrés, en l’état actuel il est plus simple d’utiliser des fonctions spécifiques au format de sortie désiré. Pour des PDF, il est possible d’insérer du code LaTeX brut. Si on veut utiliser le package mdframed, appeler le package dans les en-êtes du fichier .Rmd en insérant les lignes suivantes (en respectant les espaces) :

header-includes:
   - \usepackage{mdframed}

puis commencer les encadrés par \begin{mdframed} et les terminer avec \end{mdframed} (au lieu des > ---).

Pour une sortie HTML, on peut insérer du HTML brut. Par exemple :

<p style="border:1px; border-style:solid; border-color:#000000; padding: 1em;">
Texte à encadrer.
</p>

Donne :

Texte à encadrer.

L’ensemble des fonctions disponibles sont résumées dans ce document, dont les versions plus complètes se trouvent aux liens suivants pour RMarkdown et pour le Pandoc Markdown, dont les fonctions sont utilisables en RMarkdown.

Feuilles de style

Pour configurer les options de mise en page (polices, marges, en-têtes, etc.), il suffit d’indiquer un fichier spécifiant ces options, ce qui s’appelle une feuille de style. Il faut la placer dans le même dossier que le fichier de travail, et préciser son nom dans les en-têtes du document.

Pour une sortie en format Word (.docx), la feuille de style est elle-même un fichier .docx, idéalement produit par RMarkdown, dans lequel on a édité les styles des titres de différents niveaux, les marges, etc. Pour indiquer son nom, on écrit dans les en-têtes :

---
output:
  word_document:
    reference_docx: messtyles.docx
---

Pour une sortie en format HTML on peut appeler un style pré-défini, ou bien indiquer un fichier CSS que vous aurez placé dans le même dossier que le fichier .Rmd, comme suit :

---                             ---
output:                         output:
  html_document:                  html_document:
    theme: unite                    css: mes_styles.css
    highlight: tang             ---
---                             

Pour une sortie en PDF, étant donné que la confection du document utilise LaTeX, on peut utiliser toutes les feuilles de style (ou plus précisément de classes de document) faites pour ce langage, qui possèdent l’extension .cls. En LaTeX, l’appel d’une feuille de style s’accompagne souvent d’options, par exemple pour le format du papier, le choix d’une sortie recto-verso ou non, etc. On peut y inclure la définition de macros, utilisables telles quelles en RMarkdown. On indique le fichier .cls et ses options dans les en-têtes du fichier .Rmd, par exemple de manière suivante :

---
output: pdf_document
documentclass: memoir
classoption: a4paper,12pt,final,twoside,openright
---

Voir la documentation pour plus d’options concernant les sorties Word, HTML et PDF.

La bibliographie : compatibilité avec Zotero (et autres gestionnaires)

Concernant la bibliographie, RMarkdown la génère automatiquement à partir d’un fichier contenant le détail des œuvres référencées, d’appels de références dans le document, et d’une feuille de style de bibliographie.

Pour le fichier des œuvres, un ensemble de formats sont acceptés, de BibTeX (.bib) à EndNote (.enl) en passant par JSON citeproc (.json). Il faut également placer ce fichier dans le même dossier que le fichier RMarkdown sur lequel on travaille, et le spécifier dans les en-têtes, par une ligne du type suivant, en indiquant le vrai nom du fichier (ici dans le cas d’un fichier .bib) :

bibliography: mon-fichier-biblio.bib

Pour la feuille de style bibliographique, RMarkdown utilise le format CSL (comme Zotero). Une liste de feuilles de style disponibles se trouve ici et aussi là. Celle produite par l’EHESS correspond à l’usage dans les sciences sociales françaises. Elle existe en deux versions, soit «Auteur-date», soit avec les références longues en note de bas de page. Pour l’indiquer c’est la même chose :

csl: ma-feuille-de-style-biblio.csl

En l’absence d’autres indications, la bibliographie est générée automatiquement en fin de document.

Il faut maintenant appeler les références. Dans le fichier bibliographique, à chaque œuvre est associé un identifiant de citation (citekey en anglais), que l’on insère dans le document lorsqu’on veut y faire référence. En RMarkdown cela se fait en écrivant [@citekey], et éventuellement d’autres précisions avec [@citekey, précisions].

Les citekeys elles-mêmes sont arbitraires, elles ne servent qu’à faire le lien entre les appels de références et le fichier des œuvres. Cependant, si vous demandez à votre logiciel de bibliographie de créer les citekeys sous la forme «AuteurDate», alors votre fichier RMarkdown ressemblera à : «Comme le décrit Hoggart [@Hoggart1970, 73] pour les années 1950-60…». C’est presque lisible tel quel, ce qui facilite les relectures et la communication avec les collègues.

Avec les logiciels dont les formats de fichier sont supportés par RMarkdown, il suffit en général de régler le format de création automatique des citekeys. Avec Zotero c’est légèrement plus compliqué. Une solution est d’installer l’extension «Zotero Better BibTeX», ce qui permet de générer des citekeys fixes dans Zotero et de les insérer par glisser-déposer des entrées dans le fichier RMarkdown. Pour cela : une fois l’extension installée, aller dans les préférences de Zotero. À l’onglet «Exportation», choisir le format de sortie par défaut comme «Better BibTeX QuickCopy» ; puis aller à l’onglet «Better BibTeX», à côté de «Citation key format» écrire «[auth][year]», et plus bas dans le menu à côté de «QuickCopy format» choisir «Pandoc». Enfin, sélectionner les références que vous voulez utiliser (ou toutes), faire un clic droit et demander «Generate BibTeX key». Vous verrez apparaître dans le champ «Extra» de chaque entrée un contenu du type «bibtex: Hoggart1970». Il est alors possible de glisser-déposer les références directement dans le texte que vous écrivez. Ne pas oublier d’exporter votre bibliographie au format .bib avant la compilation (confection) du document. Voir la documentation de cette extension pour en savoir plus, notamment si vous préférez un autre format de citekey.

Voilà pour les éléments de texte. Mais l’intérêt de RMarkdown, en particulier par rapport aux autres variantes de Markdown, est de pouvoir aussi prendre en charge des calculs ou des visualisations réalisées avec R.

Intégrer directement les traitements en R : renforcer la reproductibilité analytique

Une des grandes forces du format RMarkdown est sa capacité d’intégrer directement du code R. Les calculs sont effectués au moment de la production du document final. Ainsi on évite d’effectuer des manœuvres hasardeuses avec les données, comme des copier-coller, sources potentielles d’erreurs et de non-reproductibilité éditoriale.

Les balises pour indiquer le code à exécuter

Le code se signale par les signes ```{r} pour commencer, et ``` pour finir :

```{r}
print( "Hello world!" )
```

On peut aussi intégrer du code dans des phrases, en l’entourant par `r et `, par exemple `r 2+2` se transformera en 4.

Le programme qui se charge d’effectuer les calculs s’appelle knitr. C’est un package R. RStudio l’appelle automatiquement quand on demande de fabriquer le document final («Knit to PDF» ou autres). Il possède des options, en particulier celle de faire apparaître ou non les instructions des calculs dans le document. Par défaut elles sont affichées, pour que ce ne soit pas le cas il existe l’option echo = FALSE. L’exemple qui est donné quand vous créez un nouveau document RMarkdown sous RStudio montre comment structurer son document : un premier bloc contient les options générales de knitr pour ce fichier, auquel on peut ajouter le chargement des packages que l’on utilise par la suite ; ensuite on écrit des blocs avec des options spécifiques à chaque bloc. Par exemple, au début du fichier :

```{r setup, include = FALSE }
knitr::opts_chunk$set( echo = TRUE )
library( ggplot2 )
```

Et ensuite, quand on veut intégrer des traitements R :

```{r plot_pressure, echo = FALSE }
plot( pressure )
```

À noter que dans ces deux exemples, le mot de la première ligne qui suit immédiatement ```{r et précède la première virgule (ici setup et plot_pressure), est simplement le nom, optionnel et arbitraire, que vous donnez à ce bloc d’instructions.

Pour en savoir plus sur knitr, on vous renvoie à son manuel d’utilisation. S’y repérer demande de connaître son vocabulaire : les morceaux de code sont appelés des «chunks» (morceaux), tandis que les options associées sont des «hooks» (des «aiguilles à tricoter»). Les exemples sont parfois écrits sous une forme qui commence par << …… >>= et finit avec @, mais pour les options c’est la même chose.

Les visualisations, leurs légendes et références

Pour produire des graphes, cartes, ou autres visualisations, il suffit d’écrire le morceau de code correspondant.

Le graphique se voit attribuer une numérotation automatiquement, dès lors qu’il possède une légende (caption), ce qui est souvent indispensable. Si vous voulez y faire référence par la suite, il faut y ajouter un identifiant. Cela peut se faire de la manière suivante :

```{r, fig.cap="Légende.\\label{fig:identifiant}" ) }
plot(…)
```

Légende est le texte qui sera affiché sous le graphique. L’identifiant, qu’on a noté ici fig:identifiant et que vous pouvez modifier comme vous le souhaitez, est le petit nom que vous invoquerez pour y faire référence. Par exemple, pour obtenir quelque chose comme «voir figure 2.1», on écrit dans le fichier Rmd :

voir figure \ref{fig:identifiant}

Cette syntaxe est certes un peu lourde et ne marche que pour produire des PDF. Il existe une meilleure solution, qui marche pour PDF et HTML : appelée Bookdown, elle utilise la syntaxe RMarkdown, et y ajoute quelques fonctionnalités utiles pour la publication. Elle est déjà utilisable avec RStudio mais de façon encore un peu compliquée, mais devrait se simplifier rapidement.

Écrire en pensant la reproductibilité

Enfin, la reproductibilité analytique n’est pas garantie par l’outil RMarkdown seul, mais par la combinaison du fichier .Rmd et des données qui y sont imbriquées. Dans le cas de calculs complexes, on peut vouloir éviter d’effectuer des traitements longs et lourds à chaque fois qu’on modifie le texte, et privilégier la compilation du document final à partir de résultats intermédiaires de calcul.

Or, comme l’en avertit Andrew Gelman, «ce n’est pas reproductible si ça ne marche que sur votre ordinateur». Si on veut optimiser la reproductibilité analytique, il convient donc de la penser au cours de l’élaboration du document, en travaillant ses fichiers d’analyses statistiques jusqu’à ce qu’ils soient lisibles et convocables sur demande, bref en maintenant les liens entre les différents fichiers de travail.

Dissocier les logiciels selon leurs points forts

On a parlé de syntaxe, mais avec quels outils travailler ? Il est possible d’utiliser uniquement RStudio. Cependant, s’il est efficace pour effectuer les calculs R et transformer le fichier vers les formats de sortie, il n’est pas très confortable pour écrire. En pratique, on peut combiner plusieurs logiciels et tirer parti de leurs avantages respectifs. Le grand intérêt des fichiers texte est leur ubiquité : ils sont gérés par tous les logiciels, aussi bien les traitements de texte que les éditeurs de texte. On peut donc passer de l’un à l’autre insensiblement. On propose ici un exemple d’usage réel : une écriture avec un éditeur de texte, une correction orthographique avec Word, et la création du rendu avec RStudio.

Les éditeurs de texte et le (R)Markdown

Tous les éditeurs de texte modernes offrent des outils d’aide à l’écriture en Markdown et en RMarkdown. Les plus simples sont l’insertion de balises de mots en gras ou en italique grâce aux combinaisons de touches (par exemple commande-B et commande-I respectivement). Ils peuvent s’accompagner de coloration de la syntaxe, facilitant la lecture (cf. exemple ci-contre). Ils détectent le contexte, et insèrent les symboles adéquats (parenthèses fermantes, chevrons dans un contexte de citation, etc.), ce qui facilite l’écriture.

scrshot-rmd

Une capture d’écran de ce fichier sous TextMate, avec le thème MultiMarkdown (les couleurs sont facilement modifiables).

TextMate sous macOS est remarquable, et utilisable gratuitement. Simple d’utilisation au premier abord, il est en même temps très puissant, sa complexité se découvrant peu à peu. À la création d’un fichier, sélectionner le langage, ici Pandoc, après avoir installé le module associé : le télécharger là en cliquant sur «Clone or download» et «Download ZIP», puis extraire le .zip en double-cliquant dessus, le renommer en faisant de sorte que son nom se termine par «.tmbundle», et le glisser-déposer sur l’icône de TextMate pour l’installer. Il est possible de naviguer dans le plan avec commande-maj-T.

Disponible pour tous les systèmes d’exploitation, Sublime Text est aussi excellent et utilisable gratuitement, quoique légèrement plus complexe d’utilisation. BBEdit et sa version plus simple et gratuite TextWrangler sont aussi recommandés. Pour vous faire la main, quantité de logiciels plus modestes mais tout à fait utilisables existent.

Sur mobile, de très bons logiciels d’écriture Markdown existent, avec des fonctions plus ou moins riches, dont Ulysses, Editorial, Bear, Byword, iA Writer, JotterPad, etc. Ils utilisent le Markdown simple le plus souvent, parfois le MultiMarkdown, mais cela ne pose pas de problème d’y écrire du RMarkdown, qui en est très proche.

Exporter en Word pour les corrections et l’écriture collaborative…

Pour utiliser le correcteur de Word ou Antidote, ou bien travailler collaborativement avec des utilisateurs de Word, on peut convertir le .Rmd en format Word .docx.

La difficulté se situe au niveau de la validation des commentaires et de leur réintégration en RMarkdown. Le plus simple actuellement est de les intégrer «à la main» dans le fichier .Rmd, c’est un des inconvénients de ce système et la limite de la collaboration avec Word.

Le plus simple est donc de se faire relire directement en .Rmd, ce qui permet d’utiliser le mode révision de Word. Le plus difficile est probablement de trouver un relecteur qui ne soit pas indisposé par le RMarkdown.

… ou utiliser les outils des informaticiens avec RStudio

Si vous trouvez des collaborateurs volontaires, il existe aussi d’autres méthodes permettant l’écriture collaborative directement en RMarkdown. Les informaticiens écrivent à plusieurs des programmes depuis plus d’un demi-siècle, sur des fichiers texte comme le .Rmd, et ont développé des outils pour cela : la comparaison des différences et le suivi des versions. RStudio fait là aussi un travail remarquable pour simplifier et rendre assez indolore leur usage, et donner une ergonomie de suivi des modifications qui s’approche de celui de Word.

suivi-modifs-git

Un exemple de suivi des modifications (de l’écriture de ce fichier) avec RStudio. Ici, une comparaison de deux fichiers. En vert les ajouts, et s’il y avait des lignes supprimées elles seraient colorées en rouge. Deux boutons à droite permettent d’«accepter» ou «rejeter» les modifications. On peut en parallèle éditer le même fichier dans une autre fenêtre.

Entrer dans le détail de leur utilisation dépasse l’objet de cette présentation, et fera l’objet d’un prochain billet, mais si vous en voulez un aperçu vous pouvez essayer l’éditeur de texte en ligne Draft.

Compiler le document final avec RStudio

Enfin, on peut n’utiliser RStudio que pour la compilation des documents, que ce soit en Word pour les corrections, ou bien en PDF ou HTML pour la publication. Cela demande un simple clic, comme mentionné précédemment.

Conclusion

On a présenté ici de façon détaillée l’ensemble des opérations d’écriture en RMarkdown, pour que vous puissiez évaluer honnêtement les avantages mais aussi les coûts de transition par rapport à Word ou LaTeX. On n’est pas encore arrivé au point où on pourra se dispenser complètement de Word, mais on s’en approche rapidement.

Pour des versions plus résumées de cette présentation, n’hésitez pas à consulter cette référence de la syntaxe RMarkdown, Une présentation synthétique de Julien Barnier, et quelques explications pour clarifier ce que sont RMarkdown, knitr, Bookdown, etc..

Beaucoup d’autres options, qu’il est impossible de présenter ici, sont disponibles avec RMarkdown (et le Pandoc Markdown, dont il est dérivé). Pour les explorer, voir la documentation de Pandoc, ainsi que celle de RMarkdown pour la production de fichiers PDF, HTML ou Word, et plus simplement Google et StackOverflow. Il est également possible de faire sans RStudio, en cas de besoin. RStudio fait fonctionner ensemble plusieurs programmes «comme si de rien n’était», en masquant le processus. Pour qui voudrait s’en passer, par nécessité, goût ou volonté de customisation, il suffit d’installer et d’utiliser knitr, puis Pandoc, et LaTeX/BibLaTeX.

En tout cas vous êtes maintenant armés pour une utilisation généraliste de RMarkdown. N’hésitez pas à le tester, le Markdown et ses dérivés sont des formats qui se sont largement diffusés pour l’écriture sur le web, et commencent à s’imposer comme un des standards de l’écriture scientifique.

Alexandre Hobeika

Docteur en sociologie politique de l'EHESS, CMH-ETT

More Posts - Website

Science XXL – Programme

Science XXL

Ce que l’abondance et la diversité des données font aux sciences sociales

Journées d’étude organisées par Arnaud Bringé, Anne Lambert et Étienne Ollion
avec le soutien de l’INED et du laboratoire SAGE (Université de Strasbourg)

Inscription gratuite mais obligatoire sur le site de l’INED

Données de l’Internet, données administratives, données de capteurs, fichiers de gestion (du personnel, d’adhérents, d’anciens élèves), etc…. le volume d’informations numériques disponibles a fortement cru ces dernières années. Une fois passée la fascination pour ces gisements de données en apparence gratuites, abondantes et immédiatement disponibles, les questions soulevées par l’usage scientifique de ces masses numériques sont nombreuses.

Certaines sont classiques, d’autres moins, d’autres enfin se posent avec une acuité renouvelée.
Le plus souvent produites à des fins gestionnaires, administratives ou commerciales, les informations collectées ne sont pas toujours utiles pour les chercheur-e-s, en tous cas pas immédiatement ; quoique massives, elles ne sont pas toujours plus précises, ni plus fiables que des données d’enquête classique ; les questions d’accès et de propriété des données compliquent le travail ou modifient la place des chercheur-e-s, qu’elles-ils soient demandeur-e-s ou, de manière croissante, sollicité-e-s par les producteurs pour les traiter.

L’objectif de ces journées d’étude est de prolonger ces réflexions théoriques, méthodologiques, épistémologiques et éthiques pour savoir ce que l’abondance et la diversité des données numériques font aux pratiques de recherche en sciences sociales, en France comme à l’étranger.

Jeudi 16 mars

9h30 : Introduction
Mot d’accueil : Magda Tomasini (Directrice de l’INED)
Introduction générale : Anne LAMBERT (INED – CMH) et Étienne OLLION (SAGE – Université de Strasbourg)

10h00-12h00 – Session 1 : Sources et enquêtes
Président : Étienne Ollion (SAGE – CNRS)
Discutant : Baptiste Coulmont (CSU – Université Paris 8)

Présentations courtes
Antoine BEVORT (LISE-CNAM-CNRS) : La Webanalytics des sites socio-politiques : méthodologie et études empiriques
Antoine COURMONT (CEE-Sciences Po) : Ouvrir les données publiques : les données à l’épreuve de leur diffusibilité
Laurent BEAUGUITTE (IDEES-CNRS), Hughes PECOUT (CIST),  Marta SEVERO (DICE-idf, Université Paris Nanterre) : Les flux RSS pour étudier l’actualité internationale
Andrey GRUNIN (CIHAM, Université d’Avignon) : Pour des données historiques massives : ambitions, enjeux, questionnements
Léonard MOULIN (INED) : Etudier les trajectoires étudiantes à l’aide de données administratives
Muriel EPSTEIN et Nicolas BOURGEOIS (SAMM – Université Paris 1) : Des blogs enseignants comme « meilleurs entretiens non directifs » ? L’apport d’une analyse textuelle quantitative
Paul HOBEIKA (CSU – Université Paris 8) – Quelles catégories statistiques pour étudier les inégalités entre retraités? Apports et limites des bases de données administratives

14h-16h00 – Outils
Présidente : Eva Lelièvre (INED)
Discutant : Arthur Charpentier (CREM – Université Rennes 1)

Présentations longues
Étienne OLLION (SAGE – Université de Strasbourg) et Julien BOELAERT (SAGE – Université de Strasbourg) – Ce que peut le machine learning
Églantine SCHMITT (COSTECH – Université technologique de Compiègne) – Quelle ingénierie logicielle pour le traitement de données textuelles en sciences sociales ?

Présentations courtes
Nicolas ROBETTE (ENSAE), Audrey MARIETTE (CSU – U. Paris 8), Laure DE VERDALLE (PRINTEMPS – UVSQ), Karim HAMMOU (CSU – U. Paris 8) – Heaven’s gate? Construction d’une base de films par agrégation de diverses sources Internet
Paul GIRARD, Mathieu JACOMY, Christophe LECLERCQ (Sciences Po – MEDIALAB) : Explorer association et transformation à travers des datascapes
Léo JOUBERT (LEST – Université d’Aix-Marseille) – Global et local dans les communautés numériques. Le cas de Wikipedia
Valérie BEAUDOUIN, Florence d’ALCHE-BUC, Adrien NOUVELLET, Christophe PRIEUR, François ROUEFF (LTCI – Telecom ParisTech) : Ce que le web fait à une bibliothèque : étudier les usages de Gallica par les traces
Pierre-Olivier CHASSET, Hadrien COMMENGES (Géographie-Cités – Université Paris 1), Clémentine COTTINEAU (CASA – University College of London), Christine KOSMOPOULOS (Géographie-Cités – Université Paris 1), Denise PUMAIN (Géographie-Cités – Université Paris 1), Juste RAIMBAULT (LVMT, Université Paris-Est): CybergeoNetworks : un outil interactif pour l’analyse de corpus bibliométriques massifs

16h00-16h30 : Pause

16h30-18h00 – Table ronde : Les sciences sociales face aux données massives.
Claire LEMERCIER (CSO – CNRS)
Pauline GIVORD (INSEE)
Dominique CARDON (MEDIALAB – Sciences Po)

18h00-19h30 – Réception

VENDREDI 17 MARS

10h00-12h30 –  « Accès, droit, et éthique »
Président : Alain Trognon
Discutante : Béatrice Cherrier

Présentations courtes
Pierre-Antoine BILBAUT (INED – CERLIS) – Aspirer des données et après? Questions d’éthique et de méthode
Jérémie GARRIGUES (STSLab – Université de Lausanne) – Accès aux données numériques et formalisation algorithmique : le cas du crawl d’une plateforme de livewebcam
Bilel BENBOUZID (LISIS – Université Paris Est), Nicolas BAYA-LAFFITE (STSLab – Université de Lausanne), Jean-Philippe COINTET (INRA – LISIS)  – Le sociologue et les dataproviders : quelles liaisons dangereuses?

Table-ronde: Quels droits pour l’enquête en sciences sociales?
Pierre-Yves GEOFFARD (PSE-Economie)
Florence WEBER (ENS – Anthropologie)
Emilie DEBAETS (Université de Toulouse – Droit)

14h00-16h00 –  « Savoirs »
Présidente : Anne Lambert (INED – CMH)
Discutant : Rémy Caveng (CURAPP – Université de Picardie)

Présentations longues
Marie BERGSTRÖM (INED) – Sites de rencontres : un nouveau site d’observation de la formation des couples
Gilles BASTIN (PACTE – Sciences Po Grenoble) – Le datascraper est-il un observateur participant comme un autre ? Un retour d’expérience sur le réseau LinkedIn

Présentations courtes
Alexandre HOBEIKA (CMH – SAGE) – « Nethnographie » et jeux d’échelle : comment l’outillage méthodologique se modifie-t-il avec la taille du corpus?
Yoann DEMOLI (PRINTEMPS – Université Versailles Saint Quentin) – Enseigner les méthodes quantitatives grâce aux big data : retour d’expérience
Olivier CABRIGNAC (Global Life), Arthur CHARPENTIER (CREM – Université de Rennes 1), Ewen GALLIC (CREM – Université de Rennes 1) – Les données collaboratives généalogiques au service de la démographie historique.

étienne

Chercheur CNRS (SAGE-Université de Strasbourg). Données numériques, sociologie politique, épistémologie des sciences sociales.

More Posts

Exploiter les donnée d’enquêtes ménages pour la recherche ou la décision publique : un guide et trois billets

Faisant écho au Prix Nobel d’économie attribué à Angus Deaton, en reconnaissance notamment de ses travaux sur les enquêtes de conditions de vie des ménages, nous mettons aujourd’hui en ligne un document de travail sur ce sujet, qui sera l’occasion de trois billets sur notre blog. Cet article explique en quoi les données d’enquêtes ménages menées régulièrement dans (presque) tous les pays du monde  constituent une mine d’informations précieuses pour la recherche et la prise de décision publique, mais que celle-ci reste dramatiquement sous-utilisée. L’article propose un guide détaillée qui explique où trouver ces données, comment se les procurer et comment les analyser. Elaboré initialement comme l’annexe statistique d’un article récemment publié dans le Journal of Hydrology, il prend comme exemple didactique les multiples enquêtes qui renseignent sur l’accès à l’eau potable dans la mégalopole de Kinshasa en République Démocratique du Congo.

Voici l’article en question :

Et à venir dans les prochaines semaines, trois billets par Florent Bédécarrats, l’un des auteurs de cet article :

  • Le Mardown : un format pour de publications scientifiques qui favorise la réfutabilité et reproductibilité des résultats, mais aussi la diffusion des méthodes (co-écrit avec Alexandre Hobeika)
  • Pourquoi s’intéresser aux données d’enquêtes ménages et où les trouver ?
  • Survey : un package R qui facilite l’analyse de données issues d’enquêtes complexes

Alexandre Hobeika

Docteur en sociologie politique de l'EHESS, CMH-ETT

More Posts - Website

AAC : Retour critique sur les sociologies numériques

Nous relayons ici un appel à communication pour un dossier coordonné par N. Baya-Laffitte et B. Benbouzid, à paraître dans la revue Sociologie et Sociétés.

——–

Mike Savage et Roger Burrows annoncent en 2007 dans la revue Sociology une crise à venir pour la sociologie empirique. Les deux professeurs de sociologie s’inquiètent de l’obsolescence proche des méthodes de collecte de données qui ont fait la spécificité de leur discipline (les enquêtes en population, les suivis longitudinaux, les entretiens, les reconstitutions de réseaux sociaux etc.). Les méthodes d’enquêtes couteuses et souvent laborieuses des sociologues, qu’elles soient quantitatives ou qualitatives, seraient progressivement « déclassées » avec l’accès supposé facilité à un nombre important de données de transactions sociales enregistrées au quotidien par les acteurs publics certes, mais de plus en plus par les acteurs de l’économie marchande et d’internet : « In an age of knowing capitalism, sociologists have not adequately thought about the challenges posed to their expertise by the proliferation of « social » transactional data which are now routinely collected, processed and analysed by a wide variety of private and public institutions » (Savage et Burrows, 2007). Pour survivre à un contexte de concurrence accrue entre différents types de savoir sur le social, la sociologie doit, selon les auteurs, se préparer aux évolutions numériques en marche.

La même année, Roger Burrows cette fois avec David Beers, publie un article, Sociology and, of and in Web 2.0: Some Initial Consideration, sur les orientations que pourraient prendre cette préparation. Les auteurs imaginent de passer d’une sociologie du web à une sociologie qui, pour ainsi dire, se love dans le web. Selon les auteurs, les transformations numériques ne doivent plus uniquement intéresser les sociologues des technologies de l’information et des communications, elles interpellent l’ensemble de la sociologie. Les réseaux sociaux, par exemple, doivent dépasser le statut « d’objet de recherche » pour devenir des instruments de recherche à part entière. En 2007, les données du web paraissent encore facilement accessibles. Burrows et son collaborateur voient les réseaux sociaux comme des archives ouvertes sur la vie quotidienne des individus, une sorte de « codification continue des habitus » par l’enregistrement systématique des préférences, des choix, des points de vue, des caractéristiques physiques, des situations géographiques, des parcours éducatifs, des situations professionnelles etc. Ainsi, avant l’engouement médiatique autour des méga-données (big data), les sociologues avaient déjà commencé à s’interroger sur les enjeux de l’adaptation de leurs pratiques de recherche aux nouvelles opportunités offertes par les données numériques.

Le ton programmatique de ces deux articles souvent cités invite à un retour critique s’interrogeant sur les évolutions numériques de la sociologie depuis une dizaine d’années. On voit poindre dans de nombreux pays des programmes de recherche et des instituts spécialement dédiés au développement d’approches plus intégrées du numérique dans la production de connaissance sur les phénomènes sociaux. En effet, face à l’abondance de supports d’enquête numérisés et de données produites sur et par le web, de nombreuses études empiriques numériques ont été réalisées ces dernières années en sociologie. Une « sociologie numérique » en plein essor, mais au contour difficile à dessiner, prend progressivement place dans le paysage académique.

Ce numéro a pour but de réfléchir aux répercussions concrètes des transformations numériques dans l’approche de la sociologie et, partant, des rapports de la sociologie avec ses objets, ses méthodes et ses outils. Quels sont les effets concrets de cette mise en numérique sur la sociologie et ses usages ? Dans quelle mesure avons-nous accès à des modes de compréhension inédits des phénomènes sociaux par le biais de nouvelles entités, qu’elles soient natives du web ou objets numérisés ? Comment ces nouvelles entités numériques sont-elles en train de transformer la pratique et la connaissance sociologique? Et, notamment, comment la sociologie s’équipe-t-elle pour se saisir d’objet numérique en constante évolution? Comment la sociologie gère-t-elle le caractère éphémère des outils et stratégies mis au point dans ce sens ? Comment les équipements développés se relient-ils à des approches spécifiques du social ? Que font les nouvelles techniques quantitatives de data mining à la visée interprétative de la sociologie ? Dans ce contexte comment s’articulent les tensions nouvelles entre approches quantitatives et qualitatives ? Quelles sont les conditions d’accès et de collecte de données pour faire de la recherche numérique ? Quels sont les lieux où ces nouvelles sociologies prennent forme ? Autrement-dit, quelles sont les organisations spécifiques dans lesquelles elles s’ancrent ? Quelle est la spécificité du regard sociologique sur le numérique par rapport à d’autres domaines qui s’en saisissent (journalisme, marketing, urbanisme etc.) ? Quelles sont les limites, les apories et les déceptions rencontrés par cette mise en numérique de la sociologie, notamment au vue de l’économie des promesses qui accompagne cette transformation? A l’aune des résultats obtenus à l’heure actuelle, dans quelles directions la nature du savoir sur le social évolue-t-elle?

Les articles attendus pourront ainsi répondre à une ou plusieurs de ces questions. Le dossier privilégiera des travaux de mise en perspective critiques alimentés par des expériences de recherches, des développements institutionnels d’équipements où des études empiriques sur des cas concrets.

Calendrier

Les intentions de contributions, comportant un titre, un résumé et un plan envisagé de l’article (3,000 signes max., espace compris, soit approximativement 500 mots) doivent être adressées aux coordinateurs (nicolas.bayalaffite [at] unil.ch et bilel.benbouzid [at] u-pem.fr) avant le 9 janvier 2017. Les intentions de contributions et les articles en anglais sont acceptés, compte-tenu que les auteurs prennent en charge la traduction en français de la version finale acceptée. Les auteurs des propositions retenues seront avisés avant le 1er février 2017.

Les articles finaux (70,000 signes max., espaces et bibliographie compris, soit approximativement 11,000 mots) devront être remis au plus tard le 12 juin 2017. Conformément aux pratiques de la revue, l’acceptation de l’article final dépendra des conclusions de la procédure d’évaluation par les pairs. La publication est prévue pour fin 2017.

étienne

Chercheur CNRS (SAGE-Université de Strasbourg). Données numériques, sociologie politique, épistémologie des sciences sociales.

More Posts

Sciences XXL – Ce que l’abondance et la diversité des données numériques font aux sciences sociales

Le carnet Data relaie cet appel à communication pour des journées d’études qui se tiendront les 16 et 17 mars 2017, à l’INED (version PDF).

Données de l’Internet, données administratives, données de capteurs, fichiers de gestion (du personnel, d’adhérents, d’anciens élèves), etc…. le volume d’informations numériques disponibles a fortement cru ces dernières années. Une fois passée la fascination pour ces gisements de données en apparence gratuites, abondantes et immédiatement disponibles, les questions soulevées par l’usage scientifique de ces masses numériques sont nombreuses.

Certaines sont classiques, d’autres moins, d’autres enfin se posent avec une acuité renouvelée.
Le plus souvent produites à des fins gestionnaires, administratives ou commerciales, les informations collectées ne sont pas toujours utiles pour les chercheur-e-s, en tous cas pas immédiatement ; quoique massives, elles ne sont pas toujours plus précises, ni plus fiables que des données d’enquête classique ; les questions d’accès et de propriété des données compliquent le travail ou modifient la place des chercheur-e-s, qu’elles-ils soient demandeur-e-s ou, de manière croissante, sollicité-e-s par les producteurs pour les traiter.

L’objectif de ces journées d’étude est de prolonger ces réflexions théoriques, méthodologiques, épistémologiques et éthiques pour savoir ce que l’abondance et la diversité des données numériques font aux pratiques de recherche en sciences sociales, en France comme à l’étranger. Les communications pourront s’appuyer sur des récits d’expériences ou des restitutions de recherches déjà menées, en vue d’expliciter ces pratiques de manière réflexive, ou de saisir d’éventuels changements de ces dernières au cours du temps. Des présentations sur la production ou les usages que les administrations ou les entreprises font des données numériques pourront aussi être proposées. Les comparaisons (historiques et/ou avec d’autres disciplines scientifiques) sont particulièrement bienvenues afin de mieux cerner l’éventuelle nouveauté de la situation actuelle.

cincinnatti-library_mclaughlinCincinnati Public Library (crédits, et plus)

Calendrier

  • Clôture de l’appel à communication le 22 novembre 2016
  • Décision du comité scientifique et notification : 18 décembre 2016
  • Journées d’étude : Jeudi 16 et vendredi 17 mars 2017

Adresse de contact : scienceXXL@gmx.com
Lieu : Ined, salle Sauvy, 133 boulevard Davout, 75020 Paris

Comité d’organisation
Arnaud Bringé (Ined – chef du service des méthodes statistiques), Anne Lambert (Ined-CMH), Étienne Ollion (Université de Strasbourg-SAGE).

Comité scientifique
Andrew Abbott (sociologue – Université de Chicago), Didier Breton (démographe – Université de Strasbourg-SAGE), Dominique Cardon (sociologue – Sciences Po), Arthur Charpentier (économiste – Université de Rennes 1), Béatrice Cherrier (économiste – Université de Caen), Emmanuel Didier (sociologue – CNRS), Frédéric Lebaron (sociologue – ENS Cachan), Eva Lelièvre (démographe – INED), Claire Lemercier (historienne – CNRS), Pierre Mercklé (sociologue – ENS Lyon), Alain Trognon (statisticien – INSEE), Laurent Toulemon (démographe – INED), Florence Weber (anthropologue – ENS Ulm).

*

Les propositions de communication (qui peuvent être en anglais ou en français) sont à renvoyer avant le 22 novembre 2016. Elles pourront s’inscrire dans l’un des 3 axes suivants :

1. Données cherchent chercheur-e-s : conditions d’accès et d’usage des données
La multiplication de sources de données, par des « nouveaux » producteurs le plus souvent situés hors du monde académique, modifie parfois substantiellement la position des chercheur-e-s. Pour accéder aux informations, ces dernier-e-s doivent engager des négociations avec les propriétaires des données, parfois sans connaître en amont leur qualité, leur nature et la quantité / représentativité des informations disponibles. Cela passe souvent par la signature d’un contrat de recherche ou d’une convention de partenariat dans lesquels les contraintes imposées peuvent être importantes.
La présence accrue du droit dans la relation d’enquête n’est pas qu’une affaire de juriste. De manière croissante, les chercheur-e-s sont aussi invité-e-s, en échange de l’accès aux données, à les traiter pour le compte de l’organisation, à adopter des modes de restitution séparés (académiques et experts), voire à mettre en place un partenariat où les résultats seront valorisés par l’organisme producteur. Les chercheur-e-s peuvent aussi être directement démarché-e-s par des institutions publiques ou privées pour travailler sur leurs données, moins sur la base de leur connaissance approfondie d’un champ scientifique que de leur compétence technique en matière de traitement de données. Ces nouvelles conditions modifient- elles les pratiques de recherche (par exemple, les manières de concevoir son objet de recherche, les modes de reconnaissance entre pairs, la manière de constituer les équipes de recherche et de répondre à des appels d’offre, etc.) et dans quel sens ? Comment la collaboration entre ces producteurs de données et le monde de la recherche s’organise-t-elle ?

Une fois obtenues, l’usage et la conservation des données sont également encadrés par un ensemble de règles, certaines légales, d’autres contractuelles, d’autres encore auto-imposées. Beaucoup d’informations utilisées dans les sciences sociales tombent sous le coup de la loi Informatique et Libertés de 1978 sur les données personnelles, et doivent donc être collectées avec parcimonie, voire pas du tout. Certaines doivent être détruites après coup, ce qui bouscule a priori le principe de cumulativité de la science et les possibilités de « revisite » des terrains et objets d’enquête. Dans d’autres cas, ce sont les institutions propres au champ scientifique (les comités d’éthique ou les review boards) ou les normes propres au milieu qui viennent encadrer ces usages. Comment les chercheur-e-s négocient-elles/ils ces contraintes institutionnelles ? Quelles transformations cela implique t-il dans la pratique concrète de la recherche, la division du travail scientifique (de la négociation à la restitution) ?

Ces données posent aussi la question du cout d’accès pour les chercheur-e-s. En apparence gratuites, ces dernières peuvent nécessiter un accès sécurisé et/ou payant, des infrastructures de stockage et de sauvegarde, des logiciels puissants pour les traiter, voire l’embauche de personnel pour les préparer et les mettre en forme, augmentant les inégalités d’accès entre institutions et laboratoires. Enfin, dans le cadre d’accords signés avec les producteurs, les chercheur-e-s peuvent être contraint-e-s quant aux modalités de restitution des résultats, leurs publications académiques peuvent par exemple être encadrées par des clauses de notification, un droit à la primo-publication, etc. Parallèlement, les données qualitatives collectées dans le cadre d’enquête multi-méthodes posent la question de leur statut, des conditions de leur anonymisation comme de leur propriété. Comment ces demandes modifient-elles le travail scientifique, depuis sa conception jusqu’à sa restitution ?

2. Des objets aux savoirs constitués : objets, disciplines et théories
Parmi la masse de données numériques disponibles, beaucoup proviennent de capteurs individuels (disposés par exemple sur les téléphones portables, les ordinateurs, les montres, etc.) ou de fichiers propres à des organisations et n’ont pas été conçues pour les besoins de la recherche. La critique habituelle selon laquelle ces données ne pourraient pas servir au travail scientifique doit être nuancée : les chercheur-e-s travaillent depuis longtemps sur des données qui n’ont pas été conçues par et pour elles-eux (archives administratives, bases de données d’entreprises, etc.). Mais cette critique doit aussi être précisée. Que peut-on faire avec ces données : à quelles questions permettent-elles de répondre auxquelles on ne pouvait pas répondre avant ? Et à quelles conditions (redressement, contrôle) ? Dans quelle mesure sont-elles compatibles ou complémentaires avec d’autres sources et méthodes d’enquête ? Les travaux articulant (ou comparant) différentes sources de données, d’enquête (produites par des chercheur-e-s ou la statistique publique) et de gestion (produites par des administrations, des entreprises, des associations, etc.) sont de ce point de vue bienvenus ; ils s’efforceront de discuter l’apport empirique de ces bases numériques et leurs effets éventuels sur la chaîne de production de la recherche (lien avec les services d’appui à la recherche et les ingénieurs de recherche, etc.).

La question des objets de la connaissance se pose à nouveau avec acuité. L’abondance de certaines sources tend à privilégier certains sujets ou questions au détriment d’autres, pour lesquels les données sont moins directement disponibles – qu’ils soient moins facilement quantifiables, statistiquement marginaux, économiquement non rentables. Les objets de recherche ont-ils déjà évolué, et si oui dans quel sens ? Les catégories utilisées pour décrire le monde social changent t- elles avec la modification des sources ? Les pratiques des disciplines comme les frontières classiques entre elles en sont-elles affectées? Les communications portant sur les effets de la multiplication des données sur les savoirs produits sont bienvenues. Outre les questions de méthodes ou les formes de connaissance favorisées, les présentations pourront réfléchir aux stratégies mises en place par les chercheur-e-s pour gérer l’abondance ou en tirer profit.

Enfin, les résultats doivent être considérés. Le phénomène des « big data » a été initialement célébré pour la capacité que cette masse numérique aurait à faire entrer les sciences sociales dans une nouvelle ère théorique et/ou prédictive. Mais quelles en sont les réalisations concrètes ? Et au prix de quels déplacements ? L’abondance transforme t-elle vraiment les manières de faire et si oui, dans quel sens ? S’oriente-t-on par exemple vers une forme d’hyperempirisme au détriment d’autres formes de conceptualisation ? Et plus généralement, les savoirs produits augurent-ils d’une nouvelle hiérarchie des manières de faire et des objets en sciences sociales ?

3. Les outils de la connaissance : collecter, compter, nettoyer, analyser
Les communications pourront enfin mettre en avant les outils mobilisés pour collecter, stocker, explorer et traiter ces données. Cette question en apparence technique et logistique est lourde d’enjeux scientifiques et épistémologiques. Quels sont les savoirs produits, et en quoi diffèrent-ils de ceux issus des modes de collecte classiquement utilisés en sciences sociales (questionnaires, archives, etc.)? Les recherches empiriques menées sur des lieux de production de ces données (de la conception des capteurs téléphoniques par exemple aux plateformes d’agrégation de données), éventuellement armées par les outils de l’anthropologie des sciences, sont bienvenues, tout comme le sont les communications qui s’intéressent à la production des données ouvertes (open data) et aux expériences de collecte collective (crowdsourcing).

Les outils disponibles pour traiter ces données évoluent aussi. La masse de données modifie par exemple les usages possibles de la statistique et leur articulation avec les autres techniques d’enquêtes ethnographiques. L’abondance (ou la complétude) de certaines bases rend ainsi potentiellement caduque toute une série de mesures classiquement utilisées, comme les tests d’inférence. Les données elles-mêmes sont souvent présentées dans des formats qui rendent plus difficile le recours aux techniques classiques (que ce soit parce qu’elles présentent un nombre important de valeurs manquantes, un déséquilibre entre variables et individus aboutissant à la production de tableaux difficilement exploitables, etc.). Quelles stratégies adopter pour faire face à ces données, et pour quels résultats ? Le récent retour en grâce de techniques comme l’apprentissage statistique [machine learning] montre bien certains déplacements en cours. Nées à la croisée des mathématiques et de l’informatique, et désormais largement utilisées dans différents espaces sociaux pour explorer et prédire les comportements des consommateurs, ces méthodes bouleversent-elles les pratiques de recherche et d’analyse ?
On note aussi une demande croissance de compétences destinées à collecter, apparier et nettoyer ces données (redresser des valeurs manquantes, les rendre cohérentes, etc.). Cette valorisation récente de techniques issues de l’informatique renforce t-elle l’opposition (trop) conventionnelle entre qualitativistes et quantitativistes, ou déplace t-elle ces lignes en ouvrant une troisième ligne de front méthodologique (quali, quanti, « ordi ») ?

L’objectif des journées d’étude est de réunir les chercheur-e-s de différentes disciplines (démographie, sociologie, économie, histoire, science politique, géographie, gestion, anthropologie, archéologie etc.), mobilisant des données abondantes. Les communications auront pour objet les reconfigurations de la recherche suite à cette massification et à cette diversification, qu’il s’agisse de la transformation des méthodes ou des objets, des savoirs produits, des relations avec les enquêté-e-s et la place des chercheur-e-s, ou encore des enjeux juridiques et éthiques.

*

Afin de créer une discussion collective et transversale sur ces sujets, deux formats de présentation sont proposés :

  • Des présentations courtes (moins de 10 minutes). Basées sur un retour d’expérience, elles traiteront un des points de l’appel à communication.
  • Des présentations plus longues (20 minutes environ). Sur la base d’une enquête approfondie ou d’une comparaison entre sources de données, elles proposeront une réflexion approfondie sur l’une ou plusieurs questions de la journée.

Les journées alterneront les présentations courtes et longues, et seront complétées par une table ronde et une conférence plénière.

Les propositions de communication doivent être présentées selon le format suivant (1 à 2 pages environ) :
Titre de la communication, nom(s) du ou des auteur(es), adresse(s) postale(s) et électronique(s) et appartenance(s) institutionnelle(s). La proposition de communication précisera le type de communication ainsi que la base empirique et/ou les méthodes employées.

étienne

Chercheur CNRS (SAGE-Université de Strasbourg). Données numériques, sociologie politique, épistémologie des sciences sociales.

More Posts

Au secours, ma regex ne marche pas !

Les expressions régulières sont des outils très puissants et commodes pour manipuler du texte, mais il faut bien reconnaître qu’on peut parfois se noyer dans leur syntaxe ésotérique. Heureusement il existe des petits logiciels, gratuits pour la plupart, qui permettent de visualiser la correspondance entre les chaînes de caractères (i.e. le texte) qu’on veut analyser et l’expression régulière qu’on y applique.

Leur principe est simple: on indique le texte-cible, la regex, ainsi que la syntaxe qu’on utilise, puis le logiciel colore les éléments du texte qui correspondent aux éléments repérés dans la regex par des parenthèses (pour rappel, les parenthèses servent à désigner des morceaux du texte qu’on veut garder en mémoire pour réutiliser après). On en présente quelques-uns, pour plusieurs plate-formes, afin de montrer l’étendue des fonctionnalités disponibles. L’offre est fournie et en renouvellement assez rapide, donc on ne peut être exhaustif.

Pour cette présentation, on reprend les chaînes de caractères utilisées dans ce billet précédent.

Sur le web

Les applications web sont accessibles de tout ordinateur, à condition bien sûr d’avoir un accès internet. Il en existe un très grand nombre, probablement des projets d’étudiants en informatique. On en présente deux, qui sortent du lot par leurs fonctionnalités et leur design.

Regex101 est de notre point de vue le meilleur. Il permet de travailler avec la syntaxe PCRE, utilise des couleurs lisibles, et offre même une analyse détaillée des morceaux de la regex ainsi qu’une référence de la syntaxe. L’interface peut apparaître un peu lourde au premier abord, mais on s’y fait vite.

regex101

Le principe est d’écrire sa regex dans le champ “regular expression”, les chaînes de caractères que l’on veut tester dans “test string”. Il faut également s’assurer de deux réglages: premièrement qu’on travaille bien avec la syntaxe PCRE (cliquer dans la colonne de gauche), et que les lignes seront analysées comme des chaînes de caractères indépendantes (écrire un “g” à la suite de la regex). On obtient alors, dans la colonne de droite, tout d’abord l’explication des motifs composant la regex, puis ce qui est trouvé comme correspondant aux parenthèses dans la regex et mis en mémoire. En utilisant des patterns plus complexes, les couleurs sont différentes pour les parenthèses distinctes. Il est alors facile de repérer les éventuelles erreurs dans l’écriture de l’expression régulière.

On peut aussi tester le remplacement avec Regex101, en cliquant sur le “+” en bas de l’écran, près de “Substitution” (cf. image ci-dessus). Un champ s’ouvre, on peut y écrire ce par quoi on voudra remplacer la chaîne de caractères correspondant à la regex (comme, en R, dans gsub(pattern, remplacement, vecteur)). Le résultat apparaît dans le champ en-dessous.

En complément, Debuggex offre une fonctionnalité originale, celle de représenter la regex par un diagramme qui en sépare les morceaux. On peut ainsi mieux comprendre ce qui se passe, et repérer les fautes de frappe ou de composition. Il s’agit d’une représentation graphique de ce que Regex101 affiche, sous forme de texte, dans son cadre “Explanation” en haut à droite.

Pour l’utiliser, il faut utiliser les réglages suivants. Tout d’abord sélectionner l’option “Flags: m”, qui permet d’analyser toutes les lignes du texte (et pas seulement la première). Concernant le choix de la syntaxe, il faudrait choisir “PCRE”, mais au moment de l’écriture de ce billet cette option comporte un bug au niveau de la coloration des résultats ; le mieux est d’opter pour la syntaxe de regex “Javascript”, qui est proche, et pour laquelle Debuggex n’a pas ce bug (!). Ensuite, on peut écrire sa regex et les chaînes de caractères qu’on veut analyser, et les résultats sont la coloration des chaînes de caractères qui correspondent à la regex et aux parenthèses, ainsi que la représentation graphique de la regex (cf. capture d’écran).

debuggex

On peut cependant avoir besoin de tester ses regex dans le train, la jungle ou tout autre endroit sans connexion. Pour couvrir ces cas, des logiciels existent.

Sur ordinateur

Il y a d’abord les nombreux petits logiciels gratuits et efficaces pour tester ses regex. Sous Mac OS, Reginald est un bon choix, gratuit et récent. Il utilise la syntaxe ICU, proche de PCRE, et avec laquelle fonctionne le package stringi en R. Sous Windows, les choix équivalents de petits utilitaires ne manquent pas.

Pour des besoins plus poussés, la référence est RegexBuddy, disponible sous Windows, ou en utilisant un émulateur comme Wine sous Mac OS et très probablement Linux. Il est payant et a un look vintage, mais il est diaboliquement riche (peut-être même trop pour une utilisation en sciences sociales). On peut l’utiliser comme les précédents, et il fonctionne parfaitement pour tester les recherches et le remplacement, et ce avec une très grande variété de choix de syntaxe. Mais en plus de cela il propose des fonctions d’explication d’une regex, de debugging, ou encore de création d’une regex pas à pas, et beaucoup d’autres choses. Il est trop foisonnant pour qu’on en détaille le fonctionnement ici, mais l’interface est plus intuitive qu’elle n’en a l’air au premier abord (les onglets “Test” et “Highlight”, ainsi que “Create”, suffisent pour reproduire les fonctions proposées par les autres logiciels présentés ici). Au passage, on peut signaler, du même éditeur, RegexMagic qui permet également de créer des regex, mais avec une approche différente. On ne l’a pas testé, mais il semble adapté pour l’écriture de regex complexes.

Voilà, avec ça normalement vous êtes armés !

Alexandre Hobeika

Docteur en sociologie politique de l'EHESS, CMH-ETT

More Posts - Website

Faut-il partager ses données?

Faut-il partager ses données de recherche ? La tendance va en tout cas clairement dans ce sens. Les chercheuses sont de plus en plus nombreuses à mettre les données en ligne sur leur site. Les plateformes qui recensent ces données naissent régulièrement, d’autres s’enrichissent à toute vitesse, et des guides de bonne conduite sont élaborés.

Côté revues, elles sont de plus en plus nombreuses à demander aux auteurs qui publient dans leurs colonnes de mettre en ligne les données (et le cas échéant, le code permettant de produire tableaux et graphiques). Le changement est marqué avec la situation antérieure, où seulement les évaluateurs de l’article pouvaient avoir accès au code, principalement pour des raisons de vérification. Cette mise à disposition a déjà porté ses fruits, comme dans le cas devenu exemplaire d’un article d’économie dans lequel quelques erreurs de manipulatioRRBlundern sous Excel avaient amené les distingués auteurs à sur-évaluer les effets positifs de l’austérité fiscale. Comme les économistes murmurent en général aux oreilles du pouvoir (et ceux là en particulier), ce résultat faux avait eu de lourdes conséquences. Plus généralement, une récente série de tests a montré que les articles scientifiques publiés contenaient des erreurs, ou que leurs résultats centraux n’étaient pas réplicables (voir ici pour la psychologie, mais on en trouve pour chaque discipline, de manière régulière).

Tout semble donc plaider pour la mise à disposition des données et, le cas échéant, du code. L’injonction à la transparence actuelle est peu souvent critiquée, en tout cas en public. Ceux qui refusent de donner à voir les coulisses du travail scientifique sont vite dénoncés comme corporatistes ou archaïques face aux modernes de la science ouverte. La meilleure preuve de cette modernité n’est-elle d’ailleurs pas que les disciplines toujours à la pointe du progrès ont adopté cette méthode (les revues d’économie l’imposent désormais), et que les disciplines bien connues pour leur indécrottable passéisme s’écharpent pour savoir s’il faut le faire (voir ce débat cet été sur l’opportunité d’une telle pratique en sociologie)?

 

Slide1-data-secrecySource: LSE Impact Blog

 

Ouvrez, ouvrez, la boîte aux données

Il faut dire que les arguments en faveur de la diffusion sans restriction sont nombreux. Fournir le code et les données pour la réplication permet de s’assurer que les résultats sont corrects : que les calculs sont bons, qu’il n’y a pas d’erreur dans les méthodes, que les données ne sont pas bidonnées. Normalement, la revue a déjà fait cela, mais outre le fait que ce n’est pas systématique, une évaluatrice peut laisser passer des erreurs, ne pas avoir les compétences requises sur une méthode donnée, être débordée (oui, on travaille sous contraintes)… Bref, plusieurs yeux valent mieux qu’un, et la mise à disposition permet cela.

Les personnes qui ont eu à fournir un “paquet de réplication” à une revue confirment que cette ouverture fait relire son code avec une attention certaine, et qu’elle n’est pas forcément inutile… Par ailleurs, une fois ainsi organisé, il peut en effet être vérifié rapidement par d’autres, qui pourront débusquer vos erreurs. Bien sûr, ca prend plus de temps. Pour ceux qui, comme moi, écrivent du code de manière un peu décousue, ce genre de demandes force aussi à remettre ses données en ordre. Tout cela n’est que de bonne politique, ne serait-ce que pour ses propres archives.

Il y a d’autres avantages. Le travail patiemment réalisé permet non seulement de critiquer ou de valider, mais il peut être employé pour mener d’autres projets. Les données mises à disposition peuvent être croisées avec d’autres pour permettre une meilleure connaissance du sujet, ou utilisée pour poser d’autres questions – parfois très différentes de celle que se posaient les auteurs. Il n’y a par ailleurs pas que les données : le code est souvent riche d’informations. Sur les manières de coder des collègues, sur leurs manières de mettre en place une méthode, sur les trucs qu’ils utilisent pour résoudre des difficultés qu’on peut rencontrer dans nos recherches. Là encore, on peut apprendre beaucoup en allant voir sur ces archives ouvertes que sont les sites des revues qui mettent en place le dépôt de code obligatoire. En termes d’efficacité collective, les gains sont évidents.

La cause semble donc entendue, il faut “passer à l’ouverture”, et vite. Tout en étant très convaincu par ces arguments, il me semble que cette solution présente plus de difficultés qu’on ne veut bien le laisser entendre.

Une vision un peu naïve du travail scientifique

L’idée que la mise à disposition généralisée des données va faire progresser la science repose en partie sur une vision mythifiée de l’activité scientifique. D’abord parce que cette proposition fait comme si la recherche était un espace sans réelle concurrence. Donner ses données, ses codes, c’est en effet permettre à d’autres de s’en saisir, et de publier sur ce sujet, parfois avant que vous n’ayez dit tout ce que vous souhaitiez, parfois même avant la publication. Or s’il faut, dès la première publication sur un jeu de données, le mettre intégralement en ligne et se priver d’exploitations ultérieures parce que d’autres l’auront fait, cela peut poser problème.

Si nous avions toutes un poste, que nous avions toutes accès à suffisamment de ressources pour faire de la recherche, on pourrait se permettre cela. Mais la situation actuelle en est bien éloignée : l’univers scientifique n’est pas un monde d’amateurs intéressés qui financent leur subsistance sur des ressources personnelles. Ce n’est pas non plus la guerre de tous contre tous, mais la raréfaction des financements et l’injonction à “l’excellence” (mesurée à votre quantité d’articles, de fonds récupérés) font que la collaboration gratuite n’est pas encouragée dans ce système. L’argument peut paraître contextuel (le contexte semble toutefois parti pour durer), il est sûrement insuffisant, mais il explique nombre d’oppositions qu’on ne peut pas écarter d’un revers de la main. D’ailleurs, si les économistes ont été si rapides à mettre leurs données en ligne si vite, c’est peut-être que dans la plupart des cas, elles n’ont pas produit les données qu’elles utilisent. Le coût de la mise en ligne d’une base de données publique et de quelques lignes de code de réplication est en effet moindre.

Par ailleurs, l’idée que l’ouverture fait avancer directement la connaissance repose sur une vision fantasmée piledunderdatadu travail scientifique et de la découverte. Penser que des données supplémentaires vont apporter un surplus de connaissance procède d’un triple biais. L’un, qu’on pourrait qualifier d’empiriste, suppose que des données suffisent à faire progresser le savoir. C’est vrai à un certain niveau (on sait plus de choses sur le cas précis), mais est-ce que cela fait progresser d’autres formes de connaissance, conceptuelle par exemple ? Non seulement ce n’est pas nécessaire, mais la relation est parfois inverse: coincés sous des piles de données, les chercheurs ne parviennent pas (ou ne cherchent pas) à généraliser.

Une autre biais, qu’on pourrait qualifier d’incrémentaliste, propose une image du travail scientifique comme cumulation permanente. Or si cumulation il y a probablement (encore que tout le monde n’est pas d’accord), elle ne se fait certainement pas de manière linéaire. Les connaissances évoluent (un terme plus approprié que “progressent”), mais par à-coups, et certainement pas toujours dans la même direction. Un surplus de données permet le plus souvent de partir dans une autre direction, de donner à voir des aspects jusque là négligés par les approches classiques. Le savoir produit est alors autre, plutôt que supérieur.

Enfin, un dernier biais (inductiviste) tend lui à représenter la recherche en activité qui part des données pour généraliser, faire des découvertes. C’est mal connaître l’histoire des sciences, et oublier l’ensemble des manières qui permettent de générer de nouvelles idées – parfois assez éloignées de la paillasse, du terrain, de l’ordinateur. Parfois, c’est une lecture, une méthode découverte ailleurs et transposée à sur nos objets qui fait que l’on “découvre”. Et il y a bien d’autres éléments qui peuvent faire évoluer les connaissances, comme les outils utilisés, le contexte politique et financier, l’état du champ, etc. Bref, plus de données ne veut pas dire un surplus de connaissance, parce que le fait de regarder les données n’est qu’une des modalités de la découverte.

La division du travail scientifique et ses périls

Ceci dit, s’il ne s’agissait que de ça, on pourrait se dire que ce n’est pas si grave. Certains se perdront dans les données, d’autres y perdront, mais collectivement la recherche y gagnera. Encore une fois, rien ne l’assure vraiment. En cause cette fois, la division du travail scientifique que produit cette mise à disposition.

Au niveau individuel d’abord. Dans un texte très riche sur l’ouverture des données publiques (open data) dans l’administration publique, J. Denis et S. Goeta expliquent bien que les “données” de l’administration, pour être mises à disposition, sont dépouillées de toutes les informations que les agents peuvent leur ajouter quand ils les utilisent. Notes, remarques supplémentaires, codes couleurs permettent en effet à celles qui les manipulent d’en tirer profit. Cette purification se fait donc à un coût : la déperdition de certaines informations. Or, les travaux de sociologie des sciences ont bien souligné que les scientifiques fondent leurs décisions non tant sur des données que sur des “savoirs implicites” relatifs à ces données (Collins 2001). Sont-elles fiables ? L’enregistreur a t-il une particularité connue ? Sait-on autre chose sur ce lieu, cet atome, cette personne ? Cette information est perdue. Citant les travaux sur les grandes bases de données de Geoffrey Bowker, Goeta et Denis rappellent qu’il faut beaucoup de métadonnées pour permettre une collaboration efficace.

La mise à disposition de données risque donc de ne pas tenir toutes ses promesses, ou en tout cas celles que lui prêtent ses plus fervents supporters. L’éloignement entre le producteur et l’utilisateur des informations est même source de nombreuses erreurs, et si la division entre “codeurs” et “chercheurs” a souvent mauvaise presse en sciences, c’est parce qu’elle est une cause de problèmes bien connue. Vraie à l’échelle individuelle, cette remarque vaut à l’échelle collective. L’accès aux données pourrait accroître la division entre producteurs et consommateurs de données, et reconfigurer en profondeur la manière de faire de la recherche, avec des personnes spécialisées dans l’interprétation de données produite par d’autres. Les sciences sociales sociales croyaient en avoir fini avec la recherche en chambre, la voilà qui revient par la fenêtre.

Reconfigurations

Reconfigurations : c’est sûrement le terme qui décrit le mieux ce que fait la diffGEN_100_L204usion croissante de données que les chercheuses n’ont pas produites elles-mêmes. Sans avoir les avantages qu’on lui prête parfois, le mouvement mérite l’attention. Les personnes qui ont expérimenté le système, et ceux qui s’intéressent à la questions des archives des sciences sociales (les collègues de BeQuali entre autres) ont sûrement des choses à dire. En attendant, et afin d’y contribuer, Genèses vient de mettre à disposition les données et le codes (R) utilisés pour l’article sur les transformations de l’interdisciplinarité en France paru le mois dernier. On écrira peut-être quelque chose dessus bientôt, mais vous pouvez déjà reproduire les graphiques, utiliser les données, déceler les erreurs possibles, etc. [Voir sur le site de Genèses].

 

Quelques références supplémentaires:

étienne

Chercheur CNRS (SAGE-Université de Strasbourg). Données numériques, sociologie politique, épistémologie des sciences sociales.

More Posts

Au-delà des big data

Les big data sont à la mode. Dans les médias comme dans le débat public, le terme est évoqué de manière récurrente. Des entreprises dédiées au traitement de ces masses d’informations sont créées chaque jour, d’autres réorganisent radicalement leurs activités autour de la gestion de ces données.  À la suite d’entreprises privées, les administrations de nombreux pays sont désormais dotées d’un responsable de haut rang dédié à cette thématique (la France s’est dotée en 2014 d’un Administrateur général des données). Le phénomène est tout aussi notable dans le monde académique. Des centres d’analyse de ces données massives sont créés, des postes fléchés, des revues dédiées lancées, des filières spécifiques mise en place (data science).

SOCIO_063_L204Dans la dernière livraison de la revue Sociologie, un article co-écrit avec Julien Boelaert  revient sur cette question et sur les débats suscités par l’arrivée de ces données et les méthodes qui les accompagnent dans nos disciplines. Car débat il y a : « opportunité empirique inouïe » vs. « données pauvres » ; « révolution méthodologique » vs. « appauvrissement de la recherche » ; « surcroît de connaissances susceptible de produire une révolution scientifique » vs. « dégradation du savoir produit »… les réactions sont aussi vives que tranchées.

À partir d’une analyse des travaux de sciences sociales souvent regroupés sous ce label, on souligne que ces débats polarisés ont une chance de se poursuivre tant qu’ils se cristallisent autour de la notion de big data. Concept impressionniste, le terme désigne des réalités bien différentes selon qui l’utilise. Bien souvent, les volumes de données mobilisés ne sont même pas si massifs, surtout quand on les compare à des enquêtes classiques de la statistique publique (l’enquête Emploi de l’INSEE interroge trimestriellement 60 000 ménages sur des centaines de variables, beaucoup d’enquêtes qui se réclament des « big data » ne peuvent en dire autant).

Pire encore, à trop se focaliser sur un terme imprécis, on s’empêche de saisir le principal changement qui affecte nos disciplines, à savoir la multiplication de données numériques. Appelées ainsi parce qu’elles sont encodées avec des chiffres (1 ou 0) et qu’elles peuvent donc être lues et travaillées par des processeurs informatiques (ie. des ordinateurs), ces données numériques sont de plus en plus fréquemment disponibles. Elles peuvent être volumineuses ou pas, issues de l’internet ou pas. Elles peuvent même ne pas être numériques « nativement » (natively digital) : dans le cadre du projet sur le Parlement que nous menons en ce moment, nous avons transformé des archives papiers en fichiers numériques, afin de pouvoir automatiquement extraire de l’information sur les votes et les présences lors des premières législatures. L’Assemblée elle-même ne disposait pas de ces informations, et dès qu’elles seront nettoyées, nous les restituerons pour mise en ligne en open data.

Les big data, si on conserve ce terme dans les cas où des volumes extrêmement importants sont mobilisés et qui nécessitent des capacités de traitement particulières (high performance computing), ne sont donc que la face visible d’un phénomène bien plus large, la multiplication exponentielle de données numériques. Il faut donc aller « au-delà des big data » pour saisir les effets que peuvent avoir ces données numériques sur les sciences sociales.

Ils sont nombreux, et l’article souligne trois aspects du travail de recherche qui sont, d’ores et déjà, transformés par cette abondance nouvelle : la question de la place et des types de statistiques qui peuvent gérer ces données; celle de l’accès et de la conservation des données; et celle des objets et de la théorisation en sciences sociales.

Plus d’informations sur le site de la revue, et sur le portail de Cairn. Versions pdf à disposition sur demande. Et comme d’habitude : commentaires & critiques bienvenus.

étienne

Chercheur CNRS (SAGE-Université de Strasbourg). Données numériques, sociologie politique, épistémologie des sciences sociales.

More Posts

Fuck / NGram

Les modifications apportées après publication sont indiquées en bleu

Intitulé Digital Paper. A Manual for Research and Writing with Library and Internet Material, le dernier ouvrage d’Andrew Abbott est en fait bien plus qu’un manuel. Il s’agit au moins autant d’une réflexion sur les conditions de production du savoir à l’heure d’internet, et sur la manière dont la multiplication des données numériques affecte nos manières de connaître. Objets, méthodes, administration de la preuve, questions de recherches sont, selon l’auteur, affectées par cette transformation de fond.

AbbottLe livre, qui alterne entre nostalgie d’une époque que l’auteur sait révolue et conseils pour naviguer sur cet océan des données, est aussi très critique de certains outils. Dans le chapitre 3 (« Fundamentals »), Abbott s’en prend aux bases de données qui prétendent permettre de retrouver toutes les occurrences d’un terme dans le temps, en soulignant les difficultés d’une telle entreprise. La critique est forte. Pour Abbott, on ne peut en aucun cas prétendre tirer des conclusions sur les usages d’un terme. Les données sont sales, les procédures de reconnaissance textuelles se trompent, les bases sont inconnues…tout au plus, on trouvera des informations qu’on n’aurait pas vues autrement.

Un article publié ce mois-ci dans PLOS One vient apporter de l’eau à son moulin. Trois chercheurs de l’université du Vermont se sont intéressés à Google NGram, l’interface de Google qui permet de visualiser la fréquence d’un mot dans le corpus des livres scannés par Google. Si vous ne connaissez pas, allez voir, c’est amusant.

Le résultat est pour le moins sévère. Les auteurs écrivent ainsi que

« Overall, our findings call into question the vast majority of existing claims drawn from the Google Books corpus, and point to the need to fully characterize the dynamics of the corpus before using these data sets to draw broad conclusions about cultural and linguistic evolution ».

Et comme le corpus est, justement, la propriété de Google, il est donc non seulement inaccessible, mais aussi inconnu : on ne sait pas quels livres sont scannés, lesquels ne le sont pas. On ne connait pas les biais de constitution de la base. Et les auteurs de conclure que les conclusions tirées d’une base dont on sait finalement peu, sinon qu’elle est énorme, doivent être considérées avec un peu de recul.

Dans leur livre intitulé Uncharted. Big data as a lens on Human Culture (Michel & Erez, 2013), les principaux concepteurs de NGram racontent comment, doctorants au MIT, ils ont eu l’idée de mettre à profit le travail de numérisation de millions de livres initié par Google quelques années plus tôt afin d’utiliser les résultats à des fins de recherche. L’objectif, raconte ce livre enthousiaste et saturé de discours sur la nouveauté (la révolution! la révolution!), était de se servir de cette masse d’informations numérisées par Google afin d’étudier la culture humaine. Evolutions des langues, périodes de censure, transformation des rapports à Dieu ou à la sexualité, l’interface devait apporter des réponses à des questions restées sans réponse jusqu’à présent. Un article publié trois ans avant dans Science annonçait même la naissance d’un nouveau champ de recherche, sobrement intitulé « Culturomics » et tout aussi sobrement en charge de renouveler l’étude de la culture humaine.

La révolution n’a pas encore eu lieu, et l’article de PLOS One offre des pistes pour comprendre pourquoi. La liste des critiques faites au corpus est en effet longue.

  • La première est de souligner qu’entre un événement et la publication d’un livre, il se passe souvent des années. Il renseignent donc peu sur les évolutions culturelles d’une société à un moment donné, mais plutôt sur ce qu’on écrit. La critique peut paraître évidente, elle est loin d’être fatale, mais elle mérite d’être rappelée.
  • La seconde est que le corpus est extrêmement biaisé dans sa composition. Selon les époques, ce ne sont pas les mêmes livres qui sont répertoriés. Du fait des partenariats faits par Google avec des universités (pour scanner leurs livres), les ouvrages scientifiques sont très largement sur-représentés. Sans moyen de vérifier par eux même puisqu’ils n’ont pas accès à la base Google, les auteurs ont inventé un test astucieux. Ils ont cherché des termes souvent utilisés en science. Le résultat est assez parlant, comme le montre le graphique ci-dessous.

ModelDataFigure

Cette critique est forte, et elle n’est pas sans rappeler celle faite aux historiens qui prétendaient étudier des populations à l’aune des textes écrits uniquement, oubliant par là-même que l’écriture a longtemps été l’apanage de certains groupes sociaux uniquement. Dans ce cas, c’est plutôt la question du type de sources écrites qui se pose.

Poursuivant cette critique, un article de Wired évoque quelques difficultés. Le texte est plus ludique et mérite vraiment d’être lu, mais si vous êtes pressés, voilà les principales remarques

  • L’une est que l’outil recense ce qui est écrit, mais pas ce qui est lu. Le journaliste évoque le fait qu’un livre peut être présent une fois dans la base, mais lu des millions de fois. Le Seigneur des anneaux est finalement assez peu visible dans ces données, en tout cas pas plus que d’obscurs articles scientifiques. Evidemment, on pourrait penser que s’il est lu, il sera cité et discuté, mais tout dépend de la population à laquelle il s’adresse, ce qui nous ramène à la critique précédente sur les biais d’une histoire basée sur les textes et non leurs usages.
  • L’autre est que les procédures d’Optical Character Recognition (reconnaissance automatique des caractères), même si elles sont d’une efficacité toujours plus grande et peuvent être particulièrement impressionnantes, peuvent toujours se tromper. Abbott raconte comment un de ses étudiants avait noté une baisse brutale des références au terme « block grant » dans le temps (une forme de transfert monétaire de la part de l’Etat fédéral aux régions). Il attribue cette baisse à une erreur dans la procédure d’OCR : en cherchant « blook grant », on retombait sur des résultats plausibles. Le journaliste de Wired a lui trouvé un autre exemple : les mentions de « fuck » dans la base.

Ffuck

Faut-il conclure de ce graphe que les ligues de morale ont réussi pendant des années à limiter la vulgarité après un XVIIIè siècle décadent, mais ont définitivement perdu la bataille après 1950? Une raison plus plausible tient à un changement dans la graphie : jusqu’à 1800 environ, le s minuscule ressemblait à un grand f allongé. En fait de « fuck », l’algorithme repérait des mentions de « suck ». L’article n’explique pas si cette situation constitue un véritable progrès pour la morale, mais il rappelle que les mots susceptibles d’être affectés sont nombreux : case vs. cafe, sunk vs. funk, etc., la liste est longue.

Au vu de ces résultats, les auteurs de l’étude de PLOS appellent les chercheurs à une certaine prudence dans le recours à cette base, alors que les articles qui s’en servent comme source secondaire, voire primaire, s’étaient multipliés depuis cinq ans. Ils appellent aussi à ne pas jeter le bébé avec l’eau du bain. Le travail réalisé par Google est impressionnant, et pourvu qu’il puisse être échantillonné, ou redressé, pourrait donner lieu à de très solides études, et probablement aller dans le sens des promesses de culturomics. Pour cela, il faudrait que les chercheurs, ou tout le monde, ait accès à la base. À quand la base NGram en open data?

Le commentaire de F. Glorieux attire mon attention sur des posts qui avaient déjà étudié la question. Pour plus d’informations, autrement plus détaillées, et parfois précoces, vous pouvez consulter celui-ci sur Resultats (avec de nombreuses commandes utiles pour utiliser NGram), ou celui-là sur Devenir historien (qui propose une revue de littérature précoce mais déjà riche).

étienne

Chercheur CNRS (SAGE-Université de Strasbourg). Données numériques, sociologie politique, épistémologie des sciences sociales.

More Posts

Les expressions régulières : le super rechercher-remplacer

Les expressions régulières sont un outil extrêmement utile pour réaliser des opérations complexes de recherche-remplacer sur des grandes quantités de texte, qui nous semble d’intérêt général pour tous les chercheurs en sciences sociales. On en présente ici le principe, la syntaxe et comment les utiliser concrètement.

Un outil indispensable pour les travailleurs du texte

Nous passons notre temps, en sciences sociales, à manipuler des données textuelles : réponses ouvertes à un questionnaire, noms de personnes, lieux, caractéristiques sociales, mais aussi articles de presse, correspondances, transcriptions d’entretiens, jusqu’aux textes scientifiques que nous produisons. Or, pour traiter de telles données avec un ordinateur, il est fréquent de devoir effectuer des transformations systématiques, à des fins qui vont d’un nettoyage avant importation pour une analyse statistique, jusqu’à une conformation à des normes typographiques avant publication.

Pourquoi programmer pour écrire ?

Parmi les outils que nous utilisons couramment, certains permettent d’effectuer de telles modifications, en particulier R et OpenOffice/LibreOffice ou Word. Chacun a déjà utilisé les fonctions de recherche et de “rechercher-remplacer” de Word ou équivalent. On présente ici une généralisation de ces fonctions qui permet d’automatiser rapidement presque toutes les opérations textuelles imaginables. Pour les utiliser, il suffit d’un langage de programmation (par exemple R, Python, etc.) ou d’un bon éditeur de texte. Parmi les logiciels de traitement de texte, LibreOffice et OpenOffice permettent de faire la même chose ; c’est le cas aussi de Word (mais avec une syntaxe assez différente, qu’on n’évoquera pas ici).

Nous avons donc sous la main des logiciels dotés de fonctions à même de nous épargner des heures de travail fastidieux, mais bien souvent nous ne savons pas les utiliser, ou nous ne savons même pas qu’elles existent.

Le sujet peut paraître compliqué au premier abord, et si vous regardez rapidement la suite de ce billet, vous risquez de ne voir que des signes cabalistiques rebutants. Pas d’inquiétude toutefois : les expressions régulières ne sont pas faites pour être lues, mais pour être faciles à écrire.

Ce billet propose une introduction à ce sujet, afin de montrer la logique de cet outil, à la fois très simple et puissant. Car le plus important n’est pas de connaitre les expressions régulières, mais d’en comprendre le principe et savoir ce qu’il est possible de faire avec. Après quoi, il existe de nombreuses aides que même les chercheurs expérimentés consultent souvent.

Le principe : faire repérer des formes textuelles à l’ordinateur

Supposons que, pour les individus d’une population dont on veut faire une prosopographie, on ait saisi une liste de dates et lieux de naissance dans un fichier texte (ou un vecteur de type character sous R) – ici des membres des Francs Tireurs et partisans (FTP) :

né le 3 juillet 1897, à Rennes (35)
né le 13 mai 1893, à Le Chambon-Feugerolles (42)
née en 1895, à Tauriac (47)
né le 2 octobre 1896, à Louey (65)
née le 1er janvier 1908, à Końskowola -- Pologne (99)
…

Comment transformer cette série de lignes de texte, dont la structure est toujours la même, en une autre série de lignes de texte, chacune comportant uniquement l’année de naissance ? Si on sait réaliser cette opération, alors on pourra faire de même pour le département et les autres données qui nous intéressent, et transformer ce texte en base de données prête pour l’analyse. Concentrons-nous donc sur l’année.

À conceptualiser, l’opération est très simple. Il suffit, dans chaque ligne, de rechercher l’année, de la mémoriser, puis de remplacer le contenu de la ligne par elle. Comment repérer l’année ? À l’œil nu, rien de plus facile : c’est le nombre composé de quatre chiffres. On pourrait aussi remarquer qu’elle ici est le deuxième nombre de chaque ligne, ou encore le premier nombre qui soit suivi immédiatement d’une virgule, etc. Toutes ces désignations de formes textuelles sont ce qu’on appelle des motifs (patterns, en anglais).

Si on se décide pour cette première caractérisation de l’année, la procédure qu’on souhaitera effectuer pourra alors s’écrire, en langage humain :

Dans chaque ligne,
  Remplace: l'ensemble de la ligne
  Par: le premier nombre à quatre chiffres trouvé

Le travail est donc très simple à penser. Mais s’il doit être répété sur un grand nombre de lignes, c’est fastidieux. Certains vont donc employer un esclave doctorant, mais un programme informatique de quelques lignes le fait aussi bien. Et le travail de programmation qui peut paraître compliqué au premier abord est en réalité très simple à écrire, au point que c’est une solution plus rapide (et même plus sûre) que de recopier manuellement les informations qui vous intéressent, et ce dès que vous avez plus que quelques lignes[1].

En effet, la moitié du travail, à savoir l’écriture de la procédure “comme si on faisait à la main” est déjà réalisée. Il ne reste plus qu’à savoir comment la faire comprendre à l’ordinateur, et comment la lui faire exécuter.

La syntaxe qui permet de traduire les instructions précédentes pour l’ordinateur, d’indiquer les motifs qu’on désire repérer, est appelée expressions régulières, en anglais regular expressions, souvent abbrevié en regex[2]. Il en existe plusieurs variantes. R utilise une syntaxe très puissante et très répandue, appelée PCRE ou parfois “de type perl”[3], comme à peu près tous les langages de programmation généralistes.

Bases de la syntaxe

Les expressions régulières sont donc une syntaxe pour décrire de manière assez naturelle des formes textuelles à un ordinateur. Cela n’a rien d’évident a priori, mais on va voir comment désigner des fragments de formes comme “n’importe quoi”, “quatre chiffres exactement”, “au moins une majuscule”, etc. La syntaxe comportera, inévitablement, des symboles un peu cabalistiques, mais il ceux-ci ne sont pas nombreux, et l’important est qu’ils se combinent comme du Lego.

Classes de caractères et quantificateurs

La syntaxe des expressions régulières se compose de deux types d’éléments : des groupes de caractères (par exemple : les chiffres, les lettres, les espaces, mais aussi des groupes que l’on peut définir soi-même, comme les lettres a et c, les chiffres de 0 à 7…)[4], et des quantificateurs (par exemple : un, deux, zéro ou un, un ou plus, entre 4 et 7, un nombre quelconque, etc.). On utilise ici cette convention graphique : gras pour les groupes de caractères, italique pour les quantificateurs.

Une expression régulière est ainsi une suite de groupe de caractères, chacun accompagné d’un quantificateur. Par exemple : un certain nombre de lettres, au moins un espace, exactement quatre chiffres.

Les groupes de caractères les plus courants sont les suivants (en PCRE) :

  • \w : les lettres (w pour word)
  • \d : les chiffres (d pour digit)
  • \s : les espaces (s pour spaces)
  • [A-Z] : les majuscules
  • [abd;_] : les lettres a, b, et d, le point-virgule (;), et l’underscore (_)
  • . : n’importe quel caractère (excepté le saut de ligne)
  • k : la lettre k
  • (k|\d{2}) : la lettre k, ou bien deux chiffres

Il existe également leur négation :

  • \W : tout sauf les lettres
  • \D : tout sauf les chiffres
  • \S : tout sauf les espace
  • [^A-Z] : tout sauf les majuscules
  • [^abd;_] : tout sauf a, b, d, le point-virgule (;) ou l’underscore (_)

Maintenant les quantificateurs :

  • * : zéro ou plus
  • + : un ou plus
  • ? : zéro ou un
  • {2} : deux exactement
  • {2,5} : entre 2 et 5 inclus
  • {,6} : entre 0 et 6 inclus
  • {6,} : six ou plus
  • {2;5} : exactement deux ou cinq
  • (pas de quantificateur) : un exactement

Une absence de quantificateur désigne une et une seule occurrence. Ainsi, le motif abc correspond à un a, puis un b, puis un c, soit exactement le texte abc, comme d’habitude.

Avec ces bases, on peut déjà aller très loin. Revenons à l’exemple des FTP : on peut maintenant écrire le motif correspondant à quatre chiffres : \d{4} (ou \d\d\d\d, c’est la même chose).

Donc, si on veut extraire les années de l’exemple donné précedemment, on va chercher à écrire : “Dans chaque ligne, cherche un fragment de la forme \d{4}, et garde-le en mémoire”.

Mémoriser des fragments du texte analysé

Les expressions régulières servent à repérer des morceaux de texte correspondant à un motif que l’on écrit de façon formelle. Mais si on veut réutiliser ces morceaux de texte, il faut pouvoir les mettre en mémoire, et ensuite accéder au contenu de cette mémoire.

Pour cela, la syntaxe consiste à entourer ce qu’on veut mettre en mémoire de parenthèses. Ainsi, pour chercher et mettre en mémoire quatre chiffres, on écrira l’expression régulière (\d{4}).

Une fois appliqué cette expression régulière à une chaîne de caractères, le premier élément correspondant (ici le premier nombre à quatre chiffres trouvé) est stocké dans la variable \1 (ou parfois $1).

Ainsi, pour extraire l’année de né le 3 juillet 1897, à Rennes (35), on écrira : si tu trouves le motif (\d{4}) dans cette chaîne de caractères, renvoie-moi \1.

Caractères spéciaux

Vous aurez remarqué qu’on utilise certains caractères pour écrire les expressions régulières : \ { } ( ) [ ] . + ? - *, etc. Comment écrire pour dire qu’on veut identifier de tels caractères dans un texte, qui pourrait en contenir ?

Pour cela, on les fait simplement précéder de \, pour signaler qu’il ne faut pas les considérer comme caractères spéciaux, mais comme caractères réels. Ainsi, pour trouver un + dans un texte, on écrira dans l’expression régulière \+.

Il existe également d’autres caractères spéciaux, qu’on ne peut pas écrire normalement avec les touches du clavier. Il s’agit des espaces comme les sauts de ligne, de page, les tabulations ; ils s’écrivent comme suit, respectivement : \n, \f, \t.

Enfin, deux caractères spéciaux très commodes indique le début et la fin de la ligne : ^ et $, quand ils sont placés au début et à la fin de la regex. Ils s’écrivent aussi, respectivement, \A et \Z.

Ainsi, une ligne complète, contenant un nombre à quatre chiffres avec potentiellement des choses avant, et potentiellement des choses après, peut s’écrire ainsi :

^.*(\d{4}).*$

Pour la lire il faut détailler sa composition :

  • ^ : début du fragment de texte,
  • .* : n’importe quelle chaine de texte (peut contenir 0 caractère),
  • (\d{4}) : quatre chiffres, à garder en mémoire,
  • .* : n’importe quelle chaine de texte (peut contenir 0 caractère),
  • $ : fin du fragment de texte.

Il ne reste plus qu’à insérer ce motif dans un exemple d’utilisation concrète.

Utilisation concrète

Quels logiciels utiliser, pour faire des recherches ou du rechercher-remplacer ? On présente ici deux solutions possibles : R et LibreOffice. Chacune utilise une variante de la syntaxe présentée ici, mais les différences ne commencent à être visibles que dans les cas compliqués, donc on peut les négliger.

On va effectuer maintenant la même opération avec ces deux outils, sur l’exemple du début : sélectionner l’année dans une série de lignes de renseignements d’état-civil.

Les expressions régulières en R

La première chose à savoir, pour écrire des expressions régulières en R, est qu’il faut doubler tous les backslashes[5] : on n’écrit pas \d mais \\d.

Ensuite, admettons que nos lignes de texte soient représentées par un vecteur de type character. Il est alors facile d’effectuer pour l’ensemble des éléments de ce vecteur une opération de recherche des éléments qui correspondent à une regex, ou de recherche et remplacement sur ces éléments.

Fonctions de base de R : grep() et gsub()

La recherche utilise la fonction grep(regex, vecteur) – dont le nom signifie Globally search a Regular Expression and Print. Plus précisément, pour s’assurer qu’elle emploie la syntaxe qu’on a évoquée ici, il convient d’ajouter l’option perl = TRUE. Cela permet d’indiquer qu’on utilise la syntaxe PCRE. Cette fonction renvoie les numéros de position dans le vecteur recherché des éléments qui correspondent à la regex, ce qui est particulièrement utile pour sélectionner des lignes d’un dataframe (par exemple, df[grep(regex, df$var), ]). Elle peut aussi renvoyer les éléments eux-mêmes, avec l’option value = TRUE. Enfin la fonction grepl(regex, vecteur) – ne me demandez pas ce que signifie le l – renvoie TRUE ou FALSE pour chaque élément du vecteur, selon qu’il corresponde à la regex.

Les commandes suivantes les montrent en action :

> naiss <- c("né le 3 juillet 1897, à Rennes (35)",
             "né le 13 mai 1893, à Le Chambon-Feugerolles (42)",
             "née en 1895, à Tauriac (47)",
             "né le 2 octobre 1896, à Louey (65)",
             "née le 1er janvier 1908, à Końskowola -- Pologne (99)")
> grep("\\d{4}", naiss, perl = TRUE)
[1] 1 2 3 4 5
> grep("\\d{4}", naiss, perl = TRUE, value = TRUE)
[1] "né le 3 juillet 1897, à Rennes (35)"
[2] "né le 13 mai 1893, à Le Chambon-Feugerolles (42)"
[3] "née en 1895, à Tauriac (47)"
[4] "né le 2 octobre 1896, à Louey (65)"
[5] "née le 1er janvier 1908, à Końskowola - Pologne (99)"
> grep("\\d{6}", naiss, perl = TRUE)
integer(0)
> grepl("^née", naiss, perl = TRUE)
[1] FALSE FALSE  TRUE FALSE  TRUE

La première ligne crée un vecteur avec cinq arguments. La deuxième nous indique que la chaine de caractère demandée (4 chiffres à la suite) est présente dans les lignes 1, 2, 3, 4 et 5; et la troisième nous retourne les chaines en question grâce à l’option value = TRUE. La quatrième montre que la chaine de caractère 6 chiffres d’affilée n’est présente nulle part (integer(0)). Enfin, la dernière teste si elle commence ("^) par née et donc si la personne est une femme.

Le rechercher-remplacer s’effectue avec la fonction gsub(regex, remplacement, vecteur) – abréviation de Global SUBstitution. De la même manière, on conseille d’utiliser l’option perl = TRUE. Ainsi :

> gsub("^.*(\\d{4}).*$", "\\1", naiss, perl = TRUE)
[1] "1897" "1893" "1895" "1896" "1908"

Attention, la fonction gsub() laisse inchangées les chaînes de caractères qui ne correspondent pas à la regex :

> gsub("^né .*(\\d{4}).*$", "\\1", naiss, perl = TRUE)
[1] "1897"
[2] "1893"
[3] "née en 1895, à Tauriac (47)"
[4] "1896"
[5] "née le 1er janvier 1908, à Końskowola - Pologne (99)"

À noter que dans ces deux fonctions on peut utiliser l’option ignore.case = TRUE, qui permet de ne pas tenir compte de la casse des lettres et traîter de manière équivalente majuscules et minuscules, ce qui peut être utile.

Ces fonctions font partie des outils de base en R. Il en existe d’autres, qui peuvent être plus pratiques, dans des modules dédiés à la manipulation de texte.

Modules utiles pour traiter du texte

stringr

Le module stringr dispose, pour les mêmes usages, de str_detect(vecteur, regex) (attention à l’inversion !), et de str_replace_all(vecteur, regex, remplacement). Plus précisément, str_detect() fait le même travail que grepl(). Il existe aussi str_extract(vecteur, regex), qui peut être très pratique, et correspond exactement à ce qu’on veut ici. On les invoque, ainsi que la syntaxe perl, de la manière suivante :

> str_detect(naiss, perl("\\d{4}"))
[1] TRUE TRUE TRUE TRUE TRUE
> str_replace_all(naiss, perl("^.*(\\d{4}).*$"), "\\1")
[1] "1897" "1893" "1895" "1896" "1908"
> str_extract(naiss, perl("\\d{4}"))
[1] "1897" "1893" "1895" "1896" "1908"

stringi

Très complet pour travailler avec des caractères exotiques et de manière générale un excellent outil pour traiter du texte en R, le module stringi comprend les fonctions stri_detect_regex(vecteur, regex) et stri_replace_all_regex(vecteur, regex, remplacement), ainsi que stri_extract_first_regex(vecteur, pattern) (et d’autres du même type, comme stri_extract_all_regex(vecteur, pattern)). Il n’est pas nécessaire d’indiquer que l’on utilise des regex de type perl, car c’est la syntaxe qu’il utilise par défaut[6]. Attention, ici les éléments mis en mémoire se rappellent avec $1, $2 etc., plutôt que \\1, \\2, etc., cf. deuxième des lignes suivantes :

> stri_detect_regex(naiss, "\\d{4}")
[1] TRUE TRUE TRUE TRUE
> stri_replace_all_regex(naiss, "^.*(\\d{4}).*$", "$1")
[1] "1897" "1893" "1895" "1896" "1908"
> stri_extract_first_regex(naiss, "\\d{4}")
[1] "1897" "1893" "1895" "1896" "1908"

Avec LibreOffice/OpenOffice

Nul besoin de passer par un logiciel de statistiques pour utiliser des expressions régulières. LibreOffice et OpenOffice peuvent également effectuer des recherches et des remplacement de cette manière. La syntaxe qu’ils utilisent est documentée en détail ici pour LibreOffice, là pour OpenOffice, mais dans les deux cas les bases sont les mêmes que ce qu’on a présenté ici.

Pour les utiliser, il faut aller dans le menu “Édition” et y choisir “Rechercher & Remplacer”; puis, dans la fenêtre qui s’ouvre alors, cocher la case “Expressions régulières”. Les valeurs mises en mémoire se retrouvent avec $1, $2, etc. Pour notre exemple, cela donne :

regex-libreoffice-replace

Rechercher/Remplacer sous LibreOffice

Et on obtient le même résultat qu’avec R.

Pour Word la fonction de recherche/remplacement avancée est basée sur une syntaxe assez différente, appelée fréquemment wildcards. Elle est moins pratique sur certains aspects, mais permet bien de décrire le formattage du texte (italique, gras, etc.) – voir la documentation ici.

Conclusion

Voilà, vous êtes maintenant équipé pour transformer le texte de départ en un tableau de données ou un dataframe, avec les expressions régulières. Vous pouvez vous entraîner, par exemple en R, à créer un dataframe dont les variables (colonnes) seraient l’année de naissance, le mois de naissance, mais aussi le sexe, et le département voire le pays de naissance, de chaque individu.

Dans des prochains billets, on verra comment traiter des cas plus complexes, en termes d’éléments de syntaxe mais aussi d’outils logiciels pour aider à appréhender des regex complexes.


  1. Sélectionner manuellement l’année dans une ligne et en effacer le reste prendra quelques secondes, en fonction de la maîtrise des raccourcis clavier par l’opérateur. Pour quelques cas c’est acceptable, mais pour mille cas cela revient facilement à plusieurs heures, sans compter l’épuisement de l’opérateur. En revanche, écrire le “programme” nécessaire pour le faire de manière automatisée prend quelques dizaines de secondes, et l’exécution est quasiment instantanée.  ↩

  2. Le terme français considéré plus correct, mais presque jamais employé, est celui d’expressions rationnelles.  ↩

  3. Le nom de PCRE signifie Perl-Compatible Regular Expressions. Cette dénomination est le nom d’une syntaxe d’expressions régulières compatibles avec celles de Perl, un langage créé dans les années 1980 précisément pour faire des manipulations de texte, et qui a longtemps été la référence dans ce domaine. En fait deux syntaxes sont disponibles en R, POSIX et PCRE, mais la base est la même. Celle de Word est assez différente, et plus restreinte, mais il utile de la connaître ou au moins de savoir ce qu’on peut en faire; on l’évoquera prochainement.  ↩

  4. Les groupes de caractères sont aussi appelés classes de caractères.  ↩

  5. La raison en est qu’on écrit les regex sous la forme de chaînes de caractères, qui ont une syntaxe pour écrire certains caractères spéciaux (proche de celle mentionnée ici pour les caractères spéciaux des regex), que R interprète ensuite pour y lire la “vraie” chaîne de caractères que l’on a voulu exprimer. Comme le backslash (\) est l’un de ces caractères spéciaux, et qu’on écrit justement les caractères spéciaux en les faisant précér eux-mêmes d’un backslash, la syntaxe pour communiquer un backslash à R dans une chaîne de caractères est \\ (i.e. "… \\ …"). Pour voir comment R interprète les chaînes de caractères, on peut utiliser la fonction cat() : essayer par exemple cat("\"), cat("\\"), cat("\d"), cat("\\d").  ↩

  6. Plus précisément stringi est basé sur la syntaxe ICU, mais qui est très proche de PCRE.  ↩

Alexandre Hobeika

Docteur en sociologie politique de l'EHESS, CMH-ETT

More Posts - Website

Analyse quantitative de contenus 2.0

L’analyse quantitative de contenus connaît un renouvellement aussi récent que spectaculaire. Longtemps considéré par certains comme une technique mineure, la lexicométrie revient ainsi sur le devant de la scène. La numérisation automatique de nombreux textes comme les capacités de traitement ont donné une nouvelle jeunesse à ces pratiques désormais bien établies. Plusieurs initiatives démontrent cet intérêt renouvelé.

Une offre de logiciels en hausse

La première, c’est la multiplication des logiciels de lexicométrie. Car, bien qu’ancienne, l’étude quantitative des corpus textuels n’avait jamais complètement pris. Certes, dès les années 1950, le politiste Harold Lasswell la mettait en œuvre et inaugurait l’analyse quantifiée des contenus ; certes, elle avait connu des développement certains dans les années 1990 avec la diffusion de l’informatique, quand des modules avaient été développés pour les principaux logiciels statistiques et que des plateformes comme Prospero ou Alceste avaient été créées pour l’occasion ; certes, des revues publiaient des travaux qui mettaient en avant certains de ces travaux, comme c’est le cas de Mots. Mais ces méthodes n’ont jamais vraiment percé, en dépit des résultats intéressants qu’elles ont pu produire.

Outre une nouvelle version de Prospero en cours de développement chez les spécialistes de socio-informatique des controverses, trois nouveaux projets sont nés ces dernières années, qui offrent la possibilité de faire de l’analyse lexicométrique aisément. Deux sont des logiciels spécifiques : il s’agit d’Iramuteq, le logiciel développé depuis 2008 par Pierre Ratinaud, chercheur en sciences de l’éducation à Toulouse-2 et de TXM, le logiciel développé par une équipe de chercheurs de l’ENS-Lyon.

Des différences existent entre eux, du côté du codage initial (Iramuteq reprend le codage d’Alceste, un autre logiciel de traitement des données textuelles) comme de certaines fonctionnalités. Mais ils sont aussi assez proches. Par leur aspect ouvert et libre d’abord, ce qui n’était pas le cas de nombre de leurs prédécesseurs. L’un et l’autre s’appuient aussi sur le logiciel R, et permettent d’en exploiter les capacités sans en éprouver toutes les difficultés puisque des interfaces graphiques permettent de s’en servir sans programmer. Pour en savoir plus, les sites des logiciels fournissent des exemples et des tutoriels bien faits[1].

Le troisième projet, c’est RTemis (prononcer Artémis), le package R que viennent de créer Gilles Bastin et Milan Bouchet-Vallat, qui dispose lui aussi de son carnet sur Hypotheses. Dans l’esprit de ces promoteurs, RTemis (R Text Mining Solution) se veut être une plateforme gratuite, simple d’usage, dégagée des enjeux théoriques explicites qui gouvernent certains logiciels (Alceste repose sur la théorie des mondes lexicaux, Prospero sur une approche de sociologie des controverses). Il permet aussi une importation simple en acceptant différents formats (.txt, différents formats de texte délimité dont les .csv, mais aussi Alceste ou Twitter). Et il permet aussi une importation rapide depuis les grandes plateformes de référencement de textes médias (LexisNexis, Europresse, Factiva) – attention, plateformes payantes.

À partir de là, il propose toute une série de fonctions destinées à réaliser les différentes opérations standard de préparation du corpus (gestion de la casse, de la ponctuation, des « stopwords » et lemmatisation) ainsi que des outils pour traiter ces données. Je ne m’étends pas sur le sujet car un prochain billet illustrera les usages d’R.Temis, mais je recommande vivement la lecture de l’article de Bastin et Bouchet-Vallat, paru récemment dans le Bulletin de Méthodologie Sociologique. Les auteurs décrivent, statistiques à l’appui, le traitement de l’affaire Julian Assange par différentes agences de presse. Ce faisant, ils montrent en pratique les fonctionnalités du package.

 

Topic Modeling

Si les logiciels précédents améliorent des techniques désormais bien établies, d’autres approches en développement ouvrent elles de nouveaux horizons. C’est le cas du topic modeling, qui permet de déterminer automatiquement les thèmes contenus dans un ensemble de textes, afin d’en saisir leur répartition. La technique, développée depuis une dizaine d’année par David Blei, un informaticien de Princeton, suscite un intérêt croissant. Et ce jusque dans les sciences sociales : un numéro récent de Poetics, lui était justement consacré récemment. Coordonné par John Mohr, un sociologue intéressé de longue date aux formes de quantification en sociologie de la culture, il réunissait une dizaine de chercheurs, moitié sociologues, moitié informaticiens.

Comment fonctionne le topic modeling ? Sans rentrer dans les détails, on peut dire que la technique (qui dispose de modules prêts à l’emploi pour C, Python et R entre autres)

  1. Recherche les mots qui reviennent régulièrement ensemble dans un document
  2. Les rassemble dans un « thème », c’est-à-dire une série d’une dizaine de mots (deux mots peuvent appartenir à un thème). Le chercheur doit alors voir si le thème fait sens, et le cas échéant le nommer.
  3. Mesure la fréquence de chacun de ces thèmes dans chacun des documents du corpus.

 

Sur le plan technique, les résultats sont impressionnants et démontrent les capacités toujours croissantes du Machine Learning, cette branche de l’intelligence artificielle en plein développement. Mais y a t-il un intérêt pour les sciences sociales? Il me semble que les résultats des différents articles de Poetics font sens uniquement parce que les auteurs ont une connaissance du sujet qu’ils traitent, et savent donc sur la base d’une connaissance empirique précise ce qu’ils veulent dire, ou au moins comment sélectionner les informations pertinentes dans le maelström d’informations offertes par les programmes. C’est clairement le cas pour deux articles particulièrement intéressants du numéro : celui de P. DiMaggio et al. sur les discours relatifs aux musées (un sujet dont l’auteur est familier depuis plus de trente ans), ou pour l’article d’E. Marshall sur l’évolution croisée de la démographie en France et en Grande-Bretagne (à laquelle l’auteure vient de consacrer une thèse).

Reste à savoir si le topic modeling peut apporter autre chose qu’un vernis scientisé à des analyses qui seraient déjà plus ou moins établies par les chercheurs par des méthodes plus classiques ? Une présentation Gabriel Lewertowski et Nicolas Bourgeois lors du dernier colloque du SAMM (Statistique, Analyse, Modélisation Multidisciplinaire) semble montrer qu’au-delà de la pyrotechnie, le topic modeling peut effectivement servir la recherche.

À partir d’une étude du corpus du Monde Diplomatique, ils montraient bien l’utilité de ce genre d’analyses. Le graphique ci-dessous représente les résultats relatifs à un thème déterminé automatiquement, mais qui porte sans ambigüités sur le Moyen-Orient. À gauche, on trouve les mots qui constituent le topic (avec un score, qui permet de mesurer sa contribution au thème). A droite la répartition dans le temps. À partir de là, les utilisations sont nombreuses : on peut chercher à voir le rôle d’un auteur ; les variations de ligne éditoriale ; le type d’item consacré à ce thème (dossier, article, encadré, tribunes, etc.). Ou, pour une période donnée, on peut réaliser des mesures qui relient des thèmes à leurs auteurs, afin de saisir les vecteurs d’importation comme la division du travail au sein d’une rédaction. Bref, la sociologie du journalisme, celle de l’expertise et la sociologie des idées (pour ne citer que quelques sous-domaines) pourraient tirer profit du topic modeling, surtout que se développent des techniques qui permettent d’éprouver la significativité des résultats. Affaire à suivre donc !

 

SAMM-TM

 


[1] On trouve aussi de nombreux conseils sur le carnet Devenir historien-ne, de la plateforme Hypotheses.

étienne

Chercheur CNRS (SAGE-Université de Strasbourg). Données numériques, sociologie politique, épistémologie des sciences sociales.

More Posts

Les big data à l’étude

En cette fin d’année, deux journées d’études sont organisées sur les big data. L’une, qui s’est tenue la semaine dernière à l’ENSAE, portait sur les enjeux éthiques que pose l’usage de ces vastes ensembles de données. L’autre, intitulée « big data, entreprises et sciences sociales », aura lieu le 2 juin au Collège de France. Les lieux comme la multiplication des événements à ce propos le montrent : les big data sont à la mode cette année. Et les questions que posent la production, l’usage et la protection de ces données donnent lieu à de nombreuses interrogations. Au même moment se tenait au Sénat une journée sur « le numérique, le renseignement et la vie privée », et une autre sfds

Une révolution, quelle révolution ?

Les discussions de jeudi ont largement évoqué la révolution qui serait à l’œuvre. Si tout le monde s’accordait sur ce constat, la question du type de révolution comme celle de ce qui change ne faisait pas l’unanimité. Pour deux intervenants du matin, issus du monde de l’entreprise, c’était d’abord une révolution entrepreneuriale. A. Laroche (fondateur d’une société de conseil en management des systèmes) a ouvert la séance en rappelant les enjeux qui se posaient aux entreprises. La « digitalisation du quotidien » fait que l’individu dépose des traces très nombreuses, qu’il faut analyser.

Mais ces données, par rapport à celles collectées avant, sont à la fois diverses, de qualité variée (comprendre sales), et très (souvent trop) nombreuses. Elles arrivent aussi en temps réel, invitant à trouver des moyens pour mettre à jour en permanence les indicateurs de décision. De nombreux changements en découlent. Du côté du traitement statistique, l’avalanche de données favorise un retour vers l’inductivisme. Plutôt que faire un modèle que des données soigneusement nettoyées viendraient valider, il faut faire émerger les hypothèses à partir de ces ensembles de données. La question n’est pas nouvelle, et les statisticiens ont de longue date développé des outils pour traiter ces problèmes d’analyse exploratoire et de fouille (techniques de réduction de donnée, de classification). Ce qui change, c’est l’ampleur prise par ce travail désormais.

Un autre changement évoqué portait lui sur les outils de la décision. La plupart d’entre elles seraient désormais prises sur la base de corrélations détectées, mais sans aucune idée des causes de cette corrélation (ni même de l’existence d’un quelconque lien de causalité). On peut ainsi proposer à un client qui vient d’acheter de la crème solaire après qu’il a entre des milliers d’autres choses regardé des voyages sous les tropiques. Qu’importe alors qu’on ne sache pas pourquoi il va l’acheter, à partir du moment où il le fait. Cette invitation à une analyse des corrélations sans recherche des causes a suscité plusieurs questions et débats au sein d’une salle habituée à s’interroger sur ces enjeux. Car au-delà de la prédiction immédiate, elle pose la question de la qualité des inférences faites. Comme l’ont rappelé plusieurs statisticiens, l’absence de compréhension des mécanismes pourrait rapidement amener à des décisions erronées. Ce à quoi plusieurs personnes répondaient que « tant que ça marche »…

Selon Laroche, les entreprises ont dû s’adapter et mettre en place des services dédiés avec un personnel spécifique. Mais les changements sont plus profonds, selon l’autre intervenant de la matinée issu du monde de l’entreprise. Pour F. Boudoncle, fondateur d’une entreprise de gestion de l’information, les big data sont un enjeu commercial avant tout. Elles seraient un gisement considérable d’emploi et de croissance, dont l’Europe ne pourrait se passer (ni se priver en réglementant). Parlant en tant « qu’industriel », il a invité à ne pas trop se préoccuper d’éthique. Des entreprises comme GoogleMaps, qui peuvent inquiéter quant à l’intrusion dans la vie privée, ne proposent pas que de la géolocalisation. Elles offrent mais aussi des services joints qui permettent d’orienter les consommateurs (des systèmes de commande de taxi, de conseil d’hôtel ou de restaurant). Les maitriser est pour lui un enjeu autrement plus important dans la concurrence internationale.

Un exposé éclairant (quoique relativement inquiétant) portait sur la publicité en ligne et son fonctionnement. Nicolas Grislain, fondateur d’une société de publicité en ligne, est venu présenter le fonctionnement de ce marché en plein développement. Comme d’autres depuis la fin des années 2000, son entreprise propose un système de vente d’espace publicitaire automatisée. Un éditeur (un site de journal par exemple) décide d’un endroit qu’il réserve à la publicité, et d’un prix qu’il souhaite. Séminaire Big Data

À chaque fois qu’un consommateur visite une page, il envoie toute une série d’informations (sur lui, son parcours précédent stocké dans les cookies de son navigateur) vers une plateforme qui propose, en temps réel, une enchère. En moins de 0.1 seconde, une enchère est réalisée qui vient afficher un produit « personnalisé » pour le consommateur. Beaucoup d’informations « personnelles » circulent donc, très vite. Et le marché est lucratif : 30% de la publicité en ligne se fait désormais via du Real-Time Bidding en France, 50% aux États-Unis.

La protection des données personnelles

Nul besoin que le thème de la journée soit « l’éthique » pour que les questions de protection des données individuelles soient évoquées dans un colloque sur les « big data ». La part belle a toutefois été faite à ce thème, avec des exposés abordant des questions variées. Juriste de la CNIL, S. Vulliet-Tavernier est venue évoquer la législation et la place de cette autorité indépendante, ainsi que les évolutions en cours. La plus importante est sûrement la disparition annoncée de la « déclaration CNIL » de constitution de base de donnée nominative, remplacée par un triplet d’information / certification/ sanction.

Car l’autorité a dû s’adapter à la multiplication des bases de données, mais aussi à la diffusion d’outils de fouille de données. Car leur recours fait qu’une personne peut en effet être identifiable dans un vaste ensemble de données non structurées, et qu’il faut donc aller au-delà de la régulation des bases de données. CNIL La règle de base en France, c’est la protection des données personnelles. On ne doit pas pouvoir identifier une personne nominativement dans un fichier sans son accord. Cette règle, plus restrictive que dans d’autres pays, ne va pas sans poser problème aux différentes industries concernées, et les piques à l’encontre de la CNIL étaient perceptibles au cours de la journée. Mais ces règles sont à la fois strictes, et lâches.

Strictes parce que la CNIL impose un principe de pertinence dans la collecte des données. On ne peut pas collecter de données qui ne seraient pas directement liées à l’objet de l’étude. Mais comme le faisait remarquer G. Saporta lors de l’exposé des responsables de l’AVIESAN (venus présenter la situation dans le monde de la recherche biomédicale), ce type de contrainte peut aller contre la logique de la recherche qui procède par tentatives, échecs, et modifications incrémentales plutôt qu’elle ne valide des hypothèses toutes prêtes. Avoir plus de données, sur des sujets connexes, est donc essentiel.

Strictes aussi parce qu’elles imposent de prévenir toutes les personnes concernées par une collecte. Si cela peut paraître de bon sens, cette mesure risque vite de poser problème, surtout quand on touche des sujets moins sensibles que les données médicales personnelles — dont plusieurs personnes ont rappelé qu’elles intéressaient au plus haut point les assureurs à des fins de scoring.

Mais imaginons (car c’est interdit) le cas d’un chercheur qui voudrait géolocaliser l’ensemble des médecins d’une ville ou d’un département, pour une étude sur les désert médicaux. L’information est disponible sur plusieurs sites, dont celui, exhaustif et bien fait, de l’Assurance Maladie. Pour rester dans le cadre de la loi, le chercheur qui collecte les données devrait envoyer un courrier à chacun des médecins collectés pour l’en informer (car quoique disponible en ligne, chaque donnée est personnelle). Ou demander à l’Assurance Maladie de mettre un bandeau qui annonce cette enquête. On voit la lourdeur d’une procédure pour ne collecter ce qui n’est parfois qu’une variable, et qui peut être abandonnée au cours de l’étude. Consciente des enjeux, la responsable de la CNIL évoquait une « demande » de la part de l’autorité d’un retour de la part des chercheurs, mais rappelait aussi que « l’exception recherche » reste limitée. Strices, les mesures prises sont tout aussi lâches.

B. Nguyen, chercheur en informatique et spécialisé dans les questions d’anonymisation, présentait un exposé sur les différentes techniques qui permettent de dé-personnaliser des données. Leur usage est essentiel, car comme il le rappelait au début de son exposé, le fait de retirer le nom d’une personne ne suffit absolument pas à protéger son anonymat. On peut très rapidement retrouver l’identité d’un individu à partir de quelques variables seulement. Nguyen rappelait ainsi l’expérience de Latanya Sweeney, qui avait montré qu’à partir du sexe, de la date de naissance et du code postal d’habitation, on pouvait remonter à l’identité exacte de 87% des habitants du Massachussetts car pour eux, le triplet est unique. Prises ensemble, ces données sont des quasi-noms propres. Cryptography

Philippe Aigrain, co-fondateur de la Quadrature du Net, une association active dans le domaine des libertés publiques et de l’internet, a lui rappelé qu’il existe à l’heure actuelle « un lobbying insensé » pour disposer d’un accès plus grand aux données personnelles. Assureurs, intermédiaires financiers et banques, fournisseurs d’accès à internet aimeraient pouvoir utiliser vos traces d’usage de l’internet pour mieux vous connaître. Et, selon leur rhétorique, vous proposer des services « adaptés à vos besoins ». Ou simplement ne pas vous les proposer car vous êtes considéré comme peu rentable.

La question de l’anonymisation était donc là aussi centrale, et Aigrain a évoqué différents systèmes, en plaidant cette fois pour des solutions architecturales à ce problème. Selon lui, une décentralisation des lieux de stockages (jusqu’à la mise en place de serveurs individuels) permettrait d’éviter que toutes les informations relatives à de très nombreuses personnes soient disponibles à un seul endroit.

Ce qui compte

La dernière partie de la journée a été consacrée à des discussions croisées entre statistiques et sciences humaines et sociales. Dominique Cardon a offert une mise en perspective des différentes manières de compter sur internet. S’inscrivant dans la lignée des travaux d’histoire de la statistique telle que la pratiquait Alain Desrosières, il a proposé de « rentrer dans les calculs » et dans les formules statistiques qu’on trouve sur le web. Car ce faisant, on voit que les métriques diffèrent. Et qu’en fonction de ce qui compte, on arrive à des résultats très différents.

Cardon a donc distingué quatre grandes familles de capteurs. La première, c’est l’audience d’un site. Elle mesure sa popularité, en fonction du nombre de personnes qui se rendent dessus. Propriétaire, cette mesure est peu publique, même s’il existe quelques sites privés qui fournissent des informations sur le sujet, et que des initiatives publiques scientifiques se développent (comme le propose le projet Metroscope).

bandeau-def

Un autre type de mesure consiste à regarder non plus l’audience, mais l’autorité. La question est ici de savoir si vous êtes cité. Et plus encore : qui sont les personnes qui vous citent. Il s’agit, comme le propose le PageRank (l’algorithme de Google auquel Cardon a consacré un article qui reprend des éléments de cette présentation), de regarder l’importance donnée à un site par d’autres. Selon Google, la mesure est méritocratique, car elle rétribue la qualité de la page. Ce genre de techniques vise en effet à séparer les liens fictifs (autocitation, références de complaisance) des liens réels.

Une troisième mesure consiste à mettre les compteurs dans les mains des utilisateurs. Ces derniers sont alors ceux qui font les comptes. En cliquant sur un bouton « Like », en partageant un tweet, ils font augmenter le compteur (individualisé au niveau du billet, du commentateur). Compteur qui est lui même apparent.

Enfin, la quatrième mesure se fait de manière invisible, mais permanente. Elle recense les milliers de traces que laissent les usagers. C’est principalement là que se situent les « big data », thème central de la journée. On ne se situe plus du côté déclaratif ou de l’action expressive (« liker », partager) mais du côté des comportements. Et c’est alors qu’on déploie une série de techniques pour rendre sens des données collectées. Pour D. Cardon, comme pour A. Rouvroy qui parlait avant lui, les big data posent des questions spécifiques aux statistiques, voire remettent en cause les paradigmes dominants (recherche instrumentale de prédiction plutôt que détection de causalité, remise en cause des catégories classiques au profit d’un inductivisme fort et répété, forte personnalisation).

Le propos posait donc autant de questions sur les big data qu’il proposait de réponses, qui montrent que le débat continue. Dès la semaine prochaine d’ailleurs, avec la journée d’étude au Collège de France, et celle organisée par le Ministère de l’Enseignement supérieur et la recherche sur les données ouvertes le 5 juin (PDF).

étienne

Chercheur CNRS (SAGE-Université de Strasbourg). Données numériques, sociologie politique, épistémologie des sciences sociales.

More Posts

Sciences sociales via internet

En sociologie, les questionnaires dispensés via internet ont généralement mauvaise presse. À juste titre souvent : déposer un questionnaire sur un site et attendre ne permet qu’une sélection très modérée des répondants. Ceux qui  répondent ont un biais (connexion à internet, disponibilité temporelle, propriétés qui favorise l’intérêt pour ce genre d’enquêtes) et sont donc très spécifiques. Enfin, on ne peut pas bénéficier du retour d’information des enquêteurs qui font passer le questionnaire, alors que ces détails sur les protestations, les hésitations et les commentaires sur chaque question sont tout aussi riches d’information.1

Mais faut-il pour autant condamner *toute* enquête réalisée via internet ? Les services se multiplient qui permettent de créer un questionnaire et de le faire passer en ligne (parmi lesquels Zoomerang, Surveymonkey, Surveygizmo, et bien d’autres – tous très simples d’usages…mais n’existe t-il pas de service moins cher ?). Cette fois, on choisit les personnes à qui on souhaite le faire passer, et on leur envoie via leur email principal. L’échantillonnage reste du côté des chercheurs, et on peut suivre le déroulement de la passation en temps réel. On peut même relancer à coût nul ceux qui n’auraient pas répondu. Bref – et il existe une littérature croissante à ce propos2–, la méthode n’est pas nécessairement mauvaise, surtout si on travaille sur des populations habituées à l’usage d’internet.

Deux enquêtes actuelles

On peut aussi imaginer d’autres manières de faire des enquêtes via internet. C’est ce que proposent de faire deux projets. L’un, c’est PRACTIC (PRAtiques CulTurelles et usages de l’Internet Connecté), mis en place par l’Institut National de la Recherche en Informatique et en Automatique (INRIA). Elle vise à mieux cerner les usages de l’internet. Combien de temps y passe-t-on chaque jour ? Comment ? Que fait-on dessus et avec…?. Et, dans la droite ligne des enquêtes sur les pratiques culturelles des Français, à réfléchir sur ce que ces nouveaux supports font à la consommation.

 

PRACTIC-IMAGE

 

L’autre, c’est ALGOPOL, un projet financé par l’Agence nationale de la recherche et qui regroupe des chercheurs de différents laboratoires et entreprises. ALGOPOL cherche à mieux connaître la sociabilité en ligne des internautes. Avec qui discute t-sur les réseaux sociaux ? Que montre t-on ? Et comment gère t-on l’intimité et le recoupement des cercles sociaux sur ces réseaux (pour reprendre des questionnements initiés de longue date par D. Cardon, l’un des coordinateurs du projet). Une des questions centrales du projet consiste à s’interroger sur l’homophilie. Internet favorise t-il la diversité des échanges, comme cela a souvent été prophétisé, ou des logiques de ségrégation jouent-elles malgré tout ?

 

ALGOPOL

 

Pour ce faire, PRACTIC et ALGOPOL demandent aux usagers l’autorisation d’installer une application (sur leur téléphone dans un cas, sur leur compte Facebook dans l’autre), pour enregistrer *certaines des* activités des répondants. À l’heure des révélations à répétition sur la collecte d’informations privées, cela pourra inquiéter. Tout le monde ne souhaite pas forcément donner à une équipe l’ensemble des informations de son compte Facebook, même contre la promesse de l’anonymat. Mais, et les chercheurs ont raison de le rappeler, ce qu’ils vous demandent de faire explicitement et sous contrôle (pour Algopol, les données sont stockées en un seul endroit, et elles doivent être détruites un an après la fin de l’enquête; pour PRACTIC, une interface spécifique et sécurisée a été créée pour l’occasion), ce que font déjà de très nombreuses applications que vous utilisez probablement.

 

Donner son ‘core’ à la science ?

Aujourd’hui, ALGOPOL et PRACTIC ont besoin de vous. L’une et l’autre enquête requièrent de nombreux participants pour parvenir, après redressement, à avoir une population relativement représentative des usagers d’internet. Si l’idée de prêter l’un des ‘cores’ de son mobile (ou vos données personnelles) à la science ne vous rebute pas, vous pouvez participer. Cela ne va pas sans gratifications d’ailleurs, puisque l’un et l’autre vous offrent des compensations — y compris matérielles. ALGOPOL vous fournit le graph animé de votre réseau de relations dans le temps. Et PRACTIC vous propose de gagner des tablettes. Longtemps proscrite, la rétribution (ici modeste) des enquêtés serait-elle en train de revenir en grâce?

  1. Comme le montrent bien le chapitre méthodologique de l’enquête sur le contexte de la sexualité en France (Bozon, Bajos, 2008) ou l’article de F. Houseaux et C. Bessière (2003) sur les enquêteurs de l’INSEE.
  2. Plusieurs comparaisons ont été faites, qui tendent à montrer que les réponses à des questionnaires en ligne sont supérieures à celles d’un questionnaire envoyé par papier, et ce sans trop de bais (sauf l’âge, en baisse toutefois). Les erreurs de saisies semblent aussi également distribuées (voir par ex. Lefeser et al., 1997).

étienne

Chercheur CNRS (SAGE-Université de Strasbourg). Données numériques, sociologie politique, épistémologie des sciences sociales.

More Posts

Des listes aux matrices (réseaux de mode 2)

La multiplication des informations disponibles en ligne a peut-être eu un effet relativement inattendu : le retour en grâce d’analyses de réseau bi-mode. Une partie significative de données disponibles en ligne facilement sont en effet des listes « d’individus » appartenant à des « groupes » (entreprises, commissions, conseil d’administration, films). Or c’est justement ce lien entre deux types d’entités que fait l’analyse bimode. C’est le cas de l’exemple bien connu des entreprises du CAC 40 et des membres de leurs conseils d’administration respectifs, représentés ci-dessous (voir ici pour la source).

CAC

Après une période faste[1], le two-mode (aussi connu sous le nom de réseau d’affiliation) a fait l’objet d’une attention plus distante de la part des spécialistes. La critique à son égard est bien connue : parce que les « liens » entre individus étaient des liens supposés plutôt qu’établis, le two-mode serait un mode pauvre. Peut-on, par exemple, inférer de la co-présence à un conseil d’administration un « lien » entre deux personnes. Et si on le fait, de quelle nature est-il et que peut-on en dire (au-delà de « c’est un – plus ou moins – petit monde ») ? Et les personnes sont-elles là pour les mêmes raisons ? Comment savoir si elles sont actives ou pas dans le groupe ? Si Bernard Arnault et Bernadette Chirac (Chodron de Courcel) siègent (au moins en théorie) ensemble au CA de LVMH, ont-il le même poids dans ses prises de décision ?

À la faveur de la disponibilité nouvelle de certaines sources et de l’intérêt croissant pour les méthodes quantitatives (et de réseau en particulier), le two-mode semble pourtant revenir en grâce. En témoignent me semble t-il  certains fort jolis dessins, et un numéro spécial de la revue phare du domaine, « Social Networks ». En témoignent aussi les nombreuses demandes que j’ai reçues depuis le début de l’année de faire de telles analyses, ou de mettre en forme des données. Je saisis donc l’occasion pour faire un rapide tutoriel pour transformer les listes en matrices, lisibles par différents logiciels.

Préparer les données

Une des difficultés de l’analyse de réseau se situe souvent en amont de l’analyse, dans la mise au format des données requises. Le plus souvent, les traitements demandent que celles-ci  soient présentées sous forme d’une matrice avec en ligne les entités de type A (par exemple les individus) et en colonne les entités de type B (par exemple les organisations). Dans les cellules, on a 0 ou 1 (ou un autre entier) selon que l’individu (en ligne) en question appartient à l’entité indiquée en colonne.

matrice

L’image ci-dessus est un exemple de ce à quoi on veut arriver.  À des fins d’illustration, on travaille ici partir d’un extrait de la base de données compilée en ce moment par les chercheur.e.s réunies autour de l’enquête SOMBRERO. Cette étude des manifestations et de leurs acteurs dans trois villes (Paris, Lille, Marseille, Rennes) cherche à voir les participations conjointes d’organisations (partis politiques, syndicats, associations) à des manifestations de rue. L’ensemble est saisi à partir d’archives et de sources de presse. En ligne (EVT), les manifestations (on leur a donné un chiffre). En colonne (value), le nom des organisations qui y participent.

Les manières de coder sont nombreuses, tout comme le sont les manières d’importer les données sous R. Mais certains logiciels (UCINET, très prisé par certain.e.s car simple et efficace) préfèrent les matrices (avec les individus en lignes, et les organisations en colonnes). Comment passer à cette matrice quand on a un autre format? Deux cas classiques peuvent être distingués.

Le cas des listes simples

Souvent, les données collectées sont présentées sous la forme de deux colonnes. L’une représente les entités de type A, l’autre représente les entités de type B. On les a recopiées (ou aspirées) depuis une source (un site web). Le format liste est pratique car il est souvent bien plus rapide que la création manuelle d’une matrice avec les individus et les organisations uniques.

Mais pour bien des logiciels, il faut repasser cette liste en matrice. Le passage d’une liste à une matrice (qui peut être pondérée) est assez simple. Si notre liste s’appelle ma_liste, alors ma_table est une matrice au format requis


#Crée une liste fictive, pour l'exemple
ma_liste<-as.data.frame(cbind(c("manif1", "manif1", "manif2", "manif3", "manif4", "manif4", "manif5"), c("orga1", "orga2", "orga3", "orga3", "orga1", "orga1", "orga3")))
colnames(ma_liste)<-c("MANIF", "ORGAS")

#Transforme cette liste en matrice
ma.table<-as.matrix(table(ma_liste))

On passe alors de l’image de gauche à celle de droite.La commande as.matrix permet juste de s’assurer que le format reconnu est bien une matrice, ce qui est souvent préférable en la circonstance.

list-table

 Listes multiples

Parfois, on se retrouve dans le cas où, pour des raisons de lisibilité, on a sur une même ligne l’entité A (par exemple les individus), puis toutes les personnes qui y participent. S’il est plus lisible au moment de la saisie, ce format n’est pas le plus maniable. Plusieurs solutions existent, on en propose une qui nous ramène au format liste simple évoqué ci-dessus.

Soit une série de manifestations et les organisations qui y participent.  Chaque ligne représente une manifestation unique (EVT) et les identifiants des organisations (IDORGA1, IDORGA2, ….jusqu’à 10 possibles ici).

head.sombrero

On a certes un tableau, mais ca ne ressemble pas vraiment à la matrice qu’on veut car chacune des colonnes ne renvoie pas à une organisation donnée, mais seulement à la première qui apparait comme présente à cette manifestation dans les sources.
Pour obtenir une représentation matricielle, il faut repasser cela en liste. On charge pour cela le package reshape, qui permet des manipulations de données aisées (1), puis on relie les différentes colonnes les unes sous les autres tout en conservant le numéro de l’événement (2). On supprime la colonne des identifiants orgas, qui ne sert plus à rien (3), et on n’oublie pas d’enlever les non-réponses (4).


(1) require(reshape)# l'installer si on ne l'a pas!
(2) base.sombrero <- melt(base.sombrero, c=”ID_MANIF”)
(3) base.sombrero <- base.sombrero [,-c(2)]
(4) base.sombrero <- base.sombrero [!is.na(base.sombrero),]

 

L’objet base.sombrero est prêt à être traité comme une liste simple, comme évoqué précédemment. Il ressemble d’ailleurs à la première liste représentée ci-dessus.

Voilà pour la transformation de listes en matrice. Pour la transformation à l’inverse, les mêmes procédures s’appliquent, mais dans l’autre sens. Comme c’est souvent le format matrice qui est attendu, on ne s’y attarde pas ici. Et comme les tutoriels pour apprendre à se servir des différents packages d’analyse de réseaux sont nombreux, je ne m’y attarde pas non plus (voir par exemple la documentation de igraph ou les bons conseils de L. Beauguitte sur le site du groupe FMR).

Pour avoir une idée de l’intérêt heuristique de la chose, voilà une représentation (bipartite donc) d’une partie de la base Marseille de l’équipe Sombrero (cliquer pour zoomer).

Pour plus d’informations sur cette enquête, Mathilde Pette (Clersé, Lille-1) et Julie Pagis (CERAPS/CNRS) présenteront les premiers résultats des traitements via l’analyse de réseaux lors de du colloque ‘Reconstruire des espaces militants dans une perspective comparée’ (programme en PDF ici) qui aura lieu a Lausanne les jeudi 27 et vendredi 28 mars.

Marseille - 2mode


[1] Voir par exemple R. Breiger (« The duality of persons and groups », Social Forces) 1974, qui affirmait que le two-mode était le meilleur site pour étudier la co-construction des individus et des structures sociales, et les nombreuses études d’interlock.

étienne

Chercheur CNRS (SAGE-Université de Strasbourg). Données numériques, sociologie politique, épistémologie des sciences sociales.

More Posts