Qui se cache derrière les contributions Wikipédia ?

Par Mariam Thiam, Frédéric Tamagnan et Sébastien Guillon, élèves du Parcours Data Science de l’IMT Atlantique

Wikipédia, la plus célèbre encyclopédie du monde, compte plus de 30 millions d’articles. Sur cette plateforme, 25 000 articles sont créés quotidiennement dans plus de 280 langues. Les articles sont constamment édités, corrigés, et étoffés : il y a plus de 10 000 modifications par mois.

Mais quelle communauté se cache derrière ces contributions ? Peut-on identifier différents rôles chez les contributeurs ? Quelles sont les interactions entres les contributeurs ?

Dans cet article nous vous présenterons dans une première partie quelques statistiques sur notre dataset. Dans une deuxième partie nous étudierons les rôles des contributeurs. Enfin dans une troisième partie, en définissant comme lien social la coédition de pages (plusieurs personnes qui éditent la même page) nous découvrirons les interactions entre les contributeurs.

Quelques chiffres

Le dataset utilisé est Wikipédia simple, une version très allégée du dataset anglophone (de 2001 à 2016). Le dataset se présente comme une liste des contributions (ici nous faisons le focus sur les révisions)  : identifiant de la révision, date et heure de la révision, identifiant de la page sur laquelle porte la révision, taille de la contribution, numéro identifiant de l’utilisateur, etc. La seule information que nous avions sur l’auteur de la révision était s’il était enregistré ou non. Voici quelques chiffres sur ce dataset :

Nombre de révisions 4 936 382
Nombre d’articles 167 671
Nombre de pages total (articles, pages d’aide, etc) 391 930
Nombre de contributeurs enregistrés 49 037
Nombre de contributeurs non enregistrés 10 477

Nous travaillerons maintenant uniquement sur un dataset simplifié en ne prenant en compte que les révisions effectuées par des contributeurs enregistrés.

Détection des rôles

Namespace Majoritaire

Chaque révision -contribution- appartient à un « namespace » . Un namespace indique la catégorie dont fait partie la page de la révision. Une page peut être un article de l’encyclopédie, mais aussi une page de chat entre différents utilisateurs ou encore une page d’entraide.

Afin de déterminer les rôles des contributeurs, nous nous sommes intéressés aux namespaces utilisés par chacun d’entre eux et à leur quantité de participation.

Ci-dessous la liste  des différents namespaces et définition des namespaces que nous utiliserons :

ID

Subject Namespace

Talk Namespace

ID

Description

-2

Media

-1

Special

Pages sans wikitext

0

Main/Article

Talk

Article

2

User

User Talk

3

Utilisateurs

4

Wikipedia

Wikipedia Talk

5

Process & politique de wikipedia

6

File

File Talk

7

Wikipedia Content

8

Mediawiki

Mediawiki Talk

9

Espace d’édition pour les administrateurs

10

Template

Template Talk

11

Template d’articles

12

Help

Help Talk

13

Aide

14

Category

Category Talk

15

Regroupement de pages

Pour une description plus précise : https://en.wikipedia.org/wiki/Help:Files

A chaque subject namespace correspond un talk namespace. Par exemple Main va concerner les pages qui sont des articles en eux-mêmes alors que Talk (le talk namespace correspondant) va concerner les discussions autour de l’édition de ces articles.

Nous vous proposons de jeter un coup d’oeil sur la répartition des révisions du jeu de données par namespace. 71% des contributions concernent directement les articles (correction orthographique, ajout de contenu …).

Nous estimons que les namespaces majoritaires utilisés sont le reflet d’une activité de spécialisation pour chaque contributeur. Nous avons défini un namespace majoritaire pour un contributeur comme la catégorie de namespace où figurent plus de 30% de ses révisions. Un contributeur peut donc avoir entre 0 et 3 namespace majoritaires.

Un individu qui a 0 namespace majoritaire se disperse donc beaucoup entre les différentes catégories (ou alors n’a aucune révision à son actif) tandis qu’un individu avec 3 namespaces majoritaires se concentre sur 3 activités bien précises comme l’édition d’article, l’aide entre les membres, ou la discussion autour de certains articles (ou bien a fait très peu de révisions). Les namespaces majoritaires sont calculés de manière ordonnée. Pour un contributeur, son namespace majoritaire #1 contiendra plus de révisions que son namespace majoritaire #2 par exemple.

Cependant, une personne qui n’aurait fait que 3 révisions dans 3 namespaces différents, se verrait attribuer 3 namespaces majoritaires. Or cette personne a un impact mineur sur le site Wikipédia, on ne peut donc pas parler d’activités à proprement dit.

Score de participation

Afin de corriger le biais cité précédemment, nous avons défini un score de participation. Seul les individus avec un score de participation minimum jugé significatif pourront se voir attribuer un rôle.

Un attribut de notre dataset “minor” nous permet de savoir si une révision est mineure (le contributeur a écrit peu de texte) ou majeure (le contributeur a écrit beaucoup de texte).

Nous avons donc défini le score de participation :

Score de participation = Nombre total de révisions majeures (peu importe le namespace)

Définition des rôles

Nous vous proposons de lire notre matrice, qui définit des rôles pour la population de notre dataset.

Rôles

Score de participation

Namespace majoritaires

Contributeur Érudit

> 100 révisions majeures 

Article en #1

Contributeur dispersé

> 25

Pas de namespace majoritaire

Dépanneur

> 25

Help ou Help_Talk en #1 OU #2

Talker

> 25

N’importe quel talk namespace en #1 OU  #2

Social Networker

> 25

N’importe quel talk namespace en #1 ET #2

Catégoriseur

> 25

Category en #1

Template Creator

> 25

Template ou Template Talk en #1

Exemple : Supposons que Pierre ait effectué 300 révisions sur Wikipédia depuis 2001 dont :

  • 162 dans le namespace Article (soit 54%)
  • 120 dans le namespace Talk (soit 40%)
  • 18 dans le namespace (6%)

Grâce à  notre méthode, nous lui avons attribué 2 namespaces majoritaires (#1 = Article et #2 = User Talk). De plus, il a réalisé 150 révisions majeures parmi les 300 (donc le score de participation est assez significatif pour être validé). Par conséquent, Pierre endosse 2 rôles distincts chez Wikipédia : le premier de Contributeur Érudit (forte participation pour enrichir le contenu des articles) et le second de Talker !

Nos résultats

Rôles

Description

Population

Proportion parmi les rôles détectés

Contributeur Érudit

Membre qui contribue fortement à l’enrichissement d’articles

 722

41%

Contributeur dispersé

Membre qui n’est pas vraiment spécialisé dans une tâche

3

0%

Dépanneur

Membre qui aide les autres

4

0%

Talker

Membre qui passe son activité principale à discuter

844

47%

Social Networker

Version encore plus bavarde du Talker

3

0%

Catégoriseur

Membre qui contribue au regroupement d’articles

8

0%

Template Creator

Membre qui s’occupe de créer des canvas d’articles en amont de la création.

217

12%

TOTAL 

1801

 100%

Remarque 1 : Chaque membre peut se voir attribuer jusqu’à 2 rôles.

Remarque 2 : Nous avons identifié des rôles pour 1801 membres soit 3,6% des membres enregistrés de ce dataset.

Nous pouvons voir que les rôles majoritaires détectés concernent les articles, édition et discussion, ainsi que l’édition des canvas ou template d’articles.

La contrainte des 30% du namespace majoritaire est peut-être trop limitante pour la détermination des rôles plus subtils comme Social Networker ou Catégoriseur.

Détection des interactions

Nous avons ensuite cherché à déterminer les interactions entre contributeurs. Sur Facebook ou Twitter, les interactions sont explicites avec les likes, les liens d’amitiés ou de following. Sur Wikipédia, nous avons défini le lien social comme étant la co-édition de pages. Ainsi deux contributeurs se trouvent reliés s’ils ont contribué à la même page (article, page d’aide, etc).

Pour cette partie, nous avons travaillé sur un dataset allégé  de 10 000 contributeurs. Nous avons associé dans une structure de données (dictionnaire Python)  les groupes de contributeurs avec les pages qu’ils avaient co-édités.

Ainsi nous pouvions lire dans notre structure de données de manière : “Pierre et Jacques ont tous les deux contribués à la page sur Napoléon et à la page de discussion d’Obama. Pierre, Martin et Paul ont contribués tous les 3 au template de pages artistiques musicales”.

Nous avons ensuite extrait quelques statistiques de ces groupes de co-contribution.

Graphique du nombre de couples de contributeurs en fonction du nombre de page en commun

Voici maintenant quelques statistiques sur la distribution de la taille des couples de co édition :

Taille moyenne des groupes de co-édition

3

Ecart type de la taille des groupes de co-édition

3

Taille minimum des groupes de co-édition

2

Taille maximum des des groupes de co-édition

132

1er quartile de la distribution des tailles

2

médiane de la distribution des tailles

2

3ème quartile de la distribution des tailles

3

Conclusion

Dans cet article nous avons donc identifié avec un modèle très simpliste les rôles dans le dataset Wikipédia que nous avons utilisé. Nous avons également mis en valeur les interactions entre les différents membres au travers du lien de co-édition.

Nous pourrions imaginer, pour améliorer le modèle des rôles, de prendre en compte plus de paramètres afin d’avoir une détection plus fine : faire une détection par année ou par mois, prendre en compte les révisions mineures associées à chaque namespace et les reverts. De plus, nous pourrions mettre ça en lien avec la co-édition afin de regarder comment les rôles et le graphe de communauté se superposent.