Bonjour, nal, et les autres.
Ça fait longtemps que j'ai pas pris ma plume pour te donner des nouvelles du projet "Abstract Wikipedia", nom de code d'un projet qui se cherche actuellement un nom définitif
Pour rappel donc c'est un projet au long court qui vise à terme à produire des articles dans tout pleins de langues à partir d'articles écris sur un wiki dans une "langue abstraite" commune à tous. C'est d'intérêt en particulier pour les langues minoritaires qui ont relativement peu de locuteurs ou de contributeurs pour leurs versions linguistiques respectives de Wikipédia, ou qui sont mal couvertes par les traducteurs automatiques. Le tout avec une approche algorithmique classique, complètement différente de celle de la traduction issue d'apprentissage machine qui connaît un gros engouement actuellement, qui n'est pas transparent du tout.
Pour arriver à un chemin pour concrétiser ce projet il a fallu poser pleins de bases et plus d'une décennie maintenant. C'est porté depuis longtemps par un wikipédien, Denny Vrandecic, dont voici un podcast d'entretien en anglais par exemple, depuis maintenant plus d'une décennies. Retraçons brièvement les étapes.
D'abord il y a eu Wikidata, une base de données collaborative en ligne adossée à Wikipédia. Wikidata a permis de connecter les différents sujets des articles et de créer un embryon de vocabulaire commun. Chaque sujet (ou presque, ne chipotons pas trop) a un identifiant. Paris (la capitale de la France) est Q90, Paris, au Texas est Q830149, et Paris, Texas (le film) est Q160946 (vous suivez ?). L'amour est Q316 et la haine est Q160232. Tous ces concepts sont reliés par des ''propriétés'' entre eux, qui permettent de les décrire un minimum et d'entrer des données à leur sujet, comme toute base de donnée qui se respecte. C'est public, accessible à tous et sous licence libre, par le wiki, une API web et un point d'accès sparql. Wikidata fête actuellement Ses 13 ans
Puis Wikidata, en plus de tout ça, s'est vu adjoindre une partie lexicale et est devenu également une base de donnée de mots, dans toutes les langues. On peut y trouver différentes informations, dont en particulier les sens des mots et leur flexion, la catégorie grammaticale, le système d'écriture … avec un modèle souple qui permet à la communauté de créer elle même ses propriétés pour rajouter le type d'information qu'elle souhaite, ce n'est pas figé à simplement ces informations. Pourquoi était-ce nécessaire à Abstract Wikipédia ? Pour générer du texte grammaticalement correct, on va chercher à la fois le bon mot et la bonne forme textuelle en fonction de ce qu'on veut générer. Un seul exemple : le nom gato en espagnol. En naviguant sur cette page, tu verras qu'on peut y trouver différentes informations, dont la forme plurielle du mot, gatas, mais aussi un lien avec l'élément Wikidata chat domestique. Il devient donc possible de trouver automatiquement comment on dit "des chats domestiques" en espagnol à partir de l'élément wikidata représentant le concept de chat domestique. Pour illustrer, voici un lien qui permet de retrouver les lexèmes (mots de la base, pour simplifier) qui ont un sens de ''chat domestique'' https://w.wiki/Fka$ C'est aussi possible de récupérer les libellés (label) des éléments Wikidata, mais on ne disposera pas des flexions quand elles sont nécessaires. Rapidement voilà la requête écrite en SPARQL pour permettre d'y accéder :
select ?lexeme ?lemme ?langueLabel # sélections des variables à projeter / afficher, comme en SQL
{
# on interroge une base de données sparql à partif de "motif de triplets" à trou pour les valeurs qu'on veut récupérer
?sens wdt:P5137 wd:Q146 . # wdt:P5137 est la propriété "élément pour ce sens", on récupère les identifiant des sens qui correspondent au chat domestique ( wd:Q146 )
?lexeme ontolex:sense ?sens . # on fait le lien entre les sens sélectionnés et les lexèmes idoines
?lexeme wikibase:lemma ?lemme . # on récupère le lemme, une forme du mot privilégiée
?lexeme dct:language ?langue . # et la langue du lexème
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],mul,en". } # service de récupération de libellés des langues, sous forme de ?langueLabel
}
Le modèle de données, pour aller plus loin, c'est par ici, et le portail du point d'accès SPARQL pour une intro à tout ça. Pour l'accès au données il y a également une API mediawiki ancienne école et une API REST plus récente, en fonctions des préférences et circonstances.
Et puis il y a eu Wikifunctions, projet qui a bien progressé depuis la dernière fois qu'on en a causé, et c'est ce qui m'a motivé à poser mes doigts sur mon clavier pour en écrire ici. Le but de Wikifunctions est, en plus de fournir une base de données informatique libre de fonctions qu'on peut appeler, et écrire dans plusieurs langage (actuellement 3 : la forme "composition", ou on compose simplement des fonctions Wikifunctions comme dans une formule de tableur, Python et Javascript), est surtout de fournir des fonctions qui vont calculer les textes localisés à partir de la langue abstraite.
Dernièrement, tout récemment donc à l'échelle de ce projet au long cours si on considère que les prémisses datent d'il y a 13 ans (et même plus), on a pu voir les premiers exemples qui rentrent réellement dans le vif du sujet et permettent de générer du texte. Un premier exemple préfigure la génération de phrase d'introduction des articles. Sous vos yeux ébahis, voici la page de la fonction nommées en français _instanciation de fragment sans article. Ok, il va falloir qu'on cause du nommage des fonctions. On peut critiquer le fait que c'est verbeux et pas clair pour l'instant, c'est vrai. On notera surtout que, comme pour les élément Wikidata, le nom de la page est l'identifiant de la fonction, ''Z26039'', et qu'elle aura un nom propre dans les différentes langues, dans l'esprit multilingue qui irrigue tous ces projets. Exactement comme les libellés des éléments Wikidata.
Il faut voir quoi ? Par exemple qu'on peut maintenant appeler les fonctions sur leur page à titre d'illustration. On a des champs typés qu'on peut remplir, en l'occurrence "entité", "classe" et "langue". En rentrant "Wikipédia" "communauté" et "anglais" (attention à rentrer les bons éléments, les libellés peuvent être ambigus évidemment) on obtient … à « Wikipedia is a community ». Et avec "français" à la place d'anglais on obtient « Wikipédia est une communauté », genré au féminin.
C'est encore très parcellaire comme couverture. Par exemple si on rentre "espagnol", on obtient "néant". Ainsi que si on rentre "George Sand", "être humain" et "français" par exemple.
Il faut voir quoi d'autres ? Il y a différentes implémentations de la fonction, potentiellement, et des tests pour voir si les implémentations rendent bien le résultat attendu également sur la page. Dans les nouveautés récentes, des wikis ont maintenant accès aux wikifonctions, les wiktionnaires en particulier je crois pour l'accès aux données lexicographiques. Les wikifonctions ont accès aux données de Wikidata également.
Pour les 13 ans de Wikidata, une proposition de wikifunctions, développer un système pour générer des descriptions automatiques, toujours dans le dernier Status update, ce qui pourrait enlever le fardeau à la communauté de maintenir des descriptions pour les éléments dans 200 langues et est une application intéressante et plus facile dans un premier temps que de générer des articles Wikipédia en entier !
L'équipe propose un premier prototype de fonction pour décrire les albums musicaux, _short description for albums à titre d'exemple. Elle propose aux wikimediens de voter sur Phabricator pour la tâche pour motiver l'équipe de Wikidata à travailler sur une intégration de cette fonctionnalité !
Dernier point un peu technique sur cette fonctionnalité, aussi détaillé dans le lien, chaque langue à une fonction dédiée, qui est je crois à l'heure ou j'écris ces lignes manquante pour le français, avis aux amateurs ! La fonction short description for album est celle qui va distribuer l'appel de fonction à la fonction de la bonne langue au travers d'un objet de configuration pour faire la correspondance, objet qu'on peut trouver par ce lien.
C'est assez long comme ça, je déconn

# Utilisable uniquement par des informaticiens et informaticiennes ?
Posté par pamputt . Évalué à 4 (+2/-0). Dernière modification le 30 octobre 2025 à 16:39.
A ma connaissance, aucun Wiktionnaire n'utilise les wikifonctions pour le moment. Le problème principal d'après moi, c'est l'utilisabilité des wikifonctions. Pour le moment, la plupart du temps, il faut saisir des QID ou des ZID entrée des wikifonctions, alors que si on veut que ça ait une chance d'être adopté massivement, il faudrait pouvoir saisir du texte, intelligible pour les humains, comme entrées des fonctions.
Par exemple, on pourrait créer une fonction qui renvoie un tableau de conjugaison, à partir des formes de lexèmes renseignées dans Wikidata, en saisissant simplement le verbe à l'infinitif (en tout lettre) comme entrée. Ça doit être possible techniquement, mais ça n'existe pas encore à ma connaissance.
[^] # Re: Utilisable uniquement par des informaticiens et informaticiennes ?
Posté par thoasm . Évalué à 3 (+0/-0).
Si c'est qu'une histoire de nom il suffit de planquer ça dans un appel de modèle au nom explicite, ça fera le job.
[^] # Re: Utilisable uniquement par des informaticiens et informaticiennes ?
Posté par thoasm . Évalué à 3 (+0/-0).
(en fait j'ai posé la question sur le chat de wikifunctions de récupérer des lexemes à partir de leur lemme, parce que j'ai rien trouvé qui pourrait faire ça, ça pourrait être pratique vu que c'est le titre de la page, c'est toujours récupérable dans un modèle)
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.