Wikidata : Wikipedia comme une base de données

Posté par . Édité par baud123, Xavier Claude, tape, cjlano, jihele, Florent Zara et Thomas DEBESSE. Modéré par patrick_g. Licence CC by-sa
55
13
avr.
2012
Open Data

La mode est à l'Opendata. L'État français a ainsi ouvert son portail et c'est loin d'être le seul exemple. Des téraoctets de données sont ainsi disponibles sur le web. Il serait criminel de laisser ces données moisir quand on n'a jamais eu autant de puissance de calcul pour les exploiter.

Exploiter ces données peut cependant devenir assez casse-tête dès qu'on veut le faire automatiquement (ce qui est parfois indispensable vu le volume). En prenant un exemple de fichier sur data.gouv.fr, on peut voir que les données sont organisées sur le classeur de tableur, de manière pas forcément homogènes (les années sont classées dans les onglets, la description de l'étude est mélangée dans le même document). Elles sont presque plus organisées pour être lues par un humain que pour être exploitées.

Un de ces gigantesques dépôts de données plus ou moins organisés est Wikipédia. Les données sont organisées sous forme de pages, de catégories, d'infobox, mais pas forcément exploitables facilement automatiquement. Des projets issus du monde du Web Sémantique le font cependant, comme par exemple dbpedia dont voici la page concernant la France, qui permettent d'organiser ces données sous forme plus facilement exploitable par la machine et les programmeurs.

Il n'a pas échappé à certains membres de la communauté wikipedia qu'on pouvait faire beaucoup mieux en n'extrayant plus seulement les données à partir de wikipedia mais en mettant une base de données au cœur de Wikipedia et Mediawiki … C'est ainsi qu'est né le projet Wikidata et ça promet d'être une étape importante pour l'encyclopédie, mais pas que.

Sommaire

Description

Problématique

Wikipedia, c'est 280 langages et plusieurs millions d'articles. Certaines informations sont dupliquées en plusieurs endroits de l'encyclopédie, sont redondantes entres les langues et nécessitent d'être périodiquement mises à jour, ce qui peut prendre beaucoup de temps aux contributeurs pour des tâches fastidieuses.

Wikidata vise entre autre à faciliter ces mises à jours en centralisant les informations dans une base de données, dans laquelle les articles vont piocher pour pouvoir les afficher et à faciliter l'automatisation de leur manipulation.

Un autre objectif de Wikidata est, à la manière d'autre projets de la fondation Wikimedia comme Commons, le dépôt de fichiers multimédias libre, de servir de dépôt de données ouvertes et librement réutilisables.

Ce dépôt ayant vocation à accueillir des données de natures arbitraires et diverses, les technologies du Web sémantique, structurées et ayant le potentiel d'accueillir des données de toutes natures, sont toutes indiquées.

Le projet

D'après sa feuille de route, le projet comporte trois grandes étapes pour son développement et sa mise en œuvre:

  • Dans un premier temps : création de l'infrastructure pour une base de données d'entité. Une Entité, ce sera tout ce qui fait l'objet d'un article dans wikipedia, une personne, un pays, une notion mathématique ou un Pokémon par exemple, qui seront associées à un identifiant.

Rien que faire cela permet de gérer d'une manière nouvelle les liens interlangues : au lieu d'avoir à ajouter des liens vers les articles correspondant dans toutes les autres langues, il suffira de lier les articles avec leur entité pour retrouver les liens interwikis correspondants. Le travail est actuellement largement assuré par des bots communautaires et le projet compte fournir son aide à la communauté pour les adapter.

Sur le plan de l'organisation, la philosophie du projet Wikidata est la même que celle de la fondation Wikimedia : fournir l'infrastructure technique et laisser la communauté se charger de l'utilisation des données.

  • Une fois les bases en place, rentrer un peu plus dans le coeur du sujet et rajouter la gestion des infobox. Du point de vue du backend, il s'agit d'ajouter la possibilité de lier les entités identifiées en phase 1 à un ensemble de propriétés (arbitraires) associées à leur valeur - par exemple à l'entité "France", ajouter une propriété "densité de population" de valeur "116 hab/km²" - de manière similaire aux infobox actuelles. Les développeurs vont fournir une API permettant de manipuler les données, ainsi qu'une ou plusieurs interfaces utilisateurs.

Un mockup d'une interface utilisateur possible pour Wikidata :
un mockup d'une interface

Du côté des joyeusetés techniques de cette phase, on trouve entre autre la conversion automatique des unités (basée sur le système de type de Semantic MediaWiki) pour l'internationalisation, la création d'une syntaxe pour aller chercher une info dans la base de données quand on rédige une page sur Wikipedia, la possibilité d'indiquer les sources des différentes informations, la création d'articles stub pour les Entités ne disposant pas d'articles dans une langue mais pour lesquelles des informations sont présentes sur Wikidata à partir de modèles correspondants à la nature de l'entité.

Encore une fois, un des effets sera la facilitation de la maintenance de wikipedia pour avoir des informations le plus à jour possible et la synchronisation. Du point de vue du contributeur, ça implique principalement la modification des modèles qui génèrent les infobox. Du point de vue des données, est aussi laissé à la communauté le choix des priorités des données à afficher quand plusieurs sources non concordantes sont disponibles pour une information particulière. De ce que j'en comprends, les différentes données seront disponibles dans la base et la communauté devra définir les règles de choix automatiques (par exemple priorité aux données de l'ONU sur les données de l'Insee, ou l'inverse).

Je ne détaillerai pas la liste des perspectives ouvertes (les objectifs optionnels de wikidata) mais elles sont bien entendu assez larges, ils évoquent la création de jeux de fact checking pour vérifier la validité des données de manière ludique, ou encore la suggestion automatique de données à ajouter dans un article, ainsi que de sources.

  • La dernière phase consiste en un développement de la possibilité d'utiliser les données dans MediaWiki, la gestion de listes de données. C'est-à-dire la possibilité de faire des requêtes pour créer des listes de données, faire quelques statistiques basiques, on imagine par exemple une moyenne, ou des possibilités pour afficher ces listes ou générer des graphiques.

Les gens

Le projet est porté par des universitaires allemands (Markus Krötzsch, de l'Université d'Oxford et Denny Vrandecic qui travaille maintenant pour Wikimedia) qui n'en sont pas à leur coup d'essai puisqu'ils sont déjà à l'origine de Semantic Mediawiki, l'extension ajoutant la gestion de la sémantique au célèbre moteur wiki et a semblé suffisamment intéressant pour être financé par la Gordon and Betty Moore Foundation, créé par l'auteur de la fameuse loi, Paul Allen, le cofondateur de Microsoft par l'intermédiaire de l'Allen Institute for Artificial Intelligence ou encore Google. Techcrunch fait d'ailleurs le lien avec de vagues rumeurs de virage sémantique de Google sur son moteur de recherche initiées par le Wall Street Journal.

L'avancement

Le projet est en développement actif. On peut naviguer à partir de la page consacrée au développement pour s'en convaincre. Il est notamment inscrit au programme du Berlin Hackaton 2012 qui aura lieu début juin. D'autres ressources sont aussi actuellement modifiées, comme la page dédiée au modèle de données qui contient pas mal d'informations intéressantes, à consulter pour les amateurs.

Le premier objectif temporel est fixé pour l'été prochain et concerne la première phase de gestion des identifiants. D'après la FAQ il devrait être terminé en Mars 2013, donc après un an de développement.

Impacts

Le projet n'est pas en service ni même achevé pour l'instant, il n'échappe pas pour autant aux critiques par exemple sur la neutralité de point de vue qui soulève le problème de la non neutralité du choix de données. L'accueil de l'annonce est cependant globalement assez bon sur les sites à orientation technique et la nouvelle a été largement relayée (par exemple H-online, Numerama, CNet ou Scientific computing).

Parmi les effets de bords, Wikidata pourrait avoir des conséquences sur les politiques internes de la communauté Wikipedia sur les critères d'admissibilité dans l'encyclopédie, polémique majeure autour de Wikipedia entre les inclusionistes et les suppressionnistes.

This also increases the incentives to name the entities and create entities without a directly corresponding Wikipedia article (thus circumventing the current notability rules and requiring new ones).
source

Il va en effet devenir assez tentant de créer des entités qui ne sont pas décrites par un article dans Wikipedia, avec les importations de données de masse par exemple, ou pour y faire référence dans des articles, par exemple des personnes qui existent mais ne remplissent pas les critères pour avoir un article. Il sera intéressant de voir comment la communauté va s'adapter.

En conclusion

Wikidata a plusieurs intérêts majeurs pour le projet d'encyclopédie, la facilitation de certaines tâches fastidieuses de Wikipedia, l'internationalisation des données facilitée (l'indépendance à la langue). C'est un projet utile et prometteur auquel le monde du logiciel libre ne peut qu'apporter son soutien et qui pourrait rendre bien des services à la communauté en servant de source de données pour des applications libres (ou même non-libres).

  • # License

    Posté par (page perso) . Évalué à  4 .

    Est-ce qu'il y a déjà eu des discussions ou des choix sur la/les license(s) à adopter ?

  • # Formalisme

    Posté par . Évalué à  8 .

    Je trouve ça vraiment super !

    Formaliser les données permettra à Wikipedia de grandes choses. C'est probablement impossible pour le contenu textuel, mais les boites que l'on trouve à droite de tout un tas d'articles sont tout à fait formalisables et automatiquement internationalisables. Ça devrait permettre à des bronsonisations internationales très rapide.

    Bref je trouve ça vraiment cool.

    La question que je me pose c'est quel type de base de données vont-ils utiliser ?
    J'aurais tendance à penser qu'une base de données orientée document rendrait bien, mais je connais pas très bien ce type de base et je ne sais pas si la création de liens entre document est une bonne ou une mauvaise pratique.

    Est-il prévus d'avoir un accès à la base pour se créer des applications fun avec ?

    Je suis dans ma tour d'ivoire (rien à foutre des autres, dites moi un truc pour moi), si je ne pose pas explicitement une question pour les 99%, les kévin, les Mm Michu alors c'est que je ne parle pas d'eux.

    • [^] # Re: Formalisme

      Posté par (page perso) . Évalué à  3 . Dernière modification : le 13/04/12 à 10:23

      Des dumps de tous les projets sont régulièrement mis à la disposition de la communauté

      http://dumps.wikimedia.org

      C'est libre, tu peux t'en servir pour monter un miroir ou toute autre utilisation. Il en sera donc forcément de même pour ce futur WikiData. Et si tu préfères le direct live, il existe également une API (qui sera forcément mise à jour en temps voulu)

      https://www.mediawiki.org/wiki/API:Main_page

    • [^] # Re: Formalisme

      Posté par . Évalué à  3 .

      Oui, l'accès aux données sera ouvert, exactement comme une page Wikipedia, donc à priori les API implémentées pour la lecture/écriture seront accessibles via le Web.

      J'ai pas lu d'infos là dessus mais il est fortement envisageable d'avoir des accès tout simplement au travers d'URL de la forme http://wikipedia.org/id/propriété/ pour les choses les plus simples.

      En plus des Dumps de la base au format rdf et Json, et d'autres je crois.

    • [^] # Re: Formalisme

      Posté par . Évalué à  2 .

      Sinon pour le backend, si on en croit l'existant, à savoir le code des store de Semantic Mediawiki il existe des stockages des triplets dans des bases SQL ou de manières plus adaptées sans doutes dans les bases SPARQL dédiées au stockage des triplets, ce qui autorise d'utiliser le langage SPARQL pour faire des requêtes dans la base.

      Je n'ai rien trouvé dans les plans pour wikidata à ce sujet, mais mes recherches ne sont pas exhaustives.

    • [^] # Re: Formalisme

      Posté par . Évalué à  2 .

      Niveau technologies sémantiques il y a déjà tout ce qu'il faut:
      - Les données sont représentées par RDF
      - En base de donnée, on peut citer Virtuoso, qui est notamment utilisé par Nepomuk chez KDE.

      Est-ce qu'ils comptent réutiliser ces briques? Je ne sais pas, je n'ai pas trouvé l'info.

      Ce dont l'article ne parle pas non plus, c'est des ontologies qui vont être utilisées/crées pour décrire les relations. Quelqu'un a-t-il de l'information là dessus?

      • [^] # Re: Formalisme

        Posté par . Évalué à  6 .

        C'est un point intéressant, j'ai effectivement pensé à en toucher un mot dans l'article à un moment.

        Comme dit dans l'article, le projet laisse la communauté décider de la gestion des informations attachées aux entités. Ça implique qu'il n'y aura pas un ensemble de relation et de type de données imposées à utiliser, donc j'ai l'impression que l'objectif du projet est de laisser le problème de l'ontologie à la communauté au même titre que la gestion des données.

        En clair ils vont laisser l'ontologie émerger par le travail communautaire. Ils ne se chargeront pas non plus de faire le mapping entre les relations qui vont émerger et les standards ou différents systèmes existants.

        Du coup je peux toucher un mot de l'interopérabiltité : il est par contre possible qu'ils mettent en place un système de correspondance entre entité avec des ontologies et bases de données sémantiques externes.

        • [^] # Re: Formalisme

          Posté par . Évalué à  1 .

          Ne pas utiliser les ontologies existantes serait vraiment dommage à mon avis: sans ontologie tout ça n'est qu'un graphe non structuré, et avec une ontologie construite au fur et à mesure, ça ne va pas être simple d'utiliser l'information à l'extérieur de wikipedia.

          Les ontologies standard et communes sont à mon avis nécessaires pour avoir une vrai interopérabilité. Et le web sémantique c'est bien ça à la base: de l'interopérabilité des méta données.

          • [^] # Re: Formalisme

            Posté par . Évalué à  5 .

            Oui mais ce serait prendre le risque de s'enfermer dans les défauts du standard et de brider le travail communautaire. Peut être aussi de mettre des barrières à certains types de contributions qui nécessiteraient la maîtrise de ces standards …

            Je cite le not to be done by this project

            We will not provide automatic mappings to external vocabularies and ontologies or use internal reasoning engines. We will also not provide interfaces to bulk upload diverse data sources. The API-based architecture of Wikidata will enable the easy creation of such interfaces, and we expect such interfaces to be created, but it is not a task of this project to preselect and support certain data sources, which will necessarily happen whenever we implement an import for any single data formats.

            Ils délèguent l'interopérabilité à des outils externe, ça m'a l'air d'une démarche plutôt intelligente et pragmatique pour aller au bout du projet de pas s'alourdir avec ça. Et assez dans l'esprit de wikipedia et du travail collaboratif communautaire de profiter de l'intelligence collective. Quand on y pense ce serait un peu un travail ambitieux et probablement vain de vouloir définir une ontologie pour l'ensemble de la connaissance humaine dans un bout d'organisme à vocation standardisatrice isolé …

          • [^] # Re: Formalisme

            Posté par . Évalué à  3 .

            La citation pertinente aurait plutôt été :

            The project will not define the available properties and the processes for the community on how to decide on which properties to use. The project will not undertake by itself to provide mappings to the Web of Data. But it will provide an infrastructure for others to build that.

          • [^] # Re: Formalisme

            Posté par (page perso) . Évalué à  5 .

            Un mode de fonctionnement comme Openstreetmap peut-être intéressant, on laisse les gens faire ce qu'il veulent et puis on propose des propriétés et les valeurs possibles et enfin on accepte un standard. Ça permet de ne pas brider les gens tout en affichant sur la carte uniquement des données intéressantes et bien structurées.

            « Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » Raymond Devos

      • [^] # Re: Formalisme

        Posté par (page perso) . Évalué à  4 .

        En base de donnée, on peut citer Virtuoso, qui est notamment utilisé par Nepomuk chez KDE.

        Il y a aussi Bigdata et 4store mais je ne sais pas ce qu'ils valent.

        « Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » Raymond Devos

  • # traitement ?

    Posté par . Évalué à  1 .

    Qui fera le wiki de code pour traiter ses données ? Par exemple du code pour créer des jolis graphiques ou pour décrire des formules (calcul de fiscalité, calcul de prêt, etc…).

    "La liberté de tout dire, n'a d'ennemis, que ceux qui veulent se réserver, le droit de tout faire"

    • [^] # Re: traitement ?

      Posté par . Évalué à  6 .

      C'est encore une perspective assez lointaine et il faudra attendre que la phase deux soit à peu prêt terminée avant d'envisager ça, mais à priori ce seront les mêmes qui feront le reste du travail.

      Le travail promet d'être en forte interaction avec la communauté pour tenir compte des besoins et des retours des utilisateurs, donc si tu veux t'investir dans ce projet ça ne devrait pas être difficile de prendre contact.

      • [^] # Re: traitement ?

        Posté par . Évalué à  1 .

        Est-ce qu'il existe un langage qui pourrait faire cela ?

        Le langage de script de libre office ? javascript ?

        "La liberté de tout dire, n'a d'ennemis, que ceux qui veulent se réserver, le droit de tout faire"

        • [^] # Re: traitement ?

          Posté par . Évalué à  4 .

          Oulala tu t'enflammes :)

          Mediawiki étant écrit en PHP et wikipedia tournant dans le navigateur côté clients, ça a plus de chance d'être du PHP et du javascript que du libreoffice.

          • [^] # Re: traitement ?

            Posté par (page perso) . Évalué à  5 .

            Toi tu as du manquer l'info sur lua.

            • [^] # Re: traitement ?

              Posté par . Évalué à  2 .

              lua est pour être exécuter uniquement du coté server on dirait. Ce n'est pas exactement la même chose que de coder à l'aide d'un wiki.

              "La liberté de tout dire, n'a d'ennemis, que ceux qui veulent se réserver, le droit de tout faire"

              • [^] # Re: traitement ?

                Posté par . Évalué à  2 .

                Les modèles (template) de MediaWiki sont exécutés du côté du serveur (par le moteur PHP en l'occurence).

              • [^] # Re: traitement ?

                Posté par (page perso) . Évalué à  3 .

                C'est pour remplacer les templates, c'est à dire que tu codes coté client, et c'est exécuté coté serveur.

  • # Information précise

    Posté par . Évalué à  -3 .

    C'est vrai que quand on cherche une information précise, Wikipedia n'est pas toujours adapté. Ça me semble être une très bonne idée, qui, je l'espère rendra wikipedia plus utile encore.

  • # Super

    Posté par . Évalué à  3 .

    Ca fait des années que j'attends ça, je ne comprend pas pourquoi cela n'a pas été initié plus tôt, mais bon vieux motard que jamais comme on dit :).

    C'était quand même bête de ne pas avoir des formulaire "préconçu" pour une personne ou une ville et qu'on ne puisse pas faire par exemple "je recherche toutes les personnalités nées en 1952".

    Avec wikidata cela sera possible si j'ai bien compris, hâte que le projet voit le jour.

    • [^] # Re: Super

      Posté par (page perso) . Évalué à  3 .

      je recherche toutes les personnalités nées en 1952

      tu devrais trouver ton bonheur : http://fr.wikipedia.org/wiki/1952#Naissances_en_1952

      • [^] # Re: Super

        Posté par . Évalué à  2 .

        J'ai quand même l'impression que ces pages sont générées et maintenues à la main, alors qu'elles pourraient être générées automatiquement. Encore qu'il y aurait sans doute une période intermédiaire avec un dilemme entre une page automatique incomplète et une page manuelle plus souple à gérer.

        • [^] # Re: Super

          Posté par . Évalué à  2 .

          http://www.freebase.com/view/people/views/person
          Ensuite dans filter: "Date of birth value is 1952"
          Et hop on peut afficher tout ca sous forme de table, carte, timeline et meme l'export sous son format favoris.

          Freebase est quand meme le wikipedia des donnees. A noter que les dumps sont disponibles :)

    • [^] # Re: Super

      Posté par . Évalué à  4 .

      Tu peux déja faire ce genre de requêtes avec dbpedia : http://wiki.dbpedia.org/OnlineAccess#h28-5 mais c'est peut être pas encore optimal.

  • # Le web c'est mon «tic»

    Posté par (page perso) . Évalué à  0 .

    Ce dépôt ayant vocation à accueillir des données de natures arbitraires et diverses, les technologies du Web Sémantique, structurées et ayant le potentiel d'accueillir des données de toutes natures, sont toutes indiquées.

    Le liens n'est pas valide. Il s'agirait plutôt de Web semantique.

    Et sinon, merci pour cette dépêche !

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.