4. Corpus

4.1. Wikipedia


Contenu techniquement réutilisable
Le mouvement Wikimedia ne se contente pas de produire et collecter du contenu librement réutilisable sur le plan légal, un effort est fait par Wikimedia Foundation pour en faciliter la réutilisation sur le plan technique, même si cela reste ardu de réutiliser massivement Wikipedia.

Le contenu mis à disposition via les dumps et les API comprend la dernière version de l'article ainsi que l'ensemble des révisions successives faites depuis la création de Wikipedia. Il est ainsi possible de récupérer l'historique des articles, sauf les très vieux articles dont il manque les premières révisions et cela peut s'avérer très compliqué de reconstituer l'historique dans certains cas.

Dumps de données
Wikimedia Foundation publie des extractions ou copies de la base de données de Wikipedia connues sous le nom de dumps. Elle le fait pour tous les wikis publics qu'elle héberge. Les dumps sont téléchargeables gratuitement et leurs contenus est réutilisable librement. Ils sont notamment utilisés par les projets de consultation hors ligne des wikis, pour l'archivage ainsi que pour développer des outils pour Wikipedia ou l'édition des wikis par les robots. Les dumps servent aussi pour entraîner des modèles de langage à partir de Wikipedia. 

Les chercheurs sont également d'importants utilisateurs de ces données. Google Scholar liste plus de 1500 articles pour la requête "dumps wikipedia " OR "wikipedia dumps". Exemples de réutilisation du contenu de Wikipedia (Nielsen, 2018) :
Bien que très utiles, les dumps ne sont ni des sauvegardes, ni cohérents, ni complets.



Dumps XML

Les dumps contiennent le texte ou la métadonnée de toutes les pages actuelles ou leurs révisions historiques de Wikipedia. Dans ces dumps au format XML, les articles sont disponibles en wikitext mais le rendu en HTML n'est pas disponible. La communauté a développé des outils pour travailler avec ces dumps, comme la librairie en Python mwparserfromhell. Ils sont générés 1 à 2 fois par mois et la Fondation met à disposition les derniers derniers dumps générés. Des sites miroirs sont mis à disposition pour télécharger les dumps.


Il existe de nombreux jeu de données différents. Voici quelques dumps de la Wikipedia francophone accessibles à l'URL dumps.wikimedia.org/frwiki :

Nom du fichier
Taille
frwiki-20231020-pages-articles-multistream1.xml-p1p306134.bz2 594,9 Mo
frwiki-20231020-pages-meta-current.xml.bz2 7,9 Go
frwiki-20231020-stub-meta-history.xml.gz 14,0 Go
frwiki-20231101-stub-meta-current1.xml.gz 20,9 Mo

Les jeux de données peuvent être très volumineux. Une copie non compressée de la Wikipedia anglophone avec ses historiques faisait 19 teraoctets en avril 2019, 937 gigaoctets compressés en bz2 et 157 gigaoctets compressés en 7z. Il existe des dumps incrémentaux qui contiennent ce qui a été ajouté durant les dernières 24 heures, limitant le besoin de télécharger la base de données complète. Ces dumps sont bien plus légers que ceux de la base complète. Veillez bien à récupérer le jeu de données qu’il vous faut et pas de données superflues. Pour cela voici le plan de nommage :

frwiki

frwiki correspond à la Wikipédia francophone. Il s'agit des codes ISO 639 sauf quelques exceptions (lorsqu'un code ISO 639 standard n’était pas encore disponible lors de la création du projet, ou d'anciens codes ISO 639 désuets ou supprimés cars ils incluaient un groupe de langues maintenant considérées comme distinctes). Exemples d'exceptions : als pour l'alémanique qui a comme code ISO 639-3 gsw, simple qui correspond à la Wikipedia en anglais simplifié, ou encore zh-classical qui est le chinois classique dont le code ISO 639-3 est lzh.

-articles-

Uniquement les pages dans l'espace principal (articles encyclopédiques pour Wikipedia). Disponible au format de compression bz. Généralement disponible avec -multistream-, mais pas disponible avec -history-.

-meta-

Pages dans tous les espaces de nom.

-stub-

Métadonnées sans le contenu des pages, tels que les titres des pages, les modèles de contenu, les identifiants des pages et des révisions, noms d'utilisateurs et espaces de nom, horodatages et résumés de modification. Disponible au format gzip.

-pages-

Comprend le contenu de la page et les métadonnées.

-current-

La dernière révision uniquement. -pages- est disponible dans le format bz2.

-history-

Intégralité de l'historique de révision des pages, pour les informations sur les auteurs. -pages-meta-history- est disponible dans les formats bz2 et 7zip.


Pour vous y retrouver dans ces différents jeux de données, voici les principales différences :










Fichiers XML

La structure d'un fichier en XML se compose de deux types d'objets principaux : l'objet siteinfo et l'objet page, chacun ayant de multiples objets associés, champs et attributs.

siteinfo
  • dbname : le nom de la base de donnée
  • sitename : le nom du projet Wikimedia concerné
  • base : le lien vers la page d'accueil du wiki
  • generator : la version de MediaWiki au moment de la génération du dump
  • case : indique si la première lettre du titre d'une page est sensible à la casse (case-sensitive) ou non (first-letter). Contrairement à Wikipedia, le Wiktionnaire distingue les pages Bac et bac.
page
  • id : identifiant unique au sein du wiki concerné
  • title : nom de la page
  • ns : espace de nom dans lequel figure la page
  • redirect : apparait lorsque la page est une redirection
revision
  • id : identifiant de la révision
  • parentid : identifiant de la précédente révision
  • timestamp : date de publication de la révision
  • contributor : information sur l'utilisateur qui a publié la révision
  • minor : révision qualifiée de mineur ou non par l'utilisateur
  • comment : commentaire de modification laissé par l'utilisateur
  • model : modèle (wikitext, JavaScript, CSS, plain text ou JSON)
  • format : format de sérialisation (text/plain, text/x-wiki, text/javascript, application/json ou text/css)
  • text : le contenu de la page en wikitexte
  • sha1 : identifiant de vérification généré par l'algorithme SHA-1

Copie d'écran de l'export XML de l'article Wikipédia de Claire Delfosse
Version XML de l'article Wikipédia sur Claire Delfosse, réalisé à l'aide de Special:Export


Wikitexte versus HTML
Wikipedia est rédigée dans un format particulier appelé la syntaxe wiki, le wikitexte ou le wikicode. Le wikitexte est un langage de balisage léger utilisé pour écrire des pages dans les sites web wiki, tels que Wikipedia, et constitue une alternative simplifiée au HTML. Le but est de convertir un contenu par le logiciel wiki en HTML, qui à son tour est servi aux navigateurs web.

Les dumps XML comportant les articles au format wikitexte sont très utiles, mais ils présentent de gros inconvénients. Il est notamment fait appel à de nombreux modèles rendant extrêmement difficile l’écriture d’un analyseur syntaxique fiable. MediaWiki, le logiciel qui fait fonctionner l'encyclopédie, converti le wikitexte en HTML, en insérant du contenu figurant sur d'autres pages.

L'analyse de Wikipedia telle que vue par les internautes doit donc se baser sur le HTML plutôt que le wikitexte. En analysant uniquement la version en wikitexte, les chercheurs risquent d'ignorer des informations importantes affichées aux lecteurs. Par exemple, sur les 475 millions de liens internes figurant dans les versions HTML des articles de la Wikipedia anglophone, seulement 171 millions étaient présents dans la version wikitexte (Mitrevski et al., 2020).
 
Jusqu'un 2021, la seule solution, pour les personnes ayant besoin de la version HTML était d'utiliser l'API de Wikimedia, mais cela ne convient pas pour un grand volume de données du fait des limitations de l'API.

Version HTML
Copie d'écran d'une partie de l'article sur Claire Delfosse en HTML.
Version wikitexte
Copie d'écran de l'article Wikipédia de Claire Delfosse en wikitexte
Dumps HTML

Depuis octobre 2021, Wikimedia Entreprise, une filiale de Wikimedia Foundation, met à dispositon gratuitement des dumps au format HTML afin de faciliter l'utilisation des dumps.

Ce jeu de données s'accompagne d'une librairie Python mwparserfromhtml qui permet d'extraire facilement des données (liens internes, liens externes, catégories, modèles, etc) des articles en HTML.

Gif animé présentant plusieurs fonctionnalités de mwparserfromhtml