Mais combien y a-t-il de femmes scientifiques sur Wikipédia ?

La semaine dernière s’est tenu à Paris un éditathon « Femmes de sciences », coorganisé par Wikimédia France. Mon collègue Mathieu s’est posé la question qui sert de titre à ce billet. Il se demandait également quel était le ratio hommes/femmes dans ce domaine, et m’a demandé comment trouver la réponse en utilisant Wikidata… Je me suis dit que la réponse pourrait intéresser d’autres personnes.

L’outil dont on a besoin est Autolist : https://tools.wmflabs.org/autolist/index.php? et on va l’utiliser pour obtenir les résultats d’une requête Wikidata Query (WDQ).

Prenons deux secondes pour repenser notre requête d’une façon compréhensible par l’ordinateur  : on veut les éléments qui ont pour nature (P31) « être humain (Q5) » (cette précision est obligatoire pour éliminer les personnages de fiction), de sexe ou genre (P21) « féminin (Q6581072) » et dont la profession (P106) est une sous-classe de (P279) « scientifique (Q901) »

Ce qui nous donne la requête : claim[31:5] AND claim[21:6581072] AND claim[106:(TREE[901][][279])] (la syntaxe du « TREE », pour obtenir les sous-classes de scientifique, est quelque peu déroutante mais est expliquée dans la documentation de WDQ.) On peut rajouter un « AND link[frwiki] » pour filtrer sur celles qui ont un article sur la Wikipédia en français. autolist

 Résultat : 14 725 éléments concernant des femmes scientifiques sur Wikidata. Parmi celles-ci, 2 629 ont un article sur Wikipédia en français.

Si je refais ces requêtes pour les hommes (claim[21:6581097]) : 157 093 hommes scientifiques sur Wikidata, dont 36 433 ont un article sur la Wikipédia en français.

On a donc :
  • 14725 / (14725 + 157093) * 100 = 8,57 % des scientifiques sur Wikidata sont des femmes.
  • 2629 / (2629 + 36433) * 100 = 6,73 % des scientifiques sur Wikipédia en français sont des femmes.

Les chiffres pour la Wikipédia en français me paraissent assez faibles et je présume que si la nature et le genre sont bien renseignés sur Wikidata, ce n’est probablement pas le cas de la profession (soit qu’elle n’est  pas indiquée sur l’entrée de la personne, soit que l’entrée de la profession elle-même n’est pas une sous-classe de « scientifique »).

Un autre moyen de rechercher cette information est de croiser les femmes renseignées sur Wikidata (claim[31:5] AND claim[21:6581072]) et les articles dans la catégorie:Scientifique (ou une des sous-catégories à une profondeur de 12 niveaux) sur la Wikipédia en français :

autolist2

Ce qui nous donne 42 321 hommes et 3 279 femmes et donc un taux de femmes de 7,19 %.

Bon, il reste du boulot. Aussi bien pour créer les articles sur Wikipédia que pour trier l’arborescence sur Wikidata.

Image d’en-tête : la conférence de Solvay, en 1911, où sur vingt-quatre scientifiques présents, il y a une seule femme : Marie Curie. Photographie de Benjamin Couprie, domaine public.

Enregistrer

Enregistrer

QuickStatements : trucs et astuces

Magnus Manske a créé beaucoup d’outils pour faciliter la contribution à Wikidata, Autolist et le Wikidata Game étant parmi les premiers qui viennent à l’esprit. Un autre de ses outils, très utile pour ajouter du contenu en masse, se nomme QuickStatements [1]QS dans la suite du texte..

Il est accessible ici et permet de créer des éléments de Wikidata, ou d’en compléter en ajoutant des déclarations (ou des références pour des déclarations existantes), en utilisant une syntaxe à base de tabulations qui est assez bien expliquée sur la page elle-même, ce qui m’évite d’avoir à détailler tout ça ici : débrouillez-vous, RTFM 🙂

Un petit avertissement cependant : si QS se débrouille très bien pour éviter de mettre en doublon une déclaration qui serait déjà présente, il n’y a aucun moyen de lui indiquer de ne pas remplacer un label ou une description s’il y en a déjà un.

Flood flag

Comme dit plus haut, QS permet d’ajouter du contenu en masse : on se retrouve vite à balancer plusieurs milliers de lignes dans le fichier, histoire de partir à un Mardi c’est wiki pour boire des bières [2]ou des diabolos : on n’est pas sectaires. pendant que notre ordinateur continue à contribuer tout seul. C’est cool, mais pas pour ceux qui vérifient les RC… Aussi, quand vous avez un gros traitement à lancer, je vous invite à demander le « flood flag » qui vous permet d’être considéré temporairement comme un robot.

Si vous êtes admin sur Wikidata, vous pouvez vous le mettre vous-même.

Conversion CSV vers QuickStatements

La syntaxe de QS peut devenir rapidement assez fastidieuse, et je trouve personnellement plus simple de travailler avec un tableur. J’ai donc écrit un script qui convertit un fichier CSV en liste de commandes pour QS. Il est trouvable à cette adresse, avec un exemple de la syntaxe attendue.

Il peut arriver qu’on veuille insérer le même label dans toutes les langues utilisant l’alphabet latin, aussi j’ai préparé un fichier avec les en-têtes dans un paquet de langues latines.

Récupération des lignes en erreur

Il peut arriver qu’une ligne pourtant correctement formatée ne passe pas dans QS [3]Pour info, sur un fichier d’environ 110 000 lignes, j’ai eu un peu moins de 500 erreurs… Et plus de 24h de traitement., à cause d’un timeout ou parce que Wikidata est passée en lecture seule. On a alors des résultats dans ce goût là dans le journal de QS :

Quand il y en a peu, il suffit de repasser la ligne précédente (ou de faire directement le changement en question à la main sur Wikidata…), mais quand il y en a beaucoup, on peut les récupérer automatiquement. Si vous êtes sous Linux, vous pouvez le faire de cette façon :

  1. enregistrer le journal des actions de QuickStatements dans un fichier texte (qu’on va nommer ici qs1.txt)
  2. ouvrir une console, se rendre dans le répertoire où est enregistré qs1.txt
  3. lancer la commande suivante :

Il suffit ensuite de copier-coller le contenu du fichier qs1_err.txt dans QuickStatements.

Image d’en-tête : « Shitloads of data to Wikidata », by Jean-Frédéric, CC-By 4.0

Notes   [ + ]

1. QS dans la suite du texte.
2. ou des diabolos : on n’est pas sectaires.
3. Pour info, sur un fichier d’environ 110 000 lignes, j’ai eu un peu moins de 500 erreurs… Et plus de 24h de traitement.

Ton prénom sur Wikidata

Parmi les milliers de trucs qu’il y a à faire sur Wikidata, un gros chantier est celui des prénoms. Cela dit, il y a un moyen simple de se partager le boulot : chacun prend le(s) sien(s) et s’en occupe… Je me suis farci celle pour « Sylvain », du coup voici la marche à suivre pour ceux qui se demandent comment faire la même.

L’élément Wikidata concernant votre prénom

On commence par l’élément concernant le prénom lui-même. Là, en général, c’est un beau bordel hérité de Wikipédia. D’abord, les prénoms connaissant généralement de légères variations d’une langue à l’autre, chaque langue a en général fait un article titré avec  la variante principale du prénom dans ladite langue (ex: Sylvain sur fr:, Silvano sur it:, Szilvánusz sur hu:), et l’a lié avec la forme principale dans une autre langue. Ce n’est pas terrible, notamment parce que en: par exemple peut avoir plusieurs articles sur des variantes du même prénom avec une interwification approximative, et ce qui n’arrange pas les choses, c’est qu’une même langue a parfois a plusieurs variantes assez différentes du même prénom  (typiquement sur fr:, on a Stéphane et Étienne) et donc là aussi plusieurs articles.  Je passe sur le fait que les articles sont parfois des articles détaillés sur le prénom, parfois des pages d’homonymie et parfois un mélange des deux.

La bonne solution pour régler ça, c’est de créer une entrée Wikidata par variante du prénom, d’y redispatcher les interwikis correctement, et de les relier les unes aux autres via la propriété réputé identique à  (p460) (ce qui prend un peu de temps.) Les autres propriétés à ajouter sont :

Une autre possibilité est qu’il n’y ait pas du tout d’entrée pour le prénom en question, sur aucune Wikipédia, et donc pas non plus sur Wikidata (par exemple, c’est une variante féminine rare d’un prénom masculin, comme Sylvaine, ou l’inverse.) Il suffit alors de la créer sur Wikidata.

Les éléments des personnes portant ce prénom

Il suffit de trouver toutes les personnes portant le prénom en question (la bonne variante du moins) et leur ajouter la propriété prénom (P735) avec la valeur appropriée. Facile  à dire, mais pour peu que le prénom soit courant, ça peut rapidement concerner des centaines, voire des milliers d’entrées.

Du coup, on va s’aider d’un outil de Magnus Manske : AutoList2. Il va nous permettre, d’une part de retrouver et lister toutes les personnes dont le label ou un alias commence par le prénom qu’on cherche, mais n’ayant pas cette déclaration de renseignée ; et d’autre part d’ajouter ladite déclaration. Compliqué ? Avec une capture ça sera peut-être plus clair…

 

Capture d'écran du logiciel AutoList2
Capture d’écran du logiciel AutoList2 (cliquez pour agrandir)

 

J’ai fait la recherche pour Sylvaine (puisque pour Sylvain c’est déjà fait) et encadré 3 zones.

En 1, la recherche.  On cherche donc toutes les entrées qui commencent par « Sylvaine », ce qui se traduit par « Sylvaine % » dans le champ « Find on
Wikidata » , qui ont pour « nature de l’élément (P31) → être humain (Q5) » et qui n’ont pas déjà la relation « prénom (P735) → Sylvaine (Q17617112) » comme  on le voit dans le champ « WDQ » : « claim[31:5] AND noclaim[735:17617112] » (Vous noterez qu’il ne faut ici pas indiquer les P et Q des identifiants de propriétés et de valeurs.)

Dans « Mode », Find doit être sur OR (pour être exécuté d’abord) et WDQ sur AND. Les deux autres sources étant inutilisés, leur mode importe peu.  Si on met les deux sources utilisées sur AND, AutoList2 ne sait pas par où commencer et ne retourne rien, si on met les deux sur OR, on recherche tout ce qui commence par Sylvaine ou qui est un être humain n’ayant pas la relation « prénom → Sylvaine »,  ce qui n’est pas ce qu’on cherche…

En 2, les résultats. Il y en a peu ici et j’aurais pu faire la modif à la main sur Wikidata, mais c’est pour l’exemple. On notera que le premier résultat est « Magali » : c’est une femme de lettres et Sylvaine est un des noms de plume qu’elle a utilisé.

En 3, la mise à jour. C’est ici qu’on va faire l’ajout de la propriété manquante. On ajoute donc « P735:Q17617112 » dans la case (cette fois il faut bien les P et les Q…), on décoche les résultats non pertinents de la liste des résultats (ici, on décoche Magali) et on clique sur « Process Commands » (il faut avoir autorisé l’utilisation de l’outil avec notre compte avant en cliquant sur le lien « WiDaR not authorised. ») À raison d’une modif toutes les dix secondes, ça peut prendre un peu de temps et si on voit qu’on a fait une connerie, on peut tout arrêter avec le gros bouton rouge « EMERGENCY STOP ».

Au final, on obtient ça :

Et le nom de famille ?

Pour le nom de famille, c’est pareil sauf qu’il n’y a normalement pas les variantes à démêler. L’entrée concernant un nom de famille doit avoir les relations suivantes :

On peut aussi utiliser nommé en référence à (p138) si on connaît l’origine du nom.

Le truc pénible, par contre, c’est qu’Autolist risque de ne pas marcher pour retrouver les porteurs du nom : une requête commençant par « % » (par exemple « % Lefebvre ») est beaucoup plus gourmande et MySQL ne va pas aimer. Il est toutefois possible de ruser en utilisant la première lettre du prénom pour filtrer (en cherchant avec « A% Lefebvre », puis avec « B% Levebvre », etc.) mais ça découpe la requête et oblige à la faire plusieurs fois (jusqu’à 26, même si je doute que des prénoms commençant par toutes les lettres soient concernés. Ça peut se vérifier avec la recherche interne de Wikidata.)

Pour ce qui me concerne, ça donne ça.

Et maintenant, au boulot ! 🙂

Crédits photo d’en-tête : Pas de bol…, par Ludovic sur Flickr (CC-By-SA 2009)

Enregistrer

Wikimedia blues

Ça y est, les rencontres Wikimédia 2010 sont bien finies. Comme après mon retour de Gdańsk, je me retrouve avec un gros sentiment de vide à l’idée de reprendre le train-train quotidien, après ces deux journées si denses en discussions passionnantes, avec des wikimédiens bien sûr, mais aussi avec des responsables GLAM. Certes, le mardi c’est wiki à Rennes, mais ça va, je crains, faire pâle figure à côté de ce week-end.

Pourtant, vendredi comme samedi, les propos entendus m’ont donné une bonne dizaine d’idées de trucs intéressants à lancer (pas tous liés à Wikimédia d’ailleurs…), sans parler d’une sacrée envie d’avoir moi aussi un projet abouti à présenter au prochain « GLAM – wiki » – bon, mettons plutôt au suivant…

En attendant, j’ai quand même le sentiment d’être sacrément inutile à l’asso comparé à bon nombre des gens que j’ai vu depuis vendredi.

Crédit photo : Rencontres Wikimedia France – La salle avant les rencontres.jpg par Thesupermat (CC-By-SA 3.0)