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

Doctorant en sociologie politique à 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

Doctorant en sociologie politique à 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

Les recettes de l’infidélité

Billet co-écrit avec Marie Bergström

Saint-Valentin oblige, on n’échappe pas aux reportages sur les sites de rencontre. Cette année, la tendance semble être aux sites extraconjugaux, qui proposent aux personnes en couple de trouver un autre partenaire « en toute discrétion ». Responsable des sites comme journalistes affirment à l’unisson qu’une révolution est en marche. Ces sites et leur prétendu succès témoigneraient d’un changement radical dans la sexualité. Tous sexes et âges confondus, les Français multiplieraient les partenaires, ce que les récentes aventures du premier d’entre eux ne feraient que confirmer.

Dans un souci poussé de scientificité, l’un de ces sites leaders du marché a même recensé toute une série de données, toutes éloquentes. Sur cette (unique) page web, on apprend que « 43% des Français avouent avoir été infidèles » une fois dans leur vie, une situation en hausse par rapport à 1970 (soit disant 19%). 63% des répondants déclarent qu’on « peut aimer son conjoint tout en lui étant infidèle » (+10 points par rapport à 2010). Et en se promenant, on trouve d’autres indicateurs : le palmarès des régions infidèles, ou les chiffres d’inscrits – bien sûr importants (au-delà du million pour certains). Toujours selon les sites, hommes et femmes seraient presque aussi infidèles.

Une bien improbable explosion

Pour le chercheur, ces chiffres laissent songeurs. D’abord parce qu’on ne connaît rien de leur provenance, ni la méthodologie qui a été utilisée pour les obtenir. Ensuite parce que même s’ils n’ont pas été inventés de toute pièce, ils proviennent sûrement d’un sondage commandé à un institut. Quand on sait que ce genre d’enquêtes est moins orienté vers la connaissance d’un phénomène que vers la promotion d’un produit, on peut s’interroger. Outils de communication commerciale financés par les demandeurs, ces sondages sur mesure présentent souvent des chiffres avantageux pour le commanditaire (ou sont enterrés)[1].

Enfin, et on quitte là la saine suspicion (la « critique des sources ») pour passer aux faits avérés, ces résultats sont tout simplement impossibles. Toutes les études sérieuses dont on dispose sur le sujet montrent en effet le contraire. C’est le cas de la dernière enquête Contexte de la sexualité en France [2] . Réalisée sur un échantillon de plus de 12 364 personnes (contre moins de 600 pour ces types de sondages…), mené dans des conditions précises avec la double expertise de l’INED et de l’INSERM, elle brossait un tableau bien différent de la sexualité des Français.

À la question : « Lorsque deux personnes sont en couple, quelle est la position dont vous vous sentez le plus proche ? », les réponses étaient les suivantes.

En %

La fidélité… Femmes Hommes
Pour la vie 48.2 45.5
Tant que l’on est ensemble 45.8 44.3
Avec la possibilité de quelques aventures 5.8 9.6
Autre 0,2 0.5

                                     (Champ : adultes de 18 à 69 ans)

Seuls 6 % des femmes et 10 % des hommes acceptaient l’idée de l’infidélité. On pourrait dire que derrière ces belles paroles se cachent des pratiques bien différentes. Comme une autre question portait sur les « partenaires simultanés », vérifions. Cette fois, ce sont seulement 0.8% des femmes mariées et 1,9 % des hommes mariés qui déclarent deux partenaires sexuels simultanés au moment de l’enquête. Bref, on est là encore très loin des chiffres avancés.

Enquête en terrain “extraconjugal”

Mais, avancent les sites, les pratiques changent rapidement et ces enquêtes ne mesurent que ce qu’on veut bien leur dire. Selon eux, la fréquentation qu’ils connaissent serait le meilleur indicateur. Aucun chercheur ne dira le contraire, mais personne ne peut vraiment savoir, puisque les chiffres clients sont des propriétés très bien conservées par ces sites.

On peut contourner cette difficulté avec un peu de patience et d’habileté. Via l’interface, on dispose des profils des inscrit-e-s. À condition d’en collecter suffisamment, on peut avoir une idée de leur activité. Comme les sites fournissent par ailleurs des éléments sur la dernière visite de chaque membre (afin que les inscrits ne s’acharnent à contacter des personnes parties depuis longtemps), on peut alors constituer un échantillon de personnes présentes récemment. Qui peuvent être exploités.

Après avoir créé deux profils entièrement vierges (Martin et Martine, 35 ans chacun) sur l’un des principaux sites « extraconjugaux », on a collecté des informations sur leurs derniers utilisateurs connectés. Et on répété l’opération plusieurs fois tout au long du week-end pour multiplier les prises. Une fois un peu de ménage fait (élimination des doublons en particulier), les résultats sont parlants.

AgeDispersionLecture: 25% des femmes sur ce site ont 34 ans ou moins, 50% ont 40 ans ou moins, 75% ont 47 ans ou moins.

Sur les effectifs d’abord. En dépit de leurs centaines de milliers d’abonnés revendiqués, on retrouve très vite les mêmes personnes. C’est particulièrement vrai quand on cherche uniquement parmi les personnes connectées. Souvent, on retrouve une partie de celles présentes sur les premières pages un peu plus loin sur le site. Ce doublonnage crée l’impression d’une abondance relative. Autre modalité : afficher des personnes qui sont certes connectées, mais dans d’autres régions, ou des dont la date de connexion date un peu. Ce n’est donc pas vraiment de la triche, mais c’est moins pratique. Trouver un-e amant à Montpellier quand on habite à Paris, ce n’est pas le plus simple pour une rencontre discrète.

Sur le sex-ratio ensuite.  Si on a l’impression que femmes et hommes sont présents à parité sur l’interface, on se rend vite compte que ce n’est pas vraiment le cas en pratique. Intuitivement d’abord. Mes deux profils sont restés connectés autant de temps à chaque fois. Si Martine a immédiatement reçu des demandes de chat, des cadeaux, des fleurs, des sourires, des visites par dizaines et des messages (je vous passe le contenu), tel ne fut pas le cas de Martin. Ce dernier a juste eu un rapide contact avec une personne qui lui proposait des relations « contre générosité » [sic]. À profil égal, succès inégal donc.

 Une manière concrète de mesurer ce déséquilibre est de faire une petite expérience. Soit une recherche des personnes « En ligne » et en « Ile de France ». L’interface nous renvoie plusieurs centaines de personnes, autant chez les hommes que chez les femmes. Mais quand on regarde en détail, on se rend compte que si beaucoup d’hommes sont présents en ligne, ce n’est pas le cas pour les femmes. Passée la première page, on voit s’enchainer les profils de femmes déconnectées. Ils sont visiblement présents pour remplir le site. Ce décalage s’accroit même quand on regarde d’où elles viennent. Plus de la moitié de ces femmes en ligne viennent en effet d’autres régions. Et pas toujours de très près : Languedoc-Roussillon, Midi-Pyrénées, PACA… fournissent des effectifs non négligeables.

Plots2

 Le graphique ci-dessous montre bien ce décalage. Si on part de la situation d’égalité parfaite (une homme se voit présenter autant de femmes qu’une femme d’hommes), un premier déséquilibre commence avec la connexion. On n’a plus que 40% de femmes contre 60% d’hommes qui sont effectivement en ligne parmi les centaines de profils affichés. Et si on ne considère que les personnes connectées et en Ile-de-France, on arrive à un ratio de 1 femme pour 4 hommes. À Paris seulement, le ratio est à peu près de cet ordre. Pas étonnant que Martine ait été autant sollicitée pendant que Martin attendait seul. Tout au long du week-end, ce chiffre a varié, de 70 à 80%.

On remarque par ailleurs que les usagers sont loin de se déclarer tous infidèles (c’est-à-dire en couple par ailleurs) mais sont nombreux (environ 40 %) à se présenter comme célibataires, séparés ou divorcés. Au-delà de l’infidélité, ces sites mettent en scène des rencontres à finalité sexuelle et sont sans doute fréquentés en grande partie par des individus désireux de vivre des relations de courte durée.

Plots1

L’infidélité fait elle recette ? C’est tout au moins le pari des concepteurs de sites qui  affrontent aujourd’hui un marché fort concurrentiel. Dans cette situation, comme le conseille tout bon manuel de marketing, mieux vaut viser une concurrence latérale que frontale avec les acteurs dominants (comme Meetic). Autrement dit, identifier et occuper des segments de marché. Ainsi, les sites « de niche » se multiplient (ils représentent près d’un tiers des sites hétérosexuels en 2008)[3] et proposent des sites de plus en plus ciblés (rencontres pour « écolos », « bcbg », militaires, amateurs de football…ou herpétiques). Souvent interprétés – comme les sites extraconjugaux – comme un signe de nouvelles normes conjugales et sexuelles, ces sites révèlent en premier lieu une stratégie de marketing : ils sont les produits des logiques du marché économique bien plus que des reflets du marché matrimonial.


[1] La situation est la même dans le cas de sondages publiés opportunément sur tel ou tel sujet lors d’une campagne électorale, comme le rappelait judicieusement Patrick Lehingue dans un ouvrage récent.

[2] M. Bozon, N. Bajos, La sexualité en France, La découverte, 2008.

[3] M. Bergström, “La toile des sites de rencontre”, Réseaux, 2011.

étienne

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

More Posts

Sur “Les dérives de la bibliométrie”

Spécialiste de sociologie des sciences, Yves Gingras propose dans son dernier ouvrage une réflexion sur l’évaluation de la recherche. Publié aux éditions Raisons d’Agir, l’ouvrage se présente comme une  nouvelle contribution critique aux débats très contemporains sur le sujet. Après d’autres, l’auteur se propose de décortiquer les indicateurs et les classements, et d’en montrer l’inconsistance, voire la nocivité potentielle. On se tromperait pourtant si on ne voyait dans ce livre qu’un énième pamphlet contre le gouvernement de la science contemporaine. Car l’ouvrage propose en fait bien plus qu’une critique – par ailleurs fine et appuyée sur plusieurs décennies d’étude du fonctionnement des sciences. On peut en effet lire ce livre sous au moins trois angles différents : la critique de l’évaluation bibliométrique actuelle, le plaidoyer en faveur d’une réappropriation de ces techniques par les sociologues des sciences, et l’invitation à une bibliométrie réflexive.

 

http://sciences.blogs.liberation.fr/.a/6a00e5500b4a64883301a51156784e970c-300wi

De quoi les citations sont elles le nombre ?

Le premier temps du livre, qui lui donne son titre, propose  une discussion critique des formes d’évaluation quantifiées de la recherche. Gingras rappelle l’histoire des techniques bibliométriques, nées entre science (une volonté de proposer un outil de repérage bibliographique pour les chercheurs d’un même domaine) et politique des sciences (mesurer la « qualité scientifique » d’un auteur). Reprenant les travaux de P. Wouters sur la naissance de la scientométrie, l’auteur montre que les fondateurs du Science Citation Index avaient d’abord pour objectif de proposer un outil de connaissance bibliographique à destination de la communauté scientifique.

Las, leur création leur a échappé et la National Science Foundation, qui financé les premières recherches sur l’outil bibliométrique, développe sur cette base une série d’indicateurs destinés à créer une évaluation scientifique de la science dans les années 1970. S’il ne peut raconter toute l’histoire, Gingras en évoque bien ses principales figures (Derek de Solla Price et sa tentative de créer une « science de la science », parfois avec des visées très appliquées), tout comme il montre l’explosion de la bibliométrie dans la politique des sciences contemporaines.

L’ouvrage revient alors sur les différents index et autres facteurs souvent évoqués pour mesurer la productivité des chercheurs. De manière particulièrement précise, mais toujours stimulante et lisible pour le non-spécialiste, l’auteur évoque les limites fortes de ces outils. Les critiques sont connues. Censé mesurer l’excellence des chercheurs, le h-index saisit en fait leur capacité à écrire de nombreux d’articles modérément cités (un auteur qui publie 7 articles cités 7 fois a un h-index de 7, quand un autre qui publie deux articles cités 100 fois chacun a un h-index de 2). Les classements internationaux des universités écrasent les différences de fonctionnement national et ne mesurent rien in fine. Les champs ont des pratiques de citations particulièrement différentes (qui varient dans le temps), et même à l’intérieur d’un champ, on trouve des variations tellement fortes que l’évaluation s’appuie sur des bases bien instables. De toute façon, le facteur d’impact des revues peut être manipulé via l’autocitation, ou par des revues complices afin d’être indument augmenté (les “cartels de citation”). Enfin, critique classique mais essentielle : ces techniques ne capturent pas la valence d’une citation, et une série de citations négatives (ou dans des revues invisibles, mineures, proches de l’auteur) comptent autant que celles dans une revue centrale.

Faut-il brûler le Web of Science ?

Là où l’ouvrage de Gingras se démarque des discours classiques sur la bibliométrie, c’est qu’il propose non pas de jeter mais de s’en réapproprier les données et les outils,  actuellement monopolisés par les administrateurs de la recherche. Car si elle est une bien piètre mesure de la qualité individuelle des chercheurs, elle peut devenir un outil particulièrement efficace pour la sociologie des sciences. L’auteur nous emmène alors dans un voyage à travers différents travaux qui utilisent la bibliométrie pour revisiter l’histoire des sciences. Dans une version résumée de son article sur la découverte de l’ADN, il montre ainsi, données de citations en main, que la découverte de la double hélice par Watson et Creek a eu une reconnaissance bien plus rapide que ce qu’en disaient les historiens.

Loin de tomber dans la fascination pour son objet critiqué quelques pages plus tôt, l’auteur explique pourquoi la sociologie des sciences peut faire un meilleur usage des données de citation que les administrateurs de sciences. D’abord, la question de la valeur de la citation — problème central de ces indicateurs, qui enregistre indifféremment louanges et critiques — importe peu quand on analyse le destin de controverses scientifiques. Qu’importe en effet que la citation soit positive ou négative, pourvu qu’on voit une discussion émerger. De la même manière, le chercheur qui étudie un champ donné peut contrôler les variations de citations, et ainsi détecter les renvois d’ascenseur, entre chercheurs, entre revues. Finalement, la connaissance  fine du champ permet d’interpréter correctement les données de citation et de les utiliser positivement.

Invitation à la bibliométrie réflexive

Loin de se cantonner à une critique de la bibliométrie, Gingras propose de l’utiliser de manière abondante, mais efficace. La bibliographie de l’ouvrage est, à elle seule, un outil unique pour tout chercheur qui voudrait travailler sur ou avec ces questions de mesure quantifiée de la science. Et à plusieurs reprises, l’expérience de l’auteur, assurément l’un des chercheurs les plus prolifique dans ce domaine (voir l’entretien publié récemment sur le carnet Zilsel), lui permet d’émettre des propositions innovantes. À la fin du livre, l’auteur propose ainsi de réfléchir à ce que serait un indicateur robuste de la productivité de la recherche. Plutôt que de vouer aux gémonies toute mesure quantifiée, il propose une série de critères censés assurer la fiabilité et le bon usage des index ainsi créés. La proposition peut sembler iconoclaste, mais elle a le mérite de poser les bases d’une réflexion sur ce que peut être une aide à l’évaluation par la quantification.

L’ouvrage est donc un tour de force, à la fois dense et plaisant à lire, utile aux spécialistes mais pédagogue pour les néophytes. On pourra noter qu’il est finalement moins question de l’évaluation de la recherche en général que de son versant purement quantitatif. Et que ce faisant, le titre est en décalage avec le contenu, d’autant plus que la tonalité est bien moins critique qu’il ne le suggère. Si on ne saurait en faire le reproche à l’auteur, on peut prolonger la discussion et s’interroger : faut-il recourir à des indicateurs quantitatifs pour juger la science actuelle, ou faut-il tout simplement laisser ces techniques aux sociologues des sciences ? Gingras semble plaider pour des méthodes mixtes qui allient analyse de citation et appréciation substantive.

Mais ce faisant, on occulte les différentes possibilités qui se passent volontiers de la quantification, ou lui font un véritable pied de nez. C’est le cas de l’idée, de plus en plus fréquemment évoquée, de ne juger que sur un nombre très limité de travaux… car on limiterait justement le droit d’un chercheur à publier (par période, par thème). Manière radicale de lutter contre la prolifération de textes que plus personne ne peut lire de toute façon, la proposition a le mérite de poser la clairement la question : ne vaut-il pas mieux écrire un excellent texte qui donne à penser tous les trois ans que publier une succession d’articles inaboutis ? À l’heure où se multiplient les injonctions à publier plus, il peut être salutaire de se poser cette question, quoiqu’elle ait déjà été tranchée depuis longtemps. La scientométrie tend en effet à montrer que les travaux qui restent sont, sauf exceptions, ceux qui ont mis longtemps à être produits.

étienne

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

More Posts

Les calculs dans les nuages (2) – Tutoriel

Dans le billet précédent,  on avait discuté de l’intérêt du « cloud computing » pour les sciences sociales. La conclusion était qu’il peut parfois être utile d’avoir recours à la location de serveurs pour disposer d’une puissance de calcul décuplée. Si je l’ai utilisé dans le cas d’une vaste opération de nettoyage de données bibliométriques, c’est en fait utile dans bien d’autres cas. L’analyse de réseau, surtout si elle s’appuie sur des simulations, peut par exemple être très chronophage. Et quand chaque essai prend 20 minutes, l’exploration est ralentie d’autant.

Dès lors, il peut être utile de passer par le cloud. Le tutoriel ci-dessous propose de vous installer une image de R dans les nuages en moins de 10 minutes, montre en main. On va passer par le service d’Amazon, Amazon Web Service. La raison principale est qu’il existe une « image » de RStudio pré-programmée qui en rend l’installation très simple. Mais comme on l’a déjà dit, ce n’est pas forcément le moins cher, ni le plus performant. Caveat emptor!

1. Ouvrir un compte chez AWS.

C’est tout aussi simple que de créer un compte chez Amazon Web Service. Crééz le, et gardez-le ouvert.

2. Aller sur la page de Louis Aslett

Un statisticien d’Oxford, Louis Aslett, a créé une série d’images qui permettent de placer une console RStudio directement dans les nuages. Allez sur sa page, et sélectionnez l’image qui vous correspond en fonction de votre région, dans la boite en haut à droite.

3. Sélectionner une instance

Si tout va bien, vous êtes ramené directement sur le site d’AWS. Sélectionnez une instance. Vous avez le choix entre plusieurs formules, regroupées (barre de gauche) en quatre grandes familles :

– Micro instance (équivalent à un ordinateur de faible puissance)

– General purpose : diverses combinaisons relativement équilibrées, de puissance variable

– Memory optimized : Des instances avec des niveaux de RAM très élevé

– Storage optimized : Des niveaux de stockages très importants

– Computer optimized : Là, l’accent est mis sur le nombre de processeurs.

Comme je le disais dans le billet précédent, tout dépend alors du type d’opération et du temps que vous voulez y consacrer. Parfois, attendre un peu plus longtemps permet de faire des économies.

4. Détails

Viennent ensuite une série de pages, que vous pouvez passer rapidement :

– Configure instance details : cliquez sur Next sans rien toucher d’autre

–  Add Storage : cliquez sur Next sans rien toucher d’autre

– Tag instance : Donner des noms (Ex. Etienne – RStudio)

5. Configure Security Group

Ici, il faut configurer la liaison à internet. Sous l’onglet protocol, cliquer sur « Custom TCP Rule » dans le menu déroulant (au lieu de SSH). Le champ « Port Range » devient inscriptible. Mettre 80.  Laisser *Source* tel quel (ie. “Anywhere” et “0.0.0.0/0”).

Une fois cela fait, on vous demande de vérifier (Review) et de lancer. Il est possible qu’une fenêtre s’ouvre en vous demandant quelle « Security pair » choisir. Choisissez « no security pair ». Et c’est parti, maintenant, vous payez.

 

Screen Shot 2013-12-16 at 7.51.11 AM

 

Il faut attendre une minute ou deux le temps que tout se mette en place. Vous pouvez observer le processus depuis votre console (cf. ci-dessus). Dans le menu principal, vous avez la liste des instances que vous avez créées (là, j’en ai deux). Une micro (gratuite pendant un an avec l’inscription à AWS, mais plutôt du genre vieux coucou cacochyme), et une autre mise en place pour faire un gros calcul. La colonne « instance state » dit qu’une fonctionne, et que l’autre est à l’arrêt (ce que vous faites via l’onglet Actions).

En face de Public DNS, vous avez maintenant une adresse URL (en surbrillance bleue sur la copie d’écran). Copiez-là, et collez-là dans votre navigateur. On va vous demander vos codes (qui sont: rstudio/rstudio). Une fois cela fait, les utilisateurs de R retrouvent un environnement assez familier.

Quelques petits conseils avant de démarrer

  • Pour travailler des données, il faut les importer via l’onglet upload. Selon leur taille et votre connexion, cela sera plus ou moins long.
  • Aucune extension n’est pré-installée, donc il faut le faire. Choisir un miroir (chooseCRANmirror()) puis refaire une procédure d’installation manuelle (ex: >install.packages(‘questionr’)).
  • Une fois les données traitées, on les exporte via l’onglet « More » dans le panel en bas à droite. Attention, si vous n’avez pas assez de RAM (par ex. si vous utilisez la micro instance sur une tâche un peu costaud), vous pouvez rester bloqués à ce stade, ce qui est contrariant puisqu’il faut tout refaire …. avec une instance plus puissante. Contrairement au nom du sous-service (Elastic Cloud), Amazon ne permet pas d’augmenter la taille de ses instances une fois qu’elles sont créées.
  • IMPORTANT : Une fois que vous avez terminé : déconnectez-vous (sign out). Vous avez quitté R dans les nuages, mais pas AWS, qui lui continue de tourner. Donc n’oubliez pas d’aller sur votre console pour arrêter l’instance. Car sinon, vous continuez de payer. Allez dans le menu ACTION, et choisissez. Soit vous choisissez Stop, auquel cas vous conservez l’instance en mode pause, et vous ne payez que pour les données que vous avez stockées sur l’image (à un taux très faible). Vous pouvez alors la réactivez quand vous le souhaitez. Soit, maintenant que vous savez créer des instances à tout va, vous faites « terminate ». Et là, tout disparaît pour de bon : instance, données, etc.

Voilà pour les informations de base. Commentaires et questions bienvenus. Et je suis aussi preneur de tout tutoriel pour installer une instance sur un opérateur concurrent.

étienne

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

More Posts

Les calculs dans les nuages

La légende veut qu’une année, au moment des fêtes de fin d’année, Amazon ait connu un problème technique. Proche de leurs limites depuis plusieurs heures, les serveurs auraient rendu l’âme de manière inopportune, faisant perdre des sommes considérables à l’entreprise de Seattle. Pour éviter que cette déconvenue ne se reproduise, cette dernière aurait décidé d’investir massivement dans des infrastructures. Mais tout cela ne va pas sans coûts : le matériel est onéreux, il devient rapidement obsolète, il faut l’entretenir, payer des factures astronomiques en climatisation (ou s’installer en Islande)… Pour rentabiliser le tout, Amazon aurait donc proposé de louer ses serveurs, d’abord à des entreprises, puis à des particuliers.

L’offre est désormais bien rodée, et Amazon Web Services est l’un des nombreux prestataires de services dans le « cloud ». On peut louer de l’espace de stockage, mais aussi de la bande passante, ou de la puissance de travail… ce qui est non négligeable quand on travaille avec des quantités de données assez vastes. Ça l’est d’autant plus, comme de nombreux chercheurs, on travaille avec R – connu pour ses problèmes de mémoire.

J’ai récemment été confronté à cette situation lors du traitement d’une base de données un peu lourde. Pour le projet sur la réception des sociologues français aux États-Unis (déjà évoqué ici) déjà évoqué, je cherchais à repérer une série d’informations dans des bibliographies. Mais 40 années multipliées par 35 journaux correspondent à 40 000 articles, et à 1,6 millions de citations. Et je devais faire 200 requêtes modérément complexes (une par auteur) sur chacun de ces items. Ce n’est pas énorme pour certains logiciels, mais du fait de la manière dont R gère sa mémoire et du fait de la manière dont j’abordais le problème, mon ordinateur n’y suffisait pas.

Comment faire pour traiter des données lorsque la puissance de sa machine est insuffisante ? La question ne se pose pas que dans le cas d’opérations de data-mining, on y est aussi confronté quand on fait des calculs un peu gros (comme en analyse de réseau). On a alors plusieurs possibilités. La première chose consiste à voir s’il n’est pas possible d’améliorer son programme, pour l’adapter au mieux à la manière dont R gère la mémoire (on lira à profit R Inferno, que m’avait utilement conseillé Y. Savina). Ensuite, on peut utiliser des outils plus adaptés par exemple les modules (ff ou bigmemory). Enfin, on peut passer par un autre langage de programmation qui ne s’étouffe pas devant ces nombres, soit en l’appelant depuis R, soit directement.

La solution que j’ai retenue est autre. Outre l’optimisation du calcul, j’ai décidé de louer une grande puissance de calcul contrôlable à distance. C’est ce qu’on appelle le cloud computing.

Louer un supercalculateur depuis votre bureau

Le principe est le suivant : vous louez de l’espace de travail (puissance de calcul + RAM + stockage), vous installez une « image » d’un logiciel que vous voulez faire tourner, vous chargez vos données, et c’est parti. Le résultat est surprenant. En moins de vingt minutes, j’avais loué l’équivalent de 28 processeurs. Et quelques heures plus tard mon problème était résolu alors que mon tout nouvel ordinateur plantait au bout de 14h des mêmes calculs avec R sans avoir fini.

Quelle offre choisir?

De très nombreuses offres commerciales existent, censées s’adapter à vos besoins. Certaines ne vous concernent pas du tout, qui visent à satisfaire des besoins industriels. Mais même parmi celles qui peuvent s’adresser à nous, il faut choisir : faut-il plus de RAM (mémoire vive) ? plus de cœurs ? plus de processeurs (CPU) ? C’est cette question (qui est l’objet de l’algorithmique, versant « théorie de la complexité ») à laquelle on se retrouve confronté quand on compare les offres de cloud computing. Sans rentrer dans les détails, voilà les grandes lignes :

– Si vous avez à répéter de très nombreuses fois un calcul très simple, il vaut mieux privilégier un nombre élevé de CPU (processeur). Plus vous en avez, plus vous enchainez les calculs rapidement.

– Mais si vos objets sont gros ou que vos calculs sont complexes et prennent une place importante, vous voulez avoir de la RAM. C’est particulièrement vrai avec R, qui en consomme plus que de raison.

Ces règles ne sont pas intangibles, ni linéaires, car d’autres facteurs rentrent en ligne de compte. On peut aussi chercher à optimiser le temps en les combinant, par exemple en faisant faire toute une série de pré-calculs en amont et en les stockant dans la RAM avant de lancer le calcul principal.

À quel prix ?

La question centrale est évidemment celle du prix. Combien coûte cette location, et est-elle rentable ? Du point de vue de nos disciplines, la réponse aux deux questions est : « ça dépend ». Sur le papier, louer une série d’ordinateurs dans les nuages ne coûte pas grand chose. En général, bien moins de $0.5 de l’heure. Mais tout dépend du mode de paiement. Certains louent à l’heure, mais plus cher. D’autres vous louent un espace mais pour le mois. Vous pouvez comparer en regardant ici les prix pour AmazonRackspaceinternap, et l’entreprise française OVH qui lance son service en ce moment.

 

Bien sûr, avant de commencer une location, il vaut mieux tester bien son code et ses données pour éviter de devoir faire les calculs plusieurs fois, sachant que le compteur tourne. Et attention ne pas oublier de se déconnecter quand on a terminé ! Cet été, j’ai fait tourner l’équivalent d’une trentaine de machines pendant 48h et cela m’a coûté 20 euros – mais j’avais un peu surestimé mes besoins. L’autre danger, c’est qu’une fois qu’on a utilisé ces moteurs sur des analyses de réseau dont les utilisateurs de R savent qu’elles sont un peu gourmandes, on trouve que son ordinateur est horriblement long. Mais s’habituer à ce confort risque de coûter cher, en tout cas aux tarifs actuels.

Le prochain post proposera un tutoriel pour utiliser l’un de ces services de calculs dans les nuages.

 

étienne

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

More Posts

Les archives du web

Les ajouts et modifications apportés suite à la publication du billet sont indiqués par ce surlignage jaune.

Voilà maintenant plus de deux ans, la Revue d’Histoire Moderne et Contemporaine a consacré un dossier aux pratiques numériques des chercheurs. L’article de Nicolas Delalande et de Julien Vincent, « Portrait de l’historien-ne en cyborg », proposait un tour d’horizon utile sur le sujet. Récusant à la fois l’enthousiasme béat, le scepticisme radical ou l’indifférence polie vis-à-vis des données numériques, ils soulignaient les opportunités qu’elles fournissent aux chercheur.e.s. Les stratégies de recherche, formes de communication (entre chercheurs, ou avec d’autres publics) comme modalités de l’écriture sont selon eux radicalement modifiées par l’arrivée d’internet et de l’ordinateur.

Un aspect non évoqué par l’article – pour des raisons bien compréhensibles – concerne un aspect central du métier d’historien : les archives. Peut-on faire des archives sur internet ? Lieu et reflet de toute une partie de l’activité humaine, on trouve sur le web de très nombreuses informations (parfois même trop, comme le rappelait ce portrait d’un anonyme par la revue Le Tigre). Mais cette abondance disparaît assez rapidement. Probablement pas assez en ce qui concerne le droit à l’oubli, mais suffisamment pour qu’une enquête un peu rigoureuse soit rapidement contrariée.

C’est ce dont je me suis rendu compte récemment alors que je cherchais à faire une liste de tous les « administrateurs de science ». Dans le cadre du projet Go Science, nous cherchons à produire une liste des personnes investies dans l’administration de la science en France depuis les années 1960. Afin de rendre la tâche moins titanesque, nous avons choisi deux domaines, et fait des carrotages par périodes. Pour les collègues en charge du passé « lointain » (les années 1960), la solution est claire : il faut aller à Pierrefite-sur-Seine, fréquenter les archives du CNRS, et ouvrir des cartons. Visiblement, ils s’en sortent.

Pour les années 2010, les choses me paraissaient plus simples. Direction et commissions du CNRS, sections CNU, alliances scientifiques, organigrammes des grands EPST de recherche : tous publient une liste des membres. Sauf que… à chaque changement dans l’organigramme, à chaque nouvelle élection d’un bureau, la mémoire du passé est effacée. Je connaissais bien des manières de retrouver des documents dans le cache de Google, de faire des requêtes un peu complexes pour retrouver des fichiers pdf ou word, mais ça ne me permettait pas de reconstituer la direction du CNRS de 2008, ni ses sections.

C’est Christian Topalov qui m’a indiqué une solution. Engagé dans une entreprise assez similaire mais plus contemporaine et bien plus massive (les résultats de cette enquête collective en cours seront présentés dans le cadre du séminaire Politique des Sciences le 22 mai prochain), il m’a rappelé l’existence d’une « machine à remonter le temps ». Cette “wayback machine”, c’est le site d’une association qui propose des « photos » des sites du passé (On y accède via https://archive.org/). Plusieurs fois par an, parfois plus, la machine « crawle » le site, et en conserve une photo.

La partie de l’enquêt que je mène permet de démontrer en actes de l’intérêt, et ses limites. Si vous cherchez à connaître l’organigramme du CNRS et ses sections pour les années passées, vous rentrez l’adresse internet (l’URL) sur site que vous cherchez. Attention : Wayback Machine archive en fonction de l’URL, donc si le site a changé de nom de domaine (ou changé d’extension, de .fr à .eu par exemple), il faut le retrouver tel quel.  Vous arrivez sur une page avec une frise, qui montre le nombre de photos. Pour le CNRS, on voit que la collecte commence en 1997, et qu’à partir de 2005, les copies sont multiples. On a donc de bonnes chances.

WaybackJPEG

On clique donc sur une date, et on se promène sur le site comme on le ferait à l’heure actuelle. C’est un peu plus lent puisque qu’il faut que WB aille chercher dans ses archives (mais plus rapide que d’attendre une dérogation pour consulter un carton). Et vous pouvez accéder aux informations désirées… parfois. Car malheureusement, l’ensemble du site n’est pas toujours conservé. Les deux principales difficultés sont les suivantes :
• La machine conserve assez bien tout ce qui est écrit « en dur » sur le site, c’est à dire le HTML (et son CSS), ainsi que les liens vers des fichiers (word, pdf). Mais ce n’est pas la seule manière d’écrire le web, et tout ce qui est stocké dans une base de données pour être “injecté” a peu de chances d’avoir été conservé par WB Machine.
• La machine ne se promène pas non plus sur toutes les pages, loin s’en faut. Dans plusieurs cas, comme ici dans pour le CNU Santé de 2008, il n’y a pas de photo disponible.

wayback-Hum

C’est ce qui justifiera donc que j’aille faire un tour au ministère cette semaine pour récupérer ladite liste. Car comme d’habitude avec les données numériques, elles sont potentiellement très riches, mais rarement suffisantes en elles-mêmes. Les stratégies numériques ne constituent pas des stratégies de recherches suffisantes dans la plupart des cas. Ceci dit, c’est un temps précieux gagné dans certains cas.

À noter sur le sujet :

  • La Bibliothèque Nationale de France s’est depuis longtemps engagée dans l’archivage du web et propose un service à ses usagers. Les noms de domaine en .fr sont collectés « largement », et la bibliothèque propose des archivages ciblés. Voir ici  pour une brève histoire et ici pour savoir comment y accéder.
  • L’INA s’occupe de l’archivage du web audiovisuel. Voir ici pour les détails, et là pour le blog sur le dépot légal (avec des annonces de séminaires, des réflexions). [Merci à Anne Pavis pour cette piste].
  • La BNF et d’autres sites permettent de faire de l’archivage de bases de données. Elles permettent de contourner la difficulté évoquée ci-dessus, à savoir l’archivage des pages HTML uniquement (dont l’usage en solo se raréfie). Le nombre de sites concernés est cependant plus faible.
  • Le site de l’IIPC, l’initiative des bibliothèques nationales de différents pays afin de conserver une trace du web.

La liste comme le billet sont évidemment loin d’être exhaustifs, donc n’hésitez pas à laisser des commentaires pour faire des ajouts.

étienne

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

More Posts

Se réapproprier la bibliométrie (II) : Cite me maybe ?

Le blog reprend après quelques mois de pause, tout en continuant à travailler les questions de bibliométrie abordées précédemment. Il s’agit toujours, à partir d’une étude en cours, de questionner ce qu’une bonne connaissance des données bibliométrique peut être et peut permettre de faire, en tant qu’outil sociologique.

ERRATUM : Suite à une erreur dans les lignes de code, le graph de réseau avait des points de taille erronée (corrigé le 7 décembre 2013, merci à LW pour sa remarque).

Sous les dehors de l’objectivité des chiffres, le recours croissant à la bibliométrie comme indicateur de productivité scientifique pose plus de problèmes qu’il n’en résout. Censé déterminer de manière objective la qualité du travail (réduisant par là même la place des scientifiques dans le gouvernement de la science), les différents facteurs d’impact et autres indices mobilisés produisent des résultats difficiles à interpréter. Un article cité l’est-il pour ses qualités ou pour la polémique (parfois scientifiquement peu utile) qu’il suscite ? Un texte important est-il celui qui suscite des programmes de recherche, ou celui qu’on cite de manière routinisée ? Un auteur est-il crédité parce qu’il suscite des recherches innovantes, ou du fait qu’il occupe par exemple une position institutionnelle ou une niche scientifique qui le rendent incontournables ?

À ces remarques bien connues, il faut en ajouter autre, moins souvent évoquée mais tout aussi centrale : la très forte hétérogénéité des pratiques de citation. Que ce soit entre auteurs, dans le temps, d’une discipline ou d’un sous-champ à l’autre, elles varient sensiblement. Cette situation est bien connue des chercheurs qui travaillent sur ce matériau : pour s’en servir, il savent qu’il faut « normaliser » les résultats, par exemple en pondérant le nombre de citations (à un auteur, à un journal) par le nombre total par période et par unité. Et une telle pondération n’est pas une simple opération technique, mais suppose un choix scientifique, en l’occurrence un modèle de l’espace étudié.

Mais qui, au quotidien, prend la peine de le faire ? Les aficionados de Publish or Perish, ce petit logiciel qui permet de vérifier en deux clics si votre voisin de bureau a un meilleur impact factor que vous, ou les tableaux détaillés du Journal of Citation Report, qui offrent une batterie de résultats sur la vitesse de diffusion d’un article, ne les considèrent tout simplement pas et contribuent à les invisibiliser. Les différences sont pourtant prononcées. Et elles devraient remettent en cause les tentatives de comparaison, à moins de faire le travail de normalisation, ce qui est souvent lourd et suppose d’avoir des informations sur l’ensemble des citations.

Prenons l’exemple des revues de sociologie étasuniennes. Les données proviennent de la même source que pour le billet précédent (des données du Web of science largement retravaillées, soit 39 000 articles et 1 694 000 citations). La première remarque est que, comme on le voit sur un échantillon de 35 revues sur 40 années, le nombre moyen de citations par articles a fortement progressé, passant en moyenne de 22 à 56.

BXPLOT-Mean

Code:
Si le fichier mean est au format: year | journal | value:

p <- ggplot(mean2, aes(factor(year), value))+stat_boxplot(geom ='errorbar')
pl<-p + geom_boxplot() + theme(axis.text.x = element_text(angle = 90, hjust = 1))+ ggtitle("Nombre moyen de références bibliographiques dans les articles de sociologie aux États-Unis \n Par journal et par an (1970-2010)\n") + theme(plot.title=element_text(family="Arial", face="bold", size=14))+ labs(x = "\nAnnée", y = "Nombre moyen\n")

Une telle inflation signifie que la signification même de la citation varie au cours du temps. Si on ne prend qu’un indicateur quantitatif, la citation de 1970 « vaut » plus que celle de 2009. Et d’autres changements ont dû survenir. On retrouve ces variations à l’intérieur d’un même champ disciplinaire. Le graphique ci-dessous montre la dispersion des citations pour l’année 2009. On voit bien que si la panacée consiste à avoir de très nombreuses citations, mieux vaut être démographe (le Journal of Marriage and Family est à plus de 4000 références annuelles) que spécialiste des mathématiques (le Journal of Mathematical Sociology, qui en recense moins de 500 par an). Notons qu’on a aussi fait sortir du graphique Social Science and Medicine, qui est à plus de 16.000 citations, du fait d’une publication plus régulière (bimensuelle) mais aussi d’une proximité aux normes de publications dans les revues de médecine (qui ont la main lourde en termes de citations).

BXplot-Name2009

Si le fichier est year | journal | value | position* :
qplot(1, value, data = journals2009, geom = "boxplot", notch=T, xlim=c(0.3,1.7)) + annotate("text", x = journals2009$position, y = journals2009$value, label = journals2009$journal, cex=2.3, colour="#CC3333") + ggtitle("Nombre de références bibliographiques dans les revues de sociologie étasuniennes\n Année 2009\n") + theme(axis.line=element_blank(), axis.text.x=element_blank(), axis.ticks=element_blank()) + labs(x = "", y = "") + theme(plot.title=element_text(family="Arial", face="bold", size=14)) + labs(x = "\n", y = "\nNombre total annuel")

* Parce que certains journaux ont des valeurs proches qui rendent un graphique en ligne illisible, l’astuce consiste ici à faire attribuer une position parmi trois à chaque citation, afin qu'ils se déplacent sur l'axe horizontal.

À condition de prendre le temps et de contrôler ses données, on peut par contre obtenir des résultats intéressants à partir d’une étude des citations. On peut par exemple voir l’émergence de sous-champs, ne serait-ce qu’en regardant l’évolution de l’autocitation de la revue (ie. les articles qui citent des articles de cette revue). C’est clairement ce qui se passe pour Gender & Society et pour Criminology, dont les sujets respectivement s’institutionnalisent ou s’autonomisent au cours de la période. Ce faisant, elles deviennent plus autoréférentielles.

AutocitationSelect


Si les données sont au format : Citing | Cited | year | selfcite_ratio
p<-ggplot(TAB3, aes(x=year, y=ratio, colour=journal)) + ggtitle("L'autocitation au journal dans la sociologie étasunienne\nPar année et par journal (1970-2010)\n")+ theme(axis.text.x = element_text(angle = 90, hjust = 1))+ theme(plot.title=element_text(family="Arial", face="bold", size=14)) + labs(x = "\nAnnée", y = "Taux d'autocitation\n")

[Avec la même technique, on pourrait aussi voir si certains journaux n’essaient pas de faire augmenter artificiellement leur impact factor en rajoutant des citations à des articles qu’ils ont publié récemment]

Une analyse bibliométrique permet aussi de faire apparaître la structure des échanges entre revues. On regarde quelle revue cite quelles autres, et on tente de déterminer la structure des échanges. L’analyse des réseaux est ici plus appropriée, même si on arrive rapidement à saturation puisque le nombre de liens possibles (32*32 revues) est proche du nombre de liens effectifs (une revue cite au moins l’une des 32 autres dans l’année). Sur les conseils de B., j’ai ici fait un peu de ménage en considérant le réseau initial soustrait de sa distribution à l’indépendance. Puis j’ai fait une analyse de modularité pour tenter de détecter des classes à l’intérieur de cet ensemble.

US_Socind5NEW

Sans rentrer dans les détails, ce qu’on voit ici peut se résumer ainsi :

  • La taille du point montre que certaines revues reçoivent beaucoup plus de citations que d’autres. ASR, AJS et Organization studies ont été très citées en 2009. C’est le pendant des analyses précédentes, où on voyait les revues qui citent le plus. Evidemment, il y a une prime aux revues anciennes.
  • La structure du réseau donne à voir un cœur de la disciplines, ie. des revues qui se citent mutuellement et régulièrement (encore une fois, l’absence de lien ne veut pas dire aucune citation dans l’année, mais une citation moindre que ce que donnerait une distribution à l’indépendance). Là, et même si on sait que la preuve visuelle est relativement pauvre en sociologie des réseaux, c’est une analyse des degrés d’intégration qu’on voit ici, avec le centre et les marges d’une discipline.
  • Finalement, l’analyse de modularité (couleurs) permet de voir les revues qui ont les mêmes pratiques de citation. L’algorithme utilisé ici est walktrap (du package igraph), qui donnait les résultats les plus significatifs sociologiquement parmi la palette disponible [http://igraph.sourceforge.net/doc/R/communities.html]. Le principe de la modularité consistant à trouver les divisions optimales au sein d’un réseau, on a ici des petits groupes (pas forcément placés côte à côté, signe que la preuve graphique…). Selon cet algorithme, Social networks et le Journal of Mathematical Sociology ont donc des « pratiques » de citation relativement proches. Le fait que Social science & Medicine soit seul dans sa catégorie n’est pas étonnant : ses pratiques (citation forte, majorité de citations à l’extérieur de la discipline) en font un isolat.
  • [Je suis sûr qu’on peut faire une représentation du réseau avec ggplot aussi, mais je laisse cela à Fr. Briatte pour l’instant.]

    Ces traitements, certains très simples, montrent qu’on ne peut traiter la citation de manière agrégée et sans considération pour les variations d’usages, parfois même à l’intérieur d’un champ. Elles soulignent aussi ce qu’une bibliométrie descriptive offre comme ressources pour comprendre certaines logiques du champ scientifique, à condition qu’on cesse de l’interroger uniquement comme une métrique grossière de la qualité scientifique individuelle.

    étienne

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

    More Posts