URL: https://linuxfr.org/news/abstract-wikipedia Title: Abstract WikipĂ©dia Authors: thoasm ZeroHeure, BAud, gusterhack, Ysabeau đŸ§¶, theojouedubanjo, Xavier Teyssier, Davy Defaud, BenoĂźt Sibaud, Strash, zurvan, TintinL, Luxy, claudex, Pierre Jarillon et Pipo Le Clown Date: 2020ćčŽ08月15æ—„T15:26:00+02:00 License: CC By-SA Tags: wikipedia, abstract_wikipedia, wikipedia_abstraite et wikidata Score: 44 Tout nouveau projet de la fondation WikimĂ©dia, le premier créé depuis des annĂ©es, _Abstract WikipĂ©dia_ se propose d’écrire des articles d’encyclopĂ©die une unique fois pour toutes les langues. Il propose la crĂ©ation d’une langue d’écriture « abstraite » munie d’une infrastructure de code de traduction, _Wikilambda_. Ce dernier projet peut se voir comme une sorte de « WikipĂ©dia du code ». ---- [Autre lien sur le sujet sur Linuxfr.org](https://linuxfr.org/users/gusterhack/liens/abstract-wikipedia) [Page du projet sur le Meta-Wiki Wikimedia](https://meta.wikimedia.org/wiki/Abstract_Wikipedia/fr) [« Architecture for a multilingual Wikipedia », Denny Vrandečić (proposition d’architecture initiale)](https://arxiv.org/abs/2004.04733) [PrĂ©sentation de Denny pour le « Signpost », une publication communautaire sur enwiki](https://en.wikipedia.org/wiki/Wikipedia:Wikipedia_Signpost/2020-04-26/In_focus) [Page de Denny sur Wikidata](https://www.wikidata.org/wiki/Q18618629) [Discussion Ă  propos du projet](https://meta.wikimedia.org/wiki/Talk:Abstract_Wikipedia) [Proposition technique](https://meta.wikimedia.org/wiki/Abstract_Wikipedia/Plan) ---- L’idĂ©e du projet _Abstract WikipĂ©dia_ est de crĂ©er l’équivalent d’articles de WikipĂ©dia sur un peu tous les sujets dans une sorte de « langue pivot », puis de traduire cette langue grĂące Ă  du code dans toutes les langues du monde MĂ©diawiki. C’est un vieux rĂȘve d’un des crĂ©ateurs de Wikidata, qui quitte Google et rejoint la Wikimedia Foundation pour mener le projet. Abstract WikipĂ©dia s’intĂ©grera Ă  terme dans Wikidata, et utilisera en partie ses donnĂ©es. Le tout s’articulera autour de trois axes principaux : le contenu abstrait, la langue abstraite et le code de traduction. Ce dernier volet sera incarnĂ© par un « projet dans le projet » de « WikipĂ©dia du code » si l’on peut dire : _Wikilambda_. Oui, parce que crĂ©er une langue et du contenu universel ce n’était pas dĂ©jĂ  suffisamment ambitieux âžź[^1] L’existant ========== Le projet prĂ©cĂ©dent, Wikidata, est maintenant bien lancĂ© et permet de collecter et d’utiliser des donnĂ©es sur une grande quantitĂ© d’élĂ©ments. Chaque entitĂ© dispose d’un identifiant sur Wikidata, par exemple Paris est Q90, Denny est Q18618629, la philosophie Q5891, ou encore la fabrication de polymĂšre est Q453762, pour faire un inventaire Ă  la PrĂ©vert. Chaque entitĂ© a un « libellĂ© » dans plein de langues (ou pas). Pourquoi dĂ©tailler ce point ? Pour deux raisons : - la premiĂšre, cette idĂ©e d’avoir des entitĂ©s identifiĂ©es par un code universel descriptible dans plusieurs langues est une des fondations techniques d’Abstract WikipĂ©dia, et on va la retrouver absolument partout ; elle est gĂ©nĂ©ralisĂ©e dans la notion « d’entitĂ©s » Wikidata, dont les [Ă©lĂ©ments](https://www.wikidata.org/wiki/Wikidata:Glossary/fr#Item) ne sont qu’un exemple, il existe Ă©galement les « propriĂ©tĂ©s » et les « [lexĂšmes](https://fr.wikipedia.org/wiki/Lex%C3%A8me) » ; - la seconde, ces Ă©lĂ©ments vont ĂȘtre utilisĂ©s comme une sorte de « vocabulaire abstrait » pour l’écriture de la WikipĂ©dia abstraite ; ce vocabulaire est extensible Ă  l’envi, avec la simple limite qu’il doit avoir un besoin d’un projet MĂ©diawiki, c’est donc trĂšs souple. Plus rĂ©cemment, Wikidata s’est Ă©galement dotĂ© de possibilitĂ©s de stockage d’informations lexicales dans toutes les langues, de maniĂšre structurĂ©e, avec une base de donnĂ©es des mots dans les diffĂ©rentes langues, les _Lexical Masks_. Un masque va dĂ©terminer, pour une langue donnĂ©e, les formes possibles d’un mot, selon son type (nom, adjectif, etc.). Ces masques permettront de valider, pour chaque entitĂ© Wikidata, la complĂ©tude de ses donnĂ©es dans une langue, en fonction de son type. Wikidata est dĂ©jĂ  un trĂšs beau projet multilingue, qui continue de se dĂ©velopper et est trĂšs Ă©ditĂ©, et qui permet dĂ©jĂ  de dĂ©crire du contenu sur les entitĂ©s de maniĂšre indĂ©pendante de la langue. Mais les donnĂ©es associĂ©es sont une collection de faits sur l’entitĂ©, donnĂ©es en vrac sans ordre ni hiĂ©rarchie particuliĂšre et pas des articles rĂ©digĂ©s et Ă©ditorialisĂ©s Ă  part entiĂšre. Il s’agissait donc d’aller plus loin. La future langue abstraite ========================== Le plus parlant je pense en ces lieux est de commencer par lire des exemples tirĂ©s de . Voici un exemple « d’article abstrait » : ```YAML Article( content: [ Instantiation( instance: San Francisco (Q62), class: Object_with_modifier_and_of( object: center, modifier: And_modifier( conjuncts: [cultural, commercial, financial] ), of: Northern California (Q1066807) ) ), Ranking( subject: San Francisco (Q62), rank: 4, object: city (Q515), by: population (Q1613416), local_constraint: California (Q99), after: [Los Angeles (Q65), San Diego (Q16552), San Jose (Q16553)] ) ] ) ``` Ce qui une fois converti donnera en anglais : > _San Francisco is the cultural, commercial, and financial center of Northern California. It is the fourth‐most populous city in California, after Los Angeles, San Diego and San Jose._ et en allemand : > _San Francisco ist das kulturelle, kommerzielle und finanzielle Zentrum Nordkaliforniens. Es ist, nach Los Angeles, San Diego und San Jose, die viertgrĂ¶ĂŸte Stadt in Kalifornien._ C’est assez parlant pour un informaticien. Un article abstrait ressemblera Ă  une sorte d’arbre de syntaxe abstrait d’un langage de programmation. Les nƓuds de cet arbre seront constituĂ©s de « constructeurs » , qui seront des entitĂ©s avec, comme les Ă©lĂ©ments, un identifiant comme Z1033 pour le constructeur « Instanciation » (fictif, rien de toute cela n’existe encore bien sĂ»r), et aura une signification dĂ©cidĂ©e par la communautĂ©, un libellĂ© dans les diffĂ©rentes langues... Chaque constructeur aurait des « paramĂštres » (comme « _object_ » dans l’exemple). Les utilisateurs auront Ă  disposition une interface qui ne les forcera pas Ă  Ă©crire nĂ©cessairement du code textuel mais permettra d’utiliser une interface d’édition graphique de cet arbre abstrait, avec complĂ©ment et propositions des diffĂ©rentes valeurs possibles. Il est Ă©galement Ă©voquĂ©, Ă  un horizon lointain, un systĂšme d’aide Ă  la saisie qui permettra de taper dans sa langue et de voir une proposition abstraite correspondante prĂ©remplie. Wikilambda : le WikipĂ©dia du code ? ================================== Pour le code qui sera chargĂ© de la traduction, mais pas que, un nouveau sous projet sera lancĂ©. Un nouveau type d’entitĂ© sera introduit : les fonctions, et un langage de programmation permettra de les Ă©crire. Ce langage sera _a priori_ exĂ©cutable, mais des implĂ©mentations seront rĂ©alisĂ©es dans d’autres langages, tels que Lua, dĂ©jĂ  prĂ©sent dans la galaxie WikimĂ©dia comme langage utilisĂ© pour les modĂšles, JavaScript ou d’autres, pour profiter de meilleures performances. Il y a fort Ă  parier que ce nouveau langage aura des mots clĂ©s qui seront traduits dans toutes les langues. On dirait presque un nouveau langage autant destinĂ© Ă  ĂȘtre une spĂ©cification des fonctions qu’un langage de programmation. On peut se demander la raison de la crĂ©ation d’un nouveau langage, alors qu’il en existe tant d’autres, y compris ceux dĂ©jĂ  utilisĂ©s par la communautĂ© WikimĂ©dia dans les wikis. La raison est peut‐ĂȘtre de faire rentrer le code dans un cadre similaire au reste de Wikidata : une entitĂ© par fonction, les noms des fonctions traduisibles pour un maximum d’accessibilitĂ© dans chaque langue tout en garantissant un code commun, le code accessible Ă  tous Ă  partir d’une simple adresse et d’une API... C’est une approche assez originale en tout cas. Est‐ce un pas de plus vers l’interopĂ©rabilitĂ© des systĂšmes ? Il semble qu’une autre motivation soit aussi d’obtenir de la souplesse au niveau de l’infrastructure d’exĂ©cution du code. Le rĂŽle des donnĂ©es lexicographiques ? ===================================== Il y a quelque temps Wikidata a lancĂ© une base de donnĂ©es lexicographiques, qui permet par exemple de trouver [les mots qui signifient « eau » dans plein de langues](https://query.wikidata.org/#%23Lex%C3%A8mes%20qui%20signifiant%20eau%20ordonn%C3%A9s%20par%20langue%0A%23%20By%20So9q%0A%23%20Lexemes%20that%20means%20%28liquid%29%20water%0Aselect%20%3Fl%20%3Fsense%20%3Flemma%20%3FlanguageLabel%20WHERE%20%7B%0A%20%20%3Fl%20a%20ontolex%3ALexicalEntry%20%3B%20%23%20get%20from%20the%20special%20LexicalEntry%0A%20%20%20%20%20%20%20ontolex%3Asense%20%3Fsense%20%3B%20%23%20the%20sense%0A%20%20%20%20%20%20%20dct%3Alanguage%20%3Flanguage%20%3B%20%23%20the%20language%0A%20%20%20%20%20%20%20wikibase%3Alemma%20%3Flemma.%20%23%20and%20the%20lemma%0A%20%20%3Fsense%20wdt%3AP5137%20wd%3AQ29053744%20.%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23%20change%20Q29053744%20to%20anything%20you%20want%20%0A%20%20SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22%5BAUTO_LANGUAGE%5D%2Cen%22.%20%7D%0A%7D%0Aorder%20by%20%28LCASE%28%3FlanguageLabel%29%29) ou encore [les lexĂšmes dĂ©crivant une couleur](https://query.wikidata.org/#%23Lex%C3%A8mes%20d%C3%A9crivant%20une%20couleur%0A%23%20Lexemes%20describing%20a%20color%0A%23%20By%20Vesihiisi%0A%0ASELECT%20%3Fl%20%3Flemma%20%3FlanguageLabel%20%20WHERE%20%7B%0A%20%20%3Fl%20a%20ontolex%3ALexicalEntry%3B%20dct%3Alanguage%20%3Flanguage%3B%20wikibase%3Alemma%20%3Flemma%20.%0A%20%20%3Fl%20wdt%3AP31%20wd%3AQ376431.%0A%20%20SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22%5BAUTO_LANGUAGE%5D%2Cen%22.%20%7D%0A%7D%0AORDER%20BY%20%3FlanguageLabel) (exemples tirĂ©s des [exemples de requĂȘtes Wikidata](https://www.wikidata.org/wiki/Wikidata:SPARQL_query_service/queries/examples#Lexeme_queries)). Ces donnĂ©es ne sont pas encore trĂšs dĂ©veloppĂ©es, un des soucis Ă©tant sans doute que ce projet a dĂ©jĂ  une contrepartie dans la galaxie WikipĂ©dia, le Wiktionnaire Ă©videmment. Ces deux projets n’ont, Ă  ma connaissance, pas rĂ©ellement rĂ©ussi Ă  travailler ensemble et Ă  collaborer. Gageons que si les donnĂ©es lexicographiques de Wikidata deviennent une part importante d’Abstract WikipĂ©dia et lui fournissent les mots, les accords, les conjugaisons, etc., la communautĂ© aura une forte motivation Ă  les amĂ©liorer. État actuel du projet ===================== Les choix du nom et du logo du futur site Web ne sont pas encore dĂ©finis. Des discussions ont dĂ©jĂ  commencĂ© sur ces sujets : sur la page Web dĂ©finissant le [plan de dĂ©veloppement](https://meta.wikimedia.org/wiki/Abstract_Wikipedia/Plan) et sur [forum de discussions](https://meta.wikimedia.org/wiki/Talk:Abstract_Wikipedia). Les questions ============== Tout cela pose plein de questions qui pourront lancer la discussion ! L’approche au multilinguisme en vogue en ce moment est celle de la traduction automatique, avec comme socle, l’apprentissage automatique. Des projets comme DeepL se nourrissent de plein d’exemples issus d’Internet et d’autres corpus de textes « parallĂšles » qui sont proches dans plusieurs langues. [WikipĂ©dia](https://fr.wikipedia.org/wiki/Concordancier_multilingue) indique que les textes de l’Union europĂ©enne, disponibles en plusieurs langues, ont, par exemple, servi Ă  Linguee, ainsi que des articles de WikipĂ©dia (on peut le voir en faisant une requĂȘte). Les exemples de traductions de ces mots, expressions et phrases de mĂȘme sens dans deux ou plusieurs langues sont mises en correspondance sont ensuite donnĂ©es Ă  manger Ă  des algorithmes d’apprentissage automatique, par exemple pour les rĂ©seaux de neurones profonds, pour donner des programmes comme [[DeepL]]. C’est trĂšs diffĂ©rent de l’approche d’abstract WikipĂ©dia basĂ©e sur la construction d’un langage commun, qui ne nĂ©cessite pas d’exemple de traduction de chacune des langues dans toutes les autres, ainsi que de contenu commun, pour potentiellement fĂ©dĂ©rer les contenus disponibles dans diffĂ©rentes langues sans avoir Ă  traduire un Ă  un les articles dans toutes les langues. On peut Ă©galement se demander si ces rĂ©seaux de neurones (ou autre modĂšle) sont ou seront, Ă  terme, capables de crĂ©er un tel modĂšle « pivot » encodĂ© dans la configuration de leurs neurones, et seront tout de mĂȘme capables d’avoir de bonnes performances de traduction dans des paires de langues pour lesquelles on a peu de textes Ă©quivalents disponibles. La crĂ©ation d’une langue abstraite, et du code pour la traduire, est sans doute aussi un dĂ©fi. Traditionnellement, les wikis fonctionnent par petits incrĂ©ments successifs, que la masse des contributions finit par amĂ©liorer. Est‐ce une approche qui peut fonctionner pour crĂ©er une langue et la faire Ă©voluer ? Un gros morceau du projet sera Ă©videmment la gĂ©nĂ©ration du texte dans toutes les langues, qui dĂ©pendra de la langue créée par la communautĂ© et du nombre de locuteurs de la langue concernĂ©e. Ça contraint les possibilitĂ©s d’évolution ; par exemple, s’il y a plus de deux cents traducteurs, il faut conserver ce nombre, sinon ça risque de devenir compliquĂ© en cas de changement majeur. La communautĂ© saura‐t‐elle gĂ©rer tous ces obstacles ? Les diffĂ©rentes communautĂ©s linguistiques sauront‐elles collaborer ? Le projet profitera‐t‐il des communautĂ©s Wiki(p|m)Ă©diennes existantes ou devra‐t‐il crĂ©er sa propre communautĂ© ? En guise de conclusion ===================== C’est encore une fois un projet intĂ©ressant et avec de la suite dans les idĂ©es de Denny, qui a montrĂ© qu’il savait mener Ă  bien ce genre de chose. AdossĂ© aux communautĂ©s WikimĂ©dias, le potentiel de main d’Ɠuvre est lĂ  et potentiellement aussi l’enthousiasme communautaire indispensable Ă  la rĂ©ussite d’un tel projet ! C’est rafraĂźchissant de voir une approche diffĂ©rente de l’approche purement « apprentissage automatique » actuellement en vogue. Quelques bĂ©mols, car il y en a : - c’est un projet qui va demander des compĂ©tences techniques avec une barriĂšre importante Ă  la contribution, n’importe qui ne pourra pas se plonger dans l’écriture du code de gĂ©nĂ©ration des textes dans une langue, et de bonnes connaissances en matiĂšre de linguistique seront demandĂ©es Ă  ces codeurs. Le projet rĂ©ussira‐t‐il Ă  fĂ©dĂ©rer une communautĂ© autours de ces projets, y compris pour les langues avec peu de locuteurs ? L’avenir le dira, mais dans tout les cas c’est Ă  tenter ; - il y a un recouvrement avec les projets WikipĂ©dia, est‐ce qu’un WikipĂ©dia « parallĂšle » rĂ©ussira Ă  attirer des contributeurs, qui rĂ©digeront dans une langue exotique ? Le projet a aussi quelques curiositĂ©s qui pourraient ĂȘtre intĂ©ressantes mĂȘme si son objectif ambitieux n’est pas totalement atteint. Wikilambda, par exemple, semble ĂȘtre un projet avec un intĂ©rĂȘt propre. Bon vent ! [^1]: Ce point d’interrogation est un [point d’ironie](https://fr.wikipedia.org/wiki/Point_d%27ironie).

AltStyle ă«ă‚ˆăŁăŠć€‰æ›ă•ă‚ŒăŸăƒšăƒŒă‚ž (->ă‚ȘăƒȘă‚žăƒŠăƒ«) /